The Update Halo Ticket action updates an existing ticket in Halo PSA. Only the fields you specify will be updated; other fields remain unchanged.
When to Use This Action
Use this action when:
- You already have the ticket ID from a previous query or create action
- You want to update specific fields on an existing ticket without adding email content
- You need precise control over which fields are changed
Don't use this action for:
Configuration
Connection
| Field | Description |
|---|
| Halo Connection | Select the Halo connection to use for this action. |
Ticket
| Field | Description |
|---|
| Ticket ID | The ID of the ticket to update. Required. Supports text expressions with {{variable}} syntax. |
Content (Optional)
| Field | Description |
|---|
| Summary | Updated ticket summary/title. Leave empty to keep the current value. |
| Details | Updated ticket description/details. Leave empty to keep the current value. |
Classification (Optional)
| Field | Description |
|---|
| Status | Updated ticket status. Leave empty to keep the current status. |
| Priority | Updated ticket priority. Leave empty to keep the current priority. |
Assignment (Optional)
| Field | Description |
|---|
| Agent | Updated assigned agent. Leave empty to keep the current assignment. |
| Team | Updated assigned team. Leave empty to keep the current assignment. |
Error Handling
| Field | Description |
|---|
| Error Handling | Action to take if the ticket update fails. |
| Option | Behavior |
|---|
| Exception | Halt processing and report the error |
| Bounce | Return the email/item to the sender |
| Continue | Continue to the next action |
| Stop | Stop this rule but allow other rules to process |
| Stop All | Stop all processing for this message |
Returned Variables
When you configure Store the results in Variable, the result is an array containing the updated ticket. Access properties using index syntax.
Example usage: {{custom.myVariable[0].id}}
| Variable | Type | Description |
|---|
[0].id | number | The ticket ID |
[0].summary | string | The updated ticket summary |
[0].details | string | The updated ticket details |
[0].client_id | number | The client ID |
[0].client_name | string | The client name |
[0].user_id | number | The user/contact ID |
[0].user_name | string | The user/contact name |
[0].site_id | number | The site ID |
[0].site_name | string | The site name |
[0].tickettype_id | number | The ticket type ID |
[0].status_id | number | The status ID |
[0].status_name | string | The status name |
[0].priority_id | number | The priority ID |
[0].priority_name | string | The priority name |
[0].agent_id | number | The assigned agent ID |
[0].agent_name | string | The assigned agent name |
[0].team_id | number | The assigned team ID |
[0].team_name | string | The assigned team name |
[0].datecreated | string | The creation timestamp |
[0].datelastupdated | string | The last update timestamp |
Example Use Cases
Close a Ticket After Processing
| Setting | Value |
|---|
| Ticket ID | {{custom.ticket.id}} |
| Status | Closed |
Escalate a Ticket's Priority
| Setting | Value |
|---|
| Ticket ID | {{custom.ticket.id}} |
| Priority | High |
| Team | Escalations |
Update Summary from Parsed Data
| Setting | Value |
|---|
| Ticket ID | {{custom.existingTicket[0].id}} |
| Summary | [Escalated] {{custom.existingTicket[0].summary}} |
FAQs
Do I need to populate all fields when updating?
No. Only specify the fields you want to change. Any field left empty retains its current value.
What if the Ticket ID doesn't exist?
The action fails with an error. Configure Error Handling to control what happens next.
Why does the result use array index syntax?
The Halo API returns ticket data as an array even for single-ticket responses. Access the ticket at index [0].