Contacts
In short
How do I sync contacts from HubSpot or Salesforce into Reply with the Chrome extension?
CRM Sync in the extension reads HubSpot and Salesforce. Open a record or a list view in the CRM with the extension running, and the fields on screen are collected into the CRM Sync tab, where Save writes them to Reply and Move to files them into a list or a sequence. Because the extension reads what the CRM page displays, the fields you want must be visible in that view.
Goal
CRM records available for outreach in Reply (either one person you happen to be looking at, or a whole list view) without an export file in between. This is the browser route; the server-side alternatives are described under integrations.
Preconditions
The extension signed in, and a CRM session in the same browser. Two CRMs are read this way: HubSpot and Salesforce. Copper is not among them: the extension itself says as much, with "The CRM Sync feature currently supports Hubspot, Salesforce only." Copper still connects to Reply as a native integration, which runs from the platform rather than from the browser. Custom fields transfer only when a field of the same name already exists on the Reply side.
Steps
- Open the record or the list view you want in your CRM. Salesforce works the same whether your org runs Classic or Lightning: one flow serves both, and what differs is which fields each interface puts on screen for the extension to read.
- Give the CRM page a moment with the extension open. Collection starts on its own when a contact page or a list loads; to repeat it yourself, click Find emails in the extension.
- Prepare the CRM view first if fields are missing. In HubSpot the extension reads the default fields present in the About section of the record, and for a list view the email column has to be switched on before anything can be collected. In Salesforce the fields have to be on the record layout, and mapping matters: the City field is not taken across, while Mailing Address is read into Country and State, falling back to Other Address when the mailing one is empty.
- Switch to the CRM Sync tab in the extension and read what came over. When it is empty you see "No results found" with "Try opening a page with contacts for CRM sync." underneath: that points at the CRM page, not at the extension.
- Click Save to write the collected people into Reply. New people are created; people Reply already knows are opened and enriched with what the CRM had.
- Click Move to and pick an existing list or sequence, or type a name to create a list as you go. Use the select-all control at the top to act on everything the page produced instead of one row at a time.
- Decide how often you want this to happen without you asking. You can always trigger collection by hand with Find emails; check the extension's Settings screen to see what your account does automatically for list views.
Expected result
The CRM Sync tab lists the people from the page, with the fields the CRM view exposed, and after saving they exist in Reply carrying the CRM data as their own. Anyone already in your account keeps their record and gains whatever the CRM knew that Reply did not.
Verification
Pick one synced person and open them in the Reply web app. The custom fields you care about should hold the CRM values; where one is empty, the cause is almost always that no Reply field of that name exists yet, or that the field was not shown on the CRM page you synced from.
What happens next
Contacts landed this way behave like any others. See Save contacts from the extension into Reply for what the destination dialog does with list membership and sequences. For a two-way, always-on connection rather than page-by-page collection, use the platform integration and the sync a CRM with Reply workflow.
Common mistakes
- Expecting Copper records here. That sync ran in an older version of the extension and no longer does; the native Copper integration is the supported route.
- Syncing a Salesforce Recently Viewed list. It is not collected, so open a real list view instead.
- Assuming custom fields arrive because they exist in the CRM. They need a Reply field with an identical name waiting for them, and list views bring across standard fields only.
- Reading a sudden empty result as a broken account. When a CRM redesigns its own pages the extension can stop recognizing the fields until a new version ships; updating the extension is the fix, and there is nothing to change on your side.
- Looking for the tab in a branded build that does not carry it. Some partner-distributed versions ship without CRM Sync altogether.
Related
Build with Reply
- REST API: docs.reply.io – move CRM records in bulk instead of page by page
- CLI: agents.reply.io/cli – scripted syncs on a schedule