# EMQXエージェントをGmailに接続する

Gmailコネクターを使用すると、EMQXエージェントはGmailのメッセージを読み取り、検索し、送信、返信、転送、整理できます。また、下書き、添付ファイル、ラベル、連絡先、およびアカウントのプロフィール情報もサポートしています。

## よくあるユースケース

- 新しいサポートメールを要約し、ラベルで分類する。
- MQTTまたはFleetsのイベント後にアラートメールを下書きまたは送信する。
- メールスレッドを検索し、そのコンテキストをエージェントの判断に利用する。
- 人間による確認のための返信下書きを作成する。

チャットプロンプトの例：

```text
support-gmailコネクターを使って、ラベルがsupportの未読メッセージを検索し、各スレッドを要約して返信下書きを作成してください。下書きは送信しないでください。
```

## 前提条件

コネクターを追加する前に、以下を準備してください：

- Gmailが有効になっているGoogleアカウント。
- アカウントのサインインおよび本人確認方法へのアクセス。
- EMQXエージェントが必要なGmailデータおよび操作にアクセスするための認可権限。
- ワークフローで必要となる連絡先、ラベル、スレッド、またはメッセージへのアクセス。

## Gmailコネクターの追加

1. 左側のナビゲーションメニューで **Connectors** をクリックします。
2. **Available** タブで **Gmail** を見つけて **Add** をクリックします。
3. 説明的なコネクター名を入力します。
4. **Confirm** をクリックします。EMQXエージェントがダイアログでGoogleの認証フローを開きます。
5. コネクターで使用するGoogleアカウントを選択するか、別のアカウントでサインインします。
6. Googleから要求される追加の本人確認を完了します。
7. GoogleがComposioと共有する基本的なアカウント情報を確認し、**Continue** をクリックします。
8. Composioが要求する追加の権限を確認します。使用予定のコネクターツールに必要な権限を選択してください。これらの権限には以下が含まれます：
   - Gmailメッセージの読み取り、作成、送信、完全削除。
   - メールアドレスおよびGoogleアカウントのプロフィール情報の表示。
   - 連絡先およびその他の連絡先情報の表示。
9. Composioが許可されたGoogleアカウントデータへのアクセスを継続できるように、継続アクセスオプションを選択します。このオプションを選択しない場合、Googleは6か月ごとにアクセスの再確認を要求します。
10. 選択した権限を付与するために **Continue** をクリックします。
11. Composioが接続成功を確認し、EMQXエージェントに戻るまで待ちます。
12. **Added** タブで **Authorization successful** メッセージが表示され、コネクターの状態が **Authorized** になっていることを確認します。

Googleはアカウントやコネクターツールによって異なる権限を表示する場合があります。ワークフローに必要な権限のみを付与してください。Google Workspace管理者のポリシーにより、サードパーティアプリケーションの認可が制限されることがあります。

## サポートされるツール

### メッセージの送信と下書き

| ツール | アクセス | 説明 |
|---|---|---|
| `GMAIL_SEND_EMAIL` | 書き込み | 認可されたGmailアカウントからメールを送信します。 |
| `GMAIL_REPLY_TO_THREAD` | 書き込み | Gmailスレッドに返信します。 |
| `GMAIL_FORWARD_MESSAGE` | 書き込み | Gmailメッセージを1人以上の受信者に転送します。 |
| `GMAIL_CREATE_EMAIL_DRAFT` | 書き込み | 受信者、件名、本文、添付ファイルを含むメール下書きを作成します。 |

### メッセージとスレッドの読み取り

| ツール | アクセス | 説明 |
|---|---|---|
| `GMAIL_FETCH_EMAILS` | 読み取り | ラベルまたはGmail検索クエリでメッセージを取得します。 |
| `GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID` | 読み取り | メッセージIDでメッセージを取得します。 |
| `GMAIL_FETCH_MESSAGE_BY_THREAD_ID` | 読み取り | スレッドIDでスレッド内のメッセージを取得します。 |
| `GMAIL_LIST_THREADS` | 読み取り | Gmailスレッドを一覧表示します。 |
| `GMAIL_GET_ATTACHMENT` | 読み取り | Gmailメッセージから添付ファイルを取得します。 |

### ラベルとゴミ箱

