Fields from your mapping
The mapping you built for the import is read backwards to decide what goes. There is no second list to keep up to date, and a field you never mapped cannot leave.
Two-way CRM sync
Two-way sync here means your CRM changes go back to the other system only after a person reads the exact list and approves it. Nothing moves as a side effect of an edit. It covers nine systems, sends the fields your mapping names, and records what the vendor answered. Changes coming the other way arrive through a repeat import.
This is built and tested in our own environment. It has not run against a live account at any vendor, and it stays off until it has. If you want to be among the first, write to us and we will tell you when it can open for your account.
Every field the connection's saved mapping names, custom ones included, and nothing it does not.
The mapping you built for the import is read backwards to decide what goes. There is no second list to keep up to date, and a field you never mapped cannot leave.
HubSpot, Pipedrive, Dynamics 365, Salesforce, Zoho and Fireberry take all three. monday.com, Zebra and MyBusiness take contacts.
These stay out on purpose. They are identity, relationships and money, and the same boundary applies on the way in, so a sync cannot reassign a customer or change a deal's value.
An empty value is never sent. Clearing a field here does not wipe it in the other system, so a half-finished record cannot erase the good data sitting beside it.
Each waiting row shows the record and the fields it would send. Editing a record that is already waiting refreshes the row, so what goes is its current value.
Every row keeps what was sent and how the vendor replied. A failed row stays visible with its reason, and it can be retried without starting over.

Coverage follows what each vendor's API accepts. A record type that is absent here cannot be written at all.
| System | Records it receives | How a record is found | Custom fields |
|---|---|---|---|
| HubSpot | Contacts, companies, deals | The link from your import | Yes, from the mapping |
| Pipedrive | Contacts, companies, deals | The link from your import | Yes, from the mapping |
| Microsoft Dynamics 365 | Contacts, companies, deals | The link from your import | If your mapping names one |
| Salesforce | Contacts, companies, deals | The link from your import | Yes, from the mapping |
| Zoho CRM | Contacts, companies, deals | The link from your import | Yes, from the mapping |
| Fireberry | Contacts, companies, deals | The link from your import | If your mapping names one |
| monday.com | Contacts | The link from your import | If your mapping names one |
| Zebra | Contacts | A field you choose, such as email | Not yet |
| MyBusiness | Contacts | Email, one exact match only | Not yet |
Zebra and MyBusiness can receive changes but cannot be imported from. On Fireberry, monday.com and MyBusiness, the update path still has to be confirmed on a first live run, and MyBusiness needs an app ID from the vendor.
An owner or admin opts in. The first scan starts from that moment, so turning it on does not list everything an import ever touched.
A scan lists the linked records changed since the last one, up to two hundred at a time, and carries on where it stopped. It sends nothing.
A person reads the rows and approves. The approval is bound to a fingerprint of that exact list, so a list that changed afterwards needs a new approval.
Each row shows the vendor's answer. Failed rows stay on the list with a code, so you fix the cause and retry them.
A continuous sync feels effortless until the day a bad import or a wrong mapping rewrites thousands of records in a system another team depends on. By the time anyone notices, the old values are gone and the two systems agree on the wrong answer. Writing into another company's system is the riskiest thing an integration does, so here it is treated like sending a campaign: prepared by software, released by a person.
That is why there are three locks rather than one. The service has to allow it, the connection has to opt in, and a person has to approve a list whose fingerprint matches what they read. There is no API route and no MCP tool that sends. An assistant can show you what is waiting and help you decide, and it stops there.
The other direction is deliberate too. Changes made in the other system come in when you run the import again. Empty fields are filled, your existing values stay, and a contact name that differs goes to the conflict queue. So you get two systems that stay close, with people in charge of the differences, rather than two systems racing to overwrite each other.
If you need any of these, it is better to know now.
This is batch work with an approval in the middle. If a change must reach another system immediately, use the signed webhooks and the API, and build that flow on your side.
These are excluded by design and the exclusion is not a setting. If your process needs them changed in the other system, change them there.
It is not switched on, and no vendor has been tested against a live account. We would rather say that than have your first batch be the test.
Clear answers
Name the system and the records that matter. We will tell you what is tested, what is not, and when it can open for you.