Get Started

도구 노드 사용하기 (Slack)

도구 노드 사용하기 (Slack)

도구 노드 사용하기 (Slack)

입문 가이드의 튜토리얼은 에이전트리아 입문자를 위한 가장 기본적이면서도 핵심적인 과정을 다룹니다.

본 튜토리얼에서는 슬랙(Slack) 노드를 활성화하고, 슬랙 워크스페이스와 연동된 봇(Bot)을 추가하여 메시지를 전송하는 어빌리티(Ability)를 직접 만들고 실행합니다.


사전 준비


시작을 위해, 에이전트리아에서 프로젝트(Project)를 생성한 후, 어빌리티 캔버스(Canvas)로 진입합니다.

캔버스 진입 절차는 3단계 핵심 가이드의 1단계(프로젝트 생성 및 컴포저 선택)를 참고하시기 바랍니다.


본 튜토리얼을 완료하면 다음과 같은 작업을 수행할 수 있습니다.

  1. 노드(Node) 추가하기

  2. 스타트 노드(Start Node)에서 변수 선언하기

  3. 노드 연결하기

  4. 슬랙 크리덴셜(Credential) 등록하기

  5. 슬랙 앱 추가하고 워크스페이스 연동하기

  6. 슬랙 노드에서 크리덴셜 설정하기

  7. 슬랙 노드로 봇 메시지 세팅하기

  8. 어빌리티 테스트를 통해 워크플로(Workflow) 실행 결과 확인하기


1단계: 슬랙 OAuth와 크리덴셜 생성


슬랙 노드를 사용하기 위해서는 슬랙에서 제공하는 인증키를 기반으로 자격증명을 설정해야 합니다.

슬랙의 액세스 토큰은 OAuth(오픈인증, Open Authorization) 플로우를 거쳐야 발급할 수 있습니다.

슬랙 OAuth 생성이 처음이라면 슬랙 크리덴셜 사용 가이드를 참고하세요.



크리덴셜은 시스템이나 서비스에 접근하기 위해 사용자를 인증하는 데 필요한 자격 증명 정보입니다.

본 튜토리얼 진행을 위해 크리덴셜 등록 시 템플릿을 Slack으로 설정합니다.


2단계: Slack 노드 추가



캔버스 하단의 +노드 추가(Add Node) 버튼을 클릭하고 사이드바 도구(Tools) 카테고리에서 슬랙 노드를 선택해 드래그 앤 드롭(Drag and drop)으로 배치합니다.

노드 위에 마우스를 올려 편집 버튼을 눌러 옵션 창을 띄웁니다.

노드의 이름을 Send Slack Node로 수정합니다.

슬랙 노드는 Send, Update, Delete, List 등을 선택할 수 있기 때문에 운영 설정에 따라 노드 명을 수정해서 사용하는 것이 좋습니다.


3단계: 인풋 변수 선언



에이전트리아 캔버스에는 기본적으로 스타트 노드(Start Node)엔드 노드(End Node)가 하나씩 배치되어 있습니다.


  • 스타트 노드는 전체 흐름을 시작합니다.

  • 엔드 노드는 전체 흐름을 종료합니다.


스타트 노드를 더블클릭하면 노드 편집기가 열리며, 여기에서 자료형과 이름, 설명을 설정할 수 있습니다.

본 튜토리얼에서는 봇 메시지를 전송해야 하므로, 자료형을 String으로 두고 변수명을 다음과 같이 설정합니다.


  • Channel

  • Text


변수 선언을 완료했다면 다시 에디터 캔버스로 돌아갑니다.


4단계: 엣지로 노드 연결



스타트 노드에서 입력받은 변수를 슬랙 노드에서 사용하기 위해서는 엣지를 사용해 두 노드를 연결해야 합니다.

스타트 노드의 오른쪽 아웃 핀(Out-Pin)을 슬랙 노드의 왼쪽 인 핀(In-Pin)과 연결합니다.

이렇게 하면 스타트 노드의 입력값이 슬랙 노드로 전달됩니다.


5단계: 슬랙 노드 설정



슬랙 노드를 더블클릭하면 노드 편집기가 열립니다.

노드를 사용하기 위해 등록해 둔 슬랙 크리덴셜을 선택해 불러옵니다.

슬랙 노드는 작업(Task) 설정을 통해 봇을 어떤 방식으로 사용할지 선택할 수 있습니다.

본 튜토리얼은 봇 메시지 전송하기를 목표로 하므로, Send Message를 선택합니다.


봇 메시지를 전송하기 위해 스타트 노드에서 채널 명(Channel), 메시지 내용(Text)을 변수로 선언했습니다.

입력값을 받아서 사용하기 위해 어댑터(Adapter) 변수를 선택해야 합니다.

Show Optional Variables 버튼을 클릭하고 +Add Optional Variables 를 클릭하면 슬랙에서 사용할 수 있는 다양한 옵션을 확인할 수 있습니다.

