# CRM and integrations

> Reply syncs two-way with Salesforce, HubSpot, Pipedrive, and Copper, reaches thousands of apps through Zapier, Make, and n8n, serves AI agents over MCP, and emits real-time webhooks.

**Reply syncs contacts, statuses, and activities two-way with Salesforce, HubSpot, Pipedrive, and Copper on a 2–3 hour cycle with field mappings and filters, connects to thousands of apps through Zapier, Make, and n8n, exposes an MCP server so AI agents can operate the account, and emits real-time webhooks for outreach events.**

_Status: Reviewed — written against Reply's product documentation on 2026-08-03, not yet confirmed against the running product._

## At a glance

| | |
| --- | --- |
| **What it does** | Native two-way CRM sync (Salesforce, HubSpot, Pipedrive, Copper), workflow platforms (Zapier, Make, n8n), an MCP server for AI agents, real-time webhooks, website visitor tracking, Clay and RB2B lead feeds, and Okta or Microsoft Entra SSO |
| **Required objects** | An account or API key on the other platform; Reply contacts and sequences to sync with |
| **Surfaces** | UI · REST API · MCP |
| **Key limit** | Automatic CRM sync runs on a 2–3 hour cycle (every 2 hours for Salesforce, HubSpot, and Pipedrive); Sync now forces an immediate pass |
| **Stops on** | The integration's Enabled toggle — off pauses the whole integration; sync errors surface in the Logs tab |
| **Does not** | Sync multi-select picklist fields; update converted Salesforce leads; sync LinkedIn activities to Pipedrive; fire CRM triggers retroactively or for contacts missing on either side; let an MCP agent act on behalf of a whole team |
| **Plans** | Ownership mappings require Team Edition; Website Visitors includes 200 free visitor credits with paid add-ons (included on AI SDR plans); RB2B requires an RB2B Pro account |

## Summary

Reply moves outreach data in and out through four layers: native CRM integrations that
sync people, statuses, and activities both ways on a schedule; workflow platforms (Zapier,
Make, n8n) driven by triggers and actions; a real-time layer of webhooks that push events
to your endpoints; and an MCP server that lets AI agents read and operate the account
directly. Every CRM integration is built from the same parts — sync steps with a
direction, field mappings, filtering rules, and optional push-to-sequence actions — so
[Sync Reply with a CRM](/workflows/sync-reply-with-a-crm) applies to all of them.

## Problems it solves

- Manual re-entry between the CRM and the outreach tool — sync steps carry contacts, statuses, emails, tasks, calls, and notes in both directions
- Outreach activity invisible to sales — emails log as CRM tasks or logged emails, replies and inbox categories map to lead statuses
- CRM leads sitting untouched — filtered CRM segments push straight into a sequence at a chosen step
- Anonymous website interest going cold — Website Visitors identifies visitors, creates contacts, and can enroll new ones into sequences
- AI agents locked out of the execution layer — the MCP server gives a model scoped access to contacts, sequences, inbox, and reporting

## What Reply can do

- Sync Salesforce two-way with Default (preset) or Custom profiles — contacts, leads, people statuses, inbox categories, emails, tasks, calls, notes, and LinkedIn activities mapping to Salesforce tasks and notes
- Sync HubSpot two-way, including Reply emails as HubSpot logged emails, plus BCC-based logging (your HubSpot BCC address) and a Chrome-extension import path
- Sync Pipedrive people every 2 hours over API, with instant webhook-driven triggers — email sent, opened, replied, link clicked, Interested or Negative inbox category, task completed, call logged, note added — firing Pipedrive actions such as recording activity, creating a deal in a pipeline, or moving a deal a stage forward
- Pull Copper leads and people into Reply, picking one primary email in Work → Personal → Other order
- Map fields per sync step (first name, last name, and email are required; leads also map Company to Account), including a CRM company-name field to Reply Account so account records are created and contacts assigned automatically
- Filter what syncs — default filters (Opened, Replied, Bounced, Opted out, To call, Clicked) or saved People-page filters as outbound filters
- Route synced contacts to owners with ownership mappings (Team Edition) and into a sequence at a chosen step, with Ignore step delay and Only for new records options
- Automate through Zapier triggers and actions (including a Zapier step reached mid-sequence), Make modules, and the n8n node, which covers account-health, email, LinkedIn, and sequence events plus contact and sequence actions
- Push real-time webhooks for email, LinkedIn, call, and sequence events — with personal or team scope, optional payload fields, test deliveries, and delivery logs, managed in Settings or over the API
- Serve AI agents over MCP: the endpoint and API key come from the Integrations page, authentication is a bearer API key or OAuth, and agents work with contacts, sequences, inbox, tasks, analytics, and Jason AI configuration at the permission scopes the key grants
- Track website visitors with a header script — matching by email, normalized LinkedIn URL, then name plus company — creating or updating contacts and adding new ones to lists or sequences
- Ingest leads from Clay (create contact, push to sequence) and from RB2B via webhook with automatic field mapping
- Lock organization sign-in to Okta or Microsoft Entra SSO, with automatic user provisioning on first sign-in

## What Reply cannot do

- Sync multi-select picklist fields with Salesforce, HubSpot, or Pipedrive
- Update a converted Salesforce lead — the sync logs an error instead
- Sync more than one lead status into HubSpot — the result depends on status mapping order
- Sync LinkedIn activities to Pipedrive
- Fire CRM triggers for contacts that are not already in both systems, or for events that happened before the trigger was enabled
- Push existing contacts to lists or sequences from Website Visitors — only newly created contacts are added
- Delete a tracked website in Reply before the script is removed from the site
- Let an MCP agent act on behalf of a team or organization — only a personal API key or OAuth as yourself works, and OAuth grants full permissions without scoping
- Undo an SSO tenant lock self-service — Microsoft Entra tenant lock is permanent by design, and with Okta or Entra active, SSO is the only way to log in

