> ## Documentation Index
> Fetch the complete documentation index at: https://bundleup.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Helpdesk

> Support tickets from customer service tools, in one shape.

The Helpdesk category covers customer support tools: Zendesk, ServiceNow, Zoho Desk, Gorgias and Help Scout. It returns the **tickets** (tickets, incidents, conversations, depending on the tool) your customer’s support team works, with the requester who opened each one.

Issue trackers and project tools such as Jira live in the separate [Tasks](/docs/guides/unified/tasks) category.

**Use it to:** show a customer’s open support tickets next to your own records, sync tickets into an analytics or QA tool, or link a ticket to the account it came from.

## Endpoints

| Endpoint | What it does |
| - | - |
| `GET /v1/helpdesk/tickets` | List tickets |
| `GET /v1/helpdesk/tickets/{id}` | Get one ticket by its ID |

Parameters and full schemas: [Unified API reference](/docs/api-reference/unified-api).

## Example: list tickets

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://unify.bundleup.io/v1/helpdesk/tickets?limit=100" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "BU-Connection-Id: conn_abc123"
  ```

  ```typescript JavaScript theme={null}
  const unify = client.unify('conn_abc123');
  const tickets = await unify.helpdesk.tickets({ limit: 100 });
  ```

  ```python Python theme={null}
  unify = client.unify("conn_abc123")
  tickets = unify.helpdesk.tickets({"limit": 100})
  ```

  ```ruby Ruby theme={null}
  unify = client.unify('conn_abc123')
  tickets = unify.helpdesk.tickets(limit: 100)
  ```
</CodeGroup>

```json theme={null}
{
  "data": [
    {
      "id": "4182",
      "title": "Refund for order #1043",
      "description": "Hi, my order arrived damaged...",
      "status": "open",
      "priority": "high",
      "requester": {
        "id": "381920",
        "name": "Dana Ruiz",
        "email": "dana@example.com"
      },
      "url": "https://acme.zendesk.com/agent/tickets/4182",
      "created_at": "2026-09-02T08:14:00Z",
      "updated_at": "2026-09-10T16:40:00Z"
    }
  ],
  "metadata": { "next": "Mg==" }
}
```

Page through all tickets with `after`. See [Pagination](/docs/guides/unified/conventions#pagination).

## Response notes

* **`status`** and **`priority`** are the provider’s own names (`open`, `pending`, `New`, `1 - Critical`…). Map them in your product if you need fixed categories.
* **`requester`** is the customer who opened the ticket. `email` is `null` on ServiceNow, which only returns the caller’s name.
* **`id`** is what you pass to `GET /v1/helpdesk/tickets/{id}`. On ServiceNow it’s the incident’s `sys_id`, not its `INC…` number.

## Provider differences

* **What a “ticket” is** depends on the tool: a ticket (Zendesk, Zoho Desk, Gorgias), an incident (ServiceNow) or a conversation (Help Scout).
* **`description`** is the full ticket body on Zendesk and ServiceNow, a preview of the latest message on Gorgias and Help Scout, and `null` in Zoho Desk lists (fetch the single ticket to get it).
* **`priority`** is always `null` on Help Scout, which has no priorities.
* **Page size** is fixed at 25 on Help Scout; `limit` is ignored there.
* **Writes** (replying, changing status, assigning) aren’t part of the Unified API. Use the [Proxy](/docs/guides/proxy/making-requests).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.