HaloCRM Guides
Beyond Trust Integration
Pre-Requisites
The following pre-requisites must be met to use the Beyond Trust Integration.
Application | Minimum Version |
Halo Service Desk | v2.06 |
HaloITSM | v2.06 |
HaloPSA | v2.06 |
HaloCRM | v2.06 |
NHServer | v12.78.38 |
Halo and Beyond Trust Configuration
There are two places which you can enable the Beyond Trust integration in Halo. Firstly, you can go to Configuration > Integrations. Secondly, you can go to the Remote Support module, and enable it from within here. It is recommended to do this from the Remote Support module, since you will also need to make configuration changes in here shortly.
Remote Support Configuration
We will begin by configuring the general Remote Support module that will be used with any of the available Remote Support Integrations. Click into General Settings in the module to begin configuring it.
The first options you will see cover some basic background on Remote Integrations. You can browse over this section and move straight onto the General Settings options, where there are three options available.
The first option is a default user for remote sessions. Most remote session data that is retrieved from Beyond Trust will either match a Live Chat or a Ticket ID, which will almost always have a corresponding user assigned to them. If you are using Live Chat on the end-user portal on the login screen, the chat will not be linked to a user. Also, if you are accepting remote session data from remote sessions that weren’t generated from Halo, then there will not be an associated user. It is in these circumstances that the remote session will be linked to the default user specified here.
The second option allows agents to invite users to remote sessions for agents other than themselves, or one of the configured Beyond Trust teams. This will be shown in more detail later in the guide.
The third option allows you to prevent your technicians from using the quick Remote Session Invitation functionality on a ticket. This option should be disabled if you’d like to force technicians to use a specific action to send the invites, or if you’re trying to lock down who has the ability to send the invites.
Below these options, there are some extra configuration buttons that allow you to configure your Remote Session Invitation templates.
The first option allows you to configure the text for a variable that can be used in email templates. This variable is $REMOTEINVITE. If you are using this variable in one of your templates, it is recommended that you use either the $LINKTOREMOTE or $REMOTESESSIONCODE variables so that a code/URL for the remote session gets populated.
You do not need to use $REMOTEINVITE in your templates – you can just use $LINKTOREMOTE or $REMOTESESSIONCODE directly in the email template should you wish to do so.
Below the $REMOTEINVITE option, you can configure your email template and also your live chat template. The email template loads up the usual email template editor screen that you should be familiar with. The Live Chat invitation works a little differently, in that you have to type the HTML manually, as shown below.
General Configuration
We can now begin to configure the Beyond Trust module in your Halo instance. When clicking into the module, the first set of configuration options you will see require you to input your Beyond Trust URL, followed by an API client and secret.
A client ID and client secret can be generated in Beyond trust by going to Management > API Configuration in Beyond Trust. You must create a new API account to obtain these values. When creating the account, you need to give full access to the Command API, and also access to Support Session Reports for the reporting API, as shown here:
Once you have created your API account in Beyond Trust, copy your client ID and client secret into your Halo instance. Use the Test Configuration to ensure that the details you have provided are correct.
Teams and Agents
The next set of options are based around Agents and Teams in Halo/Beyond Trust.
First, you need to enable the integration for any Agent who you would like to use it, and also assign their Beyond Trust display name to their Agent account. This must be done per agent by going to Configuration > Agents > Choose Agent > Details Tab:
The Beyond Trust username field is used for matching purposes when session details are sent back to Halo. The name field must match the Agents public or private display name value set in Beyond Trust, otherwise the session data will not be processed.
Once you have enabled the integration for the required Agents, you can begin configuring the Teams functionality. It is not required that you use Teams, but to achieve the most out of the integration, it is recommended that you have at least one team configured.
After the Team has been added to the list, they can be Enabled by editing the line.
Teams can either be created manually, or they can be retrieved directly from beyond Trust using the Get Teams button, which imports every configured Team in Beyond Trust. The name column shows the team name in Beyond Trust. If you would like this to display differently to your technicians in Halo, then you can edit the record in the table and adjust the display name. When editing the record, you can also choose whether the team is enabled, or whether the Team is the default Team for the integration.
Although not required, it is highly recommended that you choose a default Team. This team will be used in multiple scenarios, such as if no Team/Agent is chosen when sending a remote invite. With no default Team chosen, your $REMOTELINK and $REMOTESESSIONCODE variables will be simply blanked out, whereas having a default Team specified provides Halo with a fallback option to generate a new remote session code/URL.
Below the Get Teams button, you will also see one final option, which when enabled, allows Halo to switch over to generating a session for the default Team if the chosen Agent is unavailable. This means that instead of failing and returning you an “Agent Unavailable” message when the chosen Agent is not logged into Beyond Trust, a remote session code/URL is generated for the default Team instead.
Remote Session Data/Webhooks
The final part of the configuration for the integration is to create an Outbound Event, also referred to as Webhooks, in Beyond Trust. To create an Outbound Event in Beyond Trust, go to Management > Outbound Events. You need to add a new HTTP Recipient and configure it so that an Outbound Event occurs for the Support Session End event. You should set the URL for the Outbound Event to the URL shown in your Halo Instance, for example:
Once configured, every time a support session ends in Beyond Trust, a request will be sent to the Halo API with the details of this request. Below the highlighted URL, there is an option that when enabled will only allow the Halo API to process requests from Beyond Trust when the remote session code/URL for that session was generated in Halo.
Regardless, the Halo API will only process requests from Beyond Trust when the remote session was attended by a technician that exists in Halo. For reference, this matching process looks at the Public, Private and Display name of the technicians who attended the session in Beyond Trust, and looks for a match against an Agent name in Halo.
When the request is received from Beyond Trust, if the request is accepted, one of the following events will occur:
- If the session is linked to a ticket, then the remote session details are automatically added to the ticket as an action. The chat log from the session will be added as the note of the action.
- If the session is linked to a live chat, which is linked to a ticket, then the remote session details are added to the ticket as described above.
- If the session is linked to a live chat which is not linked to a ticket, and the live chat is still open, then the chat log from the remote session is added to the live chat as a message. It is also stored so you can link it to a ticket manually if you wish. If the chat has ended, then the remote session data will also be stored so it can be appended to a ticket manually.
- In all other cases, the remote session data will be stored so it can be appended to a ticket manually.
Sending Invites
Now that the configuration steps have been completed, you can send your first Remote Session invitations. There are multiple ways in which you can do this, all of which will be covered briefly in this guide.
Live Chat
The first option available is to send an invite via Live Chat. On the chat details page of a chat window, you should now see an option to send a Beyond Trust invite. Clicking this option will pop up a window that allows you to choose which technician/team you would like to send the invite for.
Here you will be given a list of all agents who have access to the integration, along with any teams you have configured. Whichever option you choose here is used when generating the URL/code for the remote session. This means that if you chose Administrator, then when the user follows the URL, they will be placed into Administrator’s private queue in Beyond Trust. Click save on this screen to post the message to the chat.
If the message is successful, a tick will appear next to the button, and you can switch back to the main chat windows to view this. Should this fail for whatever reason, a cross will appear next to the button, along with an error message explaining what failed.
If the technician is not logged in to Beyond Trust, and you have not chosen to automatically switch to the default team, then you will see a TECHUNAVAILABLE message next to the invite button. In this scenario, you need to try again but send the invite for a different Agent/Team.
When the session has been completed, if your live chat is still active and you have correctly configured the Outbound Event in Beyond Trust, the details of the remote session will be posted to the chat for both you and the user to see.
Ticket Details
The second option is from within the ticket itself, without using a configured action. If you open a ticket, and hover over the three dots in the top right corner, you will see an option for “Send Beyond Trust Invite”. Pressing this option will open up a screen again allowing you to choose who the session should be generated for, and also an email address to send the invite too.
Once you have submitted this, an action will be added for audit purposes so that it is clear that the invitation was sent.
When the session data is sent back to Halo, the content of this is added to the ticket as an action for the technician who took the session.
Should you wish to disable this option, please revert back to the general configuration section of this guide.
Actions:
You can create a specific action that uses the Remote Invitation Template to send the invite. To do this, go to the action configuration screen and set the system use for your chosen action to “Remote Session Invitation”.
You then need to go to the field list tab, and add the “Remote Session Technician/Channel” field. This field allows you to choose which technician/team the invite should be generated for. If you don’t want to use this field, or if the value is left blank, then Halo will use the default Team if you have one specified. If not, then the email will be sent without a url/code.
When the session data is sent back to Halo, the content of this is added to the ticket as an action for the technician who took the session.
New Ticket Screen
The final option available to you is to automatically send the invite when a new ticket is logged. You can specify this at request type level, on the defaults tab.
On the end user portal, if this field is set to send an invite by default, an invitation will always be sent when the user logs a ticket of this type and the default team will be used to generate a code/URL. You may wish to combine the new ticket template with the remote support template if you will be using this functionality. This invitation will be added as a system action to the ticket.
In addition to this, there are a couple of fields that can be made visible on the Agent new ticket screen that allow you to choose each time whether to send the invite, and which technician/team the invite should be generated for. To configure this, on the field list tab, add the following two fields.
The “Send Remote Session Invitation” field will be defaulted to the default value specified for the ticket type. If the invitation is sent, it gets added as an action for the technician who is logging the ticket.
When the session data is sent back to Halo, the content of this is added to the ticket as an action for the technician who took the session.
Linking Sessions
There are a few scenarios where a remote session may not be linked to a ticket. In these scenarios, the data is still saved to the Halo database, but the details must be manually linked to a ticket.
To do this, open a ticket and hover over the three dots in the top right-hand corner of the ticket. You will see an option for “Link Remote Session”. Clicking this option opens the search screen that you should be familiar with. The name of the remote session is set to the name of the Live Chat that it was generated from, if the name was set. Otherwise, it will display as “Remote Session”, as shown below.
You can choose one remote session at a time to link to the ticket. When confirming the session, the details of this session will be added as an action to the ticket.
Custom Button to Open the Device Automatically
You can create a custom button by going to Configuration > Custom Objects > Custom Buttons > adjust the entity to Asset > Create a new Custom button. You can use the below URL to automatically open the device in Beyond Trust, you just need to replace [YourBeyondTrust] with your Beyond Trust URL.
https://[YourBeyondTrust]/api/client_script?type=rep&operation=generate&action=start_pinned_client_session&search_string={$INVENTORY_NUMBER}
Popular Guides
- Asset Import - CSV/XLS/Spreadsheet Method
- Call Management in Halo
- Creating a New Application for API Connections
- Creating Agents and Editing Agent Details
- Departments, Teams and Roles
- Halo Integrator
- Importing Data
- Multiple New Portals with different branding for one customer [Hosted]
- NHServer Deprecation User Guide
- Organisation Basics
- Organising Teams of Agents
- Step-by-Step Configuration Walk Through
- Suppliers