Omni Task → Notion 등록 자동화 01 - 구현 배경 & 개발 계획

쥐도리·2023년 2월 25일
0
post-thumbnail

배경

구현 계기

완료한 Task를 Notion에 기록하고 싶은데, 일일이 옮기기 귀찮아. 😵‍💫

OmniFocus 라는 프로그램을 아시나요?

일종의 ToDo List로 내가 할 일들을 관리해주는 프로그램입니당.
(Apple 전용으로 가격은 넘나 비싸;;💰)

저는 OmnifocusNotion을 활용하여
아래와 같이 제 일상을 관리하고 있습니다.

  • 💡 해야 할 일이 생각날땐? OmniFocus
  • 📝 아이디어나 메모가 필요할 땐? Notion

그런데 이렇게 생활하다보니,
Omnifocus에 작성한 할 일들 중 완료한 작업들은
Notion에 기록해놓고 싶은데, 작업 하나하나 옮기는게 정말 정말 귀찮다는거죠. 😵‍💫

그래서 이러한 작업을 자동할 순 없을까 생각하여
구현하기로 마음 먹었습니당.


목표 범위

ClipBoard Task 복사 이후
서비스 실행으로 Notion 자동 등록 🤖

사실 가장 좋은 건,
Omnifocus에서 완료체크 하자마자 Notion에 알아서 등록!!!

그런데 그럴려면 Omnifocus의 Pro 버전이 필요하지 않을까 싶어요.
그렇기에 2단계로 나눠 자동화가 이뤄질 수 있도록 목표를 잡았습니다.

  1. 클립 보드에 Omnifocus의 Task를 복사
  2. 특정 서비스를 실행하면 자동으로 Notion [작업목록] DB 추가

진행

1단계 유사한 프로그램 조사

세상엔 나와 똑같은 문제를 겪은 사람은 많을테고,
그러한 문제를 해결해놓은 사람도 많을거야. 🔍

직접 개발하기 이전에,
항상 누가 이미 개발해놓은 건 없나 찾아봐야죠. 🔍

역시나 구글링 하니 2가지 해결 방법을 나오더라구요.

1. "Zapier" 이용한 Omni → Notion
2. Omnifocus Pro 버전의 Applescript 자동화

1. "Zapier" 프로그램 이용.

https://zapier.com/
다양한 앱 간의 연동 작업을 자동화 해주는 툴 Zapier라는 것이 있습니다.
정말 제가 찾고 있는 기능을 그대로 구연해주는 툴인더라구요.

근데 문제는 유료라는 점.
이 작업 하나 때문에 유료 결제하긴 그래서 Pass~

2. Omnifocus Pro 버전의 Applescript 자동화

Omnifocus 자체에 이러한 작업들을 자동화 해주는게 있습니다.
물론 Notion에 등록하는 거까진 아니어도, JSON 변환(?)까지는 해주는 기능?

다만 이것도 문제는 프로버전을 구매해야한다는 점.
사실 프로 버전을 구매하는 것까진 괜찮은데,

문제는 현재 Omnifocus 4 개발 중에 있다는 것.
1년 정도만 더 쓰면 4 업그레이드에 또 돈을 써야하니 이건 보류.....

정리

정리하자면 돈이 있었다면 해결이 가능! 했지만
하지만 나는 돈은 없고, 가진건 시간과 얕은 개발 지식뿐.

이참에 경험도 쌓을 겸 직접 개발하기로 했습니당.


2단계 개발 환경 계획

개발 언어 선정

Wanted 가볍고 빠른 실행 🚀

Apple의 단축어 앱 or Automator 이용하여 자동화를 구현할거라
Applescript & Javascript를 이용하여 개발하기로 결정했습니다.

  • Why Not Python?

사실 가장 잘 알고있는 Python 이용하여 코드 짜고,
Apple 단축어앱에 shell 명령어로 파이썬 실행시킬까 고민해봤습니다.
(왜냐면 Applescript 지식 ↓ and Javascript 기초 수준......)

  1. 인터프린터 실행 시간도 아깝고,
  2. Apple 단축어 앱 연동성 X

그래서 파이썬은 포기하고, Javascript와 Applescript 이용하기로 마음 먹었습니다.

  • Javascript

사실 Javascript와 node.js 만 이용해도 해당 기능 구현이 가능합니다.
그런데 서비스 실행할 때 마다 node.js 엔진 올리고 내리는 작업이 문제가 생길 것 같아 JSON 관련하여서만 javascript 이용해서 구현하기로 하고,
나머진 Applescript 와 Apple의 단축어앱 기능 활용하기로 했습니다.


  • Applescript

일단 클립보드에 있는 문자열 가져오기랑 curl 이용한 통신을 구현하였습니다.
다시 찾아보니, Apple 단축어 앱의 기능으로 대체하는게 보기도 편하고 오류 검증이 쉬워 Applescript는 다 덜어냈습니다.


개발 계획

  1. Notion API 이용한 Notion 통신 학습
  2. Omnifocus Task Text → Notion DataJSON 변환 기능 구현
  3. ClipBoard → Notion DataJSON → Rest-API Post로 DB 등록
  4. Apple 단축어 앱에 맞게 재작성
  5. 추가 개선사항 탐색 & 업데이트

현재는 4단계까지 되어있는데,
Apple 단축어 앱에 대해 지식이 부족해서 하드코딩된 부분이 많습니다.

일단 블로그에 학습한 내용 정리하면서 차츰차츰 코드 개선하고,
4단계 올릴 때 단축어앱 공유를 계획하고 싶습니당.


마무리

다음 게시글부터 본격적으로 Omnifocus → Notion 자동화 실습 관련 포스팅 하겠습니당.

profile
해보고, 정리하고, 돌아보자

0개의 댓글