Action tickets_create
System ID:
action_tickets_create
Description
Creates a new ticket for a subject (subject_alias): collects custom fields from user constants, creates a chat in Operator Panel (via connect-to-operator), assigns an agent if needed, and saves the ticket. If the subject requires field input — returns the matching branch for data collection.
During creation it calls connect-to-operator; therefore banned and limit branches are possible (same as the connect-to-operator action).
Events (scenario branches)
| Event | When it occurs |
|---|---|
| success | Ticket created successfully |
| banned | User is under an active ban (from connect-to-operator) |
| limit | No free operator (from connect-to-operator) |
| error | No subject_alias, subject not found, connect failure, or ticket creation failure |
| select_custom_field | A custom field value must be selected from a list |
| required_custom_field | A required custom field is not filled yet |
| optional_custom_field | An optional custom field can be filled or skipped |
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
subject_alias |
string | yes | — | Ticket subject alias (placeholders) |
additional_fields |
object | no | {} |
Extra custom fields (key–value; placeholders in values) |
keep_original_message |
boolean | no | false |
true — keep the original user message text |
resolved |
boolean | no | false |
true — create the ticket as resolved and close the chat |
assignee_id |
string / number | no | null |
Operator ID to assign (placeholders) |
unassigned |
string | no | false |
"true" — do not assign, even if assignee_id is set |
auto_assignee |
boolean | no | false |
true — automatic assignment (round-robin) |
reporter_id |
string / number | no | null |
Reporter operator ID (placeholders) |
watchers |
array | no | [] |
Watcher operator IDs (placeholders) |
status_name |
string | no | null |
Custom chat status (placeholders) |
ticket_description |
string | no | null |
Ticket description (placeholders). Takes priority over the ticket_description constant |
After creation, the ticket ID is stored in the tickets module state; client confirmation comes from the bot constant ticket_created (if set).
Configuration example
{
"subject_alias": "support",
"auto_assignee": true,
"ticket_description": "{{user_request.text}}",
"watchers": []
}