Spark
Spark
🏆 AI 챔피언
🏡 내집마련 찐친

단축키 하나로 메모→옵시디언→구글캘린더 완성 — Claude Code로 메모 자동화 완성한 후기

📝 한줄 요약

Pipeline 1(메모→옵시디언)에 이어, 오늘은 Google Calendar 연동까지 추가했다. 이제 메모에 일정을 써두기만 하면 단축키 하나로 옵시디언 저장과 캘린더 등록이 동시에 처리된다.

바쁘시면 이것만 읽어도 돼요:

  • Claude Code + 9개 인터뷰 질문 → Google Calendar API 연동까지 AI가 설계하고 구현

  • 기존 Pipeline 1 코드 그대로 유지한 채 기능만 확장 — 덮어쓰거나 꼬이지 않음

  • Ollama 1번 호출로 MD 변환 + 일정 감지 동시 처리 (AI가 먼저 최적화 제안)

  • OAuth 같은 어려운 인증도 AI가 알아서 처리 — "credentials.json 있어요"만 답하면 됐음

  • 파이프라인은 한 번에 다 만들려 하지 말고 1단계 검증 → 2단계 추가 방식이 맞다

  • 워크플로가 완성된 느낌: 메모 → 옵시디언 → 구글 캘린더, 전부 단축키 하나


🎯 이런 분들께 도움돼요

  • 통화나 미팅 후 메모는 하는데, 캘린더 옮기는 걸 자꾸 까먹어서 일정을 놓치는 분

  • 자동화를 단계적으로 쌓아가고 싶은데 어디서부터 시작해야 할지 모르는 분

  • Google Calendar API 같은 외부 서비스 연동이 어렵게 느껴지는 비개발자

  • Pipeline 1 사례글을 읽고 "나도 2단계까지 해보고 싶다"고 생각한 분


😫 문제 상황 (Before)

통화가 끝나면 바로 메모장을 열어 적는다. "4월 15일 오후 3시, 병원 예약", "다음 주 금요일 팀 회의" — 이런 내용들이 메모 사이에 섞여 있다.

문제는 그 다음이다. 캘린더에 따로 옮겨야 하는데, 메모를 쓰고 나면 그 자체로 일단락된 느낌이 들어서 캘린더 등록은 나중으로 미룬다. 그리고 잊는다. 메모가 옵시디언에 저장되더라도 일정은 여전히 머릿속이나 메모 구석에 묻혀 있다.

Pipeline 1로 메모→옵시디언 저장이 자동화됐을 때 바로 이 생각이 들었다. "일정이 포함된 메모라면, 저장할 때 캘린더까지 한 번에 처리할 수 있지 않을까?"


🛠️ 사용한 도구

  • 도구: Claude Code (CLI)

  • 로컬 AI: Ollama gpt-oss:20b — 메모 구조화 + 일정 감지 동시 처리

  • 연동 서비스: Google Calendar API (OAuth 2.0)

  • 특이사항: 기존 Pipeline 1 코드(notepad_to_obsidian.py) 위에 기능을 추가하는 방식


🔧 작업 과정

인터뷰 9개 — "credentials.json 있어요" 한 마디로 OAuth를 넘어가다

파이프라인 설계는 늘 인터뷰부터 시작된다. Claude Code가 질문을 하나씩 던진다.

캘린더는 어떤 서비스를 사용하고 계신가요?
Google Calendar API 인증 설정이 되어 있나요?
credentials.json 또는 서비스 계정 키가 있으신가요?

솔직히 OAuth는 개발자들도 까다로워하는 부분이다. 그런데 AI가 "있어요/없어요" 단 하나만 물어봤다. "있어요"라고 답하고 파일 경로를 알려줬더니, 그 다음은 AI가 전부 처리했다. 인증 흐름 설계, 토큰 저장, 만료 시 자동 갱신 — 이런 것들을 내가 알 필요가 없었다.

