見出し画像

Slackのコメントを自動(NoCode)でAirtableに追加する方法

こんにちは! 樺山@OCH です。
今回は、Zapier で Slack のコメントを自動で Airtable に追加する処理をつくってみたら、簡単すぎて驚いたので、その方法を記事にしました。

処理のイメージとしては、こんな感じ。

画像1

特定の 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 はリレーション用で、実際にデータをためていくのは「記事」テーブル。
記事テーブルの各カラムはこんな感じ ↓

画像2

ちなみに、Excel 感覚で作ってたら、リレーションがめちゃくちゃ有能で感動っ。。! いや、ほんと、コレは凄い。。。

2. Zapier で Slack → AirTble を連携

[MAKE A ZAP] から Trigger と Action を選択するのみ!
めっちゃ簡単!

① Slack の投稿を取得
トリガー:「特定のチャンネルにメッセージが投稿されたら」

Zapier で以下を設定。

[Choose App & Event]

画像3


[Choose Account]

画像4


[Set up trigger]

画像5

[Test action]
 TESTを実行し、意図した Slack から投稿されたメッセージが取得できているか確認

② 取得した投稿データをフィルターする

[Choose App & Event]
 Choose App → Filter by Zapier 

画像6

[Filter Setup & Testing]

画像7

③ 必要なデータのみに整形

「,」を区切り文字にして、データを切り出す。

[Choose App & Event]
 Choose App → Formatter by Zapier
 Action Event → Text

画像8



[Set up action]
 Transform → Split Text
 Values:Input → 1.Text
 Separator → , (カンマ)
 Segment Index → All (as Separete Fields)

画像9

[Test action]
 TESTを実行し、区切り文字で分割できているか確認


④ AirTable にデータをimport

[Choose App & Event]
 Choose App → Airtable
 Action Event → Create Record

画像10


[Choose account]
 Airtable account → Airtable

画像11



[Set up action]  
 Base → * note * を選択
 Table → 記事 を選択
 各カラム → ③ で整形したデータをそれぞれ割り当て

画像12


[Test action]
 TESTを実行し、意図したとおりに Airtable にデータが追加されている事を確認

3. 完成

最終的に出来た zap はこんな感じ。

画像13

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 に反映させたい。
要は、完全自動化に出来ないか、試行錯誤中。

なので、完全自動化出来次第、また記事にします。
それではまた(^^)/


著者: