Importing conversations into Zendesk QA
Use the Zendesk QA Import API to import customer conversations for review and analysis. Zendesk QA is available with the Quality Assurance (QA) or Workforce Engagement Management (WEM) add-on.
Prerequisites
Before importing conversations:
- Set up an API connection in your Zendesk QA account.
- Copy the API token generated by the connection.
Importing conversations
Send a POST request to:
https://{subdomain}.zendesk.com/qa/api/import/tickets
Include a JSON body with a data array containing the conversations to import. The API connection provides an API token. Pass this token as a bearer token in the Authorization header.
You can import up to 100 conversations per request and up to 500 comments per conversation. For the complete request and response schema, see Import tickets.
Each conversation can include the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
id | String | Yes | Unique id from your system. Use this id to update the conversation or its comments later. |
subject | String | No | Conversation subject displayed in Zendesk QA. |
description | String | No | Description of the initial issue or topic. |
created | String | Yes | ISO 8601 timestamp for when the conversation was created. For example, 2026-10-01T14:00:00Z. |
updated | String | No | ISO 8601 timestamp of the last update. Used for filtering. |
assigneeEmail | String | Conditional | Email of the internal Zendesk QA user assigned to the conversation. The email must match an internal user for the conversation to be reviewable unless a comment author matches an internal user. |
assigneeName | String | No | Display name of the assignee. |
ticketFields | Array | No | Array of ticket field objects used for filtering. Each object includes a field id, label, and one or more values. |
comments | Array | Yes | Array of comment objects representing messages in the conversation. |
Comment object properties
| Field | Type | Required | Description |
|---|---|---|---|
id | String | Yes | Unique id for the comment. |
authorEmail | String | Yes | Email address of the comment author. If it matches an internal user, the comment can make the conversation reviewable. |
authorName | String | No | Display name of the comment author. |
authorIsNotClient | Boolean | Yes | Set to true for comments written by an agent or other internal user. Set to false for comments written by a customer. When set to true, unknown author emails are created as external users. |
comment | String | Yes | Comment text. Supports Markdown and HTML formatting. |
created | String | Yes | ISO 8601 timestamp for when the comment was created. |
Example payload
Save the following JSON body as payload.json:
{"data": [{"id": "c4t-syst3m-335","subject": "Question about my order","description": "I received the wrong item. Can you help?","created": "2026-10-01T11:24:51Z","updated": "2026-10-01T13:48:26Z","assigneeEmail": "[email protected]","assigneeName": "Jane","ticketFields": [{"id": "channel","label": "Channel","values": [{"label": "Chat","value": "chat"}]}],"comments": [{"id": "c4t-syst3m-335-1","authorEmail": "[email protected]","authorIsNotClient": false,"authorName": "Customer","comment": "I received the wrong item. Can you help?","created": "2026-10-01T11:24:51Z"},{"id": "c4t-syst3m-335-2","authorEmail": "[email protected]","authorIsNotClient": true,"authorName": "Jane","comment": "I'll look into your order and get back to you.","created": "2026-10-01T11:29:16Z"}]}]}
Sending the request
From the directory containing payload.json, export the API token as an environment variable:
export QA_API_TOKEN='your_api_token'
Replace {subdomain} with your Zendesk subdomain, then run the following command:
curl --request POST 'https://{subdomain}.zendesk.com/qa/api/import/tickets' \--header 'Accept: application/json' \--header 'Content-Type: application/json' \--header "Authorization: Bearer ${QA_API_TOKEN}" \--data-binary @payload.json
After the import is processed, you can view and review the conversation in Zendesk QA. For more information, see the Zendesk QA Import API reference.