HubSpot + Zendesk integration
Zendesk holds the ticket, the requester and the satisfaction rating. What HubSpot's Zendesk app syncs, what Zendesk's own app adds, and where a build starts.
Connects by APIScope this integration Book a scoping call Estimate the cost
- Into HubSpot
- Two way
Is there an official Zendesk + HubSpot integration?
Yes. HubSpot publishes a Zendesk app, listed in the HubSpot App Marketplace as of September 2026, that keeps Zendesk users and organizations in step with HubSpot contacts and companies and copies tickets one way into HubSpot. It is the right start for most teams at 8 to 24 hours of setup and review. It stops at archived tickets, satisfaction detail and any write back into a Zendesk ticket, which is where a custom API integration on Zendesk's incremental exports takes over.
- Recommended route
- Marketplace app
- Build effort
- 8 to 24 hours
- In the HubSpot App Marketplace?
- Yes, Zendesk by HubSpot
- Typical elapsed time
- 1 to 2 weeks
Marketplace checked September 2026.
Why teams connect Zendesk to HubSpot
Zendesk is where a customer’s frustrations are written down. Every ticket carries the requester, the organization, the agent’s replies and, once it is solved, a satisfaction rating. None of that reaches the account manager in HubSpot, who is about to ask the same customer for a larger contract and usually hears about the bad month from the customer, on the renewal call.
Support leaders feel the gap from the other side. They cannot tell which organizations sit in an open deal or a renewal, so a customer worth a large expansion waits in the same queue as a free trial. Marketing sends a product announcement to someone whose ticket has been open for a week, and the reply lands in support rather than in sales.
Most of this is solved without a build, which is why this page starts with the apps. HubSpot publishes one that syncs Zendesk users, organizations and tickets as records, and Zendesk publishes one that writes ticket events onto the contact timeline. The engineering questions start at the edges: history older than Zendesk’s archive window, satisfaction and service level detail, and anything HubSpot needs to write back into a ticket. Those edges are where this page spends its time.
What syncs
Three objects carry the relationship. Zendesk users become HubSpot contacts, organizations become companies, and tickets become HubSpot tickets in a support pipeline, associated to both. HubSpot’s app maps users and organizations both ways and tickets one way, and that direction is right: Zendesk owns the ticket, and HubSpot owns the pursuit.
Keys matter more than they look. Email is the natural match for a user, but an end user can change it, so the Zendesk user id travels in a custom property as the tie breaker. Organizations key on their Zendesk id and never on the name, because agents rename organizations to fix a typo and a name match then creates a second company.
Satisfaction ratings belong on the ticket they rate. Zendesk’s own app already shows them on the contact timeline for solved tickets. When a rating has to drive a HubSpot workflow or a company health score, it needs to be a property on the HubSpot ticket, and that is a build.
| | | Direction | Match key | Notes |
|---|---|---|---|---|
| User (end user) | Contact | Two way | Email, with the Zendesk user id in a custom property as the tie breaker | HubSpot's app maps users to contacts in both directions by default. |
| Organization | Company | Two way | Zendesk organization id in a custom property, never the name | |
| Ticket | Ticket | Into HubSpot | Zendesk ticket id | HubSpot's app skips archived tickets, so older history needs a backfill. |
| Satisfaction rating | Ticket | Into HubSpot | Zendesk ticket id, written as properties on the HubSpot ticket | Zendesk's own app shows the score on the contact timeline for solved tickets. |
Architecture
HubSpot’s app runs on HubSpot data sync. After the first sync, HubSpot’s documentation says records follow within 10 minutes of a change, and a conflict rule names the app that wins when both sides edit the same field. Zendesk’s own app works through three triggers and a webhook it creates in Zendesk, which post ticket events to HubSpot as they fire.
When a build is needed, it is a polling watermark sync on Zendesk’s cursor-based incremental ticket export. The service stores the cursor rather than a clock, asks for everything that changed after it, and upserts HubSpot tickets in batches keyed on the Zendesk ticket id. Users and organizations follow from their own incremental exports, and a separate pass writes the associations. A trigger connected to a webhook can post a ticket id the moment it changes, which only tells the service to read sooner. State lives in the service, so a replay is a cursor rewind and a restart resumes where it stopped.
What the API allows
- API style
- REST
- Authentication
- OAuth 2.0
- Webhooks
- Yes
- Changed-since filter
- Yes
- Sandbox
- On paid plans
- Rate limit
- 200 to 2,500 Support API requests per minute by plan, and 10 requests a minute on incremental exports
Developer documentation developer.zendesk.com
Three ways to connect
Here the question is which records have to exist in HubSpot. If sellers only need to see what a contact has raised, Zendesk’s own app puts ticket events on the timeline and asks nothing of HubSpot’s data model. If service data has to be reportable, filtered and used in workflows, HubSpot’s app is the better start, because it creates real ticket records and syncs organizations to companies.
A custom API integration becomes worth its hours at three points: history beyond the archive, service detail the mappings cannot carry, and writes back into Zendesk. We steer away from an iPaaS here, because ticket volume turns into a per-task bill for work HubSpot’s app already does.
-
Marketplace app
RecommendedHubSpot's own Zendesk app syncs users, organizations and tickets with default mappings and nothing to host, and custom field mappings come with a Data Hub subscription.
-
Custom API integration
PossibleA custom API integration on the cursor-based incremental export earns its cost when archived history, satisfaction detail or ticket metrics must land in HubSpot, or when HubSpot has to update Zendesk tickets.
-
iPaaS
AvoidAn iPaaS turns every ticket update into a billable task, so the bill follows support volume, while HubSpot's own app covers the common case without a per-task charge.
What breaks and how we prevent it
Archived tickets the app skips
Zendesk usually archives a ticket 120 days after it closes, and HubSpot’s app does not sync archived tickets. Connect it to a mature account and the closed history in HubSpot starts about four months back. We backfill archived tickets once from the incremental export, which still returns them, before the app takes over new activity.
The minute the export holds back
The ticket export never returns the most recent minute, and a start time must be at least a minute old. The time-based version can also return tickets with an updated_at older than the start time, because it compares a different timestamp. We use the cursor-based export, store the cursor, and never deduplicate on updated_at.
The webhook nobody should test
Zendesk’s own app creates three triggers and one webhook. Zendesk warns that testing that webhook from Admin Center sends invalid JSON and disconnects the integration. We write that into the runbook, test with a real ticket in the sandbox instead, and filter what reaches HubSpot by editing the triggers’ conditions.
Ten export calls a minute
Incremental exports allow 10 requests a minute, or 30 with the High Volume add-on, whatever the plan’s general limit. At 1,000 tickets a page that is 10,000 tickets a minute at best, so a backfill of a large account is planned rather than started casually. We shrink the page size when requests slow down, as Zendesk recommends.
Our approach
- Scope. We read the Zendesk plan, the sandbox allowance, how much history sits in the archive, and which service fields must drive HubSpot reports or workflows.
- Architect. We choose the app or apps, set the conflict rule, the ticket pipeline and its statuses, and decide whether a backfill or a build sits beside them.
- Build. Setup happens in a Zendesk sandbox and a HubSpot sandbox first, with custom mappings where Data Hub allows and any backfill keyed on the Zendesk ticket id.
- Validate. We reconcile ticket, user and organization counts against Zendesk and review duplicates from the first week’s sync.
- Operate. We watch the sync’s error list, keep the triggers documented, and re-check the mapping when either vendor changes a default.
Common questions
Should we install HubSpot's Zendesk app or Zendesk's own app?
They do different jobs, and some teams run both. HubSpot's app is a data sync: users with contacts, organizations with companies, and tickets one way into HubSpot as records. Zendesk's app writes ticket events, conversations and satisfaction scores onto the HubSpot contact timeline, one way, through three triggers and a webhook it creates in Zendesk. Choose HubSpot's when tickets must be reportable records.
Does HubSpot's Zendesk app bring over old tickets?
Existing records sync when the app connects, but HubSpot's listing says archived tickets will not. Zendesk usually archives a ticket 120 days after it closes, and a Zendesk sandbox archives closed tickets after three days, which surprises people in testing. History older than that needs a one-time backfill from Zendesk's incremental export, which still returns archived tickets.
How quickly does a Zendesk change reach HubSpot?
Through HubSpot's app, within ten minutes. HubSpot's data sync documentation says records sync within 10 minutes of a change once the first sync completes, with HubSpot checking its own side every five minutes and the other app signalling changes by webhook. Zendesk's own app posts ticket events as its triggers fire. A custom build reads within seconds of a trigger's webhook.
Can HubSpot update a Zendesk ticket?
Not through either marketplace app. HubSpot's app copies tickets one way into HubSpot, and Zendesk's app sends ticket events into HubSpot too. A build can write through the Tickets API, within Zendesk's limits of 30 updates to one ticket by one user in ten minutes and 100 update requests a minute per account, or 300 with the High Volume add-on. We gate those writes behind a review step.
What are the Zendesk API rate limits for an integration?
They depend on the plan: 200 Support API requests a minute on Suite Team, 400 on Growth and Professional, 700 on Enterprise and 2,500 on Enterprise Plus or with the High Volume API add-on. Incremental exports have their own ceiling of 10 requests a minute, 30 with the add-on. A 429 response carries a Retry-After header, and we wait exactly that long.
Do we need a Zendesk sandbox to test the integration?
It helps, and availability depends on the plan. Support Enterprise includes one sandbox, Suite Enterprise and Enterprise Plus include two, and Support Professional or Suite Growth and above can buy one. A sandbox copies configuration and up to 10,000 tickets, but it does not stay in step with production and its targets start inactive, so we refresh it before each test cycle.
Does the Zendesk API still accept API tokens?
Zendesk now marks API tokens as deprecated and tells existing customers on basic authentication or API tokens that they will have to migrate to OAuth access tokens. An OAuth token gives access to the single Zendesk instance whose client created it. We build on OAuth from the first commit, so the migration Zendesk asks for never lands on your integration.
How long does a Zendesk and HubSpot setup take?
For HubSpot's app, 4 to 8 hours of discovery and 8 to 24 hours of setup and validation. Most of that goes on the field mapping, the ticket pipeline, the conflict rule that decides which app wins a disagreement, and reconciling counts against Zendesk. If archived history or write backs are in scope, the build is scoped separately.
Also in Customer service and support
Related reading
Partnerships and accreditations
HubSpot accreditations
Industry specializations
Partnerships
Trust and compliance
We design integrations to support the security and privacy rules your business works under, and we build them on independently audited platforms.
-
SOC 2
We build to support SOC 2 security controls, on platforms that hold SOC 2 reports of their own.
-
ISO/IEC 27001:2022
We build to support your information security program under ISO/IEC 27001:2022.
-
HIPAA
We scope BAA needs in discovery, then design builds around them for covered entities and their business associates.
-
GDPR
We scope data-processing needs in discovery and design builds to support your GDPR duties.
About the GDPR at the European Commission (opens in a new tab)
-
PIPEDA
We design builds to support your accountability for personal information as it moves between systems.
-
CASL
We can build consent capture and sync that support your CASL consent records.
Our builds run on
How we build
- Sandbox first. We build and test in a sandbox before anything reaches production.
- Fail-closed allowlists. An integration runs only against the HubSpot accounts it is approved for.
- Least-privilege access. Each integration gets only the API scopes it needs.
- Secrets in a vault. Keys and tokens live in a secrets vault, never in plain text.
- Sensitive data scoped early. Discovery covers sensitive data, access controls and any BAA or data-processing needs.
- A compliance package for regulated industries: audit logging, field-level encryption and sensitive-data handling.
Scope a Zendesk integration
Send the systems, the direction and the record volume. We reply with a scope and an effort band within one business day.
Thanks, we will reply within one business day
Prash or Sean reads every one of these and comes back with a scope, or with the one question we need answered first.
Sources
- Security and authentication developer.zendesk.com
- Rate limits developer.zendesk.com
- Incremental Exports developer.zendesk.com
- Webhooks API developer.zendesk.com
- Webhook event types developer.zendesk.com
- About Zendesk sandbox environments support.zendesk.com
- About ticket archiving support.zendesk.com
- Setting up the Zendesk Support for HubSpot integration support.zendesk.com
- Connect and use HubSpot data sync knowledge.hubspot.com
- Zendesk - Ticketing App for HubSpot ecosystem.hubspot.com