sales-integration

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Connect Sales Tools

销售工具集成指南

Help the user design and implement integrations between sales tools — from choosing the right integration method through trigger/action design, field mapping, and error handling. This skill covers webhooks, Zapier/Make, native integrations, and custom API pipelines.
帮助用户设计并实现销售工具之间的集成——从选择合适的集成方式,到触发/操作设计、字段映射和错误处理。本技能涵盖webhooks、Zapier/Make、原生集成和自定义API管道。

Step 1 — Gather context

步骤1 — 收集上下文信息

Ask the user:
  1. What are you connecting?
    • Source tool (where the event happens): Mailshake, Apollo, Salesloft, Smartlead, Lemlist, Yesware, Groove.cm, Mixmax, Reply.io, Woodpecker, HubSpot, Salesforce, Qwilr, other
    • Destination tool (where the action should happen): Salesforce, HubSpot, Slack, Pipedrive, other
    • Is this one-way or bidirectional?
  2. What should trigger the integration?
    • A) Email reply received
    • B) New lead captured
    • C) Meeting booked
    • D) Deal stage changed
    • E) Contact created/updated
    • F) Sequence/cadence completed
    • G) Form submission
    • H) Custom event — describe it
  3. What should happen when triggered?
    • A) Create a record (contact, task, deal, activity)
    • B) Update a record (field change, stage change, owner change)
    • C) Send a notification (Slack, email, SMS)
    • D) Enroll in a sequence/cadence
    • E) Multiple actions — describe
  4. What's your technical comfort level?
    • A) No-code — Zapier, Make, native integrations only
    • B) Low-code — comfortable with basic API calls, can follow docs
    • C) Code — can build custom integrations with API + webhooks
  5. What's your current stack? (list all sales/marketing/CRM tools in use)
If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end — don't gate your response behind gathering complete context.
询问用户:
  1. 你要连接哪些工具?
    • 源工具(事件发生的工具):Mailshake、Apollo、Salesloft、Smartlead、Lemlist、Yesware、Groove.cm、Mixmax、Reply.io、Woodpecker、HubSpot、Salesforce、Qwilr、其他
    • 目标工具(执行操作的工具):Salesforce、HubSpot、Slack、Pipedrive、其他
    • 是单向同步还是双向同步?
  2. 集成的触发条件是什么?
    • A) 收到邮件回复
    • B) 捕获新线索
    • C) 会议已预订
    • D) 交易阶段变更
    • E) 联系人创建/更新
    • F) 序列/节奏完成
    • G) 表单提交
    • H) 自定义事件——请描述
  3. 触发后需要执行什么操作?
    • A) 创建记录(联系人、任务、交易、活动)
    • B) 更新记录(字段变更、阶段变更、负责人变更)
    • C) 发送通知(Slack、邮件、短信)
    • D) 加入序列/节奏
    • E) 多个操作——请描述
  4. 你的技术熟练度如何?
    • A) 无代码——仅使用Zapier、Make、原生集成
    • B) 低代码——熟悉基础API调用,能遵循文档操作
    • C) 代码开发——能使用API + webhooks构建自定义集成
  5. 你当前使用的工具栈有哪些?(列出所有正在使用的销售/营销/CRM工具)
**如果用户的请求已提供大部分上述上下文信息,可直接跳转到相关步骤。**先基于合理假设给出最佳答案(需明确说明假设),最后仅询问最关键的1-2个澄清问题——不要要求用户提供完整上下文后才给出回复。

Step 2 — Integration architecture

步骤2 — 集成架构设计

Choose the right integration method based on complexity and technical requirements.
根据复杂度和技术要求选择合适的集成方式。

Decision matrix

决策矩阵

MethodBest forTechnical skillCostReliability
Native integrationCRM sync, built-in connectorsNoneFree (included)High
Zapier / MakeMulti-step workflows, no-codeLow$20-100/moHigh
Webhooks + handlerReal-time events, custom logicMediumFree-lowMedium-high
Custom API pipelineComplex transformations, high volumeHighVariesDepends on implementation
方法适用场景技术要求成本可靠性
原生集成CRM同步、内置连接器免费(已包含在工具中)
Zapier / Make多步骤工作流、无代码场景20-100美元/月
Webhooks + 处理程序实时事件、自定义逻辑免费-低成本中-高
自定义API管道复杂数据转换、高数据量场景视情况而定取决于实现质量

Native integrations — always check first

原生集成——优先检查

