바라 교장 로고크리에이터캠퍼스
클로드 코드 루틴으로 카카오톡 일정 알림 만들기 커버 이미지

2026-08-06

클로드 코드 루틴으로 카카오톡 일정 알림 만들기

구글 캘린더에 등록해둔 오늘 일정을, 매일 아침 7시에 카카오톡 '나에게 보내기'로 자동 전송받는 카카오톡 일정 알림을 클로드 코드로 직접 만들었습니다. 카카오 개발자 센터에서 앱을 만드는 것부터 구글 캘린더를 연동하고 매일 자동 실행되게 만드는 것까지, 실제로 따라 할 수 있도록 순서대로 정리했습니다.

준비물

카카오 계정(개발자 센터 가입용), 구글 캘린더 계정, 그리고 자동화를 실행할 클로드 코드만 있으면 됩니다. 구글 캘린더와 카카오톡은 서로 다른 회사 서비스라 자체적으로 연동 기능을 제공하지 않기 때문에, 중간에서 클로드 코드가 캘린더 조회와 카카오톡 발송을 이어주는 역할을 합니다.

1. 카카오 개발자 앱 만들고 REST API 키 확인하기

카카오 개발자 센터(developers.kakao.com)에 로그인한 뒤 '내 애플리케이션 → 애플리케이션 추가하기'로 앱을 하나 만듭니다. 앱 이름은 자유롭게 정하면 됩니다. 앱이 만들어지면 왼쪽 메뉴의 '앱 설정 → 플랫폼 키'에서 REST API 키를 확인할 수 있습니다. 이 키가 앞으로 카카오 API를 호출할 때 계속 쓰이는 client_id 값입니다.

2. Redirect URI 등록하기 (가장 헷갈리는 단계)

카카오톡 메시지를 보내려면 카카오 로그인(OAuth) 인증을 거쳐야 하고, 이때 Redirect URI라는 값을 미리 등록해둬야 합니다. 그런데 이 설정이 '카카오 로그인' 메뉴가 아니라, 방금 REST API 키를 확인했던 '앱 설정 → 플랫폼 키 → REST API 키' 카드 안의 '더보기' 버튼을 눌러야 나오는 하위 항목에 있습니다. 실제 서버가 없어도 되니 https://localhost.com 처럼 원하는 아무 URL이나 등록하고 저장하면 됩니다.

주의할 점이 하나 있습니다. '카카오 로그인 → 고급' 메뉴에도 이름이 비슷한 '리다이렉트 URI' 입력란이 있는데, 이건 로그인용이 아니라 로그아웃용이라 완전히 다른 설정입니다. 아래 화면처럼 '카카오 로그인 → 일반' 메뉴에는 사용 설정과 OpenID Connect만 있고 Redirect URI 항목 자체가 없으니, 이 화면에서 찾으려 하지 말고 곧바로 플랫폼 키 쪽으로 가면 됩니다.

카카오 로그인 일반 설정 화면 — 이 화면에는 Redirect URI 등록란이 없다

3. 카카오톡 메시지 전송 권한(동의항목) 설정하기

왼쪽 메뉴 '카카오 로그인 → 동의항목'으로 들어가면 '접근권한' 표에 '카카오톡 메시지 전송(talk_message)' 항목이 있습니다. 비즈니스 인증을 하지 않은 개인 개발자 앱은 이 항목을 '필수 동의'로는 설정할 수 없고, '선택 동의'까지만 가능합니다. 개인용으로 나에게만 보내는 용도라면 선택 동의로도 충분합니다.

카카오 동의항목 접근권한 목록, 카카오톡 메시지 전송 talk_message 항목이 선택 동의 상태로 표시됨

해당 항목의 '설정' 버튼을 누르면 동의 단계와 동의 목적을 입력하는 창이 뜹니다. 동의 단계는 선택 동의로 두고, 동의 목적에는 실제 용도를 짧게 적어 저장합니다.

카카오톡 메시지 전송 동의항목 설정 창, 동의 단계를 선택 동의로 지정하고 동의 목적을 입력하는 화면

4. 인가코드로 액세스 토큰 발급받기

이제 브라우저 주소창에 https://kauth.kakao.com/oauth/authorize?client_id={REST API 키}&redirect_uri={등록한 URI}&response_type=code&scope=talk_message 형태의 주소를 입력해 카카오 로그인 동의 화면을 엽니다. 여기서 중요한 포인트가 있습니다. talk_message는 '선택 동의' 항목이라 동의 화면에 체크박스로 표시되는데, 이 체크박스를 직접 선택해야만 권한이 실제로 부여됩니다. 그냥 넘어가면 로그인은 되지만 메시지 전송 권한이 빠진 토큰을 받게 됩니다.