9개 질문이 끝났을 때 요구사항이 완전히 정리돼 있었다.

  • 일정 감지: AI가 판단해서, 시간 없으면 종일 일정

  • 복수 일정: 첫 번째만 등록

  • 등록 알림: 이벤트 제목 + 날짜 팝업

  • 일정 없을 때: 조용히 MD 저장만


기존 코드를 건드리지 않고 기능만 추가하다

여기서 한 가지 걱정이 있었다. Pipeline 1이 잘 작동하고 있는데, 여기에 새 기능을 추가하다가 망가지면 어떡하지?

Claude Code는 기존 구조를 그대로 유지하면서 필요한 함수만 추가하는 방식으로 설계했다.

2단계 해보자. 1단계에 더해서 메모장 내용에 날짜, 일정, 일시 등이 있는 경우,
해당 내용을 캘린더에 간단하게 기입해주는 자동화를 구현해보고 싶어.

AI가 한 것:

  • Google Calendar 관련 패키지를 먼저 설치 확인 후 없으면 자동 설치

  • 기존 Ollama 프롬프트에 일정 감지 항목만 추가 — 호출 횟수는 그대로 1번 유지

  • parse_schedule(), get_calendar_service(), create_calendar_event() 3개 함수 신규 추가

  • handle() 함수 마지막 부분에만 캘린더 로직 연결

Pipeline 1의 동작은 손대지 않았다. 일정이 없는 메모라면 기존과 완전히 똑같이 작동한다.


"AI가 먼저 최적화를 제안했다"

인상적이었던 순간이 있다. 일정 감지를 위해 Ollama를 따로 한 번 더 호출할 것 같았는데, AI가 먼저 이렇게 설계했다.

Ollama 호출 1번으로 MD 변환 + 일정 감지를 동시에 처리합니다. 속도 최적화를 위해 프롬프트에 일정 감지 항목을 포함시켰습니다.

내가 요청하지 않았는데 AI가 먼저 효율을 고려한 것이다. 메모가 길어질수록, 일정이 자주 포함될수록 이 차이는 더 커진다.


단계별로 쌓는 것이 맞다

이번 작업을 하면서 확신이 생긴 것이 있다. Pipeline 1을 먼저 완성하고 검증한 뒤 Pipeline 2를 추가한 것이 옳았다.

만약 처음부터 "메모→옵시디언+캘린더 동시 자동화"를 한 번에 만들려 했다면? 어디서 문제가 생겼는지 찾기 훨씬 어려웠을 것이다. 1단계가 작동한다는 확신이 있으니까 2단계에서 생기는 문제만 집중해서 볼 수 있다.


✅ 결과 (After)

Before vs After

항목

Before

After

메모 속 일정 처리

수동으로 캘린더 앱 열어서

따로 입력

단축키 하나로 자동 감지 + 등록

일정 누락

위험

높음 (옮기는 걸 자주 까먹음)

없음 (메모 저장과 동시에 처리)

외부 서비스

연동

직접 구현하려면 OAuth 공부

필요

AI에게 credentials 경로만 알려주면 끝

워크플로

완성도

메모→옵시디언만 자동화

메모→옵시디언→캘린더

전체 자동화

결과물

중국어가 표시된 창의 스크린샷
  • Ctrl+Shift+S 입력 시:

    • 일정 포함 메모 → Obsidian MD 저장 + Google Calendar 이벤트 자동 생성

    • 일정 없는 메모 → Obsidian MD 저장만 (기존과 동일)

  • 팝업 알림: "캘린더 등록됨 / 2026-04-15 15:00 / 병원 예약" 형태로 확인 가능

  • 최초 실행 시 브라우저 구글 계정 인증 1회 → 이후 자동 처리

[메모 예시]

autocad 4 autocad 4 autocad 4 autocad 4 autocad 4 autocad 4 autocad 4 autoca

[실행 결과]

한국어 텍스트가 있는 화면
한국어와 중국어로 된 메시지가 있는 화면
오토캐드

