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

# Tickets

> Payload reference for ticket.created, ticket.updated, ticket.sundry, ticket.activity and ticket.deleted webhooks.

# Tickets

> New to webhooks? Start with **[Getting started](/getting-started)** (envelope, delivery, retries)
> and **[Verification](/verification)** (confirming a request came from Grow CRM). Those conventions
> apply to every event below and are not repeated here.

Tickets expose all five keys: `ticket.created`, `ticket.updated`, `ticket.deleted`, `ticket.sundry`,
`ticket.activity`.

## The ticket object

Every key except `.deleted` carries this shape, either flat (`.created`) or nested under `ticket`
(`.updated`/`.sundry`):

```json theme={null}
{
  "id": 88,
  "subject": "Can't log in",
  "status": { "id": 1, "title": "Open" },
  "priority": "high",
  "source": "email",
  "active_state": "active",
  "department": { "id": 1, "name": "Support" },
  "client": { "id": 12, "name": "Acme Inc" },
  "project_id": null,
  "dates": { "created": "2026-07-16T08:00:00.000000Z", "last_updated": "2026-07-16 08:12:00" },
  "replies_count": 2,
  "tags": []
}
```

| Field           | Type             | Notes                                                                                                                                                                                                                                                 |
| --------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`            | integer          | `ticket_id`.                                                                                                                                                                                                                                          |
| `subject`       | string           |                                                                                                                                                                                                                                                       |
| `status`        | object           | `{ id, title }`.                                                                                                                                                                                                                                      |
| `priority`      | string           | `normal`, `high`, or `urgent`.                                                                                                                                                                                                                        |
| `source`        | string           | `web` or `email`.                                                                                                                                                                                                                                     |
| `active_state`  | string           | `active` or `archived`.                                                                                                                                                                                                                               |
| `department`    | object           | `{ id, name }` — the ticket's category, labelled as department.                                                                                                                                                                                       |
| `client`        | object           | `{ id, name }`.                                                                                                                                                                                                                                       |
| `project_id`    | integer\|null    |                                                                                                                                                                                                                                                       |
| `dates`         | object           | `created` is ISO 8601 with microseconds (`Ticket` recasts `ticket_created` via `CREATED_AT`); `last_updated` is a **different**, raw column (`ticket_last_updated`, not the `UPDATED_AT`-mapped `ticket_updated`) — stays a plain database timestamp. |
| `replies_count` | integer          | Total reply count at the time of the event.                                                                                                                                                                                                           |
| `tags`          | array of strings |                                                                                                                                                                                                                                                       |

## `ticket.created`

Fires when a ticket is created. There is no clone event for tickets. `data` is the full ticket
object above.

```json theme={null}
{
  "event": "ticket.created",
  "id": 88,
  "created": "2026-07-16T08:00:00+00:00",
  "data": {
    "id": 88,
    "subject": "Can't log in",
    "status": { "id": 1, "title": "Open" },
    "priority": "normal",
    "source": "web",
    "active_state": "active",
    "department": { "id": 1, "name": "Support" },
    "client": { "id": 12, "name": "Acme Inc" },
    "project_id": null,
    "dates": { "created": "2026-07-16T08:00:00.000000Z", "last_updated": "2026-07-16 08:00:00" },
    "replies_count": 0,
    "tags": []
  }
}
```

## `ticket.updated`

Fires on a significant change. `data.change` tells you which; `data.ticket` is the full object.

| `change`       | Fires when                                           |
| -------------- | ---------------------------------------------------- |
| `edited`       | The main ticket edit form is saved.                  |
| `status`       | The ticket's status changes.                         |
| `active_state` | The ticket is archived or restored (single or bulk). |

```json theme={null}
{
  "event": "ticket.updated",
  "id": 88,
  "created": "2026-07-16T08:05:00+00:00",
  "data": {
    "change": "status",
    "ticket": { "id": 88, "status": { "id": 3, "title": "Closed" }, "...": "..." }
  }
}
```

## `ticket.sundry`

Fires on a minor, cosmetic field edit. `data.field` names it; `data.ticket` is the full object (same
shape as `.updated`, just a lower-significance discriminator).

| `field` | Fires when                     |
| ------- | ------------------------------ |
| `tags`  | The ticket's tags are changed. |

```json theme={null}
{
  "event": "ticket.sundry",
  "id": 88,
  "created": "2026-07-16T08:07:00+00:00",
  "data": {
    "field": "tags",
    "ticket": { "id": 88, "tags": ["urgent"], "...": "..." }
  }
}
```

## `ticket.activity`

Fires when a child record on the ticket changes. Tickets only produce `type: "reply"` — tickets use a
threaded reply system rather than the generic comments used by other resources.

| `type`  | `action`                      | Item shape              |
| ------- | ----------------------------- | ----------------------- |
| `reply` | `added`, `updated`, `deleted` | `{ id, text, created }` |

```json theme={null}
{
  "event": "ticket.activity",
  "id": 88,
  "created": "2026-07-16T08:10:00+00:00",
  "data": {
    "type": "reply",
    "action": "added",
    "item": { "id": 340, "text": "We're looking into this now.", "created": "2026-07-16T08:10:00.000000Z" }
  }
}
```

## `ticket.deleted`

Fires after the ticket is deleted. `data` is just the id — the record no longer exists to describe.

```json theme={null}
{
  "event": "ticket.deleted",
  "id": 88,
  "created": "2026-07-16T08:15:00+00:00",
  "data": { "id": 88 }
}
```
