Create Halo User
The Create Halo User action creates a new user/contact in Halo PSA. Supply the user's name, email address, client, and site to create the record.
This is a single API call action. You must supply the client and site 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 user/contact after resolving an unknown sender
- You are building a workflow 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:
- Looking up an existing user by email: Use Find Halo User and Client by Email first to avoid creating duplicates.
- Searching users by arbitrary criteria: Use Query Halo Users to find existing users.
The Create Halo Ticket from Email workflow action uses this action as a building block when its Create User If Not Found option is enabled. Use Create Halo Ticket from Email when you want user creation handled automatically as part of an email-to-ticket flow.
Configuration
Connection
| Field | Description |
|---|---|
| Halo Connection | Select the Halo connection to use for this action. |
User Information
| Field | Description | Default |
|---|---|---|
| Full Name | The user's full display name. Supports text expressions. | {{email.from.display}} |
| First Name | The user's first name. Supports text expressions. | |
| Surname | The user's surname/last name. Supports text expressions. | |
| Email Address | The user's email address. Supports text expressions. | {{email.from.address}} |
Client & Site
| Field | Description |
|---|---|
| Client | Select the Halo client/company the user belongs to. Lock to choose from a dropdown, or unlock to enter a dynamic value using text expressions. |
| Site | Select the Halo site the user belongs to. The site list is filtered by the selected client. |
Error Handling
| Field | Description |
|---|---|
| Error Handling | Action to take if user creation 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 the created user object. Access properties using dot syntax.
Example usage: {{custom.myVariable.id}}
| Variable | Type | Description |
|---|---|---|
.id | number | The created user ID |
.name | string | The user's full name |
.emailaddress | string | The user's email address |
.client_id | number | The client ID |
.site_id | number | The site ID |
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:
| Setting | Value |
|---|---|
| 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 First Name and Surname, Email Address, Client, and Site.
How do I use dynamic values for Client or Site?
Unlock the field selector and enter a text expression referencing a previously resolved ID, 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.
Related Actions
- Find Halo User and Client by Email: Determine a user and client before creating a new user
- Create Halo Ticket from Email: Automated email-to-ticket flow that uses this action when no user is matched
- Create Halo Client: Create a new client before creating its users
- Query Halo Users: Search existing users before creating a duplicate