HaloITSM
Flow Designer has a HaloITSM Incidents trigger and built-in HaloITSM steps to help you integrate Halo into your alert management and incident response flows.
HaloITSM Steps
The following steps are available:
- Create Ticket: create a new ticket in Halo, populating it with information from the alert or any previous steps in the flow.
- Update Ticket : update an existing Halo ticket as new information becomes available.
- Add Action: add the outcome of an action to an existing Halo ticket.
To add a Halo step to your flow:
- Go to the Apps tab of the palette, expand the HaloITSM section, and drag the step you want onto the canvas.
- For instructions on using the Halo trigger, see HaloITSM Incidents trigger.
- Connect the step to the previous step in the flow. This gives you access to the alert properties and outputs of previous steps when you configure this step's inputs.
- Double-click the step to edit it, and use the Setup tab to configure the inputs. You can use plain text and input variables (or both). See the following section for detailed information on the inputs, including which are required.
- On the Endpoint tab, configure the step to point to your HaloITSM instance.
- You can select a pre-existing endpoint or create a new endpoint.
Create Ticket
Use the Create Ticket step to automatically create a new ticket in Halo. Map outputs from previous steps to the inputs; at runtime, the values in the inputs are used to fill in the incident record.
Inputs
Inputs with an asterisk* are required.
Label |
Description |
---|---|
Authorization Tenant* |
Name of the tenant used to authorize HaloITSM API requests. |
Category* |
Case-sensitive category name for the ticket. Available values are:
|
Client ID* | Client ID of your HaloITSM application. |
Client Secret* | Client secret for your HaloITSM application. |
Impact* |
Numerical value of the impact level for the ticket. Available values are:
|
Site ID* | Unique ID of the site the ticket belongs to. |
Summary* | Title of the ticket. |
Urgency* |
Numerical value for the urgency level of the ticket. Available values are:
|
Agent ID | Unique ID of the agent assigned to the ticket in Halo. |
Details | Detailed description of the ticket, up to a maximum of 20,000 characters. |
Priority |
Numerical value for the priority level to resolve the issue. Available values are:
If undefined, Halo will generate a level based on your priority setup. |
Status |
Numerical value for the status of the ticket as set by Halo. Available values are:
|
Outputs
These outputs are available as inputs to steps further along the flow.
Label |
Description |
---|---|
Ticket ID |
Unique ID of the ticket in Halo. |
Update Ticket
Use the Update Ticket step to automatically update information on an existing Halo ticket. Map outputs from previous steps to the inputs to create the update. Any inputs excluded from the request retain their current values.
Inputs
Inputs with an asterisk* are required.
Label |
Description |
---|---|
Authorization Tenant* |
Name of the tenant used to authorize HaloITSM API requests. |
Client ID* | Client ID of your HaloITSM application. |
Client Secret* | Client secret for your HaloITSM application. |
Ticket ID* |
Unique ID of the ticket in Halo. |
Agent ID | Unique ID of the agent assigned to the ticket in Halo. |
Category |
Category of the ticket. For example, Hardware>Printers. The category name is not case-sensitive for ticket update.
|
Details | Detailed description of the ticket, up to a maximum of 20,000 characters. |
Impact |
Numerical value of the impact level for the ticket. Available values are:
|
Priority |
Numerical value for the priority level to resolve the issue. Available values are:
If undefined, Halo will generate a level based on your priority setup. |
Site ID | Unique ID of the site the ticket belongs to. |
Status |
Numerical value for the status of the ticket as set by Halo. Available values are:
|
Summary | Title of the Halo ticket. |
Urgency |
Numerical value for the urgency level of the ticket. Available values are:
|
Outputs
This step has no outputs.
Add Action
Use the Add Action step to add an action and outcome to an existing Halo ticket.
Inputs
Inputs with an asterisk* are required.
Label |
Description |
---|---|
Authorization Tenant* |
Name of the tenant used to authorize HaloITSM API requests. |
Client ID* | Client ID of your Halo application. |
Client Secret* | Client secret for your Halo application. |
Outcome* | The value of the Outcome field is used as the title of the action in Halo. |
Ticket ID* |
Unique ID of the ticket in Halo. |
Note | Additional information about the action that is displayed below the Outcome on the Halo ticket . If a note exceeds 20,000 characters at runtime, it will be truncated in the timeline. |
Outputs
This step has no outputs.
HaloITSM Incidents trigger
The built-in HaloITSM Incidents trigger initiates a flow when it receives a request from a HaloITSM webhook.
Add the HaloITSM Incidents trigger to the canvas
- Go to the Triggers tab in the palette, expand the App Triggers section, and drag the trigger onto the canvas.
- Double-click the trigger (or click the pencil icon).
- Set the authenticating user, and then copy the URL and Configuration Payload — you'll use these to set up the webhook in HaloITSM. Alternatively, you can create an integration user to use as the authenticating user.
- Click the Flood Control tab to edit the trigger's default flood control settings. For more information about these settings, see Trigger Flood Control.
- Click Done.
- On the flow canvas, connect the steps you want to run when xMatters receives a request to that URL.
You're now ready to configure HaloITSM to target the trigger.
Configure URL
To have HaloITSM send alerts to the flow trigger, you need to configure two webhooks and set them to use the trigger URLs. One webhook is for Halo tickets with an assigned agent, and the other is for tickets without an assigned agent.
First let's create a webhook for Halo tickets with assigned agents.
- In Halo, go to Configuration > Integrations > Webhooks.
- In the top-right corner, click New.
- On the New Webhook window, give the webhook a unique name. For example, "xMatters - Assigned" or "xMatters - Unassigned".
- In the Payload URL field, paste the trigger URL.
- Add the target names of any recipients you want to notify when the alert fires. You can either add them to the end of the URL, or in the Parameters tab.
- For URL authentication, use an ampersand to attach recipients. For example, if you want to notify Emma Pearson and the on-call members in the group responsible for the Antares service, you'd add &recipients=epearson,antares to the URL.
- For other authentication types, use a question mark to attach recipients. For example, if you want to notify Barry Gull and the on-call members in the group responsible for the Cassiopeia service, you'd add ?recipients=bgull,cassiopeia to the URL.
- You must URL-encode any special characters or spaces in the target names.
- Add the target names of any recipients you want to notify when the alert fires. You can either add them to the end of the URL, or in the Parameters tab.
- Ensure the Enabled checkbox is selected and the Use a custom payload is deselected.
- In the Events section click Add.
- On the New Event window, expand the Event drop-down menu and select New Ticket Logged.
- Click Add to add the following criteria to the event:
- For tickets with assigned agents:
- Field: Agent
- Rule Type: Is equal to
- Value: Name of the assigned agent.
- For tickets unassigned to agents:
- Field: Agent
- Rule Type: Is equal to
- Value: Unassigned
- For tickets with assigned agents:
- Click Save to save the Event and return to the New Webhook window.
- Click Save.
- Repeat steps 2 - 10 to create a webhook for the Unassigned Agent.
Use the Events section to add any business rules for the webhook. A business rule is logic that determines when the webhook is used. The following steps describe creating a business rule for when a new ticket is logged in Halo.
Outputs
The trigger has the following outputs you can use as inputs to steps further along the flow.
Label |
Description |
---|---|
Recipients |
List of targeted recipients. Recipients are set by adding a recipients query parameter to the trigger URL when you configure the webhook in HaloITSM. See the instructions for configuring the webhook for details. |
Agent | Name of the agent assigned to the Halo ticket. |
Agent ID | Unique ID of the agent assigned to the Halo ticket. |
Details | Detailed description of the Halo ticket. |
Priority | Priority level of the ticket. |
Status | Status of the ticket as set by Halo. |
Summary | Title of the ticket. |
Ticket ID | Unique ID of the Halo ticket. |
Type | Type of Halo ticket. For example, Incident or Change Request. |
Raw Request | JSON representation of the request. You can parse the raw request if you need additional details beyond the standard outputs. |