Operate and analyze
Sync Reply with a CRM
Workflow Reviewed · not yet fact-checked Checked against sources 2026-08-03
Connect Salesforce, HubSpot, or Pipedrive natively, pick the Default profile or build Custom sync steps with field mappings, filtering rules, and ownership mappings, and optionally push synced contacts into sequences. Contact sync runs about every 2 hours with a manual Sync now option; Pipedrive triggers fire through webhooks in real time.
At a glance
| Aspect | Detail |
|---|---|
| Outcome | Contacts, statuses, and outreach activity consistent between Reply and the CRM, with synced contacts optionally flowing into sequences |
| Required objects | A CRM account with connect rights (Salesforce/HubSpot login, or a Pipedrive API key), contacts, a mapping plan |
| Surfaces | UI · REST API · MCP |
| Key limit | Automatic sync runs every 2-3 hours (Salesforce and HubSpot document every 2 hours); Sync now forces an immediate pass |
| Stops on | Activity for a contact that does not yet exist in both systems is not synced; converted Salesforce leads cannot be updated |
| Does not | Support multi-select picklist contact fields; sync manual LinkedIn tasks or historical LinkedIn activity; sync out-of-office and auto-reply emails |
| Plans | Ownership mappings require Team Edition (or a team owner in Private mode) |
Goal
Reply and the CRM agree: contacts exist in both, outreach activity — emails, tasks, calls, notes, LinkedIn steps — is visible to sales in the CRM, statuses and inbox categories update lead statuses, and CRM contacts can flow straight into sequences.
When to use this workflow
A CRM is the system of record for pipeline and Reply is the execution layer for outreach — that is, most real deployments.
What Reply provides
Native integrations with Salesforce, HubSpot, Pipedrive, and Copper CRM, plus Zapier for everything else. Each native integration offers a Default profile (preset sync steps, start immediately, not editable) and a Custom profile (your own steps, directions, field mappings, filtering rules, and ownership mappings), a Logs tab, and a Sync now button on top of the automatic cadence.
What you must provide
The ownership decision per field and per direction (which system wins), the field-mapping plan, and — in teams — the owner pairs that route synced contacts to the right people.
Preconditions
Connect rights in the CRM (Salesforce and HubSpot connect via login; Pipedrive uses the API key from its Settings → API page); Team Edition for ownership mappings; in teams, set the integration up from the team owner's account and map the rest via ownership mappings.
Flow
connect CRM → choose Default or Custom profile
→ add sync steps (direction per step)
→ map fields → add filtering rules → map owners (Team Edition)
→ optional: People to sequence (pick sequence + step)
→ activate step toggles + integration toggle
→ automatic sync every 2-3 hours + Sync now · check Logs
Step-by-step
- Connect the CRM. Open the Integrations page, find your CRM, and click Connect — log in for Salesforce or HubSpot, or paste the Pipedrive API key. Native options are Salesforce, HubSpot, Pipedrive, and Copper CRM; other tools connect through Zapier.
- Pick the profile. The Default profile ships preset sync steps and field mappings you cannot edit but can run immediately. The Custom profile lets you add as many steps as you need, flip each step's direction, and control mappings and filters per step.
- Add sync steps. Contacts sync both directions (Salesforce Leads or Contacts ↔ People in Reply; HubSpot Contacts ↔ People; Pipedrive People ↔ People). Outbound activity steps push emails, tasks, calls, notes (Salesforce), and LinkedIn activities into CRM records; status steps map Reply contact statuses and inbox categories onto CRM lead statuses. Pipedrive does not sync LinkedIn activities.
- Map fields. Required mappings: Salesforce Contacts need First Name, Last Name, and Email; Salesforce Leads additionally map Company to Account; HubSpot needs first name and email; Pipedrive requires the full name field (first name alone is enough). Beyond those, map any standard or custom fields. Reply does not support multi-select picklist contact fields in Salesforce, HubSpot, or Pipedrive integrations.
- Add filtering rules. Load a default filter (Opened, Replied, Bounced, Opted out, To call, Clicked) or a smart filter you saved on the People page, so only the right records sync. HubSpot-to-Reply filters support at most two rules per filter — one rule when a date filter is used. Date filters evaluate in UTC.
- Map owners (Team Edition). In each step's Ownership mappings, pair CRM owners with Reply owners — Save and apply for all steps copies the pairs everywhere. For CRM-to-Reply sync each CRM owner maps only once (Reply owners can repeat); for Reply-to-CRM the reverse. Do not combine Owner ID filters with ownership mappings, and switch off Salesforce automatic assignment rules — both interfere.
- Push synced contacts into sequences. In the People to sequence section, pick the target sequence and step. Ignore step delay processes the contact as soon as the schedule opens; Only for new records skips updated records. One sequence per team member per sync step, and only owners included in your ownership mappings receive contacts.
- For Pipedrive, wire triggers. People sync via API every 2 hours; the Triggers & Activity section works through webhooks in real time. Events — email sent, opened, link clicked, replied, inbox category Interested or Negative, task completed, call logged, note added — fire actions in Pipedrive: record activity for the person or deal, create a deal in a chosen pipeline, or move a deal to the next stage. Triggers do not create contacts and do not sync retrospectively.
- Activate and monitor. Turn on each sync step's toggle and the integration's own toggle. Automatic sync runs every 2-3 hours; click Sync now to force a pass. The Logs tab shows what synced and how many records; a yellow dot next to the CRM means a sync is in progress. Synced contacts get a direct link to their CRM record in the contact card.
Failure conditions
- Activity not syncing — the contact must exist in both systems first; sync contacts before emails, tasks, or calls
- Converted Salesforce leads — they sync into Reply, but updates to a converted lead fail with an error in Logs
- Field fights — multi-select picklists are unsupported, and unmapped statuses do not transfer; map values explicitly in the Fields mapping block
- Slow HubSpot syncs — HubSpot API rate limits mean 10,000+ record syncs take considerable time
- Owner conflicts — Owner ID filters combined with ownership mappings, or Salesforce auto-assignment rules, can stop contacts from syncing correctly
Verification
Pick one test contact: create it in the CRM and confirm it appears in Reply after a sync pass (or Sync now); enroll it and confirm the sequence email shows up on the CRM record (Salesforce: Activity History); set an inbox category and confirm the mapped lead status updates; check the Logs tab counts.
Limits
- Automatic sync cadence: every 2-3 hours (Salesforce and HubSpot: every 2 hours); manual Sync now anytime
- Each email, task, and call syncs only once; out-of-office and auto-reply emails are not synced
- Calls become available for sync about 30 minutes after completion, so recordings are ready
- Tasks sync as completed only by default (toggle to include pending); CRM-side tasks default to medium priority
- LinkedIn activities: automatic steps only, and only those performed after the integration was enabled; Pipedrive does not sync them
- HubSpot-to-Reply filters: two rules per filter maximum, one with a date filter
- Multi-select picklist contact fields are not supported
Related
- Contact management
- Contacts
- Process positive replies — what generates the statuses you sync
- Contact deduplication — how synced records match existing ones
Build with Reply
- REST API: docs.reply.io — contacts and webhooks endpoints
- MCP: agents.reply.io/mcp — agents connect and configure integrations