Activepieces 로 일정 관리 agent 구축하기 (실패 중)

소개

매일 아침, Slack에 "5/5/5"처럼 숫자 3개를 입력하는 것만으로도 하루의 컨디션과 일정을 정리해주는 AI 비서 루틴을 만들었습니다. 목표는 단순합니다:

"아침 루틴을 최소한의 뇌 용량으로, 자동으로 처리하고 싶다!"

이 자동화는 Slack + Activepieces + TickTick + DB 연동으로 구성되며, 아래 3가지를 한 번에 처리합니다:

  • 사용자의 수면시간/컨디션/집중력 수집 및 저장

  • TickTick에서 오늘 고정 일정 가져오기

  • 보기 좋게 정리해서 Slack에 메시지로 보여주기

진행 방법

🔧 사용한 도구

  • Slack (입력 및 출력 인터페이스)

  • Activepieces (자동화 Flow 빌더)

  • TickTick API (할 일 관리)

  • Supabase (데이터 저장)

🧩 전체 흐름 요약

  1. Slack 메시지 입력 (예: 5/5/5) → 트리거

  2. 컨디션 숫자 파싱 → daily_sessions 테이블에 저장

  3. TickTick API 호출 → 오늘 미완료 Task 필터링

  4. Task를 DB에 저장 (daily_ticktick_tasks)

  5. Slack 메시지로 보기 좋게 포맷팅해서 전송

🧪 주요 로직들

✅ 숫자 파싱기

// 예: "5/5/5" → sleep, condition, focus 점수 추출
const parts = text.split("/");
if (parts.length === 3) {
const [sleep, condition, focus] = parts.map(Number);
if (sleep <= 10 && condition <= 10 && focus <= 10) {
// 저장 가능
}
}

📅 TickTick 일정 가져오기

  • /open/v1/project → 전체 프로젝트 목록 수집

  • /open/v1/project/{id}/data → 각 프로젝트별 task 목록

  • dueDate 기준으로 오늘 날짜만 필터

  • status === 0 (미완료)만 필터

⏰ 시간 포맷팅

  • TickTick은 UTC로 dueDate를 반환

  • 한국 시간대(Asia/Seoul) 기준으로 변환 필요

📨 Slack 메시지 예시

Windows 10 메일 앱의 스크린샷

결과와 배운 점

⚙️ 배운 점

  • Activepieces에서 자동화 하는 프로세스가 별거 아닌 작업도 사실은 매우 복잡...

  • Slack 메시지를 필터링하는 것이 생각보다 중요함

  • TickTick의 시간대 처리(UTC → KST)가 까다롭다.

🧱 시행착오

  • dueDate를 로컬 시간으로 잘못 변환해서 하루 전/후 일정이 섞였던 문제

  • Ticktick API 토큰 갱신 어려웠음...

📈 앞으로의 계획

  • 유저가 Slack에서 입력한 추가 일정을 TickTick으로 자동 생성하도록 확장

  • 유저와의 대화를 통해 일정 자동 추가

  • 추가로 중간 중간 메시지를 통해 실제로 수행한 일에 대한 목록도 ticktick에 보낼 수 있도록 할 예정.

  • 최종적으로는 실제 수행한 일들에 대해 회고리포트 작성하게 할 계획.

3

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요