Skip to main content

Create Halo User

The Create Halo User action creates a new user/contact in Halo PSA. Supply the user's name, client, and site to create the record. Email Address is optional.

API Call Action

This is a building-block API call action. You must supply the client and site directly. After creating the user, MSPintegrations retrieves its complete saved details and Custom Field values. Learn more about workflow actions and API call actions.

When to Use This Action​

Use this action when:

  • You need to create a Halo user/contact for a sender who is not yet in Halo
  • You are building an automation that creates missing users before creating a ticket
  • You want precise control over the user's name, client, and site at creation time

Don't use this action for:

Used by Create Halo Ticket from Email

The Create Halo Ticket from Email workflow action uses this action as a building block when When No User Is Found is set to Create a new user. Use Create Halo Ticket from Email when you want user creation handled automatically as part of an email-to-ticket flow.

Configuration​

Connection​

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

User Information​

FieldDescriptionDefault
Full NameThe user's full display name. Supports text expressions.{{email.from.display}}
First NameThe user's first name. Supports text expressions.
SurnameThe user's surname/last name. Supports text expressions.
Email AddressThe user's optional email address. Supports text expressions.{{email.from.address}}

Client & Site​

FieldDescription
ClientSelect the Halo client/company the user belongs to. Lock to choose from a dropdown, or unlock to enter a dynamic value using text expressions.
SiteSelect the Halo site the user belongs to. The site list is filtered by the selected client.

Custom Fields​

FieldDescription
Custom FieldsSelect user custom fields and set their values. Text values support text expressions, including text nested inside array values. The action checks current Halo metadata, requires fields Halo explicitly marks as mandatory, and rejects known read-only or unsupported fields. Unknown positive field IDs entered dynamically are preserved. Boolean false, zero, arrays, empty strings, and null values retain their exact value.

Error Handling​

FieldDescription
Error HandlingAction to take if user creation 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 user object. MSPintegrations combines the full user detail response with saved Custom Field values for that exact user. Access properties using dot syntax. If creation or refresh fails, the stored result is null; an HTTP error body is never stored as the user.

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

VariableTypeDescription
.idnumberThe created user ID
.namestringThe user's full name
.emailaddressstringThe user's email address
.client_idnumberThe client ID
.site_idnumberThe site ID
.customfieldsarrayCustom fields returned on the created user
.customfields[].idnumberThe Halo custom field ID
.customfields[].valuemixedThe custom field value

Example Use Cases​

Create User After Sender Lookup​

After determining a sender with Find Halo User and Client by Email and finding no user match:

SettingValue
Full Name{{email.from.display}}
Email Address{{email.from.address}}
Client{{custom.resolved.client.id}} (unlocked)

FAQs​

What fields are required?​

You must provide a Halo Connection, Full Name or both First Name and Surname, Client, and Site. Email Address is optional.

How do I use dynamic values for Client or Site?​

Unlock the field selector and enter a text expression referencing an ID from a previous action, such as {{custom.resolved.client.id}}.

Can the site list change when I pick a different client?​

Yes. The Site dropdown is filtered to show only sites that belong to the selected Client.