Zapierを使ったプロセス自動化のチャレンジ‐vol.1

このブログでは、ビジネスオペレーションチーム(非エンジニア職)の筆者が、自動化ツールZapierとZapierのAI機能『Copilot(Beta)』を使ってGoogleスプレッドシートのファイル作成の自動化にチャレンジする様子を、2回に分けてご紹介しています。
CLでは、毎週HubSpotのワークフローで、あらかじめ指定したGoogleスプレッドシートにエクスポートされるフォーキャスト情報の静的レポートを財務部門に共有しています。この業務では、HubSpotのワークフローの出力先のスプレッドシートから静的レポートを作成するプロセスが自動化されていませんでした。
自動化したいプロセスを整理する
Zapierでは一連の自動化を「Zap」、1つ1つのアクションを「ステップ」と呼んでいます。まずは、Zapの各ステップのイメージを考えてみました、そしてイメージをCopilotに伝えてZapを組んでいこうという作戦です。
- 毎週決まった曜日の決まった時間をトリガーにする
- HubSpotのデータ出力先のスプレッドシートからデータを取得
- 新規に作成したスプレッドシートに「2」のデータをコピー
- 「3」で作成されたスプレッドシートを、財務が指定する格納先に保存
- 作業が完了したことをSlackまたはメールで通知する
ここで少しHubSpotの説明をします。HubSpotのワークフローでGoogleスプレッドシートと連携する方法には「Googleスプレッドシート上のデータを更新」と「Googleスプレッドシートの行を作成」の2つがあります。

以前は「Googleスプレッドシート上のデータを更新」の場合、既存データの更新のみを実施し新しいデータが入ってきても無視されたので、CLでは「Googleスプレッドシートの行を作成」を採用し、あらかじめ作成したスプレッドシートに毎回新しいデータとして出力させていました。出力させたデータを元に静的レポートを別ファイルで保存し、保存後データ出力先のスプレッドシートは空の状態に戻す、という運用をしていました。
現在は「Googleスプレッドシート上のデータを更新」にしても「一致するデータがない場合には新しい行を作成する」というオプションがあるので、今回HubSpotのワークフロー設定も変更しました。
「思い込み」という名の落とし穴
Zapierには『Copilot(Beta)』のAIサポート機能が搭載されているので、先ほどのプロセスをCopilotに伝えました。すると「スプレッドシートが更新されたら、そのファイルのコピーを作成する」という提案をして、ステップを3つ紹介してくれましたので、さっそくこの内容でそれぞれのステップを設定して行くことにしました。
ところが、スケジュールした時間にZapは動作したもののスプレッドシートの内部が更新された数だけファイルが作成されていました。再度Copilotに「スプレッドシートが更新されたらファイルに複数の更新が加えられていたとしても1つだけファイルのコピーを作成する」と指示してみました。
今回は「(Advanced)」と括弧がついているステップを提案してきました。「Zapier初心者だけれど「Advanced」なんて大丈夫かな?」と思いつつ、提案に沿って使ってみました。思い返すと、このあたりでワタシはCopilotは自分より優秀に違いないと勝手に勘違いしていたようです。彼らはAIは自分よりも優秀に違いないと勝手に思い込み、その気になって提案された内容を疑わずにテストを繰り返しましたが、結果は何も起こらず、組んだZapは想定通りに動作しませんでした。
なぜだろう。。。狭い部屋を歩き回ったり紙に手順を書き出したり、イメージを落書きしたりして考えを整理して、再度ステップを組んでみます。
そのうち、これはもしかすると人間が自然にやる一挙手一投足をくまなくステップで指示する必要があるのではないかという考えに至りました。そこで、今度は対象となるファイルやドライブを特定する「Find Drive」、「Find File」などをステップに追加してみました。しかしそれでも空のファイルが作成されるばかりで思うような結果になりません。
設定画面をよく見ると、「Create Spreadsheet」の中にもデータのコピー元を設定する項目があります。何か設定内容が重複してそれが邪魔をしているのではないか?と考え、Copilotの指示に従って設定したが失敗したことと、ステップが重複しているのではないかということを告げてみました。すると「その設定は必要ない可能性もある」などと、こちらが何をしたいのかによって要不要が決まるというような回答を何度も繰り返し始めました。
これは会話がうまくいっていないに違いない。自分がやりたいことをうまく表現できていないか、Copilotの回答をうまく受け取れていないのではないか?!
足元を見直せ!
仕方がないのでこれまでの設定を削除して、1から作りなおすことにしました。面倒なことを楽にするための面倒は面倒ではないタイプなので、繰り返し作業を続けていきます。
まず、「毎週xx曜日のxx時」を素直にトリガーにして、次にSpreadsheetを作成する。このステップで中身のデータをコピーしてくるファイルを設定できるのでシンプルに同じステップ内でコピー元を設定する。最後にファイルが作成されたことをメールで通知する。
ここまで設定してから動作テストをしてみました。個別のステップのテストではファイルが作成されたりメールが送信されたりしているので、すべてのステップを通して動けば成功のはずです。ところが、時間になっても何も起きないし、エラーも出ません。
はて?
そこで初めてZapierのアカウント設定に考えが及びました。確認すると案の定、時間に関する設定がまったくされていませんでした。慌ててアカウントで使うタイムゾーンを「GMT+9 ASIA, Tokyo」と設定してもう一度テストを実行、ようやく「Schedule by Zapier」が希望通りに動作することを確認できました。しかし、それでも作成されたファイルにはデータがありません。
仕方がないので、別のステップでコピーすることを指定してはいるけれど、それとは別にコピーするステップを追加してみよう、ということにしてその日の作業はここまでにしました。
つづく
※このブログでは、BizOps担当者がデータドリブンなビジネス活動実現に向けた奮闘を記しています。