본 튜토리얼에서 선택할 변수는 다음과 같습니다.


  • channel

  • text



6단계: 드래그 앤 드롭으로 변수 바인딩



에이전트리아에서는 코드를 작성하지 않고, 드래그 앤 드롭 방식으로 변수를 손쉽게 불러올 수 있습니다.

인풋 영역에 있는 변수와 어댑터 변수를 이름에 맞게 연결합니다.


  • channel: Channel

  • text: Text



Slack 노드는 기본적으로 JSON 형식의 아웃풋을 반환합니다.


7단계: Slack 프로그램 설정


7-1 ) 채널 ID 복사



본 튜토리얼은 슬랙 데스크탑(PC) 버전 기준으로 진행합니다.

슬랙 어플리케이션에서 봇을 사용할 채널이나 다이렉트 메시지 창에 진입합니다.

메시지 창에서 우측 상단의 더보기 아이콘을 클릭합니다.

채널 세부정보 열기(Open channel details)를 클릭합니다.



팝업창이 열리면 채널 ID(Channel ID)를 복사합니다.

복사한 값은 8단계에서 사용합니다.


7-2 ) 봇 초대



슬랙 크리덴셜 가이드를 따라 진행하면 메시지를 보내는 슬랙 봇을 설정할 수 있습니다.

이때 설정한 봇의 이름을 통해 채널 또는 다이렉트 메시지 창에서 봇을 초대합니다.


봇의 이름은 슬랙 API 사이트에서 앱 홈(App Home) 탭에 진입하면 확인할 수 있습니다.



메시지 입력창에 봇의 이름을 @이름 형식으로 검색하고 엔터(Enter)키를 누른 뒤 메시지를 전송하여 초대합니다.

팝업창에서 채널에 추가(Add to Channel) 버튼을 클릭합니다.


만약 해당 과정이 원활하게 진행되지 않는다면 슬랙 API 사이트 앱 홈(App Home) 탭에서 내 봇 항상 온라인 상태 표시(Always Show My Bot as Online) 토글을 활성화한 후 초대를 다시 진행합니다.


8단계: 노드 테스트 실행


설정을 완료한 후, 편집기 내 인풋 영역의 테스트(TEST) 버튼을 눌러 노드 테스트를 진행할 수 있습니다.

노드 테스트란 노드 편집기에서 개별적으로 진행할 수 있는 점검 작업입니다.

이를 통해 노드가 올바르게 구성되어 있음을 확인하고 다른 노드와 연결하면 오류를 최소화하고 흐름을 안정적으로 이어 나갈 수 있습니다.

입력창에 채널(channel), 텍스트(text)를 입력한 뒤 테스트(Test)를 실행하면, 출력변수인 result 에 전송 정보가 반영됩니다.


  • 채널 입력창에 7-1단계에서 복사한 채널 ID를 입력합니다.

  • 텍스트 입력창에는 봇으로 보낼 메시지 내용을 입력합니다.




봇을 초대해 둔 채널 또는 다이렉트 메시지로 봇이 메시지를 보냈다면 노드가 정상적으로 구성된 것입니다.


9단계: 엔드 노드 연결



슬랙 메시지 전송 아웃풋을 엔드 노드로 전달합니다.

다시 캔버스로 돌아와서 슬랙 노드와 엔드 노드를 엣지로 연결합니다.

엔드 노드를 더블클릭하여 노드 편집기를 열고, JSON 타입의 Result 변수를 추가합니다.

슬랙 노드의 아웃풋을 담은 result 변수를 선택 또는 드래그 앤 드롭 방식으로 엔드 노드의 Result 변수와 연결합니다.

이로써 ‘슬랙 메시지 전송’ 워크플로가 완성되었습니다.


10단계: 어빌리티 테스트로 워크플로 전체 실행


캔버스 우측 하단에서 테스트 실행(RUN TEST) 버튼을 클릭하여 완성된 전체 워크플로를 실행할 수 있습니다.

입력창에 채널(channel), 텍스트(text)를 입력한 뒤 테스트(Test)를 실행하면, 출력변수인 result에 전송 정보가 반영됩니다.

봇을 초대해 둔 채널 또는 다이렉트 메시지로 봇이 메시지를 보냈다면 노드가 정상적으로 구성된 것입니다.


다음 단계


🎉 축하합니다! 에이전트리아를 사용해 ‘슬랙 메시지 전송’ 워크플로를 완성했습니다.

이제 다양한 운영 설정을 적용해 결과를 확인해 보고, 변수를 추가하며 워크플로를 확장해 보세요.


에이전트리아는 아이디어를 현실로 바꾸는 가능성의 공간입니다.

당신의 상상력으로 워크플로는 무한히 확장될 수 있습니다.



  • 더 많은 어빌리티 예제가 궁금하다면 입문 가이드 페이지를 확인하세요.

  • 에이전트 예제를 원한다면 응용 가이드 페이지를 확인하세요.