[캘린더 생성]

오토캐드 BM 재검토
IBM 스크린샷 1용 오토캐드

[옵시디언 MD 생성]


💬 이 과정에서 배운 AI 활용 팁

효과적이었던 것

  1. 파이프라인은 단계적으로 쌓아라. 1단계를 충분히 검증한 뒤 2단계를 추가하면, 문제가 생겼을 때 어디서 터진 건지 바로 알 수 있다. 한 번에 다 만들려 하면 복잡도가 폭발한다.

  2. 외부 서비스 연동도 AI에게 맡겨라. OAuth, API 키 관리, 토큰 갱신 — 개발자도 귀찮아하는 작업들이다. credentials 파일 경로 하나만 알려줬더니 AI가 전부 처리했다.

  3. AI가 먼저 제안하는 최적화를 놓치지 마라. 내가 요청하지 않아도 AI가 "1번 호출로 동시 처리"를 선택했다. 결과물을 검토할 때 이런 선택들을 눈여겨보면 스스로 배울 수 있다.

이렇게 하면 안 돼요

  1. "한 번에 다 만들어줘"는 위험하다. 복잡한 자동화일수록 단계를 나눠서 검증하지 않으면, 어디가 문제인지 찾는 데 더 많은 시간이 걸린다.

  2. 외부 서비스 연동은 반드시 실제 환경에서 테스트해야 한다. OAuth는 코드가 맞아도 계정 권한, API 활성화 여부 등 환경 문제로 실패할 수 있다. 드라이런으로는 잡히지 않는다.


🌍 다른 업무에 적용한다면?

이번에 만든 패턴 — 메모 내용을 AI가 분석해서 외부 서비스에 자동 등록 — 은 다른 곳에도 그대로 쓸 수 있다.

  • 슬랙 메시지 → 할 일 자동 등록: 메모에 "TODO:" 키워드가 있으면 Notion이나 Todoist에 자동 추가

  • 회의록 → 담당자별 액션 아이템 분류: 메모에서 "~가 ~하기로 함" 패턴 감지 → 담당자별 정리

  • 고객 통화 메모 → CRM 자동 업데이트: 고객명, 요청사항, 다음 연락일 감지 → CRM에 자동 기록


🚀 앞으로의 계획

Pipeline 2까지 완성됐다. 남은 것은 Pipeline 3 — 브레인스토밍 결과를 체계적으로 분류하고 관리하는 자동화다.

그리고 더 큰 그림으로는, 지금까지 만든 세 개의 파이프라인을 하나의 통합 파이프라인으로 묶는 것이 최종 목표다. 메모 내용을 AI가 분석해서 — 지식이면 옵시디언으로, 일정이면 캘린더로, 아이디어면 브레인스토밍 보드로 — 자동으로 분류해서 보내는 구조.

단축키 하나가, 생각을 제자리로 보내주는 시스템이 되는 것이다.


📋 재사용 가능한 프롬프트

프롬프트 1: 기존 자동화에 외부 서비스 연동 추가

기존 [자동화 이름]에 [외부 서비스] 연동을 추가하고 싶어. 조건: [어떤 경우에 연동할지] 처리 방식: [어떻게 처리할지] 기존 기능은 그대로 유지하면서 기능만 추가해줘.

프롬프트 2: 단계적 파이프라인 확장

[1단계 자동화]가 잘 작동하고 있어. 이제 여기에 [2단계 기능]을 추가하고 싶어. 기존 코드를 최대한 건드리지 않고 확장하는 방향으로 설계해줘. 인터뷰 방식으로 요구사항 정리해줘.

프롬프트 3: AI 기반 조건 분기 처리

메모 내용에 [조건 A]가 있으면 [처리 A]를, [조건 B]가 있으면 [처리 B]를 하고 싶어. AI가 내용을 분석해서 판단하도록 해줘. 조건이 없으면 [기본 처리]만 하면 돼.

1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요