先日の Play (No) Codes! #1 のイベント中に、IFTTTのようなクラウドサービスをノーコードで繋ぐ integromat を 参加者の Nakanishiさんから教えてもらったのですが、長いこと悩んでいた Slackの投稿をkintoneに登録 することがサクッと出来たので、こちらで紹介します。
準備
- integromat アカウント作成
- kintone アカウント作成
- Slack アカウント作成
Slackのチャンネル作成
Slackにチャンネルを作成しておきます。
今あるチャンネルでも良いですし、新規に作っても良いです。
今回は以前作成した、to_kintoneチャンネルを使います。to_kintoneチャンネルに新規で投稿があったらその内容をkintoneに登録していきます。
kintoneで登録用のアプリ作成
Slackの投稿をそのまま登録するだけのアプリにしました。
- フィールド名:登録日時/フィールドタイプ:日時/フィールドコード:datetime
- フィールド名:comment/フィールドタイプ:文字列(複数行)/フィールドコード:comment
integromatでシナリオ作成
integromatでシナリオを作成していきます。テンプレートは使わずに一から作っていきます。
Slackの設定
[Create new scenario]を押下して、Slackを選択します。
Slackの新規投稿をトリガーにしたいので、[New Message]を選択します。
Slackメッセージの取得には、Webhookを使います。
Webhookで[Add]ボタンを押下して、[Add a hook]ダイアログで
・name → なんでもOK
・Event type → New channnel message
・Connection → Add を選んで SlackのOAuth認証で認証してください
・Channel → OAuth認証が通るとSlackのチャンネルが選択できるようになるので、今回は to_kintone を選択
最後に Saveボタン を押下します。
kintoneに登録するモジュールの設定
kintoneに登録するには [HTTP]モジュールを使います。REST API を使っている方ならなんとなく分かると思います。少し設定が複雑ですが落ち着いていきましょう。
モジュール追加は先ほど作ったSlackの左にカーソルを当てるとプラスマークの Add another module が表示されるので、それを押下します。
ConnectionでAdd
[cybozu developer network]のOAuthクライアントの使用を参考に設定します。
Request content の箇所はお馴染みの kintoneのレコード登録APIです。
実行
とりあえず Run once で1回だけ実行します。
参考
- kintone REST APIの共通仕様 https://developer.cybozu.io/hc/ja/articles/201941754
- レコードの登録(POST) https://developer.cybozu.io/hc/ja/articles/202166160
- OAuthクライアントの使用 https://developer.cybozu.io/hc/ja/articles/360015955171
- How to connect Integromat to any web service that uses OAuth2 authorization
- OAuth 2.0を使ってcybozu.comのREST APIをPostmanで叩く方法