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

Slackコネクターを使用すると、EMQXエージェントは会話の読み取りや検索、メッセージの送信および管理、チャンネルやメンバーの操作、ファイルのアップロード、リアクションの追加、リマインダーの作成が可能です。アラート通知、コラボレーション、運用フォローアップのワークフローに利用できます。

## 一般的なユースケース

- 異常検知後に運用チャンネルへアラートを送信する。
- 未読メッセージやメッセージスレッドの要約を作成する。
- インシデント用のチャンネルを作成し、対応者を招待する。
- 生成したレポートをアップロードし、メッセージスレッドに追加する。

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

```text
ops-slackコネクターを使用して、エージェントが重大な異常を確認した際にdevice-alertsチャンネルに簡潔なアラートを投稿してください。デバイスIDと推奨される対応を含めてください。
```

## 前提条件

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

- 必要なワークスペースにアクセスできるSlackアカウント
- メッセージ、チャンネル、ファイル、リアクション、リマインダー、ユーザー操作の認可権限
- ワークフローでアクセスが必要なプライベートチャンネルのメンバーシップ

## Slackコネクターの追加

1. 左側のナビゲーションメニューで **Connectors** をクリックします。
2. **Available** タブで **Slack** を見つけて **Add** をクリックします。
3. **Add Connector** パネルで **Type** が **Slack** に設定されていることを確認します。
4. 説明的な **Name** を入力し、**Confirm** をクリックします。

   EMQXエージェントはコネクターを **Unauthorized** ステータスで追加し、認証ダイアログを開きます。
5. 認証ダイアログでComposioがSlackにリダイレクトするのを待ちます。
6. Slackの認証ページで、コネクターがアクセスする **Workspace** を選択します。
7. Composioが要求する権限を確認し、**Allow** をクリックします。
8. ComposioがSlackへの接続に成功したことを確認し、EMQXエージェントに戻るのを待ちます。
9. **Added** タブで **Authorization successful** メッセージが表示され、コネクターのステータスが **Authorized** になっていることを確認します。

::: warning 重要なお知らせ
SlackはComposioアプリがSlack Marketplaceで承認されていないと表示する場合があります。要求されている権限と組織のアプリ認可ポリシーをよく確認してください。
:::

<!-- TODO: Slack OAuthスコープ、プライベートチャンネルの挙動、アクションに表示されるBotまたはユーザーの識別、Slack管理者の承認要件、メッセージやチャンネル書き込み操作の個別承認要否を確認すること。 -->

## Slackコネクターの編集

1. **Added** タブでSlackコネクターの編集アイコンをクリックします。
2. **Edit Connector** パネルで **Name** を更新します。
3. **Confirm** をクリックします。

編集できるのは **Name** のみです。**Type** とSlack認証は **Edit Connector** パネルで変更できません。この制限はすべてのMCPコネクターに適用されます。

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

### メッセージおよび会話コンテンツ

| ツール | アクセス | 説明 |
|---|---|---|
| `SLACK_SEND_MESSAGE` | 書き込み | チャンネル、ダイレクトメッセージ、グループメッセージ、スレッドにメッセージを送信します。 |
| `SLACK_UPDATES_A_SLACK_MESSAGE` | 書き込み | 既存のSlackメッセージを更新します。 |
| `SLACK_DELETES_A_MESSAGE_FROM_A_CHAT` | 破壊的 | Slackメッセージを削除します。 |
| `SLACK_SEARCH_MESSAGES` | 読み取り | チャンネル、ユーザー、日付、内容のフィルターを指定してワークスペースのメッセージを検索します。 |
| `SLACK_FETCH_CONVERSATION_HISTORY` | 読み取り | チャンネルまたは会話のタイムラインからメッセージを取得します。 |
| `SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION` | 読み取り | 親メッセージとそのスレッド返信を取得します。 |
| `SLACK_LIST_UNREAD_CHANNEL_MESSAGES` | 読み取り | 認可ユーザーのチャンネル内の未読メッセージを取得します。 |
| `SLACK_SCHEDULE_MESSAGE` | 書き込み | メッセージの予約送信を設定します。 |

