Microsoft FormsとPower Automateを連携させようとしたとき、多くの人が最初につまずくのがここです。

使いたいフォームが、一覧に出てこない。

フォームIDを選ぼうとしても候補に表示されない、あるいは同じ名前のフォームが2つ並んでいて選べない——。実はこれらには公式に示された対処法があります。

この記事では、フォームIDが表示されないときの解決策を中心に、Forms連携でよく起こる不具合の原因と対処をまとめます。

フォームIDとは?

フォームIDは、どのフォームを使うかを指定するための識別番号です。Power Automateで「新しい応答が送信されるとき」というトリガーを使うと、対象のフォームを選ぶ欄が出てきます。ここで指定するのがフォームIDです。

通常はドロップダウンから選ぶだけですが、候補に出てこないことがあります。原因はいくつかあり、それぞれ対処が違います。

【解決策】URLからフォームIDを取得する

もっとも確実な方法です。公式ドキュメントには、はっきりこう書かれています。

正しいフォーム ID が見つからない
フォームに移動します。フォームの URL からフォーム ID をコピーし、カスタム値として追加します

つまり一覧から選べなくても、手動で入力すれば使えます。手順は次のとおりです。

  1. Microsoft Formsで対象のフォームを開く
  2. ブラウザのアドレスバーのURLを確認する
  3. URLの中にあるフォームIDの部分をコピーする
  4. Power AutomateのフォームID欄で「カスタム値の入力」を選ぶ
  5. コピーしたIDを貼り付ける

ポイントは「カスタム値の入力」という選択肢です。ドロップダウンの中に用意されており、これを選ぶと自由に値を入力できるようになります。一覧に頼らず直接指定できるため、表示されない問題を根本的に回避できます。

なぜ一覧に表示されないのか

原因は主に3つあります。

① 他の人が作ったフォームだから

公式は、この状況を明確に既知の問題として挙げています。

別のチームが作成したフォームは、フォーム ID のオプションとしてリストされません
フォームが Microsoft Forms の共有アイテム タブに一覧表示されているかどうかを確認します

自分が作成者でないフォームは、そのままでは候補に出ません。まずMicrosoft Formsの「共有アイテム」タブに表示されているかを確認してください。表示されていない場合は、作成者に共有を依頼する必要があります。

この場合も、共有されていればURLからIDを取得する方法が使えます。

② 作成者が退職している

見落としやすいのがこのケースです。公式も注意を促しています。

特に、チームのメンバーが会社を辞めた場合、フォームの所有権の譲渡も確認してください

作成者が退職すると、フォームへのアクセス自体が失われることがあります。所有権の譲渡という手続きが必要になるため、担当者が変わるときは事前の引き継ぎが重要です。

③ 読み込みが間に合っていない

フォームやファイルの数が多い環境では、一覧の読み込みが時間切れになることがあります。この場合も、カスタム値で直接入力すれば解決します。

また公式は、ブラウザの拡張機能が影響する可能性にも触れています。

Power Automate が使用する Cookie をブロックする可能性がある「Privacy Badger」などのブラウザ プラグインを一時的に無効にしてください

プライバシー保護系の拡張機能が動作を妨げることがあります。うまくいかないときは、一時的に切って試す価値があります。

同じ名前のフォームが2つ並ぶとき

「どちらが本物か分からない」という状態も、原因がはっきりしています。

フォーム ID リストには、削除済みでもごみ箱に残っているフォームが表示されます。Microsoft Forms で、不要になったフォームを削除してからごみ箱を空にしてください

過去に消したはずのフォームが候補に残っているわけです。ごみ箱を空にすると一覧が整理されます。

Forms連携でよくある他の不具合

フォームID以外にも、公式が挙げている既知の問題があります。原因を知らないと解決が難しいものばかりです。

症状原因対処
たまにしか動かない1行テキストに255文字を超える入力があった複数行テキストに変更する
添付ファイルが壊れるbase64()関数を使っているこの関数を使わない
フローが止まったフォームが移動・削除された同じ場所にあるか確認する
接続エラーが出る呼び出し回数の制限に達した実行頻度を見直す

とくに1つ目は原因が分かりにくい不具合です。「普段は動くのに、ときどき失敗する」という場合、回答者が長文を入力した可能性があります。自由記述欄を用意するときは、最初から複数行テキストにしておくと安全です。

呼び出し回数の制限

公式には具体的な数値も示されています。

Microsoft Forms コネクタの場合、60 秒以内に接続あたり 300 件の API 呼び出し、および 86,400 秒ごとに 1 つのトリガー ポーリングに制限されます

通常の業務利用で超えることは稀ですが、大量の回答が一度に集まる場面では意識しておくとよいでしょう。

メールが送られないときは

フォームの回答をメールで通知する構成はよく使われますが、ここにも落とし穴があります。公式の指摘です。

フローでメール コネクタを使用している場合は、代わりに Office 365 Outlook コネクタを使用してみてください。メール コネクタには、24 時間あたり 100 回の API 呼び出しの制限があります。Outlook コネクタには、60 秒あたり 300 回の API 呼び出し制限があります

1日100回という制限は、回答数が多いフォームでは現実的に到達します。同じ「メールを送る」でもどのコネクタを選ぶかで上限が大きく違うため、Outlookコネクタを使うほうが安全です。

メール送信の設定方法はOutlookで定型メールを自動送信する方法で解説しています。

よくある質問

Q. フォームIDはどこに書いてありますか?

フォームを開いたときのURLに含まれています。画面上に「フォームID」という表示があるわけではないため、アドレスバーを確認してください。

Q. カスタム値はどこから入力しますか?

フォームIDのドロップダウンを開くと、候補の中に「カスタム値の入力」という選択肢があります。これを選ぶと手入力できるようになります。

Q. グループで作ったフォームも使えますか?

使えますが、一覧に出ないことがあります。共有アイテムタブでの表示を確認したうえで、URLからIDを取得する方法をお試しください。

Q. 回答をExcelに自動で入れられますか?

できます。フォームの回答を取得し、Excelに行を追加する流れになります。詳しくはフォームの回答をExcelに自動転記する方法をご覧ください。

まとめ

  • フォームIDが出ないときはURLからコピーしてカスタム値で入力する
  • 他人が作ったフォームは一覧に出ない。共有アイテムタブを確認する
  • 作成者が退職している場合は所有権の譲渡が必要
  • 同名のフォームが並ぶのはごみ箱に残っているため。空にする
  • 1行テキストに255文字超が入るとフローが失敗する
  • メールはOutlookコネクタのほうが制限が緩い(1日100回 → 60秒300回)
  • うまくいかないときはブラウザ拡張機能も疑う

フォームIDの問題は、「一覧から選ぶ」という前提を捨てるだけで大半が解決します。URLから直接指定できることを知っておくと、詰まる時間が大きく減ります。

Power Automateの基本はPower Automateとは?できること・始め方で解説しています。

参考にした主な資料

ABOUT ME
IT解決チャンネル編集部
ExcelやWord、Windows、Googleスプレッドシートなど、ビジネスで使うITツールの使い方を初心者にもわかりやすく解説しています。関数の使い方から実務で役立つ応用テクニックまで、画像付きでていねいに紹介。パソコン操作で困ったときの頼れる情報源を目指しています。