TeamsでChatGPTを利用する方法(Power Automate)
Power Automate(クラウドフロー)を利用して、TeamsのチャットにChatGPTに返信させる方法を紹介します。


手順
事前にChatGPTのAPIキー(シークレットキー)を取得しておきます。
そして「自動化したクラウドフロー」を「チャネルに新しいメッセージが追加されたとき」トリガーで作成します。
トリガーには、ChatGPTに返信を行わせたいチームとチャネルを設定します。


「組み込み」、「変数」の中にある「変数を初期化する」アクションを設置します。




名前に「APY_KEY」、種類に「文字列」、「値」にAPIキーを指定します。


「組み込み」、「HTTP」の中にある「HTTP」アクションを設定します。




次のように設定します。
| 項目 | 値 |
|---|---|
| 方法 | POST |
| URL | https://api.openai.com/v1/completions |
| ヘッダー 1行目 左 | Content-Type |
| ヘッダー 1行目 右 | application/json |
| ヘッダー 2行目 左 | Authorization |
| ヘッダー 2行目 右 | Bearer @{variables('APY_KEY')} |
| 本文 | { "model": "text-davinci-003", "prompt": @{triggerOutputs()?['body/body/content']}, "max_tokens": 2024, "temperature": 0, "top_p": 1 } |


「標準」、「Microsoft Teams」の中にある「チャネル内のメッセージで応答します」アクションを設置します。




| 項目 | 値 |
|---|---|
| 投稿者 | Flow bot |
| 投稿先 | Channel |
| Message ID | @{triggerOutputs()?['body/id']} |
| Team | トリガーと同じチーム |
| Channel | トリガーと同じチャネル |
| Message | 下の式を指定します。 trim(body('HTTP')?['choices'][0]?['text']) ![]() ![]() |


これでフロー完成です。指定したチャネルにメッセージを入力するとChatGPTが返信します。トリガーは概ね5分ほど時間差が発生します。




