
저번 게시글에 이어서 이번에는 HTTP Request로 받은 데이터를 ChatGPT 모델로 정제하고, 카카오톡 메시지로 자동 전송하는 방법을 다룬다.
4단계: OpenAI로 메시지 정제하기
Code 노드 옆 '+' 버튼을 클릭해 새 노드를 추가한다. 여러 AI 모델을 사용할 수 있지만, 이번에는 모두에게 익숙한 OpenAI를 활용하기로 했다. (AI 모델은 아무거나 사용해도 좋다.)

모두에게 익숙한 OpenAI의 text model을 활용하여 노드를 만들어보기로 결정했다. AI 노드 선택 후, OpenAI를 선택하고 Message a model 을 선택하면 된다.

n8n에서 제공하는 무료 OpenAI API를 활용할 수 있다. Credential은 'n8n provided AI credentials'를 선택하면 별도 설정 없이 사용 가능하다.
Message 섹션에서 'Add item' 버튼으로 메시지를 2개 추가한다.
Message 1 - System Prompt
- Type: Text
- Role: System
- Text:
너는 '점심 시장 브리핑'을 쓰는 편집자다.
과장/투자권유 금지.
카카오톡에서 읽기 좋게 6~9줄로 짧게.
이모지 사용(과하지 않게).
반드시 포함: USD/KRW, JPY/KRW, BTC, ETH, KOSPI, KOSDAQ.
마지막 줄에 한 문장으로 "오늘의 한줄 코멘트".
Message 2 - User Prompt
- Type: Text
- Role: User
- Text:
아래 JSON을 바탕으로 카카오톡 메시지를 만들어줘.
- 숫자는 한국식 천단위 콤마
- BTC/ETH는 원화와 등락률(%) 같이 표기
- 환율은 소수점 2자리, 지수는 소수점 2자리
JSON:
{{ JSON.stringify($json.message_raw) }}
OUTPUT의 출력 결과를 확인해보면 content의 text에 깔끔하게 정리된 브리핑 메시지가 생성된 것을 확인할 수 있다.

5단계: 카카오 개발자 앱 설정
카카오톡으로 메시지를 보내려면 먼저 카카오 개발자 앱을 만들고 토큰을 발급받아야 한다. 우선 http request 노드를 하나 추가하고 POST method의 URL을 입력한다.
URL: https://kapi.kakao.com/v2/api/talk/memo/default/send


- Kakao Developers에 로그인(또는 회원가입)한다.
- '내 애플리케이션' 메뉴에서 '애플리케이션 추가하기'를 클릭한다.
- 앱 이름과 회사명을 자유롭게 입력한다. (예: "n8n경제")

이후 제품 설정 - 카카오 로그인 - 일반 에서 사용 설정과 OpenID Connect를 모두 활성화 시켜준다.

그리고 제품 설정 - 카카오 로그인 - 동의항목에서 카카오톡 메시지 전송을 선택 동의로 수정한 후 저장해준다.

이 설정이 완료되면 앱 - 플랫폼 키에서 Default Rest API Key를 클릭한다.
그리고 여기서 카카오 로그인 리다이렉트 URI에 https://localhost.com 를 추가하고, 클라이언트 시크릿을 모두 활성화 OFF 해준다. 저장 버튼까지 꼭 눌러준다.
로그인 리다이렉트 URI를 localhost.com을 사용하는 이유는 별도의 웹서버 없이 토큰만 발급 받기 위함이다.

이제 인가 코드라는 것을 받아야 하는데, 주소창에 이렇게 입력하면 된다.
URL에 노란 배경으로 칠한 곳을 지운 후, Default Rest API Key(가장 왼쪽)의 값을 복사해서 넣으면 된다.

그럼 이런 화면이 나오는데, 동의하고 계속하기를 해준다.

페이지가 리다이렉트되면서 "사이트에 연결할 수 없음" 또는 "페이지를 찾을 수 없음" 같은 에러가 표시되는데, 이것은 정상이다.
우리는 실제로 존재하지 않는 localhost.com으로 리다이렉트되도록 설정했기 때문에 페이지가 로드되지 않는 것이 당연하다. 하지만 중요한 것은 주소창의 URL에 인가 코드가 포함되어 있다는 점이다.

