Runbookは標準機能でkintoneやEメールにワークフローのデータを送信することができますが、Webhookを使うと、それ以外にもさまざまなクラウドサービスやAIなどと連携することができるようになります。今回はMakeを使って、Runbookからの申請データをGoogleスプレッドシートに送信する方法について紹介してみたいと思います。
Makeは、さまざまなアプリやクラウドサービスを連携させて、業務の自動化を行うことができる、iPaaSと呼ばれる種類のWebサービスです。Makeを使うと、アプリやクラウドサービス間のデータ連携をノーコードで実現することができます。無料と有料のプランがあり、無料プランだと作成できる連携シナリオはふたつまでという制限があります
今回はシンプルなお問い合わせフォームを作って、お問い合わせの内容をGoogleスプレッドシートに送信してみることにします。もちろん、各種申請や申込みなど、複雑なワークフローを利用することも可能です。
こちらの記事を参考にして、お問い合わせフォームのワークフローを作成します。メール送信アクションの設定は、今回は省略してください。
お問い合わせフォームが作成できました。
Googleドライブを開いて、任意のフォルダに新しいスプレッドシートを作成します。一行目には「作成日時」と、それぞれRunbookで作成したパラメーターの名前を入力しておきます。厳密に同じでなくても構いません。
続いて、Makeにアクセスして「Scenarios」を開きます。まだ何も作成していないのでシナリオはありません。「Create a new scenario」をクリックして新しいシナリオを追加します。
「+」をクリックすると、どのアプリと連携するかと聞かれるので、「Webhooks」を選択します。続いて、「Custom webhook」を選択します。
続いて、「Create a webhook」をクリックします。
「Webhook name」には「お問い合わせフォーム」と入力します。IP restrictionsはいったん空白にしておいてください。IPアドレスで制限したい場合は、RunbookのWebhookの送信元IPアドレスを設定します。
「Save」をクリックすると、Webhookの通知URLが生成され、待機状態になります。「Copy address to clipboard」をクリックして、通知URLをコピーしておきます。
次にRunbook側でWebhookの設定を行います。ブック(ワークフロー)の設定画面を開いて「アクション」から、Webhookアクションを追加します。
名称を「make連携」とし、URLに先ほど取得したMakeの通知URLを設定します。実行するタイミングは、プロセスの完了時とします。プロセスが進行する任意のタイミングでデータを送信することもできます。
Webhookアクションを保存します。
ここまでできたら、実際にワークフローを実行して、Webhookが送信されるか確認してみましょう。お問い合わせフォームを開いて、情報を入力します。
「送信する」をクリックすると、Make側で待機していた画面が、「Successfully determined」に変わりました。
「OK」をクリックしてWebhook設定を保存します。画面下の「Save」をクリックしていったんシナリオを保存してから、左メニューから「Webhooks」をクリックします。
「お問い合わせフォーム」をクリックして、「LOGS」>「Detail」の順にクリックします。
「Body」の欄に、さきほどRunbookから送信されたWebhookの内容が表示されます。ここで、各プロパティに割り当てられたIDを確認することができます。この画面は開いたままにしておくか、エディターなどに保存しておいてください。
プロパティのIDが確認できたら、シナリオの編集画面に戻ります。「+」をクリックして、新しい連携アプリを追加します。検索欄にgoogleと入力すると候補が表示されるので、Google Sheetsの「Add a row(行の追加)」を選択します。
Googleアカウントと連携してよいか聞かれるので、アクセスを許可します。
Spredsheet IDの入力欄をクリックして、あらかじめ作成していたスプレッドシートを選択します。
スプレッドシートの列に、各プロパティの値をクリックして割り当てていきます。
割り当てた値はこのようになりました。
| 項目 | 値 |
|---|---|
| 作成日時 | {{1.created_at}} |
| 会社名 | {{1.properties.`<会社名のID>`.value}} |
| お名前 | {{1.properties.`<お名前のID>`.value}} |
| メールアドレス | {{1.properties.`<メールアドレスのID>`.value}} |
| お問い合わせの種類 | {{1.properties.`<お問い合わせの種類のID>`.value}} |
| お問い合わせの内容 | {{1.properties.`<お問い合わせの内容のID>`.value}} |
保存したら、「Immediately as data arrives」のチェックをオンにします。
さて、いよいよ準備ができたので、再度フォームからお問い合わせを送信してみます。
おお!! スプレットシートにレコードが登録されましたね!
無事連携できているようです。Makeのログも、「Success」になっていますね!
今回はGoogleスプレッドシートに送信してみましたが、MakeはさまざまなアプリやWebサービスに対応しているので、ノーコードでそれらすべてと連携することができます。Makeはチェコに本社がある会社なので、特に欧米のサービスとの連携が充実している印象です。SlackやSalesforceなど、海外のサービスを主に利用している企業では使い勝手がよいのではないでしょうか。
こちらも合わせてご覧いただけます。