LoginSignup
2
2

More than 1 year has passed since last update.

【LINE WORKS】IFTTTを経由してカレンダーを連携してみる

Posted at

はじめに

LINE WORKSのカレンダー機能はAPIも提供されており、それを使うことでカレンダー上で何かの実行スケジュールを管理することも可能。

今回は、IFTTTを経由してカレンダーの予定と連携する仕組みを作った。

calendar_batch-概略図.drawio (1).png

ソースコード

利用した言語・フレームワーク等

構成図

calendar_batch-構成図.drawio.png

  • バックエンドはAWSのサーバーレスアーキテクチャで構成。
    • Lambda : 初期設定やカレンダー予定のポーリング、Webhookへの送信、Botへの通知。
    • DynamoDB : 設定値の管理。
  • 初期設定画面への動線は、Botのリッチメニューからアクセスするようにした。
  • Botとのトークは、サーバーからのメッセージ受信のみ。

連携の流れ

事前準備

Webhook連携のために、IFTTTであらかじめAppletを作っておく。
https://ifttt.com/create
image.png

「IF」には Webhooks の「Receive a web request」を指定する。
image.png

「THEN」には任意のアクションを設定する。「Event Name」には任意のイベント名を入力。
今回はWebhook.siteで確認したため、Webhooksの「Make a web request」を指定。

image.png

初期設定

ifttt_calendar_setting.gif

  1. まず、IFTTTのWebhook情報を設定する。
    1. ログイン
      • ユーザーIDの取得、カレンダーの作成、予定の定期取得のために、User Account認証を行いアクセストークンを取得・格納する。
    2. IFTTTの設定値入力・送信
      • IFTTT integration key : IFTTTアカウントごとに持っているKey。Webhooksページの「Documentation」から確認可能。
      • IFTTT Event ID : IFTTTのIFの設定で入力した「Event Name」
      • Description : メモ
  2. 設定すると、専用カレンダーが自動作成される。

連携実行

ifttt_calendar.gif

  1. 初期設定にて自動作成されたカレンダーに予定を追加する。
  2. サーバー側にて5分毎にカレンダーの予定一覧が取得され、開始時刻となった予定を検知すると、IFTTTのWebhookへイベントが送信される。
  3. Webhookイベントをトリガーに、あらかじめ設定したIFTTTのアクションが実行される。
    • 今回はWebhook.siteのエンドポイントへリクエストが飛ばされる。
  4. 同時に、トークへBotから実行通知が送られる。

利用したLINE WORKS API

まとめ

何かスケジュール実行したいものをLINE WORKSのカレンダーで管理する仕組みを作った。
今回は汎用性を高くするため、連携プラットフォームであるIFTTTを利用した。Webhookイベントを送るだけなので、カレンダーだけでなく他のサービスにも応用できそう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2