지식 창고/개발 및 업무자동화

Webex ChatGPT 채팅봇 만들기(n8n AI Agent 활용하기)

7.3.7 2025. 5. 28. 15:49

Webex ChatGPT 채팅봇 만들기 실습 해본 내용을 기록해보고자 . . 업무 중 사용하면 편리할 것같다.

 

 

1. 프로세스 설명 및 준비

해당 채팅봇은 n8n 이라는 워크플로우 자동화 도구를 통해 만들어 볼 수 있다.

📌n8n 이란?
n8n은 워크플로우 자동화 도구로, 쉽게 말하면, 다양한 앱과 서비스들을 연결해서 자동으로 작업을 처리해주는 플랫폼이라고 보면 된다.

사용 예시
- 새로 들어온 Gmail 메일을 확인
- 특정 조건일 경우 Google Sheets에 자동 기록 특정 API 호출을 주기적으로 해서 결과를 저장
- 변동 사항을 Slack으로 전송 워드프레스에 새 글이 올라오면 SNS에 자동으로 공유

 

 

아래와 같은 프로세스 구조를 통해 만들어볼 수 있다!

1.1 준비물

아래 두개면 끝이다.

 

 - Webex 계정

 - n8n 계정

- ChatGPT API 키(유료버전 사용 필요)

 

 

 

2. 작업 시작

2.1 Webex 토큰 값 세팅하기

1) Bot 만들기

- 아래 사이트에 접근해서 로그인 

https://developer.webex.com/my-apps

 

로그인 - Webex

Webex에 오신 것을 환영합니다.

idbroker-eu.webex.com

 

- My Apps 에서 Create a New APP 을 눌러준다

 

- Create a Bot 클릭

 

- 적당한 내용을 넣어주고 아래 Create Bot 클릭(봇이름은 나중에 채팅창에서 보여지게 됨)

- 봇을 만들면 토큰값을 주는데, 이 값을 복사해서 저장해두자.

 

 

2) Integration 만들기 !

-  아까 그 페이지로 돌아가서 Create an Integration 클릭

📌 Integration 이란 ?
다른 앱이 Webex 기능을 쓸 수 있도록 권한을 등록해주는 연결 앱이다. 필요한 권한들을 등록해놓고 그에 대한 인증 ID/PW를 발급 받아서 다른 앱에 등록해서 연동하는 방식으로 사용된다. 

 

- 적당한 내용을 적어주고 Redirect URL 에는 아래 URL을 넣어준다.

Redirect URL : https://oauth.n8n.cloud/oauth2/callback

- 여기 Scopes에서는 아래 목록에 있는 권한들을 체크해준 후, 스크롤을 눌러서 Add Integration 버튼을 눌러준다

## 체크 필요한 권한 ##
spark:rooms_read 
spark:messages_write 
spark:messages_read 
spark:memberships_read 
spark:memberships_write 
meeting:recordings_write 
meeting:recordings_read 
meeting:preferences_read 
meeting:schedules_write 
meeting:schedules_read

 

 

3) RoomID 가져오기

- Webex프로그램 켜서 스페이스 만들기. 이름은 상관없다

 

- 봇 페이지에서 Bot username을 스페이스에 초대해준다. 이거 초대안해서 계속 나와의 대화하듯이 대화했다..

 

- 아래 URL로 접속

https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms

 

List Rooms

 

developer.webex.com

 

- 오른쪽 상단 내 프로필 눌러서 Bearer 값 복사

 

 

- Headers의 2번째 파라미터 값에 값을 붙여넣고 RUN 클릭

예시 : Bearer Y****************

 

 

- 아까 만들었던 룸의 ID 값을 가져올 수 있다. 복사해두자.

 

 

2.2 n8n 으로 프로세스 만들기

아래와 같은 프로세스를 만드는게 목표다 스따뚜

 

- 일단 n8n에 접속해서 회원가입을 해주자.

https://n8n.io/

 

n8n.io - a powerful workflow automation tool

n8n is a free and source-available workflow automation tool

n8n.io

 

1) Webex Trigger 만들기

- Webex by Cisco > Triggers > On created 를 클릭 

 

 

- Credintial to connected with 란에서 수정 버튼 클릭

 

- 다시 Webex App 으로 들어가서 아까 만든 Integration 페이지에서 Client ID와 Secret 값을 복사

 

- Client ID, Secret 값을 넣고 버튼 눌러서 계정 인증

 

- 인증 성공하면 이렇게 된다

 

 

- 아까 위에서 복사해둔 Room ID를 여기다가 넣어준다. 

 

 

- 짜쟌

 

2) Code 만들기

- code 를 검색해서 추가해준다

 

- 코드에는 사람인지 아닌지 확인하고 대답하는 코드를 넣어준다. 인간체크로직이 없으면 혼자 말하고 혼자 대답하고를 평생 반복하는 바보가 되기 때문에 넣어주어야 한다 ... 

return [
  {
      json: {
      ...$json,
        isHuman: !$json.data.personEmail.endsWith('@webex.bot')
    }
  }
];

 

 

- 짜쟌 코드까지만들었다

 

3) if 추가 

- if 를 추가해준다. 인간인지 아닌지 위에서 확인했으니, 그 결과에 따른 흐름을 작성해야한다.

 

 

- 이전에 확인한 값이 참일때, 즉 질문한 사람이 인간일때에 AI의 대답을 받아오기 위해서 is true 를 선택하고 표현식을 직접 넣어준다.

 

 

- 짜쟌. 여기서 true 일 때 AI의 대답을 가져와보자.

 

4) AI 연결하기

- 값이 참일 때, 즉 인간일 때 AI를 연결하기 위해 true 에 연결된 +를 눌러서 AI Agent를 연결해준다.

 

 

- 여기서 진짜 한참 헤맸었는데,, Source for Prompt를 Define below로 변경해서 아래와 같이 설정해주자. 

{{ $node["Webex by Cisco"].json["text"] }}

 

 

- 짜쟌 이제 GPT 붙이쟈

 

 

4) GPT 붙이기

- AI Agent 아래에 OpenAI Chat Model 추가

 

- Create new Credential 로 ChatGPT의 api 값을 인증

 

 

- 모델은 gpt-4o-mini로 설정해주었다

 

 

- 다왔다 ..!!!

 

 

5) http 응답 추가

- 이제 답장해주는 거만 추가해주면 된다.

 

 

- HTTP Request를 추가해주고, 헤더 값을 설정해주기. Authorization 값은 아래와 같이 webex Bot 에서 가져온다.

 

- Body 값도 설정해준다

 

{{ $('Webex by Cisco').item.json.roomId }} // roomId
{{ $json.output }} // text

 

 

- 세팅이 끝났다!

 

2.3 구동 시켜보기

- 아래에 Test workflow 를 눌러서 구동시켜보자

 

 

- 질문 했을 때, 블리츠크랭크의 대답이 채팅창에 날아오는 것을 확인할 수 있다....

 

 

일단 지금 만든건 단건 단위로 답장하고 있고, 실제로 사용하려면 서버를 띄워놓고 사용해야되는듯하다. 지금은 대화가 메모리되지도 않아서 .. 대화의 연속성은 기대하기 힘들다. 다만 n8n으로 이렇게 연결할 수 있는걸 이해했다는거에 .. 의의를...

 

추후에 n8n 로컬 호스트 열어서무료로 구동하기 해보기!

 

My_workflow_737.zip
0.00MB