メールの自動振り分けを作ろうとして、こういう流れで詰まりました。
ワークフローのJSON設定を作ってもらい、ツールに貼り付けたら「プロパティオプションが見つかりませんでした」というエラーが出た。JSONを修正して貼り直す。また別のエラー。また修正。何度か直してやっと取り込めた。「よし、ここから動作確認」と思ったら今度はGoogle認証でエラー。スコープの設定をしろと言われるが、その設定画面がどこにあるか分からない。
こういう積み重ねで時間が溶けていきます。しかも止まったときに「何が悪いのか」が分かりにくい。
最初の壁: JSON取り込みエラー
最初のエラー「プロパティオプションが見つかりませんでした」は、ツールのバージョンとJSONのフォーマットが合っていないことが原因でした。自動化ツールは頻繁にアップデートされるので、ちょっと前の設定ファイルを持ってきただけで形式が合わなくなることがある。
このとき私が最初にやってしまったのは、JSONを細かく読んで「どこが壊れているか」を探し始めること。どのパラメータが問題なのかは、結局最後まで見ても分かりませんでした。
正解は「最小構成から始める」でした。全機能を入れたフローではなく、「トリガー→通知」だけに削って動かす。そこが通ったら機能を一つ足す。これで原因の所在が絞れます。
一括で動かそうとすると、止まったときに手がかりが何もなくなります。
認証エラーの発生場所
JSONが取り込めても、次は認証で止まります。これが本題です。
Google連携の場合、必要なのは「APIキーを取得してツールに貼る」だけではありません。Google側でOAuth同意画面の設定が必要で、そこでアプリの公開ステータスを「テスト」にしてテストユーザーに自分のアカウントを追加するという手順があります。これをやらないと、ツール側で正しく設定しても「アクセス拒否」で弾かれます。
私はこの手順を知らなかったので、ツール側の認証設定を何度も見直して時間を使いました。問題はツールの中ではなく、Google Cloudのコンソールという別の場所にあったわけです。
スコープ設定という罠
もう一つ詰まったのが、APIのスコープ(どの権限を許可するか)の設定です。
メール送受信とカレンダー操作を自動化しようとすると、それぞれ別のスコープを明示的に追加する必要があります。「GmailのAPIを有効化した」だけでは足りない。「何ができる権限を与えるか」を個別に指定しないと、権限不足で止まります。
しかも、このスコープの設定をどこでやるかが分かりにくい。OAuth同意画面の設定フローの中に「スコープを追加または削除」という画面があるのですが、たどり着くまでにいくつかの画面を経由します。
エラーメッセージが「権限がありません」と出ても、それがどこの権限でどこで設定するのかが書いていない。だから詰まるわけです。
設計で防げること
こういう経験をしてから、自動化を組むときに先にやることを変えました。
フロー全体を設計する前に、必要な外部サービスとの接続を全部通しておく。Googleならその認証、スラックならボットのトークン、カレンダーならAPIの有効化。ここが全部通った状態で、初めてフローを組み始めます。
理由は単純で、接続が通るまでフローが動かないからです。フローをどんなに丁寧に作っても、認証が通っていなければ最初のステップで止まります。接続確認を後回しにすると、問題の切り分けが格段に難しくなります。
段階的に確認するのも大事です。「まず一通テストメールが届くか」「届いたら分類できるか」「分類できたら自動返信できるか」と一手ずつ通す。これが遠回りに見えて、実際には一番速い。
止まったときの切り分け順番
自動化が途中で止まったとき、確認する順番はこうです。
まずツールの外、つまり連携先サービス側の設定。API有効化、スコープ設定、テストユーザーの追加、リダイレクトURIの一致。ここが整っていないと、ツール側がどんなに正しくても動かない。
次にツール内の接続設定。認証情報が正しく登録されているか、保存できているか。
その次にフローの中身、という順番です。
多くの場合、詰まっているのは最初の「ツールの外」です。ここを後回しにして中を何度見ても時間が消えるだけ。順番を変えるだけで、無駄な切り分けの時間がぐっと減ります。
