31. 서비스 구축단계_세컨브레인 -2,3일차: 구현 (2. 채널연결 완료) -

초기 기획을 마무리하였고, 이제 실제 셀프 호스팅된 n8n 상에 필요한 3rd Party 채널들을 연동한다.

1. 카카오톡 (메시지 발송)
2. 슬랙 (생성, 읽기)
3. 텔레그램 (메시지 발송)
4. 노션 (생성, 조회, 수정)
5. 구글캘린더 (생성, 조회, 수정)

1. 우선 '카카오톡 나에게 메시지 발송' 기능의 경우, 사전에 만들어서 테스트했다.




2. 두번째로 슬랙을 연동한다. 
우선 기능별로 결과 메시지를 받을 수 있는 슬랙 방을 만든다.

3-2) 메모관리 LOG
3-4) 아이디어 디벨롭 공간
3-5) 사업기획안
3-6) 가정멘토
3-7) 식단멘토 
3-8) 자산멘토
 
n8n에서 slack credential을 생성 후 연동하였고, slack trigger 노드 생성 후 webhook URL을 슬랙의 event subscription에 추가하였다. 또한 슬랙에서 API 및 Bot에게 필요한 권한을 부여하였다. 그 결과, 아래와 같이 슬랙 내 특정 채널에서 메시지를 발송하면 n8n의 trigger 노드에 인풋이 정상적으로 입력되는 것을 확인할 수 있다.



n8n에서 슬랙으로 메시지 발송하는 부분도 테스트했다. "Automated with this n8n workflow"부분도 삭제하여 깔끔하게 메시지가 전송되도록 했다.

각 채널별로 고유한 ID가 존재하기 때문에, 추후 워크플로우 상에서 그때 그때 사용하려는 target 채널 ID를 가져와서 메시지가 발송되도록 할 것이다.



3. 세번째로 '텔레그램'으로 메시지를 발송하도록 한다.

텔레그램은 일정관리 결과 안내 및 리마인더 기능으로만 사용하려고 하기 때문에, n8n에서 텔레그램으로 메시지 발송하는 기능만 구현하면 된다. 카카오톡 메시지 발송으로 구현해도 되는데, 이렇게 되면 "나에게 발송"만 가능하다보니 카톡 알림이 오지 않는 문제가 있었다.

아래와 같이 텔레그램 노드를 만들고 botfather에서 newbot을 생성하여 api key 생성 -> n8n 상의 credential 에 업데이트하여 n8n에서 텔레그램으로 메시지를 발송할 수 있도록 했다. 



4. 네번째로 '노션' 연동이다. 

노션의 경우 나의 계정과 연동한 이후에, 내가 원하는 페이지에 내용을 생성하도록 하는 것과, 이미 존재하는 페이지를 읽고 조회하도록 하는 기능, 그리고 가능하다면 원하는 페이지 내용을 수정하도록 하려 한다.

1) 존재하는 노션 - 데이터베이스에서 페이지를 생성하는 기능을 구현했다.



2) 존재하는 노션 데이터베이스 내 페이지들을 조회하는 기능을 구현했다.




3) 존재하는 노션 데이터베이스 내 페이지 정보를 수정하는 기능을 구현했다.
4) 해당 페이지의 URL 주소를 가져와서, 특정 블록 ID 하단에 원하는 정보를 추가기입하는 기능을 구현했다.


5. 다섯번째로 "구글캘린더"를 연동한다.

기존의 구글캘린더 연동을 통해 세컨브레인을 통해 일정을 생성하는 것, 조회하는 것, 수정하는 기능을 구현했다.

구글캘린더의 Credential 을 연동하고 Test 모드 내에서 계정 추가하는 부분이 조금 어려웠다. 외부 Publish의 경우 구글로부터 웹페이지의 Oauth 화면 및 개인정보처리방침 등의 인증을 받아야 하는데, 나의 경우 개인용(Personal)이기 때문에 Publish가 불필요하고, Test 버전으로 사용하면 된다. 

아래와 같이 credential 연동을 성공했다.


1) 캘린더 생성 기능을 구현했다.




2) 캘린더 조회 기능을 구현했다. 조회 기능의 경우, Get Many와 미팅일자 범위, 쿼리 조건을 통해 특정 캘린더 ID를 특정할 수 있다.

3) 캘린더 수정 기능을 구현했다. 위 2번에서 Get Many를 통해 수정할 캘린더의 ID를 얻을 수 있고, 해당 ID를 수정할 캘린더ID로 지정한 후 캘린더 속성 값들을 변경할 수 있다.


이로써 2,3일차에 구현해야할 2. 채널연결 부분을 모두 마무리했다.




이제 내일부터는 일정관리, 메모 관리 등의 실제 기능을 구현하고자 한다.

(비고) 작업을 하는 과정에서 구글캘린더의 경우에는, 일정/참석자지정/제목/본문 등의 내용을 AI Model이 자동으로 지정하도록 하기 위해서, 별도의 워크플로우를 생성하지 않고, 아래 Daily Mgmt.라는 에이전트 하위에 Tool 로서 구글 캘린더를 접목시키는 편이 더 낫겠다고 판단했다. 그 외, 카톡/텔레/노션 등의 기능은 현재와 같이 독립된 workflow로 동작하도록 할 예정이다.


댓글

이 블로그의 인기 게시물

20. 학습의 단계_n8n -1일차 (시작) -

01. 1억~10억 비즈니스 매매의 시대: 실력이 승부를 가른다

03. 어떻게 시작할 것인가? (ft. 멀티 에이전트 서비스)