0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【第3回】Copilot Studio × iPaaS の API連携手順

0
Posted at

◆本記事の位置づけ

【記載内容】
 ・Copilot Studio × iPaaS(HULFT Square)をREST APIで連携する設定手順

【取り組んだテーマ】
 ・Copilot Studioから外部ナレッジソースをRAGとして活用し、AIによる回答生成
  (Web検索やMicrosoft 365サービス以外のデータ活用)

 ※クラウドストレージのSandbox環境を用意し、ナレッジソースとしました。
 クラウドストレージ-iPaaS-Copilot Studio間は API連携でデータ取得しています。

<構成イメージ>
image.png

【この記事は、全6回のうち第3回】

【どんな課題を解決したいか?】
Copilot StudioのREST APIクライアント機能が用意する認証方法:
「APIキー」認証 及び「OAuth2.0」認証 以外の認証方式への、具体的な対応方法。

HULFT SquareのREST APIジョブ(Bearer認証)に対応したCopilot Studioの設定概要を記載していきます。
(中間にAWSサービスのAPI GatewayやLambdaを用意することで中継は可能ですが、
 直接API連携するための方法になります)


◆本編 : Copilot Studio から HULFT Square のAPIをコールする設定手順

Copilot Studio × HULFT Square API連携 実装ガイド

はじめに

本記事では、Copilot Studio(厳密には異なりますが、Power Automate フロー) から iPaaS である HULFT Square の REST APIジョブを呼び出す手順を紹介します。

PowerPoint 75ページ分の手順をギュッと凝縮しています。画面スクショは割愛し、設定値を中心に記載しているので、画面を見ながら進めれば詰まらないはずです!


全体像

フローは以下の9ステップで構成されています。

◆Copilot Studio エージェントフロー デザイナーの構成例

※最もシンプルな例


手順

1. Copilot Studio にログイン

Copilot Studio にログインし、新しいエージェント フローを開きます。


2. エージェントフロー(デザイナー)に遷移

エージェントの編集画面から エージェント フローのデザイナーに遷移します。


3. フローの作成

Step 1|エージェントがフローを呼び出したとき(トリガー設定)

検索欄で エージェント と入力し、「エージェントがフローを呼び出したとき」 を選択します。

入力パラメータの追加:

  1. 「+ 入力を追加する」 を押下
  2. 「テキスト」 を選択
  3. 以下のように設定
項目 設定値
キー requestText
バリュー 変更なし(デフォルト)

キー名は任意です。今回の例では requestText としています。
用途に応じて変更してください。


Step 2 & 3|変数を初期化する

トリガーの下にある 「+」ボタン を押下し、検索欄で 変数 と検索 → 「変数を初期化する」 を選択します。

変数 A(varAccessToken)

項目 設定値
名前 varAccessToken(任意)
タイプ 文字列
空白

変数 B(varRefreshToken)

もう一つ 「変数を初期化する」 を追加し、以下のように設定します。

項目 設定値
名前 varRefreshToken(任意)
タイプ 文字列
HULFT Square のリフレッシュトークンを貼り付け

リフレッシュトークンは HULFT Square の管理画面から取得してください。


Step 4|LoginAPI

アクションを追加し、検索欄で HTTP と検索 → 「HTTP」 を選択します。

項目 設定値
タイトル LoginAPI(任意)
URI https://app.square.hulft.com/v1/users/login
Method POST
Headers Content-Type: application/json

Body の設定:

"{\"email\":\"test@example.com\",\"password\":\"password123\"}"

Body は上記のようにエスケープした文字列形式で入力しないと、JSON 形式として設定されません。


Step 5|変数の設定 A(accessToken を格納)

「変数を設定」 アクションを追加し、以下のように設定します。

項目 設定値
名前 varAccessToken

値の 「Fx」 を押下し、以下の式を入力 → 「追加」 を押下します。

body('LoginAPI')?['accessToken']

