Skip to main content

Create Halo Ticket

The Create Halo Ticket action creates a new service ticket in Halo PSA. Configure the ticket properties, assignment, and classification to match your workflow requirements.

Single API Call Action

This is a single API call action. You must supply the client, user, and all other parameters directly. Learn more about the difference between workflow actions and single API call actions.

When to Use This Action

Use this action when:

  • You need to create a Halo ticket with known client and user IDs from a previous query action
  • You want precise control over all ticket fields at creation time
  • You are building a multi-step workflow where lookup actions run before ticket creation

Don't use this action for:

Configuration

Connection

FieldDescription
Halo ConnectionSelect the Halo connection to use for this action.

Basic Information

FieldDescription
SummaryThe ticket summary/title. Supports text expressions with {{variable}} syntax.
DetailsThe ticket description/details. Supports text expressions for dynamic content.

Client & Contact

FieldDescription
ClientSelect the Halo Client/Company for the ticket. Lock to choose from a dropdown, or unlock to enter a dynamic value using text expressions.
UserSelect the Halo User/Contact for the ticket.
SiteSelect the Halo Site associated with the ticket.

Classification

FieldDescription
Ticket TypeThe type of ticket (e.g., Incident, Service Request).
StatusThe ticket status. If not provided, uses the default status for the ticket type.
PriorityThe ticket priority level.
CategoryThe ticket category for classification and reporting.
SLAThe Service Level Agreement to apply to this ticket.

Assignment

FieldDescription
AgentThe agent/technician to assign the ticket to.
TeamThe team to assign the ticket to.

Error Handling

FieldDescription
Error HandlingAction to take if ticket creation fails.
OptionBehavior
ExceptionHalt processing and report the error
BounceReturn the email/item to the sender
ContinueContinue to the next action
StopStop this rule but allow other rules to process
Stop AllStop all processing for this message

Returned Variables

When you configure Store the results in Variable, the result is an array containing the created ticket. Access properties using index syntax.

Example usage: {{custom.myVariable[0].id}}

VariableTypeDescription
[0].idnumberThe created ticket ID
[0].summarystringThe ticket summary
[0].detailsstringThe ticket details
[0].client_idnumberThe client ID
[0].client_namestringThe client name
[0].user_idnumberThe user/contact ID
[0].user_namestringThe user/contact name
[0].site_idnumberThe site ID
[0].site_namestringThe site name
[0].tickettype_idnumberThe ticket type ID
[0].status_idnumberThe status ID
[0].status_namestringThe status name
[0].priority_idnumberThe priority ID
[0].priority_namestringThe priority name
[0].category_1numberThe category ID
[0].sla_idnumberThe SLA ID
[0].agent_idnumberThe assigned agent ID
[0].agent_namestringThe assigned agent name
[0].team_idnumberThe assigned team ID
[0].team_namestringThe assigned team name
[0].datecreatedstringThe creation timestamp
[0].datelastupdatedstringThe last update timestamp

Example Use Cases

Create Ticket After User Lookup

After finding a user with Query Halo Users:

SettingValue
Client{{custom.user.users.[0].client_id}} (unlocked)
User{{custom.user.users.[0].id}} (unlocked)
Summary{{email.subject}}
Details{{email.body}}

Create Ticket After Client Lookup

After finding a client with Query Halo Clients:

SettingValue
Client{{custom.client.clients.[0].id}} (unlocked)
Summary{{email.subject}}
Details{{email.body}}
Ticket TypeIncident

FAQs

What fields are required?

At minimum, you must provide a Halo Connection and a Summary. Client, User, and other classification fields are optional but recommended for accurate ticket routing.

How do I use dynamic values for Client or User?

Unlock the field selector and enter a text expression referencing a previously queried ID, such as {{custom.client.clients.[0].id}}.

Why does the result use array index syntax?

The Halo API returns ticket data as an array. Even when creating a single ticket, the result is wrapped in an array, so you access the ticket at index [0].