Skip to content

How to Sync Zendesk with Salesforce: A Two-Way Integration Guide

Support runs in Zendesk and sales runs in Salesforce, and without a sync the two drift: duplicate contacts, stale ticket status, and agents re-checking the CRM by hand. This guide shows what to sync between Zendesk and Salesforce, how a two-way sync keeps contacts, accounts, and cases in step, and how to set it up without duplicates or loops.

Author
Ruben Burdin · Founder & CEO
Published
July 21, 2026
Read time
8 min read
How to Sync Zendesk with Salesforce: A Two-Way Integration Guide
REVOPS

Support lives in Zendesk and sales lives in Salesforce, and they are looking at the same customers from two sides. An agent working a ticket needs the account owner, the renewal date, and the plan tier that sit in Salesforce. An account executive needs to know their customer has three open tickets before they push a renewal. When the two systems are not synced, each team keeps its own half of the picture and fills the gaps by hand.

The fix is a two-way sync between the two. Match the records once, map the fields that both teams rely on, and let a sync layer keep them in step so a change in either tool reaches the other in real time. This guide covers what to sync, how the two-way sync works, and how to set it up without creating duplicates or update loops.

A Zendesk and Salesforce sync keeps three things in step: contacts and accounts matched with no duplicates, ticket status and case fields current in both tools, and one customer view kept in sync both directions by Stacksync

Done properly, the sync keeps three things in step: contacts and accounts, ticket status and case fields, and the single view of the customer both teams work from. Get those right and support and sales stop re-keying and re-checking each other's tools.

Why Zendesk and Salesforce drift apart

The two systems drift because they are edited independently all day. Support creates and updates tickets in Zendesk; sales edits accounts and contacts in Salesforce. Nothing connects the two edits, so the same customer ends up with a slightly different story in each tool: a contact with one email in Zendesk and another in Salesforce, a ticket marked solved that the linked case still shows open, an account whose owner changed last week that support never saw.

Teams paper over it with manual work. Someone exports a report and reconciles it, an agent alt-tabs to the CRM on every ticket, or a one-way connector copies contacts across on a schedule and quietly duplicates half of them. None of it holds up under volume, and the cost is real: a customer told something out of date, or a renewal worked without knowing about an escalation.

Without a syncWhat it causes
Contacts edited in both toolsDuplicate and conflicting records
Ticket status not reflected in the caseSales works from a stale support picture
Account changes never reach ZendeskAgents miss owner, tier, and renewal context
Manual reconciliation and tab-switchingSlow, error-prone, and never current

What happens when Zendesk and Salesforce are edited independently with nothing keeping them in step.

What to sync: contacts, accounts, tickets, and cases

Start by deciding which objects and fields belong in the sync. The mapping is straightforward because the two systems model the same ideas: a Zendesk user is a Salesforce contact, a Zendesk organization is an account, and a Zendesk ticket is a case. Within each, you sync the fields both teams act on and leave internal-only fields local.

ZendeskSalesforceWhat syncs
UserContactName, email, phone, matched on email
OrganizationAccountCompany, domain, tier; matched on domain
TicketCaseStatus, priority, subject, owner, both ways
Custom fieldsCustom fieldsPlan, renewal date, region, mapped per field

A typical Zendesk to Salesforce object and field map. Match keys keep records paired; custom fields map one to one.

The match keys matter as much as the fields. Email pairs a Zendesk user with the right Salesforce contact, and company domain pairs an organization with the right account, so updates land on the existing record instead of spawning a duplicate. Set those before anything else.

How the two-way sync works

With the objects mapped, a sync engine sits between Zendesk and Salesforce and keeps the paired records in step. It matches records on the keys you set, maps the fields across the two schemas, and applies each change to the other side. Neither team logs into the other's tool; both keep working where they already work.

Zendesk (tickets, users, organizations) and Salesforce (contacts, accounts, cases) each stay in place; a two-way sync engine in the middle handles identity match on email and domain, field mapping, and origin tracking so nothing loops
Each tool stays where it is. The engine matches records, maps fields, and keeps both sides in step both ways.

Three details make it trustworthy. Identity match pairs each Zendesk record with the right Salesforce one on email and domain, so nothing duplicates. Field mapping translates status, priority, and custom fields between the two shapes. Origin tracking tags every write as coming from the sync, so when the other system reports the change back it is recognized and not resent, which is what stops a single edit from looping between the tools.

A change crossing both ways

It helps to follow one change through the sync. Say an agent moves a ticket to solved in Zendesk. The engine picks up the change, finds the linked Salesforce case, and updates it, along with any mapped fields, then confirms without writing an echo back to Zendesk. The same path runs in reverse when sales changes an account owner or renewal date and it needs to appear on the ticket.