동의를 마치면 등록해둔 Redirect URI로 리다이렉트되면서 주소창에 ?code=로 시작하는 인가코드가 붙습니다. 이 값을 복사해서, POST https://kauth.kakao.com/oauth/token 에 grant_type=authorization_code, client_id, redirect_uri, code를 실어 보내면 access_token과 refresh_token을 받을 수 있습니다. 앱의 '클라이언트 시크릿'이 활성화되어 있다면 이 요청에 client_secret 값도 함께 넣어야 하니, 앱 설정 → 플랫폼 키 → REST API 키 카드에서 클라이언트 시크릿 사용 여부를 미리 확인해두는 게 좋습니다.

카카오 플랫폼 키의 클라이언트 시크릿 설정 화면, 카카오 로그인과 비즈니스 인증 각각의 코드와 활성화 상태가 표시됨

5. 테스트 메시지 보내기 — 한글 깨짐 피하는 법

발급받은 access_token으로 POST https://kapi.kakao.com/v2/api/talk/memo/default/send 를 호출하면 카카오톡 '나에게 보내기'로 메시지가 도착합니다. 다만 Windows 환경에서 명령줄에 한글 메시지를 직접 넣어 보내면, 아래 화면처럼 한글이 깨진 문자로 표시되는 경우가 있습니다. 이건 커맨드라인이 멀티바이트 문자를 그대로 인코딩하지 못해서 생기는 문제입니다.

카카오톡으로 전송된 메시지의 한글이 깨진 문자로 표시된 화면

해결 방법은 간단합니다. 보낼 메시지를 커맨드라인에 직접 쓰지 말고, 먼저 UTF-8 텍스트 파일로 저장한 다음 그 파일을 읽어서 전송하면 됩니다(curl 기준으로는 --data-urlencode 옵션에 파일 경로를 넘기는 방식). 파일을 거쳐 전송하니 인코딩이 깨지지 않고 한글이 그대로 도착합니다.

6. 구글 캘린더에서 오늘 일정 가져오기

카카오톡 발송 준비가 끝나면, 이제 구글 캘린더에서 오늘 일정을 가져올 차례입니다. 클로드 코드에 연결된 구글 캘린더 도구로 오늘 00시부터 23시 59분까지의 일정을 조회하고, 시간과 제목을 정리해 카카오톡 메시지 형식으로 조합합니다. 캘린더가 여러 개라면 알림에 포함할 캘린더를 미리 정해두는 게 좋습니다.

7. 매일 아침 자동으로 실행되게 만들기

여기까지 만든 걸 매번 손으로 실행할 수는 없으니 자동 실행이 필요합니다. 클로드 코드에는 두 가지 방식이 있습니다. 로컬 예약 작업은 클로드 앱이 켜져 있을 때만 정해진 시간에 실행되고, 클라우드 루틴은 앱 상태와 무관하게 Anthropic 클라우드에서 독립적으로 실행됩니다. 앱이 꺼져 있어도 매일 아침 알림을 받고 싶다면 클라우드 루틴을 선택해야 합니다.

클라우드 루틴은 로컬 파일에 접근할 수 없기 때문에, 카카오 인증 정보(REST API 키, 클라이언트 시크릿, 리프레시 토큰)는 루틴 설정 안에 직접 넣어야 합니다. 구글 캘린더도 이 앱에서 쓰던 연동과는 별개로 claude.ai 계정에 커넥터를 따로 연결해야 클라우드 루틴에서 쓸 수 있습니다. 아래는 claude.ai에 이미 연결된 커넥터 목록 화면과, 매일 오전 7시에 실행되도록 설정한 루틴 목록 화면입니다.

claude.ai에 연결된 커넥터 목록, Google Calendar가 연결된 상태로 표시됨
매일 오전 7시에 실행되도록 설정된 카카오톡 일정 알림 클라우드 루틴 목록

완성된 자동화 흐름

매일 아침 7시가 되면 클라우드 루틴이 깨어나 오늘 날짜를 계산하고, 구글 캘린더에서 오늘 일정을 가져오고, 카카오 리프레시 토큰으로 액세스 토큰을 갱신한 뒤, 파일을 거쳐 인코딩 문제 없이 카카오톡 '나에게 보내기'로 메시지를 전송합니다. 클로드 앱이 켜져 있는지는 더 이상 상관이 없습니다.

한 가지만 감안하면 됩니다. 카카오 리프레시 토큰의 유효기간은 대략 60일이고, 클라우드 루틴은 상태를 저장하지 못해서 토큰이 로테이션되면 재인증이 필요할 수 있습니다. 60일 주기로 한 번씩 앞의 4단계를 반복해 토큰을 갱신해주면, 계속 매일 아침 카카오톡으로 오늘 일정을 받아볼 수 있습니다.

AI 부업 무료자료 받기

무료자료 신청하기 🎁

댓글 0

첫 댓글을 남겨보세요.