Skip to main content
Helpdesk Imports

Import new changes

Creates a new import (a draft) that brings over what changed in the source since a completed import: new and updated conversations, contacts and companies. It keeps that import's options (with open conversations kept open: use it when the team switches over), its teammate mapping and its fields. Send the key again (it was deleted when that import ended). Then pull and start the new import.

POST
/v2/helpdesk_imports/{id}/sync
Authorizationstringheaderrequired

API key as Bearer token. Use: Authorization: Bearer sk_...

idstringrequired

The import id (from POST /v2/helpdesk_imports or GET /v2/helpdesk_imports).

Pattern: ^[a-f0-9]{24}$
Example: 6720b1c2d3e4f5a6b7c8d9e0
Featurebase-Versionenum<string>header

API version for this request. Defaults to your organization's configured API version if not specified.

Available options: 2026-08-19.orbit, 2026-01-01.nova, 2025-12-12.clover
Example: 2026-08-19.orbit

Body

application/json
credentialobjectrequired

The fields each source needs are listed by GET /v2/helpdesk_imports/sources (credentialFields).

Response

application/json

Created

accountobjectrequired
companyMatchobject

How imported companies find yours (sources with matchesCompanies only).

continuesobject | nullrequired

Set for "Import new changes" (POST /v2/helpdesk_imports/{id}/sync).

createdAtstringrequired
createdByobjectrequired
expiresAtstring | nullrequired

While the import waits for you (draft, ready, paused, needs_reconnect): when it is cancelled if nothing happens.

Example: 2026-11-02T12:00:00.000Z
fieldsobject | nullrequired

The field mapping. Null for a draft (the fields are known after the pull).

finishedAtstring | nullrequired

When the import ended.

Example: 2026-11-02T12:00:00.000Z
idstringrequired

The import id.

Example: 6720b1c2d3e4f5a6b7c8d9e0
lastErrorobject | nullrequired

The last problem.

mappingobjectrequired

The saved teammate, team and brand choices (see GET /v2/helpdesk_imports/{id}/teammates for what each one maps to).

nextStepobjectrequired

What to do next.

objectenum<string>required

Object type identifier

Available options: helpdesk_import
Example: helpdesk_import
optionsobjectrequired
phaseenum<string>required

pull: reads the source into a private staging area; nothing is added to your workspace. write: adds the data.

Available options: pull, write
Example: pull
pullobject[]required

Progress of reading the source, per stream.

sourcestringrequired

The tool it imports from.

Example: intercom
sourceNamestringrequired
Example: Intercom
startedAtstring | nullrequired

When the pull started.

Example: 2026-11-02T12:00:00.000Z
startedByobject | nullrequired
statusenum<string>required

draft: connected, not started. running: reading the source (phase: pull) or adding the data (phase: write). ready: everything was read; map the fields, then start. paused. needs_reconnect: the source refused the key. completed, cancelled, failed.

Available options: draft, running, paused, needs_reconnect, ready, completed, cancelled, failed
Example: ready
teammatesToInviteobjectrequired

Invite them (in the dashboard) and their imported messages become their own when they join.

totalsobject | nullrequired

What the pull found. Null until the pull ends.

waitobject | nullrequired

Why a running import waits (for example the source's rate limit), and until when. It continues by itself.

writeobject[]required

Progress of adding the data, per object.