💼

Slackワークフローで問い合わせを受け付けてGoogleDriveの共有ドライブに書き込む 〜Zapierを添えて〜

2023/04/24に公開

はじめに

SlackワークフローからGoogleDriveの共有ドライブに格納されたスプレッドシートにデータを書き込みたい場合、2つの方法があります。
1つは Slackワークフローから Add a spreadsheet row を選択する方法ですが、この場合現時点では書き込み先にはマイドライブしか選択ができません。そのため、後続処理として共有ドライブへの複製や移動などを別途用意する必要があります。
もう一つの方法はZapierを経由する方法で、この場合にはSlackワークフロー上から(Zapierを経由するものの)直接共有ドライブを選択して書き込むことができます。
以下にその流れをまとめています。

前提

  • Slackの有料プランが利用可能であり、Zapierへのコネクションが設定済み
  • Zapierが利用可能であり、Googleへのコネクションが設定済み

手順

サンプルとして、Slackワークフローで問い合わせフォームを表示し、入力内容を日付と一緒にスプレッドシートに蓄積する流れを設定していきます。

  1. Slackのワークフロービルダーを作成します。トリガーは任意のものを設定し、フォームには以下のように設定します。
  2. 共有ドライブにはデータを蓄積するためのファイルを作成し、内容日付という列を作成します。
  3. 続いて ステップを追加 から More Steps by Zapier を追加します。
  4. Spreadsheetsの右下の See apps をクリックします。
  5. Google Sheets の右側の Select をクリックします。
  6. ここでスプレッドシートに対する操作を選択できますが、今回は既存のシートへデータを追記したいので Create Spreadsheet Row を選択します。
  7. 使用するZapierアカウントを選択し、Zapier上に設定済みのGoogle Spreadsheetへのコネクションを選択します。まだ接続がない場合は Add New Connectionで接続を作成してください。
  8. 接続できると、SpreadsheetのIDの入力を求められます。IDはブラウザでSpreadSheetを開いて表示されるURLの https://docs.google.com/spreadsheets/d/[ID]/[ID] の部分です。これをコピーして貼り付けます。
  9. ID指定が正しければWorksheetでSpreadSheetが持っているシートが検索できます。
  10. 内容と日付がデフォルトで表示されるので、それぞれ以下のように変数を指定し、Test を実行します。
  11. テストが問題なければ 保存する ボタンがクリックできるようになります。保存してワークフローを公開します。
  12. 公開したワークフローを実行して、共有ドライブのスプレッドシートにデータが書き込まれればOKです。
  13. ちなみに使用したZapierアカウントの直下には以下のようにSlackワークフローによって新たにZapが作成されていて、履歴などを確認することができます。ただし、Zapierからは処理内容に変更はできないため、その場合はSlackワークフロービルダーから実施します。

まとめ

以上、Slackワークフローから共有ドライブへZapier経由でデータを書き込む手順の紹介でした。
Zapierを経由するものの、実際にはSlackワークフロー上での操作のみで完結できるため、構成をシンプルに保つことができます。

なお、こちらの手順は実は "Slackワークフロー経由で作成したZapが自動的にゴミ箱(Trash)に入ってしまう"という以下のバグのために、最近までは最後に追加の手順が必要でしたが、現在はこのバグは解消されており、スムーズに設定することができるようになっています。ご参考まで!

https://community.zapier.com/troubleshooting-99/slack-connection-error-try-recreating-the-workflow-step-16090?postid=91524#post91524

Discussion