Makeを使ってTimeTreeの予定をNotionに自動入力する方法
こんにちは、 チャベス と言います。
今回は、Make を使って TimeTree の予定を Notion に自動で入力する方法を解説します。
TimeTree はカレンダー共有アプリです。見やすく使いやすいので、私は奥さんと約 5年程いっしょに使っています。
私はタスクをすべて Notion で管理しているので、TimeTree の予定を Notion に取り込みたいと思っていました。そこで Make を使って TimeTree の予定を Notion のデータベースに自動入力できるようにしました。
ちなみに Make はさまざまなツールやサービスを連携し、ノーコードで自動化を実現することができるサービスです。
とても便利なので、TimeTree と Notion を使っているという方はぜひ記事を見てみてください。(TimeTree を使っていない方でも Make の使い方は参考になると思うのでぜひ見てみてください。)
今回紹介する Make では Notion API という仕組みを使っています。Notion API は誰でも無料で使用可能で、使い方を知ればより自由に、自分だけのアプリケーションを作ることが可能です。Notion API について詳しく知りたいという方は、以下のリンクを参考にしてみてください。
TimeTree でトークンを作成する
Make で使用する TimeTree のトークンを作成します。
TimeTree Connect の最下部の「連携アプリを作成」をクリックします。
「 App Console 」をクリックします。
「Persibak Access Tokens」の「トークンの作成」をクリックします。
「トークン名」は何でもOKです。
全てチェックを入れておきます。
トークンをメモしておきます。
トークンは再表示されないので注意してください。
※トークンは他人に見られないように注意してください。以下の画像のトークンは削除しています。
Notion のインテグレーションを作成する
以下のページでインテグレーションを作成します。
インテグレーションの作成については、以下のページを参考にしてください。
Notion のデータベースにコネクトを追加する
上記で作成したインテグレーションを Notion のデータベースに追加します。
データベースは、TimeTree の予定を入力したいデータベースを使用してください。
※リンクドビューではなく、本体のデータベースに追加してください。
Make の使い方
いよいよ Make で作成していきます。
Make への登録は済ませておいてください。
ちなみに Make の基本的な使い方は以下の動画がわかりやすいです。
今回は、Make の基本的な使い方には詳しく言及せず、 TimeTree → Notion のシナリオの内容のみ紹介します。
Make でシナリオを作成する
シナリオの全体像は以下です。
TimeTree API でデータを取得する
TimeTree API を使って、TimeTree のデータを取得します。
TimeTree API のドキュメントは以下です。
まずは「 HTTP モジュール 」で TimeTree API を使ってデータを取得します。
URL は以下のように設定します。
https://timetreeapis.com/calendars/**********/upcoming_events?timezone=Asia/Tokyo&days=3&include=creator,label,attendees
この URL の内容について、詳しくは TimeTree API の公式ドキュメント を参照してください。ここではポイントを 2点説明します。
- 自分の TimeTree の ID を上記の URL の
**********
の部分に入れてください。タイムツリーをブラウザで開くと、URL は
https://timetreeapp.com/calendars/**********
という形になっており、**********
の部分が ID となります。
- days=3 の部分を 1 から 7 の任意の日数に調整してください。
上記の URL の days=3 の部分は、1 から 7 の数字に変更することができます。
TimeTree の API ドキュメントを見ると、取得できる予定はリクエスト当日以降の 7 日までのようです(もっと取得できる方法が無いのかは調査中)。days=3 の部分を 7 に変えれば、7日先までの予定を取得できます。
残りは、上記の画像の通り設定していきます。
Headers には、TimeTree API のドキュメントを参考に設定します。
Authorization には、TimeTree で取得したトークンを設定してください。
Iterator の設定
続いて、Iterator を設定します。
上記の HTTP リクエストで TimeTree の予定を配列で取得してきますが、Iterator を設定することで配列の中身に対して繰り返し処理ができるようになります(Iterator を設定しなければ、最初に取得した 1つ目の予定しか Notion に書き込めなくなります)。
Iterator については、以下を参考にしてください。
Notion のデータベースに書き込む
最後に、TimeTree で取得した予定を、Notion のデータベースに書き込みます。
- Connection : 最初に取得した Notion のインテグレーションを設定する
- Database ID : 予定を書き込みたいデータベースの ID を設定する。
- Fields : 以下の画像のように設定することで、予定名と開始日、終了日を Notion に書き込みます。「Include Time 」を 「Yes」にすることで、時間も設定できます。
ちなみに今回の説明では、 Notion のデータベースのプロパティは、「名前」と「日付」のみにしていますが、それ以外のプロパティがあっても問題ありません。
「名前」プロパティにTimeTree の予定名、「日付」プロパティに TimeTree の日付を入力するように設定します。
シナリオを実行する
これで準備ができたので、「Run onece 」をクリックします。
以下のツイートのように、TimeTree の予定を取得し、Notion に書き込むことができました。
定期実行する
TimeTree の予定を自動で Notion に自動入力するためには定期実行の設定が必要です。定期実行の設定は簡単で、シナリオの左下で毎日や毎週のある時間に定期実行するか、一定の時間毎に定期実行することができます(最短 15 分毎)。
ただし、Make の無料プラン内で月の実行回数を抑えようとすると、予定の数にはよりますが、1 時間に 1回の定期実行は収まらないかもしれません(3 時間に 1回くらいだとギリギリ無料プラン内に収まるかなという印象です)。無料プランの制限を超えたからといって勝手に課金されることはないので、ご自身の使い方に合わせて調整してみてください。
Make の料金プランについては公式のリンクを参考にしてください。
おわりに
今回は、Make を使って TimeTree の予定を自動で Notion に入力する方法を説明しました。今回は TimerTree → Notion の一方向だけの紹介でしたが、 Notion → TimeTree も可能です(Notion アンバサダーの田原さんが紹介されていました)。
Make はさまざまなツールを連携して自動化するのにとても便利なので、興味のある方はぜひ一度触ってみてください。