mcpField
I
intercom-automation

intercom-automation

github.com/composiohqその他78.3k69 回インストール14 週間前に更新
リポジトリ

intercom-automation について

intercom-automationは、Rube MCP上のComposio IntercomツールキットでIntercomのサポートや連絡先の業務を自動化するスキルです。会話、連絡先、チーム、セグメント、企業を扱います。

主な機能

  1. 01会話の作成と検索
  2. 02会話への返信、割り当て、終了、再開
  3. 03連絡先の検索と確認
  4. 04管理者、チーム、セグメントの一覧
  5. 05企業と集計件数の確認

活用シーン

  1. 01サポート会話の振り分けと担当割り当て
  2. 02構造化フィルターによる連絡先検索
  3. 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 キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. ツールキット intercom を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Intercom OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. 会話を管理する

使用する場面: ユーザーがサポート会話の作成、一覧表示、検索、または管理を希望する場合

ツールの呼び出し順序:

  1. INTERCOM_LIST_ALL_ADMINS - 担当者割り当てに使用する管理者 ID を取得します[前提条件]
  2. INTERCOM_LIST_CONVERSATIONS - すべての会話を一覧表示します[任意]
  3. INTERCOM_SEARCH_CONVERSATIONS - フィルターを指定して検索します[任意]
  4. INTERCOM_GET_CONVERSATION - 会話の詳細を取得します[任意]
  5. INTERCOM_CREATE_CONVERSATION - 新しい会話を作成します[任意]

主なパラメーター:

  • from: 会話の作成者を指定する、type('user'/'lead')と id を含むオブジェクト
  • body: メッセージ本文(HTML 対応)
  • id: 取得する会話の ID
  • query: field、operator、value を含む検索クエリオブジェクト

注意点:

  • CREATE_CONVERSATION の from フィールドには、管理者ではなく連絡先(ユーザー/リード)が必要です
  • 会話本文は HTML に対応しています。プレーンテキストは自動的に <p> タグで囲まれます
  • 検索クエリでは、フリーテキスト検索ではなく構造化されたフィルターオブジェクトを使用します
  • 会話 ID は数値文字列です
2. 会話に返信し、状態を管理する

使用する場面: ユーザーが会話への返信、会話の終了、再開、または割り当てを希望する場合

ツールの呼び出し順序:

  1. INTERCOM_GET_CONVERSATION - 現在の状態を取得します[前提条件]
  2. INTERCOM_REPLY_TO_CONVERSATION - 返信を追加します[任意]
  3. INTERCOM_ASSIGN_CONVERSATION - 管理者/チームに割り当てます[任意]
  4. INTERCOM_CLOSE_CONVERSATION - 会話を終了します[任意]
  5. INTERCOM_REOPEN_CONVERSATION - 終了した会話を再開します[任意]

主なパラメーター:

  • conversation_id / id: 会話 ID
  • body: 返信メッセージ本文(HTML 対応)
  • type: 返信の種類('admin' または 'user')
  • admin_id: 管理者からの返信、割り当て、終了/再開に使用する管理者 ID
  • assignee_id: 割り当て先の管理者またはチームの ID
  • message_type: 'comment'(デフォルト)または 'note'(内部向け)

注意点:

  • 管理者からの返信、終了、再開、割り当ての操作では、admin_id が必須です
  • 必ず最初に LIST_ALL_ADMINS または IDENTIFY_AN_ADMIN で管理者 ID を取得してください
  • 再試行時に重複送信が発生する可能性があるため、冪等性チェックを実装してください
  • 内部メモには message_type: 'note' を使用します。ワークスペースのメンバーのみに表示されます
  • 会話の終了には admin_id が必要で、メッセージ本文は任意です
3. 連絡先の管理

使用するタイミング: ユーザーが連絡先(ユーザーとリード)を検索、表示、または管理したい場合

ツールの順序:

  1. INTERCOM_SEARCH_CONTACTS - フィルターで連絡先を検索します [必須]
  2. INTERCOM_GET_A_CONTACT - 特定の連絡先を取得します [任意]
  3. INTERCOM_SHOW_CONTACT_BY_EXTERNAL_ID - 外部 ID で検索します [任意]
  4. INTERCOM_LIST_CONTACTS - すべての連絡先を一覧表示します [任意]
  5. INTERCOM_LIST_TAGS_ATTACHED_TO_A_CONTACT - 連絡先のタグを取得します [任意]
  6. INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT - 連絡先のセグメントを取得します [任意]
  7. INTERCOM_DETACH_A_CONTACT - 企業から連絡先を削除します [任意]

