
【Part3 バックエンド編-1】お問い合わせ管理システムを作りながら学ぶゼロワン講座
こんにちは!ゼロワンエヴァンジェリストの田中です!
今回はPart3ということで、いよいよAirtableとSlackの連携としていきます!
ということで、始めていきましょう!
Step1:バックエンドワークフローにてNodeを配置
Step1では最終的にこのようになっていればOKです!

まず、最初にバックエンドワークフロータブをクリックし、バックエンドワークフローの画面に切り替えます。
すると、このような画面が出てきますので、右の"+" ボタンからNodeを追加していきます。

<今回設置するNode>
1:ZeroOne Trigger Node
2:Set Node
3:Airtable Node
4:Slack Node




Step2:AirtableのAPI連携
それでは早速Airtableの設定に入っていきます。
Airtable Nodeをダブルクリックすることで詳細を見ることができます。
上から順に設定していきましょう!

2-1:Airtable APIの設定
1.まず最初にAirtableのアカウントを作成しましょう。
2.ログインできたら、右上から"アカウント"を選択。

3."Generate API key"を押し、生成されたkeyをコピー。

4.ゼロワンに戻り、Airtable APIをクリックすると以下の画面が出てくるので、3でコピーしたkeyを"APIキー"欄に入力し、保存。
『認証が作成されました』と表示されればOKです!

5.次に"操作"の設定ですが、今回はデータを追加したいので、”追加”を選択します。

6.次に”ベースID”を設定します。ここでどのWorkspaceにデータを追加するのか?を設定することができます。ベースIDはREST APIから取得できます。
追加したいWorkspaceを選択してください。

7.すると、こちらの画面に遷移しますので、IDをコピーし、”ベースID”欄にペーストしてください。

8.次に、”テーブル”を設定します。ここでベースIDで指定したWorkspaceのどのテーブルにデータを追加するかを指定することができますので、テーブル名を設定してください。今回は”Table 1”と設定しておきます。
これでNodeの実行確認をし、正常に動作したら、Aritable Nodeの設定は完了です!次にSlack Nodeの設定に移っていきます!
Step3:SlackのAPI連携
1:認証方法を指定する。OAuth2とアクセストークンがありますが、
今回はアクセストークンを使用することにします。
2:そうすると上の「Slack API」の中にアクセストークンの入力欄が出現するので、まだアクセストークンの発行が出来ていないので、SlackAPIからを開く。
3:「Create an app」をクリックする。

4:そして、2種類の作成方法が出てくるので「From scratch」を選択。

5:App名とどのRoomにメッセージを送るかを設定し、「Create App」をクリック。設定した名前のBotが実際にSlackでメッセージを送信します。RoomはあらかじめSlackに作成しておいたRoomに設定しました。

6:次に「Add features and functionality」の中の「Permission」をクリックします。

7:「Scopes」の「Bot Token Scopes」を下記のように設定。
これは実際に作成したAppにどのような動作をしてほしいか?を設定する場所になります。今回はメッセージを送信してほしいので、「chat:write」を選択してください。

8:次に画像下部の「Install Workspace」をクリックします。
すると、作成したAppがSlackのRoomにアクセスする権限をリクエストするページに遷移しますので「許可する」をクリックしてください。

9:すると、先ほどのボタン上にアクセストークンが発行されました。

10:ゼロワンに戻り、下記入力欄にコピー&ペーストし「保存」を押すと、認証完了になります。

11:項目・操作に関しては「メッセージ」「投稿」を選択してください。
またチャンネル名に関しては、Room内のどのチャンネルに送信したいか?を指定できるので、今回はあらかじめ用意した「api-test」というチャンネルを指定します。

12:テキストでは、送信するメッセージの内容を指定することができます。ここは静的なテキストを設定することもできますが、今回はゼロワンから入力した値を送信したいので、動的にします。
歯車マークをクリックすると下記のような画面に遷移しますので、表示をそのままパクってください。
…と、やろうとした方、おそらく「出力データ」が表示されていないと思います。これはAirtable Nodeからデータが来てないからです。
で、そのAirtable Nodeにデータを渡すSet Nodeも未設定ですので、Slack Nodeには現状何も来ていない状況になっています。
なので、先にSet Nodeを設定したいのですが、試験的に静的な値を入力してみます。のちに動的な値に変えますので、ご安心ください。

Step4:Set Node(静的な値)の設定
1:値を追加をクリックし、「文字列」を選択。
2:次に、名前と値を入力するのですが、注意点。
名前は格納したいAirtableのフィールド名と対応させてください。
これをしないと正常にデータの受け渡しが行われません。値は現時点では、なんでもいいです。笑


ななんと、Set Nodeはこちらで設定完了です。
そして、最後にSlackのテキストを設定して今回は終わりましょう!
以下のようにNodeを接続し、Slack Nodeを停止してから、Airtable Nodeを実行してください。
すると、Set NodeからデータがAirtable Nodeに受け渡され、Slack Nodeに受け渡す準備が完了します。

そして、先ほどのテキスト画面に戻ると「Airtable」の下に「出力データ」が表示され、その中にSet Nodeから受け渡されたデータがAirtable Nodeに格納されているので、そちらを選択してください。「担当者:」「企業名:」「お問い合わ内容:」も静的な値で入力しておいてください。

ということで、今回はここで終わっておきたいと思います。
次回、ZeroOne Triggerの設定と、Set Nodeを動的に設定、UI上のワークフローを構築し、今回のゼロワン講座を終了したいと思います。
あと少しですので、一緒に頑張りましょう!!
ゼロワンフォーラム:https://www.forum.thezeroone.io/
ゼロワンのHP:https://www.zeroone.today/
こんにちは!ゼロワンエバンジェリストの田中です! 今回は、お問い合わせ管理システムを作りながら学ぶゼロワン講座のPart3ということで、バックエンドワークフローについて説明してみました!初学者でもわかりやすい内容になっていると思うので、是非私と一緒に手を動かして見てください! わからないことがあれば、フォーラム等でご質問ください。