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)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Intercom 连接,并使用工具包 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:每页结果数

注意事项:

  • 公司与联系人的关系通过联系人端点管理
  • 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

分页
  • 大多数列表端点使用基于游标的分页
  • 查看响应中的 pages.next,其中包含 starting_after 游标
  • 将游标传入 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,以防止重复

速率限制:

  • 默认值:每分钟约 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 提供支持

评论

支持 Markdown