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

# Tickets

> Promises to a customer that outlive the chat: numbered, tracked to done, and the customer is told as each one moves.

A ticket is for anything your team can't finish inside the chat: a refund to chase, a delivery to fix, a document to check. It keeps its own number, owner and status after the chat goes quiet, and tells the customer when it moves.

## Open a ticket

* **From a chat:** click **Create ticket** at the top of the conversation. The ticket is linked to that chat and the customer.
* **From the Tickets page:** click **New ticket**.
* **From your own server:** call [`POST /tickets`](https://docs.usefrictionless.com/api-reference/tickets/create-a-ticket) with the customer's `userId` or `phone`. See [The Tickets API](#the-tickets-api).

Each ticket gets a number made from your workspace's initials, like `NE-1042` for Noratt Enterprise. Customers can quote it back to you, and it opens the ticket at `usefrictionless.com/tickets/NE-1042`.

## Status and priority

| Status | Meaning |
| - | - |
| `new` | Just opened. Nobody has started yet. |
| `in_progress` | Someone is working on it. |
| `waiting` | Waiting on the customer to send something. |
| `resolved` | Done. |

Priority is `low`, `normal` (the default), `high` or `urgent`. The **Tickets** page in the sidebar shows them as a list or a board, and the badge on **Tickets** counts the open ones.

## What the customer is told

Unless you turn it off for a ticket, the customer gets a message in their latest chat, on whatever channel they used:

| When | Message |
| - | - |
| Opened | Hi Ada, we've opened request NE-1042 for you: Refund for order 381. We'll update you right here. |
| In progress | Hi Ada, your request NE-1042 is now in progress. We'll message you here when it's done. |
| Resolved | Hi Ada, good news: request NE-1042 is resolved. *Your note, if you added one.* Reply here if anything's off. |

Moving a ticket to **Waiting** sends nothing, so your agent can say what's needed in their own words. Every message, and any that couldn't be sent, shows on the ticket's timeline.

### WhatsApp after 24 hours

WhatsApp only lets a business message someone within 24 hours of their last message. To reach customers after that, add the ticket update template once in **Settings → Tickets → WhatsApp after 24 hours**. WhatsApp usually approves it within a day.

Until it's approved, updates reach customers who wrote in the last 24 hours, and the timeline says why the others weren't sent.

## The Tickets API

Your server can open and move tickets with the same API key as the [Context API](https://docs.usefrictionless.com/api-reference/introduction.md), on the Pro plan:

* [`POST /tickets`](https://docs.usefrictionless.com/api-reference/tickets/create-a-ticket) opens one for a customer, found by `userId` or `phone`.
* [`GET /tickets/{ref}`](https://docs.usefrictionless.com/api-reference/tickets/get-a-ticket) reads one.
* [`PATCH /tickets/{ref}`](https://docs.usefrictionless.com/api-reference/tickets/update-a-ticket) changes its status, priority, type, due date, subject or description, with an optional `note` for the resolved message. Send `notifyCustomer: false` to move it quietly.

To hear about changes your team makes, add a [webhook](https://docs.usefrictionless.com/tickets/webhooks.md).


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