Into Zendesk Support

What Shuttio writes into Zendesk, how it keeps the original dates, how to connect with an API token, how Zendesk's request limits shape a run, and what a rollback leaves.

Last updated: 7 Nov 2026

Helpdesks that can move into Zendesk Support: Freshdesk, HubSpot Service Hub. A migration is free under 5,000 records in total: contacts, companies, deals, notes, activities and files together; otherwise it is priced by record count. The sample is free. See pricing. Zendesk to Zendesk is not offered.

Object by object: What objects are supported for Zendesk Support migrations.

Connect

  • Shuttio asks for your Zendesk subdomain (the acme in acme.zendesk.com), an administrator's email and an API token.
  • Create the token in Admin Center, Apps and integrations, APIs, API tokens. "Allow API token access" must be on in API configuration, or Zendesk refuses every request. Ticket import is an administrator's call, so the user must be an administrator.
  • Zendesk switches bulk imports of users and tickets on only when you ask its support. If Zendesk answers 403 on the first batch, the run pauses and says so.
  • The token is stored encrypted and deleted 14 days after the migration finishes. A migration is pinned to the account it first wrote to: a token from another account is refused.

What Shuttio writes

  • Companies as organizations, contacts as end-users (every email and phone: the first email is the login, the others are added as identities, and a phone Zendesk cannot take as an international number is kept in the user's notes), and tickets as tickets.
  • A ticket with its created, last updated and solved times, and every reply and note with its own time, author and visibility (public reply or internal note), through Zendesk's ticket import: no triggers run and nobody is emailed.
  • Attachments and inline images are downloaded from the source and uploaded to Zendesk, and an inline image in a reply points at its copy. A file that cannot be copied is named in the reply and in the run's warnings.
  • Your own ticket fields are created in Zendesk when it has none of that title and type (an existing one is filled, never retyped), and the groups the tickets name are created when missing. Statuses Zendesk does not have open the ticket and are kept as a tag and in its internal note.
  • Assignees are matched to Zendesk agents by email; an assignee without an agent leaves the ticket unassigned and is named in its internal note. Satisfaction answers and the data Zendesk has no field for go into one internal note per ticket.
  • Every imported ticket carries the tags imported_from_helpdesk and one for this migration, so you can report on them apart and a rollback can find them.

Where each thing lands

FromObjectLands in Zendesk as
FreshdeskCompaniesOrganizations
FreshdeskContactsEnd-users
FreshdeskTicketsTickets, with their replies, notes, files and original dates
HubSpot Service HubCompaniesOrganizations
HubSpot Service HubContactsEnd-users
HubSpot Service HubTicketsTickets, with their replies, notes, files and original dates

Matching, and what is never changed

  • An end-user whose email Zendesk already has, and an organization whose name it already has, are linked to and never written. A rollback does not remove them.
  • Every record carries an external id derived from the migration and the source id. A batch whose answer was lost is looked up by that id before it is sent again, so nothing is imported twice.

Zendesk's request limits

Zendesk allows 200 requests a minute on Team, 400 on Professional, 700 on Enterprise and 2,500 with the High Volume add-on, and 30 background jobs at once. Shuttio paces itself, waits out a 429 as Zendesk asks and pauses the run if the limit does not clear; press Resume a few minutes later. A ticket costs several requests (its files, the batch and the job check), so a large account takes hours, not minutes.

Known limits

  • Zendesk keeps no SLA or reply-time metrics for imported tickets, and triggers do not run on them. The source's numbers are in each ticket's internal note.
  • Freshdesk's API has no list of archived tickets, so an archived ticket its list does not return is not moved.
  • Satisfaction ratings are kept as a tag and a note: Zendesk lets only the requester rate a ticket.
  • A rollback deletes the tickets (Zendesk keeps deleted tickets for 30 days), the end-users, organizations, fields and groups it created. Users Zendesk created itself while importing a ticket are left.

Not answered here? Email help@shuttio.com.