Power Automate を使って ChatGPT を Microsoft Teams に連携させる方法を説明します。この方法では、Power Automate の「フロー」を使用して、Teams チャットと OpenAI API(ChatGPT)間でデータをやり取りします。
技術的な実現可能性
Power Automate は HTTP コネクタを使って外部 API(この場合 OpenAI API)と連携できます。Microsoft Teams トリガーやアクションを利用すれば、Teams 内でのメッセージ送受信が可能です。そのため、基本的な連携は技術的に実現可能です。
1. 必要な準備
- OpenAI APIキーの取得
- OpenAIのAPIプラットフォームでアカウントを作成し、APIキーを取得します。
- Microsoft Power Automate アカウント
- Microsoftアカウントが必要です。Power Automate の基本プランがあれば利用可能です。
- Microsoft Teams の準備
- Teams アプリが利用可能な状態であることを確認します。
2. Power Automate でフローを作成
手順1: 新しいフローを作成
- Power Automate にログイン
- Power Automate のポータルにアクセスしてログインします。
- フローの種類を選択
- 「クラウド フローを作成」から「自動化フロー」を選択します。
手順2: トリガーの設定
- Microsoft Teams トリガーを追加
- 「新しいチャネル メッセージが投稿されたとき」または「新しいチャット メッセージが受信されたとき」を選択します。
- 対応するチームまたはチャネルを選択します。
3. OpenAI API との接続を設定
手順1: HTTP リクエストアクションを追加
- 「HTTP」コネクタを追加
- アクションを検索して「HTTP」を選択します。
- OpenAI API のリクエストを設定
- メソッド: POST
- URL:
https://api.openai.com/v1/completions
- ヘッダー:
Content-Type
:application/json
Authorization
:Bearer {あなたのOpenAI APIキー}
- 本文 (Body):jsonコードをコピーする
{ "model": "text-davinci-003", "prompt": "@{triggerOutputs()?['body']?['text']}", "max_tokens": 100 }
- この設定では、Teams メッセージを
prompt
に渡し、ChatGPT からの応答を生成します。
手順2: Teams メッセージを取得
triggerOutputs()['body']['text']
を使うことで、Teams メッセージをフロー内で利用できます。
4. 応答を Teams に送信
- 「Teams」コネクタを追加
- 「チャットメッセージを投稿する」または「チャネルメッセージを投稿する」を選択します。
- 必要に応じて投稿先のユーザーまたはチャネルを指定します。
- ChatGPT の応答を Teams に送信
- 「応答メッセージ」フィールドに、HTTPリクエストの出力(
body.choices[0].text
)を設定します。 - 動的コンテンツから「HTTP」の応答を選択し、応答メッセージとして設定します。
- 「応答メッセージ」フィールドに、HTTPリクエストの出力(
5. フローをテスト
- フローを保存してテスト
- 実際に Teams でトリガーとなるメッセージを送信して、フローが正常に動作するか確認します。
- デバッグ
- Power Automate の実行履歴でエラーがないか確認し、必要に応じて修正します。
6. カスタマイズと最適化
- 応答の長さ:
- OpenAI API の
max_tokens
を調整して、返答の長さを変更します。
- OpenAI API の
- フィルタリング:
- メッセージ内容に基づいてフローを分岐させたり、条件付き応答を設定します。
- ログの保存:
- SharePoint や Excel Online にログを保存するアクションを追加して、会話履歴を記録します。
完成形の概要
このフローを使用することで、Microsoft Teams で投稿されたメッセージを自動的に ChatGPT に渡し、その応答を Teams に戻すことができます。簡単にカスタマイズが可能で、業務の効率化に役立ちます。質問があれば気軽に聞いてください!