| ツール | アクセス | 説明 |
|---|---|---|
| `GMAIL_ADD_LABEL_TO_EMAIL` | 書き込み | メッセージにラベルを追加または削除します。 |
| `GMAIL_CREATE_LABEL` | 書き込み | Gmailラベルを作成します。 |
| `GMAIL_LIST_LABELS` | 読み取り | Gmailラベルを一覧表示します。 |
| `GMAIL_MOVE_TO_TRASH` | 破壊的 | メッセージをゴミ箱に移動します。 |
| `GMAIL_MOVE_THREAD_TO_TRASH` | 破壊的 | スレッドをゴミ箱に移動します。 |
| `GMAIL_UNTRASH_MESSAGE` | 書き込み | ゴミ箱からメッセージを復元します。 |
| `GMAIL_UNTRASH_THREAD` | 書き込み | ゴミ箱からスレッドを復元します。 |
| `GMAIL_MODIFY_THREAD_LABELS` | 書き込み | スレッドのラベルを追加または削除します。 |
| `GMAIL_BATCH_MODIFY_MESSAGES` | 書き込み | 複数のメッセージにラベルを追加または削除します。 |

### 下書きの管理

| ツール | アクセス | 説明 |
|---|---|---|
| `GMAIL_LIST_DRAFTS` | 読み取り | 認可されたGmailアカウントの下書きを一覧表示します。 |
| `GMAIL_GET_DRAFT` | 読み取り | 下書きを取得します。 |
| `GMAIL_UPDATE_DRAFT` | 書き込み | 下書きを更新します。 |
| `GMAIL_SEND_DRAFT` | 書き込み | 下書きを送信します。 |
| `GMAIL_DELETE_DRAFT` | 破壊的 | 下書きを削除します。 |

### 連絡先とアカウント

| ツール | アクセス | 説明 |
|---|---|---|
| `GMAIL_GET_CONTACTS` | 読み取り | 認可されたGoogleアカウントの連絡先を取得します。 |
| `GMAIL_SEARCH_PEOPLE` | 読み取り | 名前、メール、電話番号、組織でGoogle連絡先や人物を検索します。 |
| `GMAIL_GET_PROFILE` | 読み取り | Gmailアカウントのアドレスとメールボックス統計を取得します。 |

::: warning 重要なお知らせ
メールの送信、返信、転送は外部との通信を伴います。ゴミ箱移動や一括変更ツールはメールボックスのデータを変更します。人間による確認が必要な場合は下書きを使用してください。
:::

## チャットでのコネクターの使用方法

1. チャット入力欄でコネクターアイコンをクリックします。
2. 認可済みの **Gmail** コネクターを選択します。
3. プロンプトに、エージェントが使用すべき外部リソースと操作を指定します。
4. 生成されたエージェント定義を確認し、必要なツールのみが含まれていることを確認します。

## 権限とデータアクセス

コネクターは認可されたGoogleアカウントを通じて動作します。アカウントのGmailデータ、ラベル、連絡先、組織ポリシーによってアクセス可能な範囲が決まります。

チャットプロンプトやエージェント指示に外部サービスの認証情報やアクセストークンを含めないでください。

## 制限事項

- Gmail APIのクォータおよびGoogle Workspace管理者のポリシーが適用されます。
- 添付ファイルへのアクセスはメッセージとアカウントの権限に依存します。
- 送信、転送、ゴミ箱移動、一括ラベル操作はメールボックスの変更や外部受信者との通信を伴います。

<!-- TODO: サービス固有の結果サイズ制限、ファイル制限、APIレート制限、プラン制限、非対応リソースタイプを確認すること。 -->

## トラブルシューティング

| 症状 | 対処方法 |
|---|---|
| コネクターが **Unauthorized** のままになる。 | 認証を再試行し、Googleの本人確認を完了し、必要な権限を付与してください。管理されたGoogle Workspaceアカウントの場合、管理者がComposioへのアクセスを許可しているか確認してください。 |
| ツールが権限エラーを返す。 | 認可されたアカウントが対象リソースにアクセスできるか、認証時に必要なGoogle権限が選択されているか確認してください。必要に応じてコネクターを再認証してください。 |
| 必要なツールが利用できない。 | ツールがこのコネクターでサポートおよび承認されているか確認し、チャットで再度コネクターを選択してください。 |
| リクエストが断続的に拒否される。 | 外部サービスのステータス、APIクォータ、レート制限、アカウントプランを確認してください。 |

## 関連リンク

- [Connectors](../connectors.md)
- [Start a Chat](../chats.md)
- [Manage Agents](../agents.md)
