Skip to main content

Update Halo Ticket

The Update Halo Ticket action updates an existing ticket in Halo PSA. Only the fields you specify will be updated; other fields remain unchanged.

API Call Action

This is a building-block API call action. You must supply the Ticket ID directly. After updating the ticket, MSPintegrations retrieves its complete saved details and Custom Field values. If you need the system to detect a ticket number from an email, use Update Halo Ticket from Email instead. Learn more about workflow actions and API call actions.

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​

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

Ticket​

FieldDescription
Ticket IDThe ID of the ticket to update. Required. Supports text expressions with {{variable}} syntax.

Content (Optional)​

FieldDescription
SummaryUpdated ticket summary/title. Leave empty to keep the current value.
Clear SummaryExplicitly clear the saved summary. When enabled, this takes precedence over Summary.
DetailsUpdated ticket description/details. Leave empty to keep the current value.
Clear DetailsExplicitly clear the saved details. When enabled, this takes precedence over Details.

Classification (Optional)​

FieldDescription
StatusUpdated ticket status. Leave empty to keep the current status.
PriorityUpdated ticket priority. Leave empty to keep the current priority.

Assignment (Optional)​

FieldDescription
AgentUpdated assigned agent. Leave empty to keep the current assignment.
TeamUpdated assigned team. Leave empty to keep the current assignment.

Custom Fields (Optional)​

FieldDescription
Custom FieldsSelect ticket custom fields to update and set their values. Text values support text expressions, including text nested inside array values. The action rejects known read-only or unsupported fields while preserving unknown positive field IDs entered dynamically. Leave this section empty to omit custom fields. Boolean false, zero, arrays, empty strings, and null values retain their exact value.

Error Handling​

FieldDescription
Error HandlingAction to take if the ticket update fails.
OptionBehavior
ExceptionHalt processing and report the error
BounceReturn the email/item to the sender
ContinueContinue to the next action
StopIn Email Processing, stop 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 the complete saved ticket object. MSPintegrations combines the full ticket detail response with the saved Custom Field values for that exact ticket. Access properties using dot syntax. If any update or refresh step fails, the stored result is null; an HTTP error body is never stored as the ticket.

Example usage: {{custom.myVariable.id}}

VariableTypeDescription
.idnumberThe ticket ID
.summarystringThe updated ticket summary
.detailsstringThe updated ticket details
.client_idnumberThe client ID
.client_namestringThe client name
.user_idnumberThe user/contact ID
.user_namestringThe user/contact name
.site_idnumberThe site ID
.site_namestringThe site name
.tickettype_idnumberThe ticket type ID
.status_idnumberThe status ID
.status_namestringThe status name
.priority_idnumberThe priority ID
.priority_namestringThe priority name
.agent_idnumberThe assigned agent ID
.agent_namestringThe assigned agent name
.team_idnumberThe assigned team ID
.team_namestringThe assigned team name
.datecreatedstringThe creation timestamp
.datelastupdatedstringThe last update timestamp
.customfieldsarrayCustom fields returned on the updated ticket
.customfields[].idnumberThe Halo custom field ID
.customfields[].valuemixedThe custom field value

Example Use Cases​

Close a Ticket After Processing​

SettingValue
Ticket ID{{custom.ticket.id}}
StatusClosed

Escalate a Ticket's Priority​

SettingValue
Ticket ID{{custom.ticket.id}}
PriorityHigh
TeamEscalations

Update Summary from Parsed Data​

SettingValue
Ticket ID{{custom.existingTicket[0].id}}
Summary[Escalated] {{custom.existingTicket[0].summary}}

FAQs​

Do I need to fill in all fields when updating?​

No. Only specify the fields you want to change, but you must select at least one change. A blank Summary or Details retains its current value; use Clear Summary or Clear Details to remove that text explicitly.

What if the Ticket ID doesn't exist?​

The action fails with an error. Configure Error Handling to control what happens next.

Reply-All Storm Catcher​

When this action runs inside an inbound email automation and the update succeeds, MSPintegrations records the email's Message-ID against the updated Halo ticket ID on the selected Halo connection.

Later replies in the same thread that arrive without a Halo ticket tag can still be matched to this ticket by Update Halo Ticket from Email, which looks up the email's In-Reply-To and References headers against those stored associations.

The association applies only to the Halo connection you selected on this action, so replies are never matched to tickets on a different Halo connection.