ASTERIA WarpとChatGPT・Microsoft Teams・Gmail連携

SimpleChatGPTCallコンポーネント・MSTeamsSQLCallコンポーネント・GmailGetコンポーネントを組み合わせて新着メールの通知・返信文を自動作成するフローを作成しました。

※このフローはメール受信を監視するため、1時間ごとに自動実行を行うことを前提とする

GmailGetコンポーネント

・未読メールのSubjectFromContentDateを取得 (条件:Labels = UNREAD

GmaiGetコンポーネント設定

Mapperコンポーネント(1つ目)

・未読メールかつ一時間以前のメールを抽出

 例:一時間前の時間<受信時間<=実行時間

    9:00:009:30:00<=10:00:00

SubjectFromContentDateHasNewMailをマッピングする

1つ目Mapperコンポーネント設定

BranchStartコンポーネント (画像は省略する)

・HasNewMailの値がfalseであれば、フローを終了する

・HasNewMailの値がtrueであれば、フローを続ける

 例:$record.HasNewMail=false 

Mapperコンポーネント(2つ目)

・フロー変数(メール着信通知、フォルダ名、ファイル名)に値を代入

  例:フォルダ名:受信日付 (例:2025-01-21

   ファイル名:件名.txt

        メール着信通知:${input1}から${input2}件名でメールが届いています。

・受信したメール内容と返信文作成依頼をChatGPTコンポーネントへマッピング

2つ目Mapperコンポーネント設定

SimpleChatGPTCallコンポーネント

「基本」設定

・シークレットキー:OpenAI APIキーを入力

  https://platform.openai.comにより取得する

・モデル:使用するモデルを選択、又は、入力

 例:gpt-4を入力

・残りのプロパティはデフォルトのままでOK

SimpleChatGPTCallコンポーネント設定

FilePutコンポーネント (画像は省略する)

・返信文をファイルとして保存

・「ファイルパス」プロパティに保存先を設定

 例:${flow.get("フォルダ名")}/${flow.get("ファイル名")}.txt

Mapperコンポーネント(3つ目)

Teamsへ通知するために、必要なデータをマッピング(ChatId、通知内容等)

3つ目Mapperコンポーネント設定

MSTeamsSQLCallコンポーネント

「基本」設定

・コネクション名:対象のMSTeamsコネクションを選択

・実行する処理:ストアド実行(結果なし)

SQL文:{ call SendChatMessage(?ChatId?,?ContentType?,?Content?)}

 SendChatMessageストアドプロシージャでメッセージを送信

・残りのプロパティはデフォルトのままでOK

SQLパラメーター」設定

ChatId:対象のChatId(直前のMapperコンポーネントからマッピングされる)

ContentTypetextを入力

ContentTeamsへ送信メッセージ内容(直前のMapperコンポーネントからマッピングされる)

MSTeamsSQLCallコンポーネント設定

事項前

Gmailでの新着メールを以下のようになる

実行結果

当日日付はフォルダ名、メール件名はファイル名として保存される

ChatGPTが作成してくれた返信文

「お見積りのお願い」返信文
「プログラム修正のお願い」返信文

Teamsへメッセージ送信