6단계: 카카오 액세스 토큰 발급 받기
이제 앞에서 복사한 인가 코드로 액세스 토큰을 발급받아야 한다. 방법은 2가지가 있는데, Postman을 사용하는 방법과 Windows CMD를 사용하는 방법이다. 개발자가 아니라면 CMD 방법이 더 간단할 수 있으니 본인에게 편한 방법을 선택하면 된다.
방법 1: Postman 사용
Postman이 설치되어 있다면 이 방법을 추천한다.
- Postman을 실행하고 새 요청을 만든다
- 아래와 같이 설정한다:
- Method: POST
- URL: https://kauth.kakao.com/oauth/token
- Body 타입: x-www-form-urlencoded
- Body에 아래 4개의 파라미터를 추가한다
| grant_type | authorization_code (그대로 입력) |
| client_id | (본인의 REST API 키) |
| redirect_uri | https://localhost.com |
| code | (브라우저에서 복사한 인가 코드) |

방법 2: Windows CMD 사용 (curl 명령어)
Postman이 없거나 설치가 어렵다면 이 방법을 사용하면 된다.
curl -X POST "https://kauth.kakao.com/oauth/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=authorization_code&client_id=여기에 API KEY를 입력&redirect_uri=https%3A%2F%2Flocalhost.com&code=여기에 인가 코드를 입력
- 위 코드를 메모장에서 여기에 REST API 키 입력 부분을 본인의 REST API 키로 교체한다.
- 여기에 인가 코드 입력 부분을 브라우저에서 복사한 인가 코드로 교체한다.
- 완성된 명령어 전체를 복사한다.
- Windows 검색에서 'cmd' 또는 '명령 프롬프트'를 입력해서 실행한다.
- CMD 창에 복사한 명령어를 붙여넣고 Enter를 누른다.
그러면 JSON 형태의 응답이 화면에 나타난다. 그 중에서 "access_token":"여기가 토큰입니다" 부분의 값을 복사해둔다.

7단계. 카카오톡 메시지 전송 노드 설정
액세스 토큰을 발급받았다면 이제 n8n으로 돌아가서 마지막 노드를 설정한다.
Send Headers 설정
'Send Headers' 옵션을 활성화하고 'Add Parameter' 버튼으로 헤더를 추가한다.
- Name: Authorization
- Value: Bearer 발급 받은 액세스토큰 값
Value는 반드시 Bearer 단어 뒤에 공백 하나를 넣고 액세스 토큰을 붙여야 한다.
예시: Bearer a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0

Send Body 설정
'Send Body' 옵션을 활성화하고 아래와 같이 설정한다.
- Body Content Type: JSON
- Specify Body: Using Fields 선택
- Name: template_object
- Value:
{{ JSON.stringify({
object_type: "text",
text: $node["Message a model"].json.output[0].content[0].text,
link: {
web_url: "https://example.com",
mobile_web_url: "https://example.com"
}
}) }}

여기까지 모두 성공했다면, Execute workflow를 하여 전체 워크플로가 제대로 작동하는지 확인한다.
성공하면 모든 노드에 초록색 체크 표시가 뜨고, 카카오톡 '나와의 채팅방'에 브리핑 메시지가 도착한다!

지금은 오후 12시가 아니더라도 Test workflow로 강제 실행하면 바로 메시지가 온다.

테스트가 성공했다면 워크플로 우측 상단의 Publish 스위치를 클릭해서 자동화를 활성화 시킨다.
이제 매일 평일 오후 12시에 자동으로 경제 브리핑이 카카오톡으로 전송된다!
카카오톡 인증 과정이 가장 어렵고 복잡하게 느껴질 수 있다. 실제로 필자도 그 부분에서 가장 시간을 많이 썼다. 특히 인가 코드와 액세스 토큰을 발급받는 과정이 처음에는 낯설 수 있지만, 한 번만 설정하면 계속 자동으로 작동한다는 점이 매력적이다.
이렇게 첫 번째 자동화 프로젝트를 마쳐본다. 다음에는 좀 더 실용적이고 획기적인 아이디어를 바탕으로 새로운 자동화 프로젝트를 기획해보고자 한다!
'AI > n8n' 카테고리의 다른 글
| n8n + GPT 자동화 만들기 1 (카카오톡 경제 브리핑 봇 구축) (0) | 2025.12.28 |
|---|
