[Activepieces를 사용한 회고리포트 4편]

소개

저번에 매 시간 알람이 오는 워크플로우를 생성했었는데, 이번엔 답변을 제출하면 자동으로 캘린더와 구글 시트에 해당 업무 진행 사항을 저장하도록 하는 방법을 작성해보겠습니다.

진행 방법

사용한 툴은 Activepieces, Google의 Forms, Gemini, Calender, Sheets, 그리고 Discord 입니다.

먼저 전체적인 워크플로우는 다음과 같습니다. 해당 워크 플로우는 5분에 한 번씩 구글 폼의 응답을 트리거로 받아옵니다. 이후 Code를 통해 폼의 응답 값을 가져옵니다. 응답 값(한 일, 감정 노트 내용)을 토대로 AI가 카테고리로 분류하도록 했습니다. 이후 원하는 시간으로 캘린더에 저장하기 위한 날짜 및 시간 변환을 진행해주었습니다. 그리고 차례로 캘린더와 시트에 저장하고, 모든 과정이 완료되면 완료 메세지가 오도록 설정하였습니다.

Google 문서 작업 흐름의 스크린샷

1) 구글 폼 작성.

저는 히로님의 핸드북을 참고하여 활동 내용, 감정 노트, 만족도, 집중도, 날짜, 시간으로 작성했습니다.

별 수가 많은 중국 앱의 스크린샷

2) Code 작성

구글 폼에서 제출된 응답을 토대로 Item 이름과 그에 해당하는 값을 insert 해주면 됩니다. 구글 폼에 응답할 때 만족도와 집중도의 경우 동일하게 값을 5로 답변하면, 구분이 어렵기 때문에 값을 다르게 하는 것이 좋습니다.

WordPress의 데이터 선택기 스크린샷

아래는 input 데이터의 괄호를 벗겨주는 코드입니다.

export const code = async (inputs) => {
  return {
    ...inputs
  };
};

3) 제미나이를 이용한 카테고리 분류.

처음 AI 피스를 사용했을 때 크래딧이 너무 빠르게 닳아 사용하지 못했었는데, 이후 Hero님의 해결책으로 구글(AI Studio API Key가 필요) 제미나이를 통해 걱정없이 사용할 수 있게 되었습니다.

API를 연결해주고, 프롬프트를 작성했습니다. 이때 Model은 너무 많은 자원을 사용하지 않도록 Gemini 2.5 Flash로 선택해주었습니다.

아래는 제미나이에게 만들어 달라고 한 프롬프트 전문입니다. 추가로 일정을 더 잘 분류하기 위해, 예시에 개인적인 일정, 영어 어플(EWA)과 회화 스터디(Pair Session)를 따로 추가해 주었습니다.

당신은 사용자의 {log}와 {note}를 분석하여 가장 적합한 카테고리로 분류하는 시간 관리 전문가입니다.

활동 로그가 입력되면, 아래 정의된 4가지 카테고리 중 가장 적합한 카테고리 이름 하나만 출력해야 합니다. 부가적인 설명이나 인사말, 기타 텍스트는 절대로 출력하지 마십시오.

카테고리 정의
Work (업무 / 생산 활동): 직업적으로 수행하는 모든 활동. (예: 팀 회의, 보고서 작성, 코딩, 클라이언트 미팅, 이메일 처리)
Skill Up (학습 / 역량 강화): 개인의 지식이나 기술을 향상시키는 활동. (예: EWA, Pair Session, 학습, 자격증 공부, 독서, 연구, 세미나 참석)
Personal Care (개인 생활 / 필수 활동): 개인의 삶을 유지하는 데 필수적인 활동. (예: 식사, 운동, 수면, 이동 시간, 쇼핑, 집안일)
Leisure (여가 / 휴식): 업무나 필수 활동 외의 자유롭고 즐거움을 위한 활동. (예: 취미 활동, 친구 만나기, 영화 감상, 산책, 이완 시간)

[활동 내용 입력 예시]
팀 프로젝트 킥오프 회의 참석
[기대 출력]
Work

4) 날짜 형식 지정하기.

날짜와 시간을 Input Data로 넣어주고 해당 형식에 맞는 Format을 설정해줍니다. 그리고 Time Zone은 모두 Asia, Seoul로 선택하여 한국 기준으로 시간이 저장되도록 설정해줍니다.

날짜 도우미 형식의 스크린샷

5) 시간 계산하기.

동일하게 시간을 Input에 넣고 Format을 통일시켜줍니다. 이전 게시물에서는 2시간 간격으로 알람이 오게 했었는데, 그 사이 1시간 간격으로 수정해서 Expression부분도 -1 hour로 입력했습니다. 만약 2시간 간격으로 일정을 저장하고 싶다면, -2 hour이라고 입력하면 됩니다.

날짜 및 시간 형식을 보여주는 Google 스프레드시트의 스크린샷

6) 구글 캘린더 연동하여 자동으로 일정 저장.

이때 앞선 단계에서 오류 이슈로 Time Zone을 UTC로 설정해두었기 때문에, 각 시간에 +09:00를 더해 서울 시간으로 직접 변환해줍니다. Description 부분에는 캘린더 메모에 들어갈 부분을 작성해주면 됩니다.

Google 캘린더 - 일정 만들기

7) 구글 시트 연동 후 저장.

구글 시트를 연동하면, 만들어둔 스프레드와 시트 이름을 선택할 수 있습니다.

새 행을 생성하는 옵션이 있는 Google 시트

헤더를 포함하는 토글을 활성화하면 시트의 첫 행에 작성한 열 이름이 나오게 되고, 해당 열에 들어갈 응답 내용을 넣어주면 됩니다.

첫 번째 행에는 한국어로 된 헤더가 포함되어 있습��니다.

8) 응답 완료 메세지 전송.

이전 워크플로우에서 사용한 것과 동일한 웹훅 URL을 넣어주고, 원하는 메세지를 작성합니다.

메시지 웹훅 보내기

결과와 배운 점

아래는 3, 4편에서 구현한 자동화 프로그램의 결과물입니다.

한국사이트 스크린샷

매 시간 알람이 오니까 좀 더 하루를 알차게 살고 싶어지는 동기부여가 되는 것 같습니다. 그리고 저의 하루 루틴을 데이터화 할 수 있을 거라는 기대감에 설레기도 합니다.

다음 게시글은 스터디원 분들의 좋은 아이디어를 참고하여 개선한 두 가지에 대해 다뤄보겠습니다.

  • 망지뇽님의 베스트 사례글을 바탕으로 워크플로우에 날씨 데이터 추가

  • 유징님이 공유해주신 코드를 참고하여, Apps Script를 활용한 대시보드에 AI 코멘트를 추가(+ 일일리포트 코드를 수정해 주간리포트 추가)

도움 받은 글

Hero님의 Activepieces 핸드북

2
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요