LoginAPI のレスポンスから accessToken を取り出して変数に格納する処理です。


Step 6|アクセストークン取得

「HTTP」 アクションを追加し、以下のように設定します。

項目 設定値
タイトル AccessTokenAPI(任意)
URI https://app.square.hulft.com/v1/rest-api-token
Method PUT
Headers Content-Type: application/json
Headers Authorization: Bearer @{variables('varRefreshToken')}

Authorization ヘッダーの設定方法:

  1. Authorization のバリューに Bearer と入力し、半角スペース を入れる
  2. 入力欄の 稲妻マーク を押下
  3. ポップアップから varAccessToken を選択

次に、
Body の設定(Fx で入力):

concat(
  '{',
  '"refreshToken":"', variables('varRefreshToken'), '"',
  '}'
)

Fx を押下し、上記の式を入力 → 「追加」 を押下します。


Step 7|変数の設定 B(アクセストークン を更新)

「変数を設定」 アクションを追加し、以下のように設定します。

項目 設定値
名前 varAccessToken

値の 「Fx」 を押下し、以下の式を入力 → 「追加」 を押下します。

body('AccesstokenAPI')?['accessToken']

AccessTokenAPI のレスポンスから新しい accessToken を取り出して変数を上書きします。


Step 8|JobExecutionAPI(ジョブ実行API)の設定

「HTTP」 アクションを追加します。URI は HULFT Square の REST API ジョブに記載されているエンドポイントを設定してください。

XML レスポンスの場合

項目 設定値
タイトル JobExecutionAPI(任意)
URI HULFT Square の REST APIジョブ エンドポイント
Method 任意(REST APIジョブの設定に合わせて)
Headers Content-Type: application/xml
Headers Authorization: Bearer @{variables('varAccessToken')}

Body の設定(xml):

<request></request>

<request></request> の間にカーソルを置いた状態で 稲妻マーク を押下し、requestText を選択します。


JSON レスポンスの場合

項目 設定値
Headers Content-Type: application/json
Headers Authorization: Bearer @{variables('varAccessToken')}

Body の設定(json):

{
"request": ""
}

"" の間にカーソルを置いた状態で 稲妻マーク を押下し、requestText を選択します。


Step 9|エージェントに応答する

「エージェントに応答する」 アクションを追加して、フローを完成させます。

エージェント画面からテスト実行する際、出力の追加・設定が必要になります。
APIレスポンスで取得したテキストのjson項目を指定します。


4. 下書きを保存する

フローを公開する前に、必ず 「下書きを保存する」 を実施してください。


5. 概要の作成

  1. デザイナータブ → 概要タブ に遷移
  2. 「編集」ボタン を押下
  3. 右側の詳細画面で以下を入力 → 「保存」 を押下
項目 設定値
フロー名 任意
説明 任意

6. フローをオンにする

「オンにする」ボタン を押下します。

「オンにする」ボタンが非活性の場合は、先に 「公開する」 を押下してください。
ボタンが「オフにする」に変わればOKです。


7. 公開

  1. デザイナータブ に戻る
  2. 右上の 「公開」ボタン を押下

8. デバッグ

  1. 「テスト」 を押下
  2. 「手動」 を選択 → 「テスト」 を押下
  3. 使用する API に必要な値を入力して実行

フローが正常に動作すれば完了です🎉

「活動」タブから、実行結果の履歴が確認できます。
 →エラー箇所と原因の調査が可能です。便利!


まとめ

「認証 → トークン取得 → 実行」 の3段階を意識するとフロー全体が整理しやすいです。

フェーズ ステップ 内容
準備 1〜3 トリガー設定・変数初期化
認証 4〜7 Login → AccessToken 取得
実行 8〜9 ジョブ実行・エージェント応答

今回は標準外の認証方式でのシステム間をつなぐAPI手順をお届けしました。
次回(第4回)では、 iPaaS × Box の組み合わせで権限制御を意識したデータ探索です。

本記事をご覧いただき、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?