Sequence: a ticket status change in Zendesk is tagged with its origin, the contact is matched on email and domain, the linked Salesforce case and contact are updated, Salesforce acks, and the origin tag stops the ack from bouncing back to Zendesk
One change crossing the sync. The origin tag stops the acknowledgement from returning as a new change.

Because the engine reacts to changes in real time rather than on a schedule, the update lands on the other side in seconds. Support and sales are never more than a moment out of step, and neither team has to check the other's tool to trust what they see.

Book a Stacksync demo: sync Zendesk and Salesforce two-way, contacts, accounts, and ticket status

Setting up the Zendesk and Salesforce sync

The setup is a short sequence, and after it the sync runs unattended.

  1. 01
    Connect both systems
    Authorize Zendesk and Salesforce to the sync layer; no login into either tool from the other.
  2. 02
    Pick the match keys
    Use email for contacts and company domain for accounts so records pair instead of duplicating.
  3. 03
    Map the objects and fields
    Map users to contacts, organizations to accounts, and tickets to cases, including the custom fields both teams use.
  4. 04
    Set direction and conflict rules
    Decide which fields are two-way and which are one-way, and how conflicts resolve when both sides edit the same field.
  5. 05
    Run an initial match, then turn on real-time sync
    Pair existing records first, then enable the two-way sync with origin tracking so updates flow both ways without looping.

This same pattern is how any pair joins a Zendesk integration layer. If you are connecting more than these two, see an enterprise-grade iPaaS for Zendesk, and if you want agents to see this synced context without leaving a ticket, see full customer context in the helpdesk.

Bringing it together

Syncing Zendesk and Salesforce is about giving support and sales one current view of the same customer. Match contacts and accounts on a stable key so nothing duplicates, map ticket status and case fields both ways, and use origin tracking so updates do not loop. Then a ticket resolved in Zendesk and an account changed in Salesforce both show up where the other team works, in seconds.

To connect Zendesk and Salesforce with real-time two-way sync, see how two-way sync works or book a demo. To route and escalate tickets on that live account data once it is synced, see auto-routing support tickets.

Start syncing with Stacksync: keep Zendesk and Salesforce in step

FAQ

Frequently asked questions

How do you sync Zendesk with Salesforce?
You connect both systems to a sync layer, match records on a stable key such as email and domain, map the fields that should be shared, and turn on a two-way sync. From then on a Zendesk user or organization stays linked to its Salesforce contact and account, and ticket status, priority, and case fields stay current on both sides. Because the sync is bidirectional, a change in either tool reaches the other in real time without anyone re-entering data.
What data should sync between Zendesk and Salesforce?
The core objects are contacts and accounts, tickets and cases. A Zendesk user maps to a Salesforce contact, a Zendesk organization maps to an account, and a Zendesk ticket maps to a Salesforce case. Within those, sync the fields both teams rely on: name and email, company, ticket status, priority, owner or assignee, and any custom fields such as plan tier or renewal date. Keep internal-only fields local to each system.
Is the Zendesk and Salesforce sync two-way?
It should be. A one-way feed leaves one team working from stale data. With a two-way sync, a ticket resolved in Zendesk updates the linked Salesforce case, and an account change in Salesforce, such as a new owner or renewal date, flows back to Zendesk so agents see it on the ticket. Origin tracking keeps the two directions from looping, so a single edit does not bounce back and forth.
How do you avoid duplicate contacts when syncing Zendesk and Salesforce?
You match records on a stable identity rather than creating new ones. Email is the usual key for contacts, with company domain for accounts, and the sync stores the link between the two records so later updates land on the existing pair instead of making a duplicate. If both systems already hold overlapping records, you run an initial match to pair them before enabling the ongoing sync.
Does syncing Zendesk and Salesforce need custom code?
For the standard objects and fields, no. You map contacts, accounts, tickets, and cases through configuration, including custom fields, and set the direction and conflict rules per field. Custom logic is available when a workflow needs it, but keeping Zendesk and Salesforce in step is normally a matter of mapping and rules rather than a codebase to maintain.
How does Stacksync sync Zendesk and Salesforce?
Stacksync connects Zendesk and Salesforce directly and runs a real-time, two-way sync between them. It matches contacts on email and domain, maps ticket and case fields in both directions, resolves conflicts with one shared policy, and uses origin tracking so updates do not loop. A change on either side shows up on the other within seconds, so support and sales always work from the same customer record.

About the author

Ruben Burdin
Ruben Burdin
Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

All posts by Ruben Burdin

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.