(쌩초보 2탄) 자동화 기획부터 실행까지: 텔레그램으로 구글캘린더 반영

소개

지난번 기획했던 텔레그램으로 구글캘린더 n8n으로 다시 시작

토요 오프모임에서 왜 나는 딸깍으로 안되냐는 한탄에.. 리부티너님이 "원래 다들 일주일동안 딸깍하는거다. 한번에 되는 것 없다"는 말씀에 저도 일주일 딸깍 도전!

지난번 사례글에 댓글로 응원해주신 원샷님, 여행가J님 그리고 토요일 저의 넋두리에 토닥토닥해주신 리즈님의 말씀에 으쌰으쌰 힘이 났습니다.

진행 방법

1) 사용한 tool:

n8n, 텔레그램(텍스트+보이스), 구글캘린더

2) 워크플로우

2-1) 텔레그램 트리거를 써서 메시지를 받되, 음성도 함께 받을 수 있도록 진행함

2-2) switch를 써서 voice인지 text인지 구분해서
음성이면 파일을 다운로드 받아 문장을 받아도록 하고,
텍스트이면 그대로 활용

다양한 유형의 정보를 보여주는 모바일 앱의 스크린 샷

2-3) AI Agent로 일정인지 판단 후, 나의 캘린더 카테고리에 맞게 result값을 세팅

다음 메시지를 분석해서 일정 관련 정보가 있다면 정확히 아래 JSON처럼 출력하세요.  
다른 텍스트는 절대 추가하지 마세요. JSON 객체 하나만 반환하세요.  

일정이 없으면 {"result": "없음"} 만 반환하세요.
- 메시지에 "일정"이라는 단어가 포함되거나 일정관련 내용일 때만 반응하세요
- 없으면 {"result": "없음"} 만 반환
- date는 {{ $now.format('yyyy-MM-dd HH:MM'  ) }}
- type은 내용에 맞게 {"AI", "대학원", "가족", "개인"} 중 하나 선택해서 값을 넣어줘
  1) 지피터스, AI 등이면 "AI"
  2) 교수님, 동기, 수업 관련되면 "대학원"
  3) 언니, 병원 관련되면 "가족"
  4) 친구들 만나거나 운동 내용이면 "개인"
- typeID는 type에 따라 다르게 입력해줘
  1) type이 "AI"이면   ****************@group.calendar.google.com
  2) type이 "개인"이면 ****************@group.calendar.google.com
  3) type이 "대학원"이면 ****************@group.calendar.google.com
  4) type이 "가족"이면 ****************@group.calendar.google.com
- schedule_start는 date기준으로 계산해줘. "내일"이면 date+1일
- schedule_end는 duration이 있으면 계산해서, 아니면 기본 1시간 적용

출력형식 예시
{
  "var": {
    "date": "2025-07-21 09:00",
    "type": "개인",
    "typeID": "***************@group.calendar.google.com"
    "schedule_start": "2025-07-21T17:00:00",
    "schedule_end": "2025-07-21T18:00:00",
    "schedule_content": "지피터스 사례글 작성"
  }
}
입력:
{{ $json.text }}

2-4) 결과값을 캘린더에 넘겨주기 위해 parsing 진행

const items = $input.all();
console.log("AI Agent 결과:", items);

return items.map(item => {
  const raw = item.json.output;

  // 빈 응답 또는 없을 경우
  if (!raw) {
    return { json: { error: "AI output 없음" } };
  }

  let parsed;
  try {
    parsed = typeof raw === "string" ? JSON.parse(raw) : raw;
  } catch (e) {
    return { json: { error: "AI 응답 파싱 실패", raw } };
  }

  // var가 없는 경우
  if (!parsed.var) {
    return { json: { error: "var 없음", parsed } };
  }

  return {
    json: parsed.var
  };
});

2-5) 구글캘린더에 값 입력

이벤트 화면 만들기의 스크린 샷

이러한 워크플로우는 아래 그림과 같습니다.

기계 학습 시스템의 프로세스를 보여주는 다이어그램

결과와 배운 점

눈으로 학습하던 부분을 실제 구동시켜보려니 되는게 한개도 없던데요.

일주일 꼬박 딸깍 하면서 직접 해보지 않고는 내것이 될 수가 없구나. 다시한번 생각했습니다.

small win. 매주 되새기려구요.

차주는 로컬 설치요.. (n8n 무료기간 끝났.. ㅠㅠ)

도움 받은 글 (옵션)

기획: 지지난주 타이칸님 특강

n8n기초: 허세임님 월요 워크샵

기타 세팅: 유튜브 검색

(텔레그램 voice 입력은 다음 링크 참고했습니다)

https://www.youtube.com/watch?v=IvPz-go988M&t=297s

4
4개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요