Slackのコメントを自動(NoCode)でAirtableに追加する方法
こんにちは! 樺山@OCH です。
今回は、Zapier で Slack のコメントを自動で Airtable に追加する処理をつくってみたら、簡単すぎて驚いたので、その方法を記事にしました。
処理のイメージとしては、こんな感じ。
特定の Slack チャンネルにコメントが送信されたら、指定した Airtable にコメントの内容を自動で追加。
slack コメントを拾って、ToDo や依頼リストとしても使えそうだなぁと思ったので、どなたかの参考になれば嬉しいです。(ちなみに、プログラミングの知識は一切必要ありません。)
きっかけは、note の記事管理をどうにか楽にしたかった。。。
OCHリゾラボでは、1つのアカウントで複数人の著者がいます。
しかし、記事を投稿するのは編集のメンバーのみというルール。
私も編集のメンバーですが、下書きの記事が増えてくると note の記事管理画面では以下の問題が。。。><;
・編集メンバーで下書き Check 済の記事はどれか分かりづらい
・著者毎に、どのぐらいの記事が書かれているのか分からない
・下書きを含めて、全体の記事数はどのぐらいかパッと見えない
などなど。
どうにか楽に管理出来ないものか。と、Excel に記事のデータを登録していたのですが、都度 Excel 立ち上げて転記するのがめんどくさい。。(笑)
そんな中、最近社内でよく耳にしていた Airtable & Zapier なるものが使えるのでは? と思ったのがきっかけ。
やりたい事
とにかく、時間はかけずにサクッと楽にしたい私は、冒頭のイメージ図通り、以下の流れを想定。
Slack にコメントを送信するようにしたのは、常時開いているアプリの為。
1. note 管理画面で新たな記事や、変更された記事を発見:目視
↓
2. Slack で該当記事のタイトル、著者、日付をコメント送信する:手動
↓
3. Airtable に勝手に追加される:自動
最終的には 1. と 2. の処理も、自動化したいので、ここはまた別途。
やりたい事はだいたい決まったけど、そもそも Zapier & Airtable って?
なんとなくイメージはついてるけど、実際どういうものかはさっぱり。
(説明書読まずに触って覚えるタイプなもので。。。(笑))
とはいえ、概要程度は知ってた方がいいよな。と、ざっくり調べる事から Start !
Zapier & Airtable とは?
どちらもノーコード(NoCode)とよばれるサービスの 1つ。
ノーコード(NoCode) とは「プログラミングの知識がなくても簡単にアプリや Web サイトが作れる」サービス。
* Airtable とは
Excel とデータベースを MIX させたようなクラウド型の Web データベースサービス。
データベースはクラウドに保存され、ブラウザで動作。
iOS や Android のアプリもあるので、スマホからも操作が可能。
また、メールや SNS、Slack 等、他サービスとの連携も簡単。
* Zapier とは
複数のサービス/ツールを組み合わせて、自分だけの処理を簡単に作成できるサービス。IFTTT に似てる。
例えば今回ならば、Slack で受信したコメントの内容を、Airtable に自動でインポートする。といった処理が作成可能。
他にも、Instagram の写真を Twitter に自動的に共有したり、Gmail で特定のラベルがついたメールから、Trello カードを作成したり。
ちなみに、これらの処理を作成するのに、「コードは一切書かない」。
連携出来るサービス/ツールは 2000種類以上となり、Google/Amazon系、Slack、Twitter、Trello Dropbox 等々、増え続けていて、どう連携させようか色々試せるのもおもしろい。
「Zapier について」だけでも 1記事以上かけちゃいそうなので、説明はざっくりこの辺まで。
なお、Free Plan もあるのでお試ししてみたい方は以下 Zapier ページより。
Airtable & Zapier について、ザックリ把握したので、実際に作成してみる事に。
1. Airtable でデータをためるテーブルを作成
まずは、Airtable に note 記事のデータをためる場所を作成。
Base 名 →*note*
テーブル :とりあえず最低限必要そうなもの
・記事 → 記事のタイトル、著者、作成日等のデータ
・Name → 著者データ
・Status → 記事のステータス
・Tag → タグデータ
Name, Status, Tag はリレーション用で、実際にデータをためていくのは「記事」テーブル。
記事テーブルの各カラムはこんな感じ ↓
ちなみに、Excel 感覚で作ってたら、リレーションがめちゃくちゃ有能で感動っ。。! いや、ほんと、コレは凄い。。。
2. Zapier で Slack → AirTble を連携
[MAKE A ZAP] から Trigger と Action を選択するのみ!
めっちゃ簡単!
① Slack の投稿を取得
トリガー:「特定のチャンネルにメッセージが投稿されたら」
Zapier で以下を設定。
[Choose App & Event]
[Choose Account]
[Set up trigger]
[Test action]
TESTを実行し、意図した Slack から投稿されたメッセージが取得できているか確認
② 取得した投稿データをフィルターする
[Choose App & Event]
Choose App → Filter by Zapier
[Filter Setup & Testing]
③ 必要なデータのみに整形
「,」を区切り文字にして、データを切り出す。
[Choose App & Event]
Choose App → Formatter by Zapier
Action Event → Text
[Set up action]
Transform → Split Text
Values:Input → 1.Text
Separator → , (カンマ)
Segment Index → All (as Separete Fields)
[Test action]
TESTを実行し、区切り文字で分割できているか確認
④ AirTable にデータをimport
[Choose App & Event]
Choose App → Airtable
Action Event → Create Record
[Choose account]
Airtable account → Airtable
[Set up action]
Base → * note * を選択
Table → 記事 を選択
各カラム → ③ で整形したデータをそれぞれ割り当て
[Test action]
TESTを実行し、意図したとおりに Airtable にデータが追加されている事を確認
3. 完成
最終的に出来た zap はこんな感じ。
slack から何度かテストコメントを送信し、Airtable に自動追加される事を確認✨
注意
Zapier には task というものがあり、プラン毎に task の上限あり。
フリープランでは task の実行回数は 100回/月 まで。
task とは、Zap 内の Action が動作した回数。1 つの Zap 内に 2 つの Action がある場合、その Zap が実行されると task を 2 つ消費する。
今回作成した Zap は、3 つの Action なので、1回実行するごとに 3 task を消費します。
まとめ
こんなに簡単に作れるとは。。。。!! というのが正直な感想。
英語が得意ではないので、調べながら作ってみましたが、それでも AirTable のテーブル作成~Zapier Slack 連携までは数時間程度で作成が可能でした。
ちなみに、今回は試しで作成したので、さわりの部分だけ。
最終的には、note の記事管理画面に「何かしら」の変更が加わった場合、自動で変更を検知し、自動で Airtable に反映させたい。
要は、完全自動化に出来ないか、試行錯誤中。
なので、完全自動化出来次第、また記事にします。
それではまた(^^)/
著者: