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

# Manage tickets

> Track, update, and resolve tickets created from calls and automations.

## Viewing tickets

Go to **Tickets** in the sidebar under **Monitor**. The sidebar badge shows the number of open tickets.

<Note>
  The ticket management interface is actively being developed. Currently, tickets are created through AI bot calls and workflow automations. A full dashboard interface for listing, filtering, and managing tickets is coming soon.
</Note>

## Open tickets on the dashboard

The **Dashboard Overview** page shows an **Open Tickets** card with the count of tickets that need attention. This gives you a quick view without navigating to the tickets page.

## Ticket lifecycle

A typical ticket goes through these stages:

<Steps>
  <Step title="Created">
    A ticket is created — either by an AI bot during a call, or by a workflow automation. The status is set to **Open**.
  </Step>

  <Step title="Assigned">
    A team member picks up the ticket and starts working on it. The status changes to **In Progress**.
  </Step>

  <Step title="Resolved">
    The issue is fixed and the ticket is marked as **Closed**.
  </Step>
</Steps>

## WhatsApp notifications for tickets

You can set up automatic WhatsApp messages for each status change:

1. When a ticket is **created** (Open) — Send a confirmation to the caller
2. When work **starts** (In Progress) — Notify the caller that someone is on it
3. When the ticket is **resolved** (Closed) — Let the caller know the issue is fixed

Configure this in the WhatsApp settings. Each status can have its own template, language, and variable mapping.

## Creating tickets from workflows

In the workflow editor, add a **Create Ticket** action node with these fields:

| Field           | Description                  | Example             |
| --------------- | ---------------------------- | ------------------- |
| **Priority**    | Low, Normal, High, or Urgent | High                |
| **Category**    | Type of issue                | maintenance         |
| **Summary**     | Brief description            | `{trigger.summary}` |
| **Details**     | Full description             | `{trigger.details}` |
| **Guest Name**  | Caller's name                | `{trigger.name}`    |
| **Room Number** | Location reference           | `{trigger.room}`    |

You can use trigger variables (like `{trigger.name}`) to dynamically fill fields from incoming webhook data.