Before building anything custom, check if a native integration exists:
Tool pairNative integration?What it does
Mailshake → SalesforceYesPush leads, sync activity
Mailshake → HubSpotYesPush leads, sync activity
Mailshake → PipedriveYesPush leads
Apollo → SalesforceYes (bi-directional)Full contact/account/deal sync
Apollo → HubSpotYes (bi-directional)Full contact/account/deal sync
Salesloft → SalesforceYes (bi-directional)Contact/account/activity sync
Salesloft → HubSpotYesActivity sync
Smartlead → HubSpotYes (native)Push leads, sync activity
Smartlead → SalesforceVia OutboundSync (third-party)Lead and activity sync
Smartlead → ClayYes (native)Enrichment pipeline
Lemlist → HubSpotYes (native)Push leads, sync activity
Lemlist → SalesforceYes (native, 2-way)Lead and activity sync
Lemlist → PipedriveYes (native)Push leads
Yesware → SalesforceYes (Enterprise plan, bi-directional)Email/calendar/activity sync, inbox sidebar
Yesware → GmailYes (Chrome extension)Email tracking, templates, campaigns
Yesware → OutlookYes (add-in)Email tracking, templates, campaigns
Yesware → ZoomYes (native)Auto-generate meeting links in scheduler
Yesware → LinkedInYes (native)Prospect insights from inbox
Mixmax → SalesforceYes (Growth+CRM plan)Inbox sidebar, auto-create leads, activity sync, advanced rules
Mixmax → HubSpotYes (Growth plan)Activity sync, list import, sidebar
Mixmax → SlackYes (native)Real-time tracking notifications
Mixmax → LinkedIn Sales NavigatorYes (native)InMail and connection requests in sequences
Mixmax → ZoomYes (native)Auto-generate meeting links
Reply.io → SalesforceYes (native, bi-directional)Contact/lead sync, email/call/task activity, status sync, custom workflows
Reply.io → HubSpotYes (native, bi-directional)Contact sync (auto-sync every 2h), email/call/task activity, status sync, field mappings
Reply.io → PipedriveYes (native)Contact sync, activity logging
Woodpecker → HubSpotYes (native, with API add-on)Contact sync, activity logging, deal stage triggers
Woodpecker → PipedriveYes (native)Contact sync, activity logging
Woodpecker → SalesforceVia ZapierContact sync, activity logging
Woodpecker → ClayYes (native)Enrichment pipeline
Woodpecker → CalendlyYes (native)Meeting booking from campaigns
Qwilr → SalesforceYesProposal/quote sync — see
/sales-qwilr-automation
Qwilr → HubSpotYesProposal/quote sync — see
/sales-qwilr-automation
Rule: If a native integration covers your use case, use it. Native integrations handle auth, retry, and error handling automatically. Only go custom when native doesn't support your specific trigger or action.
在构建任何自定义集成前,先确认是否存在原生集成:
工具组合是否有原生集成?功能说明
Mailshake → Salesforce推送线索、同步活动
Mailshake → HubSpot推送线索、同步活动
Mailshake → Pipedrive推送线索
Apollo → Salesforce是(双向)完整的联系人/客户/交易同步
Apollo → HubSpot是(双向)完整的联系人/客户/交易同步
Salesloft → Salesforce是(双向)联系人/客户/活动同步
Salesloft → HubSpot活动同步
Smartlead → HubSpot是(原生)推送线索、同步活动
Smartlead → Salesforce通过OutboundSync(第三方)线索和活动同步
Smartlead → Clay是(原生)数据 enrichment 管道
Lemlist → HubSpot是(原生)推送线索、同步活动
Lemlist → Salesforce是(原生,双向)线索和活动同步
Lemlist → Pipedrive是(原生)推送线索
Yesware → Salesforce是(企业版,双向)邮件/日历/活动同步、收件箱侧边栏
Yesware → Gmail是(Chrome扩展)邮件追踪、模板、营销活动
Yesware → Outlook是(插件)邮件追踪、模板、营销活动
Yesware → Zoom是(原生)在调度器中自动生成会议链接
Yesware → LinkedIn是(原生)从收件箱查看潜在客户洞察
Mixmax → Salesforce是(Growth+CRM版)收件箱侧边栏、自动创建线索、活动同步、高级规则
Mixmax → HubSpot是(Growth版)活动同步、列表导入、侧边栏
Mixmax → Slack是(原生)实时追踪通知
Mixmax → LinkedIn Sales Navigator是(原生)在序列中发送InMail和连接请求
Mixmax → Zoom是(原生)自动生成会议链接
Reply.io → Salesforce是(原生,双向)联系人/线索同步、邮件/通话/任务活动、状态同步、自定义工作流
Reply.io → HubSpot是(原生,双向)联系人同步(每2小时自动同步)、邮件/通话/任务活动、状态同步、字段映射
Reply.io → Pipedrive是(原生)联系人同步、活动记录
Woodpecker → HubSpot是(原生,需API附加组件)联系人同步、活动记录、交易阶段触发
Woodpecker → Pipedrive是(原生)联系人同步、活动记录
Woodpecker → Salesforce通过Zapier联系人同步、活动记录
Woodpecker → Clay是(原生)数据 enrichment 管道
Woodpecker → Calendly是(原生)从营销活动中预订会议
Qwilr → Salesforce提案/报价同步——请查看/sales-qwilr-automation
Qwilr → HubSpot提案/报价同步——请查看/sales-qwilr-automation
规则:如果原生集成能满足你的使用场景,请优先使用。原生集成会自动处理身份验证、重试和错误处理,更可靠,能更好地处理边缘情况,且无需额外付费。在构建自定义集成前,请先检查两个工具的「设置 > 集成」选项。

Step 3 — Common integration patterns

步骤3 — 常见集成模式

Lead/reply → CRM record + notification

线索/回复 → CRM记录 + 通知

Trigger: Reply received in Mailshake/Apollo/Salesloft Actions:
  1. Create or update contact in CRM
  2. Create activity/task on the contact record
  3. Send Slack notification to rep
Implementation options:
  • Zapier: Trigger = Mailshake "Reply Received" → Actions = Salesforce "Create Task" + Slack "Send Message"
  • Webhook: Mailshake push event (Reply) → your endpoint → Salesforce API + Slack API
  • Native: Mailshake-Salesforce integration (auto-syncs replies as activities)
触发条件:在Mailshake/Apollo/Salesloft中收到回复 操作
  1. 在CRM中创建或更新联系人
  2. 在联系人记录上创建活动/任务
  3. 向销售代表发送Slack通知
实现选项
  • Zapier:触发条件 = Mailshake「收到回复」→ 操作 = Salesforce「创建任务」 + Slack「发送消息」
  • Webhook:Mailshake推送事件(回复)→ 你的端点 → Salesforce API + Slack API
  • 原生集成:Mailshake-Salesforce集成(自动将回复同步为活动)

Meeting booked → CRM + sequence exit

会议预订 → CRM更新 + 退出序列

Trigger: Meeting booked (Calendly, Chili Piper, or CRM scheduler) Actions:
  1. Update contact status/stage in CRM
  2. Remove from active sequence/cadence
  3. Create deal/opportunity
  4. Notify AE
触发条件:会议已预订(Calendly、Chili Piper或CRM调度器) 操作
  1. 在CRM中更新联系人状态/阶段
  2. 将联系人从活跃序列/节奏中移除
  3. 创建交易/销售机会
  4. 通知客户成功经理

CRM status change → sequence enrollment

CRM状态变更 → 加入序列

Trigger: Lead status changes to "MQL" in CRM Actions:
  1. Enroll contact in outbound sequence (Apollo, Salesloft, Mailshake)
  2. Assign to appropriate rep based on routing rules
Implementation options:
  • Zapier/Make (no-code): HubSpot "Lifecycle Stage Change" trigger → Apollo "Add Contact to Sequence" action. Easiest setup, handles auth automatically.
  • CRM webhook + custom API (low-code): HubSpot workflow triggers webhook → your endpoint calls Apollo
    POST /contacts/add_to_emailer_campaign
    . More control over field mapping, error handling, and conditional logic.
  • Native CRM workflow (if supported): Some CRM-to-engagement-tool integrations support enrollment triggers natively — check Settings > Integrations before building custom.
Error handling for sequence enrollment:
  • Duplicate contact: Check if contact already exists in the engagement tool before creating — use "Find or Create" logic
  • Already enrolled: The API may reject enrollment if the contact is active in another sequence — handle gracefully (log, skip, or queue for later)
  • Sequence capacity / enrollment limits: Sequences may have max enrollment caps or daily add limits. Monitor the API response for limit errors and implement a retry queue for overflow.
  • Re-qualification: If a lead was previously disqualified and re-enters MQL, decide whether to re-enroll or skip (prevent spamming the same contact)
触发条件:CRM中线索状态变为「MQL(营销合格线索)」 操作
  1. 将联系人加入外呼序列(Apollo、Salesloft、Mailshake)
  2. 根据路由规则分配给合适的销售代表
实现选项
  • Zapier/Make(无代码):HubSpot「生命周期阶段变更」触发 → Apollo「将联系人添加到序列」操作。设置最简单,自动处理身份验证。
  • CRM webhook + 自定义API(低代码):HubSpot工作流触发webhook → 你的端点调用Apollo
    POST /contacts/add_to_emailer_campaign
    。对字段映射、错误处理和条件逻辑有更多控制权。
  • 原生CRM工作流(如果支持):部分CRM与营销工具的集成原生支持加入序列的触发条件——在构建自定义集成前,请先检查「设置 > 集成」。
序列加入的错误处理
  • 重复联系人:在创建前检查联系人是否已存在于营销工具中——使用「查找或创建」逻辑
  • 已加入序列:如果联系人已活跃在另一个序列中,API可能会拒绝加入请求——需优雅处理(记录、跳过或稍后排队)
  • 序列容量/加入限制:序列可能有最大加入人数限制或每日添加限制。监控API响应中的限制错误,为溢出请求实现重试队列。
  • 重新资格审核:如果线索之前被取消资格后再次变为MQL,需决定是否重新加入序列或跳过(避免向同一联系人发送垃圾信息)

Deal stage change → stakeholder notification

交易阶段变更 → 利益相关者通知

Trigger: Deal moves to "Proposal Sent" or "Negotiation" in CRM Actions:
  1. Notify relevant stakeholders in Slack
  2. Create follow-up task for rep
  3. Trigger proposal creation in Qwilr (see
    /sales-qwilr-automation
    )
触发条件:CRM中交易阶段变为「已发送提案」或「谈判中」 操作
  1. 向相关利益相关者发送Slack通知
  2. 为销售代表创建跟进任务
  3. 触发Qwilr中的提案创建(请查看/sales-qwilr-automation)

Multi-tool activity sync

多工具活动同步

Trigger: Any activity logged in engagement tool (email sent, call made, meeting held) Action: Sync activity to CRM as a completed task/activity
Key considerations:
  • Define sync direction (one-way vs bidirectional)
  • Map fields between tools (Salesloft "Call" → Salesforce "Task" with type "Call")
  • Handle duplicates (check if activity already exists before creating)
触发条件:营销工具中记录了任何活动(发送邮件、拨打电话、举行会议) 操作:将活动同步到CRM中,标记为已完成的任务/活动
关键注意事项
  • 定义同步方向(单向 vs 双向)
  • 映射工具间的字段(例如Salesloft「通话」→ Salesforce「任务」,类型为「通话」)
  • 处理重复数据(在创建前检查活动是否已存在)

Step 4 — Platform webhook reference

步骤4 — 平台Webhook参考

Mailshake webhooks

Mailshake webhooks

  • Setup: API endpoint
    /push/create
    with
    targetUrl
    and
    event
  • Events: Sent, Open, Click, Reply, LeadCatcher, Bounce, Unsubscribe
  • Payload: JSON with event type, recipientID, campaignID, timestamp, event-specific data
  • Full reference: See
    /sales-mailshake
    references/mailshake-api-reference.md
  • 设置:API端点
    /push/create
    ,需传入
    targetUrl
    event
    参数
  • 事件类型:Sent(已发送)、Open(已打开)、Click(已点击)、Reply(已回复)、LeadCatcher(捕获线索)、Bounce(退信)、Unsubscribe(取消订阅)
  • 负载:JSON格式,包含事件类型、recipientID、campaignID、时间戳和事件特定数据
  • 完整参考:查看
    /sales-mailshake
    references/mailshake-api-reference.md

Apollo webhooks

Apollo webhooks

  • Setup: Settings > Integrations > Webhooks
  • Events: Contact created, contact updated, sequence enrollment, sequence completion, email bounced
  • Note: Apollo's webhook support is more limited than Mailshake's. For complex automations, use the REST API with polling.
  • 设置:设置 > 集成 > Webhooks
  • 事件类型:联系人创建、联系人更新、序列加入、序列完成、邮件退信
  • 注意:Apollo的webhook支持比Mailshake有限。对于复杂自动化,建议使用REST API轮询。

Salesloft webhooks

Salesloft webhooks

  • Setup: Settings > Integrations > Webhooks (admin only)
  • Events: Person created/updated, cadence step completed, email bounced, call logged
  • Note: Salesloft also offers a robust REST API for building custom integrations
  • 设置:设置 > 集成 > Webhooks(仅管理员权限)
  • 事件类型:人员创建/更新、节奏步骤完成、邮件退信、通话记录
  • 注意:Salesloft还提供强大的REST API用于构建自定义集成

Smartlead webhooks

Smartlead webhooks

  • Setup: API endpoint
    POST /webhooks
    with
    url
    and
    event_type
  • Events: LEAD_REPLIED, LEAD_INTERESTED, LEAD_UNSUBSCRIBED, EMAIL_SENT, EMAIL_OPENED, EMAIL_CLICKED, EMAIL_BOUNCED
  • Payload: JSON with event_type, timestamp, and data object (lead_id, campaign_id, email, event-specific fields)
  • Full reference: See
    /sales-smartlead
    references/smartlead-api-reference.md
  • 设置:API端点
    POST /webhooks
    ,需传入
    url
    event_type
    参数
  • 事件类型:LEAD_REPLIED(线索回复)、LEAD_INTERESTED(线索感兴趣)、LEAD_UNSUBSCRIBED(线索取消订阅)、EMAIL_SENT(邮件已发送)、EMAIL_OPENED(邮件已打开)、EMAIL_CLICKED(邮件已点击)、EMAIL_BOUNCED(邮件退信)
  • 负载:JSON格式,包含event_type、时间戳和数据对象(lead_id、campaign_id、邮箱、事件特定字段)
  • 完整参考:查看
    /sales-smartlead
    references/smartlead-api-reference.md

Lemlist webhooks

Lemlist webhooks

  • Setup: API endpoint
    POST /api/webhooks
    with
    url
    and event configuration
  • Events: Reply, open, click, bounce, unsubscribe, lead interested, lead not interested
  • Rate limits: 20 requests per 2 seconds on all API endpoints
  • Full reference: See
    /sales-lemlist
    references/lemlist-api-reference.md
  • 设置:API端点
    POST /api/webhooks
    ,需传入
    url
    和事件配置
  • 事件类型:回复、打开、点击、退信、取消订阅、线索感兴趣、线索不感兴趣
  • 速率限制:所有API端点的速率限制为20请求/2秒
  • 完整参考:查看
    /sales-lemlist
    references/lemlist-api-reference.md

Groove.cm webhooks

Groove.cm webhooks

  • Setup: GrooveSell product settings > Webhooks
  • Events: Sale, Refund, Failed Rebill, Cancellation
  • Payload: JSON with event type, product, customer, and transaction data
  • Note: Groove.cm has no public REST API. For integrations beyond webhooks, use Zapier (triggers/actions for GrooveMail and GrooveSell).
  • Full reference: See
    /sales-groove
  • 设置:GrooveSell产品设置 > Webhooks
  • 事件类型:销售、退款、续费失败、取消订阅
  • 负载:JSON格式,包含事件类型、产品、客户和交易数据
  • 注意:Groove.cm没有公开的REST API。除webhooks外的集成,请使用Zapier(GrooveMail和GrooveSell的触发/操作)。
  • 完整参考:查看
    /sales-groove

Yesware integrations

Yesware集成

  • No public API: Yesware does not offer a public REST API. No webhook endpoints, no developer docs.
  • Integration methods: Native connectors only — Salesforce (Enterprise plan), Gmail, Outlook, Zoom, LinkedIn, Clari, DocSend
  • Zapier: Limited Zapier support — check Zapier for available triggers/actions (may be community-built, not official)
  • For custom integrations: No programmatic access. If you need Yesware data in other tools, the Salesforce integration (Enterprise plan) is the best bridge — sync Yesware activity to Salesforce, then integrate Salesforce with other tools.
  • Workaround: For teams needing API access, consider Salesloft, Apollo, or Mailshake which all offer full REST APIs.
  • 无公开API:Yesware不提供公开的REST API,没有webhook端点和开发者文档。
  • 集成方式:仅支持原生连接器——Salesforce(企业版)、Gmail、Outlook、Zoom、LinkedIn、Clari、DocSend
  • Zapier:Zapier支持有限——请查看Zapier上可用的触发/操作(可能是社区构建,非官方)
  • 自定义集成方案:无程序化访问权限。如果需要将Yesware数据同步到其他工具,Salesforce集成(企业版)是最佳桥梁——先将Yesware活动同步到Salesforce,再将Salesforce与其他工具集成。
  • 替代方案:对于需要API访问权限的团队,可考虑Salesloft、Apollo或Mailshake,这些工具都提供完整的REST API。

Reply.io webhooks

Reply.io webhooks

  • Setup: API endpoint
    POST /webhooks
    or via Settings > Integrations > Webhooks in dashboard
  • Events: Contact replied, email sent, email opened, email clicked, email bounced, contact status changed, task created (specific event types available via
    GET /webhook-events
    )
  • Delivery management: API endpoints for managing webhook delivery, retries, and failures
  • API versions: V3 (beta) has full webhook management; V1/V2 have basic webhook support
  • Full reference: See
    /sales-reply
    references/reply-api-reference.md
  • 设置:API端点
    POST /webhooks
    或通过仪表盘的「设置 > 集成 > Webhooks」配置
  • 事件类型:联系人回复、邮件发送、邮件打开、邮件点击、邮件退信、联系人状态变更、任务创建(特定事件类型可通过
    GET /webhook-events
    获取)
  • 交付管理:提供API端点用于管理webhook交付、重试和失败处理
  • API版本:V3(测试版)支持完整的webhook管理;V1/V2仅支持基础webhook功能
  • 完整参考:查看
    /sales-reply
    references/reply-api-reference.md

Woodpecker webhooks

Woodpecker webhooks

  • Setup: API endpoint or via Settings > Integrations > Webhooks in dashboard
  • Events: Prospect replied, email sent, email opened, email clicked, email bounced, prospect status changed, prospect interested (specific events via webhook management endpoints)
  • API access: Requires API & integrations add-on (€20/mo)
  • Rate limits: Same as main API — 1 concurrent request, queue of 6
  • Full reference: See
    /sales-woodpecker
    references/woodpecker-api-reference.md
  • 设置:API端点或通过仪表盘的「设置 > 集成 > Webhooks」配置
  • 事件类型:潜在客户回复、邮件发送、邮件打开、邮件点击、邮件退信、潜在客户状态变更、潜在客户感兴趣(特定事件可通过webhook管理端点获取)
  • API访问权限:需要API & 集成附加组件(20欧元/月)
  • 速率限制:与主API相同——1个并发请求,队列容量为6
  • 完整参考:查看
    /sales-woodpecker
    references/woodpecker-api-reference.md

Mixmax rules (webhooks)

Mixmax规则(webhooks)

  • Setup: Dashboard at app.mixmax.com/dashboard/rules or API
    POST /rules
    with trigger and actions
  • Trigger types: IF/THEN rules on email events (open, click, reply), Salesforce object changes (new/updated opportunities, accounts, custom objects), date fields, lead owner changes
  • Action types: Webhook call, Salesforce record update, sequence enrollment, task creation, Slack notification
  • Advanced rules: Growth+CRM plan — trigger on Salesforce objects, use complex logic (AND/OR conditions)
  • API:
    GET/POST /rules
    ,
    PATCH/DELETE /rules/:id
    ,
    POST/GET /rules/:id/actions
  • Note: Mixmax rules are more of an automation engine than simple webhooks — they combine triggers and actions with conditional logic. For simple webhook forwarding, create a rule with a webhook action.
  • 设置:仪表盘 app.mixmax.com/dashboard/rules 或通过API
    POST /rules
    配置触发条件和操作
  • 触发类型:邮件事件(打开、点击、回复)、Salesforce对象变更(新/更新的销售机会、客户、自定义对象)、日期字段、线索负责人变更的IF/THEN规则
  • 操作类型:调用webhook、更新Salesforce记录、加入序列、创建任务、发送Slack通知
  • 高级规则:Growth+CRM版——支持基于Salesforce对象触发,使用复杂逻辑(AND/OR条件)
  • API
    GET/POST /rules
    PATCH/DELETE /rules/:id
    POST/GET /rules/:id/actions
  • 注意:Mixmax规则更像是一个自动化引擎,而非简单的webhooks——它将触发条件、操作和条件逻辑结合在一起。如果需要简单的webhook转发,可创建带webhook操作的规则。

Qwilr webhooks

Qwilr webhooks

  • Full reference: See
    /sales-qwilr-automation
    for Qwilr-specific webhook events and CRM integrations
  • 完整参考:查看
    /sales-qwilr-automation
    获取Qwilr专属的webhook事件和CRM集成信息

Step 5 — Data sync best practices

步骤5 — 数据同步最佳实践

Define source of truth

定义数据源权威

Before building any bidirectional sync, decide which tool is the source of truth for each field:
Data typeTypical source of truthWhy
Contact info (name, email, phone)CRM (Salesforce/HubSpot)CRM is the canonical record
Activity data (emails, calls)Engagement tool (Apollo/Salesloft/Mailshake)Activity originates in the engagement tool
Deal/opportunityCRMRevenue data lives in CRM
Lead scoreMAP or CRMScoring logic runs in MAP/CRM
Sequence statusEngagement toolSequence state managed by engagement tool
在构建任何双向同步前,需确定每个字段的数据源权威工具:
数据类型典型数据源权威原因
联系人信息(姓名、邮箱、电话)CRM(Salesforce/HubSpot)CRM是标准化的记录存储库
活动数据(邮件、通话)营销工具(Apollo/Salesloft/Mailshake)活动起源于营销工具
交易/销售机会CRM收入数据存储在CRM中
线索评分MAP或CRM评分逻辑在MAP/CRM中运行
序列状态营销工具序列状态由营销工具管理

Conflict resolution

冲突解决

  • Last-write-wins: Simple but dangerous — later update overwrites earlier one
  • Source-of-truth wins: Designated source always overwrites destination
  • Field-level rules: Different rules per field (e.g., CRM wins for phone, engagement tool wins for email status)
  • Manual review: Flag conflicts for human review (safest for critical fields)
  • 最后写入获胜:简单但有风险——较新的更新覆盖较早的更新
  • 数据源权威获胜:指定的权威工具的更新始终覆盖目标工具的数据
  • 字段级规则:为每个字段设置不同的规则(例如,CRM的电话字段数据优先,营销工具的邮箱状态数据优先)
  • 人工审核:标记冲突数据供人工审核(对关键字段最安全)

Deduplication

重复数据删除

  • Match keys: Email address (primary), company domain + name (secondary)
  • When to dedup: Before creating records, during sync, and periodically as maintenance
  • Tools: Native CRM dedup (Salesforce Duplicate Rules, HubSpot dedup tool), or third-party (Dedupely, RingLead)
  • 匹配键:邮箱地址(主键)、公司域名+姓名(副键)
  • 去重时机:创建记录前、同步过程中、定期维护
  • 工具:CRM原生去重(Salesforce重复规则、HubSpot去重工具)或第三方工具(Dedupely、RingLead)

Error handling

错误处理

  • Retry logic: Implement exponential backoff for failed API calls (1s, 2s, 4s, 8s)
  • Dead letter queue: Store failed events for manual review and replay
  • Alerting: Slack/email notification when sync errors exceed threshold
  • Monitoring: Track sync success rate, latency, and error types weekly
  • 重试逻辑:对失败的API调用实现指数退避重试(1秒、2秒、4秒、8秒)
  • 死信队列:存储失败事件供人工审核和重放
  • 告警:当同步错误超过阈值时发送Slack/邮件通知
  • 监控:每周跟踪同步成功率、延迟和错误类型

Gotchas

注意事项

  • Check native integrations first. Don't build a Zapier workflow for something the tools already handle natively. Native integrations are more reliable, handle edge cases better, and don't cost extra. Check Settings > Integrations in both tools before going custom.
  • Respect API rate limits. Every tool has rate limits — Mailshake (100/min), Apollo (~200/min on Pro), Salesforce (varies), HubSpot (100/10s). High-volume syncs that ignore rate limits will get throttled or blocked. Always implement batching and backoff.
  • Define source of truth before bidirectional sync. Bidirectional sync without clear field-level ownership creates data ping-pong (A updates B, B updates A, loop). For every field that syncs bidirectionally, document which tool wins on conflict.
  • 优先检查原生集成:不要为工具已原生支持的功能构建Zapier工作流。原生集成更可靠,能更好地处理边缘情况,且无需额外付费。在构建自定义集成前,请先检查两个工具的「设置 > 集成」选项。
  • 遵守API速率限制:每个工具都有速率限制——Mailshake(100次/分钟)、Apollo(专业版约200次/分钟)、Salesforce(视版本而定)、HubSpot(10次/10秒)。高容量同步如果忽略速率限制,会被限流或阻止。务必实现批量处理和退避机制。
  • 双向同步前定义数据源权威:如果没有明确的字段级所有权,双向同步会导致数据循环更新(A更新B,B更新A,形成循环)。对于每个双向同步的字段,需记录冲突时以哪个工具的数据为准。

Related skills

相关技能

  • /sales-qwilr-automation
    — Qwilr-specific CRM integrations, API, and webhook events
  • /sales-mailshake
    — Mailshake platform help including API and webhook details
  • /sales-apollo
    — Apollo platform help including CRM sync and API
  • /sales-smartlead
    — Smartlead platform help including API and webhook details
  • /sales-lemlist
    — Lemlist platform help including API and webhook details
  • /sales-salesloft
    — Salesloft platform help including integrations
  • /sales-groove
    — Groove.cm platform help including GrooveSell webhooks and Zapier integration
  • /sales-yesware
    — Yesware platform help (native Salesforce integration, no API)
  • /sales-mixmax
    — Mixmax platform help including rules engine and integrations
  • /sales-reply
    — Reply.io platform help including webhooks and integrations
  • /sales-woodpecker
    — Woodpecker platform help including API and webhook details
  • /sales-deliverability
    — Email deliverability (relevant when integrating sending tools)
  • /sales-do
    — Not sure which skill to use? The router matches any sales objective to the right skill.
  • /sales-qwilr-automation
    — Qwilr专属CRM集成、API和webhook事件
  • /sales-mailshake
    — Mailshake平台使用帮助,包括API和webhook详情
  • /sales-apollo
    — Apollo平台使用帮助,包括CRM同步和API
  • /sales-smartlead
    — Smartlead平台使用帮助,包括API和webhook详情
  • /sales-lemlist
    — Lemlist平台使用帮助,包括API和webhook详情
  • /sales-salesloft
    — Salesloft平台使用帮助,包括集成
  • /sales-groove
    — Groove.cm平台使用帮助,包括GrooveSell webhooks和Zapier集成
  • /sales-yesware
    — Yesware平台使用帮助(原生Salesforce集成,无API)
  • /sales-mixmax
    — Mixmax平台使用帮助,包括规则引擎和集成
  • /sales-reply
    — Reply.io平台使用帮助,包括webhooks和集成
  • /sales-woodpecker
    — Woodpecker平台使用帮助,包括API和webhook详情
  • /sales-deliverability
    — 邮件送达率(与发送工具集成相关)
  • /sales-do
    — 不确定使用哪个技能?该技能会将任何销售目标匹配到合适的技能。

Examples

示例

Example 1: Mailshake reply → Salesforce + Slack

示例1:Mailshake回复 → Salesforce + Slack

User says: "When someone replies to my Mailshake campaign, I want to create a task in Salesforce and get a Slack notification." Skill does:
  1. Checks if Mailshake-Salesforce native integration covers this (it does for activity sync)
  2. Recommends native for Salesforce + Zapier for Slack notification
  3. Provides Zapier workflow: Mailshake "Reply" trigger → Slack "Send Message" action
  4. Configures field mapping for the Salesforce activity Result: Reply-to-task sync via native integration, Slack alert via Zapier
用户需求:"当有人回复我的Mailshake营销活动时,我想在Salesforce中创建一个任务,并收到Slack通知。" 技能处理
  1. 检查Mailshake-Salesforce原生集成是否支持该场景(原生集成支持活动同步)
  2. 推荐使用原生集成处理Salesforce同步,使用Zapier处理Slack通知
  3. 提供Zapier工作流配置:Mailshake「收到回复」触发 → Slack「发送消息」操作
  4. 提供Salesforce活动的字段映射配置 结果:通过原生集成实现回复到任务的同步,通过Zapier实现Slack告警

Example 2: Salesloft activity → HubSpot

示例2:Salesloft活动 → HubSpot

User says: "I need to sync all Salesloft activity to HubSpot so our marketing team can see sales touchpoints." Skill does:
  1. Checks native integration (Salesloft-HubSpot integration exists)
  2. Walks through native integration setup and field mapping
  3. Defines sync direction (Salesloft → HubSpot, one-way for activity)
  4. Addresses dedup and conflict resolution Result: Native integration configured with clear sync direction and field mapping
用户需求:"我需要将所有Salesloft活动同步到HubSpot,以便营销团队能看到销售触点。" 技能处理
  1. 检查原生集成(Salesloft-HubSpot集成已存在)
  2. 指导原生集成的设置和字段映射
  3. 定义同步方向(Salesloft → HubSpot,单向活动同步)
  4. 解决重复数据和冲突问题 结果:配置完成的原生集成,同步方向和字段映射清晰

Example 3: HubSpot MQL → Apollo sequence

示例3:HubSpot MQL → Apollo序列

User says: "When a lead hits MQL status in HubSpot, I want to auto-enroll them in an Apollo sequence." Skill does:
  1. Designs trigger: HubSpot workflow on lifecycle stage = MQL
  2. Recommends Zapier (HubSpot trigger → Apollo "Add Contact to Sequence" action)
  3. Provides field mapping from HubSpot to Apollo contact fields
  4. Adds error handling (what if contact already exists in Apollo, what if sequence is full) Result: MQL-triggered enrollment with field mapping and error handling
用户需求:"当HubSpot中的线索达到MQL状态时,我想自动将他们加入Apollo序列。" 技能处理
  1. 设计触发条件:HubSpot工作流监控生命周期阶段变为MQL
  2. 推荐使用Zapier(HubSpot触发 → Apollo「将联系人添加到序列」操作)
  3. 提供HubSpot到Apollo联系人字段的映射配置
  4. 添加错误处理逻辑(如果联系人已存在于Apollo、序列已满的情况) 结果:实现由MQL触发的序列加入,包含字段映射和错误处理

Troubleshooting

故障排查

Sync creating duplicates

同步创建重复数据

Symptom: Same contact appearing multiple times in destination tool Cause: Missing dedup logic — sync creates new records instead of matching existing ones Solution: Add matching/dedup step before create. Match on email address (primary key). Use CRM's native dedup rules. For Zapier, use "Find or Create" actions instead of "Create."
症状:同一联系人在目标工具中多次出现 原因:缺少去重逻辑——同步时创建新记录而非匹配现有记录 解决方案:在创建记录前添加匹配/去重步骤。以邮箱地址为主键匹配。使用CRM的原生去重规则。对于Zapier,使用「查找或创建」操作而非「创建」操作。

Events not firing

事件未触发

Symptom: Webhook or trigger not executing when expected Cause: Webhook URL misconfigured, event type wrong, or tool's webhook delivery failing Solution: Check webhook logs in the source tool. Test with a webhook debugging tool (webhook.site or RequestBin). Verify the event type matches exactly. Check if the webhook was disabled after errors.
症状:webhook或触发条件未按预期执行 原因:webhook URL配置错误、事件类型错误、工具的webhook交付失败 解决方案:检查源工具中的webhook日志。使用webhook调试工具(webhook.site或RequestBin)测试。验证事件类型是否完全匹配。检查webhook是否因错误被禁用。

Rate limit errors in high-volume sync

高容量同步中的速率限制错误

Symptom: 429 errors, sync falling behind, or events being dropped Cause: Sending too many API requests too quickly Solution: Implement batching (batch multiple records per request where API supports it). Add exponential backoff on 429 responses. Reduce sync frequency (every 5 min instead of real-time). Use bulk API endpoints where available.
症状:收到429错误、同步滞后或事件丢失 原因:发送API请求的速度过快 解决方案:实现批量处理(在API支持的情况下,每个请求批量处理多条记录)。对429响应添加指数退避机制。降低同步频率(从实时改为每5分钟一次)。使用可用的批量API端点。