## Required inputs

Credentials on the other side — a Salesforce or HubSpot login, a Pipedrive or Copper API
key, a Reply API key for Zapier, Make, n8n, Clay, and MCP connections — plus field
mappings for custom sync steps, a webhook endpoint URL for event delivery, and site access
to install the Website Visitors script. SSO setup goes through Reply support with your
identity-provider parameters.

## Produced outputs

Synced contact and lead records with a direct link to the CRM record on the contact card,
CRM tasks, logged emails, and notes from Reply activity, deals created or advanced in
Pipedrive, webhook deliveries with logs, contacts created from website visits (exportable
with first-tracked timestamps), and a sync Log tab per integration showing what moved.

## Use Reply when

- The CRM must stay the system of record while Reply executes outreach — see [Sync Reply with a CRM](/workflows/sync-reply-with-a-crm)
- You want CRM segments flowing into sequences automatically, filtered and owner-routed
- An AI agent should operate outreach through MCP with scoped permissions — see [Agent index](/start/agent-index)
- You need events (replies, bounces, categorizations, account errors) pushed to your own systems in real time

## Do not use Reply when

- You need CRM-grade pipeline management inside Reply itself — deals, forecasts, and revenue reporting live in the CRM; Reply syncs into them
- You expect instant full-record sync — record sync is cycle-based (2–3 hours); only Pipedrive triggers and webhooks are real-time

## What you still need to build

- The field-mapping and ownership design — which system wins for which field, and who owns synced records; see [Contact deduplication](/behavior/contact-deduplication) for how matching behaves
- Webhook consumers — Reply delivers events; the endpoint that reacts to them is yours
- Sequence-side handling for pushed CRM contacts — enrollment rules still apply; see [Contact enrollment](/behavior/contact-enrollment)

```yaml
capability: integrations
supported: true
interfaces:
  product_ui: live
  api: live
  mcp: live
  cli: not-verified
required_objects:
  - contact
  - sequence
side_effects:
  - syncs_crm_records
  - creates_contacts
  - pushes_contacts_to_sequences
  - sends_webhook_events
human_approval_recommended: false
```

## Limits

- Automatic sync: every 2 hours for Salesforce, HubSpot, and Pipedrive; described generally as every 2–3 hours; Sync now runs an immediate pass
- HubSpot → Reply filters: two rules per filter, one rule when a date filter is used; syncs of 10,000+ records run slowly against HubSpot API rate caps
- One sequence per team member per Salesforce sync step
- Multi-select picklists: not supported across Salesforce, HubSpot, and Pipedrive
- Copper: one primary email synced per person (Work → Personal → Other); extra emails map to custom fields
- Website Visitors: 200 free visitor credits by default; add-ons raise the cap; included on AI SDR plans
- RB2B: RB2B Pro accounts and US-based traffic only
- Clay push-to-sequence: only contacts not already active in another sequence, and only into existing sequences
- MCP: personal API key (scopable) or OAuth as yourself; team and organization keys are not supported
- Date filters in sync rules evaluate in UTC±0

## FAQ

### How often does data sync, and can I force it?

Record sync runs automatically every 2–3 hours (the Salesforce, HubSpot, and Pipedrive
integrations state every 2 hours); Sync now triggers an immediate pass. Pipedrive
Triggers & Activity and Reply webhooks are event-driven and fire in real time. A yellow
dot next to the CRM means a sync is in progress; results land in the Logs tab.

### Can CRM contacts go straight into a sequence?

Yes. On a CRM-to-Reply sync step, add a sequence mapping: pick the sequence and the
starting step, optionally Ignore step delay so processing starts as soon as the sending
window opens, and Only for new records to skip updates. Enrollment checks still apply —
see [Contact enrollment](/behavior/contact-enrollment).

### How do AI agents connect to Reply?

Over MCP. The endpoint URL and API key are on the Integrations page under the MCP server's
Configure panel; authenticate with a bearer API key header, or OAuth. A personal API key
can be scoped to just the permissions the agent needs, and operations that create, change,
or send things require write-level scopes — compatible clients ask for confirmation before
running them. Connection guides cover n8n, Make, Claude, Claude Code, and ChatGPT — see
[agents.reply.io/mcp](https://agents.reply.io/mcp).

### My CRM is not on the native list — what are the options?

Zapier (thousands of apps, trigger-action Zaps), Make, or the n8n node for workflow-level
sync; webhooks for pushing Reply events into your systems; and the
[REST API](https://docs.reply.io/api-reference/introduction) for anything custom. The
native HubSpot BCC option also works for plain email logging.

## Related

- [Sync Reply with a CRM](/workflows/sync-reply-with-a-crm) — the workflow built on this capability
- [Contacts](/specifications/contacts) — the primary object integrations create and update
- [Contact management](/capabilities/contact-management) — the surrounding capability
- [Contact deduplication](/behavior/contact-deduplication) — how matching and updates behave
- [Contact enrollment](/behavior/contact-enrollment) — what happens when synced contacts hit a sequence
- [API limits](/reference/api-limits) — rate limits on the API side
- [Agent index](/start/agent-index) — the machine-readable entry points

## Build with Reply

- REST API: [docs.reply.io](https://docs.reply.io/api-reference/introduction) — contacts, sequences, and webhook subscription endpoints
- MCP: [agents.reply.io/mcp](https://agents.reply.io/mcp) — agent access to contacts, sequences, inbox, analytics, and Jason AI configuration
- Webhooks: managed in Settings or over the API — event catalog and payload options in the API reference