### チャンネルおよびメンバー

| ツール | アクセス | 説明 |
|---|---|---|
| `SLACK_LIST_ALL_CHANNELS` | 読み取り | アクセス可能なパブリックチャンネル、プライベートチャンネル、ダイレクトメッセージ、グループメッセージを一覧表示します。 |
| `SLACK_RETRIEVE_CONVERSATION_INFORMATION` | 読み取り | チャンネルまたは会話のメタデータを取得します。 |
| `SLACK_RETRIEVE_CONVERSATION_MEMBERS_LIST` | 読み取り | チャンネルまたは会話のメンバー一覧を取得します。 |
| `SLACK_INVITE_USERS_TO_A_SLACK_CHANNEL` | 書き込み | チャンネルにユーザーを招待します。 |
| `SLACK_CREATE_CHANNEL` | 書き込み | パブリックまたはプライベートチャンネルを作成します。 |
| `SLACK_SET_THE_TOPIC_OF_A_CONVERSATION` | 書き込み | 会話のトピックを設定または更新します。 |
| `SLACK_SET_CONVERSATION_PURPOSE` | 書き込み | 会話の目的を設定または更新します。 |

### ユーザーおよびアイデンティティ

| ツール | アクセス | 説明 |
|---|---|---|
| `SLACK_FIND_USER_BY_EMAIL_ADDRESS` | 読み取り | メールアドレスでSlackユーザーを検索します。 |
| `SLACK_RETRIEVE_DETAILED_USER_INFORMATION` | 読み取り | ユーザーIDで詳細なユーザーおよびチーム情報を取得します。 |
| `SLACK_LIST_ALL_USERS` | 読み取り | ワークスペースのユーザーとプロフィール情報を一覧表示します。 |
| `SLACK_RETRIEVE_A_USER_S_IDENTITY_DETAILS` | 読み取り | 認可ユーザーおよびワークスペースのアイデンティティを取得します。 |

### リアクション、ファイル、リマインダー

| ツール | アクセス | 説明 |
|---|---|---|
| `SLACK_ADD_REACTION_TO_AN_ITEM` | 書き込み | メッセージに絵文字リアクションを追加します。 |
| `SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK` | 書き込み | ファイルをアップロードするか、テキストからファイルを作成し、チャンネルまたはスレッドに共有できます。 |
| `SLACK_CREATE_A_REMINDER` | 書き込み | 認可ユーザーまたは他のユーザーのための一回または定期的なリマインダーを作成します。 |

::: warning 重要なお知らせ
メッセージ送信、更新、削除、チャンネル作成、メンバー招待、ファイルアップロード、リマインダー作成のツールはSlackワークスペースを変更したりユーザーと通信したりします。書き込み操作の前に送信先を必ず確認してください。
:::

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

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

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

コネクターは認可されたSlackアカウントとワークスペースを使用します。チャンネルメンバーシップ、ワークスペースの役割、アプリ権限、Slack管理者ポリシーがアクセス可能な会話や操作を決定します。

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

## 制限事項

- Slack APIのレート制限およびワークスペースポリシーが適用されます。
- プライベートチャンネルは認可アカウントおよびインテグレーションがアクセス権を持つ場合のみ利用可能です。
- ファイルアップロード、メッセージ履歴、検索結果はSlackプランおよび保持設定によって制限される場合があります。

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

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

| 症状 | 解決策 |
|---|---|
| コネクターが **Unauthorized** のまま変わらない。 | 認証を再試行し、アカウントがEMQXエージェントへのアクセス権を付与できるか確認してください。 |
| ツールが権限エラーを返す。 | 認可アカウントの対象リソースおよび操作へのアクセス権を確認してください。 |
| 必要なツールが利用できない。 | ツールがこのコネクターでサポートおよび承認されているか確認し、チャットで再度コネクターを選択してください。 |
| リクエストが断続的に拒否される。 | 外部サービスのステータス、APIクォータ、レート制限、アカウントプランを確認してください。 |

## 関連リンク

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