
AIパワードメール処理エージェント
このプロジェクトは、未読メールの処理を自動化するAIパワードメール処理エージェントであり、特に会議リクエストに焦点を当てています。このプロジェクトの詳細な説明は以下の通りです。
概要
AIエージェントは、未読メールを監視し続けます。新しいメールを検出すると、そのメールを処理して会議リクエストが含まれているかどうかを判断します。メールの内容とリクエストされた会議時間の空き状況に基づき、会議をスケジュールするか、代替の時間帯を提案して丁重に断る返信を送信します。
主な特徴
-
未読メールの取得: エージェントは
FetchUnreadEmail_tool
を使用してIMAPサーバーから未読メールを取得します。 - 会議リクエストの識別: メールを自然言語処理 (NLP) を活用して解析し、会議リクエストやオンラインでの会話を求める内容が含まれているかを確認します。
-
会議のスケジュール: リクエストされた会議時間が利用可能であれば、
Zoom_tool
を使用してZoom会議をスケジュールし、Calcom_tool
で予約を作成します。 -
メールの送信: リクエストされた会議時間の空き状況に基づき、確認または断りのメールを
SendEmail_tool
で送信します。 - リトライ機能: 未読メール取得時のエラーに対応するリトライ機能を含みます。
使用ツール
FetchUnreadEmail_tool
- 目的: 指定されたIMAPサーバーから未読メールを取得します。
- 機能: IMAPサーバーに接続し、未読メールを取得して処理のために返します。リトライ機能を備え、エラー時にも確実に処理を進めます。
NLPによる会議リクエストの識別
- 目的: メールの内容を解析し、会議リクエストまたはオンライン会話に関する内容を検出します。
- 機能: 自然言語処理技術を活用して、メール文面から関連情報を抽出し、適切な対応を判断します。
Zoom_tool
- 目的: Zoom会議をスケジュールします。
- 機能: Zoom API認証情報を使用してZoom会議を作成し、会議リンクを返します。
Calcom_tool
- 目的: 予約を作成し、空き状況を確認します。
- 機能: リクエストされた会議時間が利用可能かを確認します。週末、日本の祝日、または平日の制限時間帯(午前9時以前、午後1時〜2時の間、午後6時以降)の場合はリクエストを丁重に断ります。利用可能な場合は予約を作成します。
SendEmail_tool
- 目的: 指定された受信者にメールを送信します。
- 機能: SMTPサーバー認証情報を使用して、会議確認メールや丁重な断りメールを送信します。
動作の仕組み
- セットアップ: エージェントはメールおよびツール認証情報の環境変数で設定されます。
-
メール取得:
fetch_unread_emails
関数がリトライ機能を使用して未読メールを取得します。 -
メール処理:
process_emails
関数が各メールを処理し、会議リクエストが含まれているかを判断します。 -
会議リクエストの処理:
- リクエストされた会議時間が利用不可の場合、代替時間帯を提案して丁重に断るメールを生成します。
- リクエストされた会議時間が利用可能の場合、Zoom会議をスケジュールし、
Calcom_tool
で予約を作成し、確認メールを送信します。
- メールテンプレート: プロフェッショナルかつ丁寧なコミュニケーションを確保するため、事前定義されたメールテンプレートを使用します。
メールテンプレート例
[相手の名前] 様
お世話になっております。[私の名前] です。
[メールの目的や内容を簡潔に述べる]
[詳細な説明や必要な情報を提供する]
何卒よろしくお願い申し上げます。
[私の名前]
重要なガイドライン
-
noreply@...
など特定のアドレスからのメールは無視します。 - すべてのコミュニケーションで明確でプロフェッショナルかつ丁寧な言葉遣いを使用します。
- 提案された日時について不明確な点がある場合は、ユーザーに確認します。
- リクエストされた会議時間が週末または平日の制限時間帯の場合は、丁重に断り、今後の利用可能な時間帯を提供します。
デバッグ
エージェントスクリプトでdebug_mode=True
を設定することで、コンソールに追加のデバッグ情報を出力できます。
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細についてはLICENSEファイルをご覧ください。
このプロジェクトは、メールでの会議リクエスト処理を自動化し、効率化を図り、プロフェッショナルなコミュニケーションを実現します。