귀찮은 일정 입력, 스크린샷 기반 캘린더 자동화 (2)

소개

귀찮은 일정 입력, 스크린샷 기반 캘린더 자동화 (1) : https://www.gpters.org/nocode/post/objective-schedule-input-screenshot-CSqMLNgt5pMU40x

위의 사례글 작성 이후에 발전된 내용을 적었습니다.

사용한 도구

  • Android 폰

  • FolderSync (클라우드 연동용 앱)

  • Google Drive

  • n8n

  • 텔레그램

진행 방법

일정을 자주 기록하긴 하지만, 정작 캘린더에 일일이 입력하는 건 자주 까먹게 되더라고요.
그래서 ‘스크린샷 기반 일정 자동 등록’ 시스템을 만들기로 했습니다.

세 번의 도전 끝에 마침내 실사용 가능한 형태로 완성할 수 있었습니다.
제가 만든 워크플로우의 흐름은 단순합니다.

24일 스터디 전날까지 열심히 두가지 플로우를 만들었고,
앞선 시도에 대한 정리는 아래 사례글에 담겨 있어요 :
https://www.gpters.org/nocode/post/objective-schedule-input-screenshot-CSqMLNgt5pMU40

두가지 플로우에 대해서 간단하게 설명 한번 더 드릴게요!
(이제서야 비로소 이해를 했기 때문이죠... 😂 )

1번 방식 : 내가 일일이 시키는 방식 (직접 분기)

웹 사이트 생성 과정을 보여주는 다이어그램

첫 번째는,
AI가 일정 정보를 뽑아주면 내가 하나하나 정리해서 보내는 구조였어요.

조금 더 자세히 보자면,

구글 드라이브에 이미지가 생기면
→ AI가 내용을 읽고 일정이 있는지 확인

→ 있다면 내가 조건을 걸어서

‘이건 개인 캘린더’, ‘이건 회사 일정’, ‘이건 수업’
이렇게 각각 따로따로 분류해서 넣는 방식이었습니다.

2번 방식 : AI Agent로 일괄 처리

두 번째는 AI가 알아서 판단하고 등록까지 전부 해주는 구조예요.

구글 드라이브에 이미지가 올라오면
→ AI가 내용을 분석해서
→ 일정이 있다면
→ 바로 적절한 캘린더에 넣어줍니다.

1번 방식은 흐름이 눈에 보여서 이해는 쉬웠지만,
각 노드가 뭘 하는지 몰라서 데이터가 이상하게 나오면 당황했어요.
중간값을 직접 확인하거나 수정할 수 있는 점은 좋았지만,
설정할 게 많아서 하나하나 만지느라 시간이 오래 걸렸죠.

2번 방식은 구조가 단순해서 만들기는 훨씬 쉬웠습니다.
하지만 AI가 실수했을 때 어디서 잘못됐는지 확인하기 어려워서 불안했어요.
간단한 대신, 결과를 내가 통제하기 힘든 느낌이 있었어요.

이제, 스터디장이신 세임님과 의논해보고 결정난 3번 방식(최종본)을 보여드릴게요!

3번 방식 : 최종

전체 흐름 구조는 1번 방식(내가 흐름을 하나씩 설계하고 판단하는 방식)과 비슷하지만,
일정 분석과 분류를 AI에게 맡긴다는 점에서는 2번 방식(AI Agent가 한 번에 처리하는 구조)과도 유사한 면이 있습니다.

즉,
1번처럼 흐름을 내가 컨트롤하되
2번처럼 일정 해석은 AI에게 맡긴
“중간 하이브리드형 구조”라고 볼 수 있을 것 같습니다.

자세히 볼까요?

여러 버튼이있는 웹 페이지의 스크린 샷

기존 방식은
→ “일정이 있는지만 확인해줘”
→ “정해진 틀에 맞춰서 값만 채워줘”
정도의 단순한 요청이었습니다.

반면 3번째 방식은
→ 현재 시간도 함께 알려주고
→ 어떤 기준으로 판단해야 할지 자세히 설명하면서
→ AI가 직접 일정이 있는지 판단하고, 카테고리 분류와 시간 계산까지 스스로 하도록 시켰습니다.

프롬프트 자체를 더 구체적이고 세밀하게 작성해서,
이미지를 분석하는 단계에서 일정 정보가 이미 다듬어진 상태로 나올 수 있게 설계했습니다.

웹 응용 프로그램의 스크린 샷

AI가 출력한 문자열 JSON을 실제 key-value 형태로 변환해 구조를 정리했고,
그 다음에는 has_schedule 값이 true일 때만 다음 단계로 넘어가도록 분기 조건을 설정했습니다.

분석된 데이터 안의 category 값을 기준으로,
Switch 노드가 개인, 업무, 수업 일정으로 자동 분류해 각각의 구글 캘린더에 일정이 뿌려지도록 설정했습니다.


모든 플로우가 순조롭게 잘 진행이 되는 것을 확인하고,

프로세스의 다른 단계를 보여주는 다이어그램

텔레그램 노드를 추가해, 플로우 성공 여부를 메시지로 바로 확인할 수 있도록 만들었어요.
성공 시에는 일정 제목과 시간, 어떤 캘린더에 등록됐는지를 보여주고,
실패 시에도 따로 메시지를 전송하도록 설정했습니다.

성공 시 텔레그램에 전송되는 일정 메시지의 날짜와 시간이 숫자와 기호 위주라 한눈에 이해하기 어려웠어요.
그래서 Format readable time 노드를 이용해 “7월 30일 (수) 오후 8시”처럼 직관적인 형식으로 바꿨습니다.
확인하는 입장에서 가독성이 훨씬 좋아져, 실제 일정 시간 파악이 수월해졌습니다.



아직 해결해야 하는 문제가 남았어요.

캡처된 이미지가 두 장 이상일 경우, 마지막으로 업로드된 한 장만 분석되어 캘린더에 등록됩니다.
동기화 주기를 자주 설정해도, 이미지들이 거의 동시에 올라오면 그 중 하나만 처리되고 나머지는 놓치는 문제가 생깁니다.
동시에 처리해도 모두 반영되게 구조를 바꿔야 하는 작업이 남아있습니다.

이 워크플로우를 완성한 후에는,

일정 데이터가 없는 스크린샷도 분석하고 수집하여 노션에 자동으로 정리하는 기능을 만들어보고 싶습니다.
평소 흥미 있는 정보나 참고할 만한 자료를 스크린샷으로 많이 저장하는 편이라,
이 기능이 있으면 자료 관리가 훨씬 편해질 것 같습니다.

또한, 텔레그램 봇을 활용해 일정 수정이나 삭제까지 할 수 있는 기능도 확장해보고 싶습니다.

긴글 읽어주셔서 감사합니다 :)
혹시 궁금한 점이나 더 보고 싶은 내용이 있다면 언제든지 편하게 물어봐주세요!

6
2개의 답글

👉 이 게시글도 읽어보세요