主要なパラメータ:

  • contact_id: 取得する連絡先の ID
  • external_id: 検索用の外部システム ID
  • query: field、operator、value を含む検索フィルターオブジェクト
  • pagination: per_page と starting_after カーソルを含むオブジェクト

注意点:

  • SEARCH_CONTACTS は自由テキストではなく構造化クエリフィルターを使用します。形式: {field, operator, value}
  • サポートされる演算子: =、!=、>、<、~(含む)、!~(含まない)、IN、NIN
  • 連絡先の種類は 'user'(識別済み)または 'lead'(匿名)です
  • LIST_CONTACTS はページネーションされた結果を返します。ページネーションには starting_after カーソルを使用します
  • 外部 ID は大文字と小文字を区別します
4. 管理者とチームの管理

使用するタイミング: ユーザーがワークスペースの管理者を一覧表示したい、または特定の管理者を識別したい場合

ツールの順序:

  1. INTERCOM_LIST_ALL_ADMINS - すべての管理者とチームを一覧表示します [必須]
  2. INTERCOM_IDENTIFY_AN_ADMIN - 特定の管理者の詳細を取得します [任意]

主要なパラメータ:

  • admin_id: 識別する管理者の ID

注意点:

  • LIST_ALL_ADMINS は管理者とチームの両方を返します
  • 管理者 ID は会話の返信、割り当て、クローズ、再オープンに必要です
  • チームは type: 'team' として管理者リストに表示されます
5. セグメントと件数の表示

使用するタイミング: ユーザーがセグメントを表示したい、または集計件数を取得したい場合

ツールの順序:

  1. INTERCOM_LIST_SEGMENTS - すべてのセグメントを一覧表示します [任意]
  2. INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT - 連絡先のセグメント [任意]
  3. INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES - 企業のセグメント [任意]
  4. INTERCOM_GET_COUNTS - 集計件数を取得します [任意]

主要なパラメータ:

  • contact_id: セグメント検索用の連絡先 ID
  • company_id: セグメント検索用の企業 ID
  • type: 件数の種類('conversation'、'company'、'user'、'tag'、'segment')
  • count: サブ件数の種類

注意点:

  • GET_COUNTS は正確な数値ではなく概算の件数を返します
  • セグメントのメンバーシップは計算されるため、変更がすぐに反映されない場合があります
6. 企業の管理

使用するタイミング: ユーザーが企業を一覧表示したい、または企業と連絡先の関係を管理したい場合

ツールの順序:

  1. INTERCOM_LIST_ALL_COMPANIES - すべての企業を一覧表示します [必須]
  2. INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES - 企業のセグメントを取得します [任意]
  3. INTERCOM_DETACH_A_CONTACT - 企業から連絡先を削除します [任意]

主要なパラメータ:

  • company_id: 企業 ID
  • contact_id: 削除する連絡先の ID
  • page: ページネーションのページ番号
  • 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_CONVERSATIONSquery
会話の取得INTERCOM_GET_CONVERSATIONid
会話の作成INTERCOM_CREATE_CONVERSATIONfrom, body
会話への返信INTERCOM_REPLY_TO_CONVERSATIONconversation_id, body, admin_id
会話の割り当てINTERCOM_ASSIGN_CONVERSATIONconversation_id, admin_id, assignee_id
会話をクローズINTERCOM_CLOSE_CONVERSATIONid, admin_id
会話を再オープンINTERCOM_REOPEN_CONVERSATIONid, admin_id
コンタクトの検索INTERCOM_SEARCH_CONTACTSquery
コンタクトの取得INTERCOM_GET_A_CONTACTcontact_id
外部 ID によるコンタクトの取得INTERCOM_SHOW_CONTACT_BY_EXTERNAL_IDexternal_id
コンタクトの一覧表示INTERCOM_LIST_CONTACTS(ページネーション)
コンタクトのタグINTERCOM_LIST_TAGS_ATTACHED_TO_A_CONTACTcontact_id
コンタクトのセグメントINTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACTcontact_id
コンタクトの関連付け解除INTERCOM_DETACH_A_CONTACTcontact_id, company_id
管理者の一覧表示INTERCOM_LIST_ALL_ADMINS(なし)
管理者の特定INTERCOM_IDENTIFY_AN_ADMINadmin_id
セグメントの一覧表示INTERCOM_LIST_SEGMENTS(なし)
企業のセグメントINTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIEScompany_id
件数の取得INTERCOM_GET_COUNTStype, count
企業の一覧表示INTERCOM_LIST_ALL_COMPANIESpage, per_page

Composio 提供

コメント