intercom-automation について
intercom-automationは、Rube MCP上のComposio IntercomツールキットでIntercomのサポートや連絡先の業務を自動化するスキルです。会話、連絡先、チーム、セグメント、企業を扱います。
主な機能
- 01会話の作成と検索
- 02会話への返信、割り当て、終了、再開
- 03連絡先の検索と確認
- 04管理者、チーム、セグメントの一覧
- 05企業と集計件数の確認
活用シーン
- 01サポート会話の振り分けと担当割り当て
- 02構造化フィルターによる連絡先検索
- 03連絡先のセグメントと企業との関連確認
MCP 対応
Rube MCPとComposioのIntercomツールキットを介して、MCPクライアントにIntercom操作を提供します。Intercomの有効な接続が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --skill intercom-automationインストール後、Claude Code で/intercom-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Intercom の自動化
Rube MCP 経由で Composio の Intercom ツールキットを使用して、Intercom の操作を自動化します。
ツールキットのドキュメント: composio.dev/toolkits/intercom
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
- ツールキット
intercomを指定したRUBE_MANAGE_CONNECTIONSによる有効な Intercom 接続 - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP を取得する: クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
intercomを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Intercom OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. 会話を管理する
使用する場面: ユーザーがサポート会話の作成、一覧表示、検索、または管理を希望する場合
ツールの呼び出し順序:
INTERCOM_LIST_ALL_ADMINS- 担当者割り当てに使用する管理者 ID を取得します[前提条件]INTERCOM_LIST_CONVERSATIONS- すべての会話を一覧表示します[任意]INTERCOM_SEARCH_CONVERSATIONS- フィルターを指定して検索します[任意]INTERCOM_GET_CONVERSATION- 会話の詳細を取得します[任意]INTERCOM_CREATE_CONVERSATION- 新しい会話を作成します[任意]
主なパラメーター:
from: 会話の作成者を指定する、type('user'/'lead')とidを含むオブジェクトbody: メッセージ本文(HTML 対応)id: 取得する会話の IDquery:field、operator、valueを含む検索クエリオブジェクト
注意点:
- CREATE_CONVERSATION の
fromフィールドには、管理者ではなく連絡先(ユーザー/リード)が必要です - 会話本文は HTML に対応しています。プレーンテキストは自動的に
<p>タグで囲まれます - 検索クエリでは、フリーテキスト検索ではなく構造化されたフィルターオブジェクトを使用します
- 会話 ID は数値文字列です
2. 会話に返信し、状態を管理する
使用する場面: ユーザーが会話への返信、会話の終了、再開、または割り当てを希望する場合
ツールの呼び出し順序:
INTERCOM_GET_CONVERSATION- 現在の状態を取得します[前提条件]INTERCOM_REPLY_TO_CONVERSATION- 返信を追加します[任意]INTERCOM_ASSIGN_CONVERSATION- 管理者/チームに割り当てます[任意]INTERCOM_CLOSE_CONVERSATION- 会話を終了します[任意]INTERCOM_REOPEN_CONVERSATION- 終了した会話を再開します[任意]
主なパラメーター:
conversation_id/id: 会話 IDbody: 返信メッセージ本文(HTML 対応)type: 返信の種類('admin' または 'user')admin_id: 管理者からの返信、割り当て、終了/再開に使用する管理者 IDassignee_id: 割り当て先の管理者またはチームの IDmessage_type: 'comment'(デフォルト)または 'note'(内部向け)
注意点:
- 管理者からの返信、終了、再開、割り当ての操作では、
admin_idが必須です - 必ず最初に LIST_ALL_ADMINS または IDENTIFY_AN_ADMIN で管理者 ID を取得してください
- 再試行時に重複送信が発生する可能性があるため、冪等性チェックを実装してください
- 内部メモには
message_type: 'note'を使用します。ワークスペースのメンバーのみに表示されます - 会話の終了には
admin_idが必要で、メッセージ本文は任意です
3. 連絡先の管理
使用するタイミング: ユーザーが連絡先(ユーザーとリード)を検索、表示、または管理したい場合
ツールの順序:
INTERCOM_SEARCH_CONTACTS- フィルターで連絡先を検索します [必須]INTERCOM_GET_A_CONTACT- 特定の連絡先を取得します [任意]INTERCOM_SHOW_CONTACT_BY_EXTERNAL_ID- 外部 ID で検索します [任意]INTERCOM_LIST_CONTACTS- すべての連絡先を一覧表示します [任意]INTERCOM_LIST_TAGS_ATTACHED_TO_A_CONTACT- 連絡先のタグを取得します [任意]INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT- 連絡先のセグメントを取得します [任意]INTERCOM_DETACH_A_CONTACT- 企業から連絡先を削除します [任意]
主要なパラメータ:
contact_id: 取得する連絡先の IDexternal_id: 検索用の外部システム IDquery:field、operator、valueを含む検索フィルターオブジェクトpagination:per_pageとstarting_afterカーソルを含むオブジェクト
注意点:
- SEARCH_CONTACTS は自由テキストではなく構造化クエリフィルターを使用します。形式:
{field, operator, value} - サポートされる演算子:
=、!=、>、<、~(含む)、!~(含まない)、IN、NIN - 連絡先の種類は 'user'(識別済み)または 'lead'(匿名)です
- LIST_CONTACTS はページネーションされた結果を返します。ページネーションには
starting_afterカーソルを使用します - 外部 ID は大文字と小文字を区別します
4. 管理者とチームの管理
使用するタイミング: ユーザーがワークスペースの管理者を一覧表示したい、または特定の管理者を識別したい場合
ツールの順序:
INTERCOM_LIST_ALL_ADMINS- すべての管理者とチームを一覧表示します [必須]INTERCOM_IDENTIFY_AN_ADMIN- 特定の管理者の詳細を取得します [任意]
主要なパラメータ:
admin_id: 識別する管理者の ID
注意点:
- LIST_ALL_ADMINS は管理者とチームの両方を返します
- 管理者 ID は会話の返信、割り当て、クローズ、再オープンに必要です
- チームは
type: 'team'として管理者リストに表示されます
5. セグメントと件数の表示
使用するタイミング: ユーザーがセグメントを表示したい、または集計件数を取得したい場合
ツールの順序:
INTERCOM_LIST_SEGMENTS- すべてのセグメントを一覧表示します [任意]INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT- 連絡先のセグメント [任意]INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES- 企業のセグメント [任意]INTERCOM_GET_COUNTS- 集計件数を取得します [任意]
主要なパラメータ:
contact_id: セグメント検索用の連絡先 IDcompany_id: セグメント検索用の企業 IDtype: 件数の種類('conversation'、'company'、'user'、'tag'、'segment')count: サブ件数の種類
注意点:
- GET_COUNTS は正確な数値ではなく概算の件数を返します
- セグメントのメンバーシップは計算されるため、変更がすぐに反映されない場合があります
6. 企業の管理
使用するタイミング: ユーザーが企業を一覧表示したい、または企業と連絡先の関係を管理したい場合
ツールの順序:
INTERCOM_LIST_ALL_COMPANIES- すべての企業を一覧表示します [必須]INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES- 企業のセグメントを取得します [任意]INTERCOM_DETACH_A_CONTACT- 企業から連絡先を削除します [任意]
主要なパラメータ:
company_id: 企業 IDcontact_id: 削除する連絡先の IDpage: ページネーションのページ番号per_page: 1 ページあたりの結果数
注意点:
- 企業と連絡先の関係は連絡先エンドポイントを通じて管理されます
- DETACH_A_CONTACT は連絡先と企業の関連付けを削除するのであり、連絡先自体を削除するわけではありません
一般的なパターン
検索クエリフィルター
単一フィルター:
{
"field": "email",
"operator": "=",
"value": "[email protected]"
}
複数フィルター(AND):
{
"operator": "AND",
"value": [
{"field": "role", "operator": "=", "value": "user"},
{"field": "created_at", "operator": ">", "value": 1672531200}
]
}
連絡先でサポートされるフィールド: email、name、role、created_at、updated_at、signed_up_at、last_seen_at、external_id
会話でサポートされるフィールド: created_at、updated_at、source.type、state、open、read
ページネーション
- ほとんどのリストエンドポイントはカーソルベースのページネーションを使用します
- レスポンスで
starting_afterカーソルを含むpages.nextを確認します - 次のページを取得するには
pagination.starting_afterにカーソルを渡します pages.nextが null になるまで続けます
管理者 ID の解決
1. Call INTERCOM_LIST_ALL_ADMINS to get all admins
2. Find the desired admin by name or email
3. Use admin.id for replies, assignments, and state changes
既知の注意点
管理者 ID の要件:
- 次の操作には管理者 ID が必要です:返信(管理者として)、割り当て、クローズ、再オープン
- まず LIST_ALL_ADMINS で管理者 ID を必ず解決してください
HTML コンテンツ:
- 会話本文は HTML です
- プレーンテキストは自動的に段落タグで囲まれます
- 表示上の問題を防ぐため、HTML 入力をサニタイズしてください
冪等性:
- 返信と会話の作成は冪等ではありません
- 再試行時やタイムアウト時に重複送信が発生する場合があります
- 重複を防ぐためにメッセージ ID を追跡してください
レート制限:
- デフォルト:約 1 分あたり 1000 リクエスト(プランによって異なります)
- 429 レスポンスにはレート制限ヘッダーが含まれます
- 再試行には指数バックオフを実装してください
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| 会話の一覧表示 | INTERCOM_LIST_CONVERSATIONS | (ページネーション) |
| 会話の検索 | INTERCOM_SEARCH_CONVERSATIONS | query |
| 会話の取得 | INTERCOM_GET_CONVERSATION | id |
| 会話の作成 | INTERCOM_CREATE_CONVERSATION | from, body |
| 会話への返信 | INTERCOM_REPLY_TO_CONVERSATION | conversation_id, body, admin_id |
| 会話の割り当て | INTERCOM_ASSIGN_CONVERSATION | conversation_id, admin_id, assignee_id |
| 会話をクローズ | INTERCOM_CLOSE_CONVERSATION | id, admin_id |
| 会話を再オープン | INTERCOM_REOPEN_CONVERSATION | id, admin_id |
| コンタクトの検索 | INTERCOM_SEARCH_CONTACTS | query |
| コンタクトの取得 | INTERCOM_GET_A_CONTACT | contact_id |
| 外部 ID によるコンタクトの取得 | INTERCOM_SHOW_CONTACT_BY_EXTERNAL_ID | external_id |
| コンタクトの一覧表示 | INTERCOM_LIST_CONTACTS | (ページネーション) |
| コンタクトのタグ | INTERCOM_LIST_TAGS_ATTACHED_TO_A_CONTACT | contact_id |
| コンタクトのセグメント | INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT | contact_id |
| コンタクトの関連付け解除 | INTERCOM_DETACH_A_CONTACT | contact_id, company_id |
| 管理者の一覧表示 | INTERCOM_LIST_ALL_ADMINS | (なし) |
| 管理者の特定 | INTERCOM_IDENTIFY_AN_ADMIN | admin_id |
| セグメントの一覧表示 | INTERCOM_LIST_SEGMENTS | (なし) |
| 企業のセグメント | INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES | company_id |
| 件数の取得 | INTERCOM_GET_COUNTS | type, count |
| 企業の一覧表示 | INTERCOM_LIST_ALL_COMPANIES | page, per_page |
Composio 提供