Power AutomateでHTTPリクエストを使って外部APIと連携する方法

Power AutomateのHTTPアクションを使うと、Microsoft以外のサービスともデータをやり取りできます。コネクタが用意されていない外部サービスへの連携や、社内システムのAPIを叩く場面で活躍します。

HTTPアクションとは

HTTPアクションは、任意のURLに対してHTTPリクエストを送るアクションです。GET・POST・PUT・DELETEなどのメソッドを選び、URLとヘッダー、必要であればリクエストボディを設定するだけで使えます。簡単にいえば、ブラウザのかわりにPower Automateがページを取りに行ったり、フォームを送信したりするような動作です。

Microsoft 365のサービスはすでに専用コネクタがあるため、通常はHTTPアクションを使う必要はありません。HTTPアクションが必要になるのは、専用コネクタが存在しない社内の基幹システムや、外部のWeb APIと連携したいときです。

基本的な設定項目

設定項目内容
メソッドリクエストの種類GET(取得)、POST(送信)、PUT(更新)
URIリクエスト先のURLhttps://api.example.com/items
ヘッダー認証情報やコンテンツタイプAuthorization: Bearer トークン
本文POSTやPUT時に送るデータJSON形式のデータ
認証APIの認証方式なし、基本認証、Active Directory OAuth等

設定の中で最も重要なのがヘッダーと認証の部分です。多くのAPIはAPIキーやBearerトークンを要求するため、APIのドキュメントを確認して正しい形式で設定する必要があります。

レスポンスを使うにはParse JSONとセット

HTTPアクションが返すレスポンス本文はJSON文字列です。そのままでは後続のアクションで個別の値を取り出せないため、JSON の解析(Parse JSON)アクションと組み合わせて使います。HTTPのレスポンス本文をJSON の解析(Parse JSON)に渡し、スキーマを定義することで、各フィールドが動的コンテンツとして使えるようになります。

JSON の解析(Parse JSON)の記事で詳しく解説しています。

実務でよく使うパターン

パターン① 社内APIとの連携

社内の基幹システムがREST APIを提供している場合、HTTPアクションで呼び出せます。たとえば、SharePointに入力されたデータを基幹システムのAPIを通じて登録するフローが作れます。認証方式は社内のIT部門に確認しておくと確実です。

パターン② チャットボットやAI APIとの連携

OpenAI APIやGoogle APIなど、Microsoftのコネクタが存在しない外部AIサービスを呼び出すときにHTTPアクションを使います。個人的には、社内の問い合わせ対応フローにChatGPT APIを組み込むときに初めてHTTPアクションを使いました。動いたときは感動しました。

パターン③ Webhookでの外部サービス通知

Slack、Chatwork、LINE Works など、Microsoft Teams以外のチャットツールに通知を送りたいときも使えます。各サービスのWebhook URLにHTTP POSTでメッセージを送信する形です。

エラーへの備え

HTTPアクションは外部のサービスに依存するため、ネットワーク障害やAPIの一時停止によってエラーになることがあります。重要なフローであれば、エラー発生時の通知や再試行ロジックをあわせて実装しておくことをおすすめします。

再試行ロジックはDo Untilアクションと組み合わせることで実装できます(Do Untilの記事参照)。エラーハンドリング全般についてはScopeとRunAfterの記事も参考にしてください。

ライセンスの注意

HTTPアクションはPower Automateの「プレミアムコネクタ」に分類されます。Microsoft 365の標準ライセンスには含まれていないため、使用するにはPower Automateのプレミアムライセンスが必要です。利用前にライセンス状況を確認しておきましょう。社内でライセンス管理者に相談するのが確実です。

まとめ

HTTPアクションはPower Automateの中でも応用度の高いアクションですが、使えるようになると連携できるサービスの幅が一気に広がります。専用コネクタがない外部サービスへのアクセスが必要になったとき、まずHTTPアクションで実現できないか検討してみてください。APIドキュメントを読むのに最初は戸惑いますが、一度動かせると次から応用できます。

Xでフォローしよう