HaloITSM is a flexible, all-inclusive ITSM (IT Service Management) solution. HaloITSM gives you the power to manage all IT support with powerful ITIL-aligned out-of-the-box functionality. You can streamline and report on specific processes such as change and problem management. Tailored to your exact requirements, you can align IT to your business needs in an all-inclusive, unlimited IT Service Desk solution.
First, create a Halo PSA/ITSM application
Login to your Halo PSA tenant
Click on "Configuration"
Under "Advanced", click "Integrations"
Next, click "HaloPSA API"
Copy the values for "Resource Server", "Authorisation Server" and "Tenant", and then click "View Applications"
Click "New" to create a new application
Give the application a name, select "Username & Password" for the "Authentication Method" and then copy the "Client ID"
Next, click on the "Permissions" tab and choose the required privileges
Next, obtain a Refresh Token in Tines
Login to your Tines tenant
Create a new story
Copy the below action to your storyboard, replace the values and run the action
You will need to replace the following values:
<<AuthorisationServerName>>
with your "Authorisation Server"<<YourTenantName>>
with the your "Tenant"<<YourClientID>>
with your "Client ID"<<UserName>>
with your "Username"<<Password>>
with your "Password"
{"standardLibVersion":"35","actionRuntimeVersion":"4","agents":[{"disabled":false,"name":"Request to HALOPSA to Get Auth Token","description":null,"options":"{\"url\":\"https://\\\\<<AuthorisationServerName>>/token?tenant=\\\\<<YourTenantName>>\",\"method\":\"post\",\"content_type\":\"form\",\"headers\":{\"accept\":\"application/json\"},\"payload\":{\"grant_type\":\"password\",\"client_id\":\"\\\\<<YourClientID>>\",\"username\":\"\\\\<<UserName>>\",\"password\":\"\\\\<<YourPassword>>\",\"scope\":\"all\"}}","position":{"x":90,"y":735},"type":"httpRequest","timeSavedUnit":"minutes","timeSavedValue":0,"monitorAllEvents":false,"monitorFailures":false,"monitorNoEventsEmitted":null,"recordType":null,"recordWriters":[],"form":null,"cardIconName":null,"createdFromTemplateGuid":null,"createdFromTemplateVersion":null,"originStoryIdentifier":"cloud:536b51f8b592b6b269124bde91592b8d:bb39f16bb96afe7fca6079734f25f6e6"}],"links":[],"diagramNotes":[]}
Copy the
refresh_token
value
Lastly, create a Halo PSA/ITSM credential in Tines
Navigate to the team that will be using the API and click "Credential"
Click "+ New Credential" and select "HTTP Request"
Input the values for the Halo PSA/ITSM credential
Name: halo
Description: Optional
URL:
https://<<AuthorisationServerName>>/token?tenant=<<YourTenantName>>
Content Type: Form
Method: post
Payload: Copy the below object and paste into the "Plain code" section, replacing:
<<client_id>>
with your "Client ID"<<refresh_token>>
with your "Refresh Token"
{
"grant_type":"refresh_token",
"client_id":"<<client_id>>",
"refresh_token":"<<refresh_token>>"
}
Headers: Click "+" and add the header
"accept":"application/json"
Click "Run options" and make sure you get a successful response.
Location of token from response: Double-click the
access_token
key in the response and paste into the pill. It should readhalo.body.access_token
Optional
Domains: Ensure this credential can only be used when making HTTP requests to specific domains
Access: What other teams can also use the API
Click "Save"
Your credential should look like the following:
More on creating credentials in Tines here.
You can also find a selection of Halo PSA/ITSM stories in the story library.
Using the credential in an action
Below is an example Halo PSA/ITSM action you can copy and paste onto your storyboard in Tines. You will need to replace YourResourceServer
with your "Resource Server"
{"standardLibVersion":"35","actionRuntimeVersion":"4","agents":[{"disabled":false,"name":"Get a list of Tickets","description":null,"options":"{\"url\":\"https//YourResourceServer/api/Tickets\",\"method\":\"get\",\"content_type\":\"json\",\"headers\":{\"Authorization\":\"Bearer <<CREDENTIAL.halo>>\"}}","position":{"x":1980,"y":1305},"type":"httpRequest","timeSavedUnit":"minutes","timeSavedValue":0,"monitorAllEvents":false,"monitorFailures":false,"monitorNoEventsEmitted":null,"recordType":null,"recordWriters":[],"form":null,"cardIconName":null,"createdFromTemplateGuid":null,"createdFromTemplateVersion":null,"originStoryIdentifier":"cloud:536b51f8b592b6b269124bde91592b8d:bb39f16bb96afe7fca6079734f25f6e6"}],"links":[],"diagramNotes":[]}