<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><p><strong>In this guide we will cover:</strong></p><p id="isPasted"><strong>- Connecting instances</strong></p><p><strong>- Determine how Tickets and actions are synced (mappings)</strong></p><p><strong>- Action Configuration</strong></p><p id="isPasted"><strong>- How to Pass tickets and updates between Instances - Worked Example </strong></p><p><strong>- Troubleshooting</strong></p><p><br></p><p><br></p><p>The functionality outlined in this guide is available as of v2.184+ of Halo. For functionality prior to this version see our article <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1663" target="_blank" rel="noopener noreferrer"><strong>Sending Requests Across 2 Instances</strong></a>. </p><p><br></p><p><strong><span style="font-size: 14pt;">What is Ticket Syncing between Halo instances? </span></strong></p><p id="isPasted">It is possible to send requests across two instances of Halo (without using the HaloCRM > ITSM integration). This allows you to have a ticket raised on one instance and escalate/send this ticket to another instance. Updates can then be passed between these two instances, allowing agents working from separate instances of Halo to support a user on a single ticket. </p><p><br></p><p>This functionality uses the API to send data between instances, by-passing all of the processes that get carried out when an email comes in, such as ID: tag matching, therefore the system will not try to incorrectly match onto tickets in either system, as this matching only occurs at email level and not API level.</p><p><br></p><p><strong><span style="font-size: 12pt;">Who should use this? </span></strong></p><p>This is useful for ITSM customers who receive support from an MSP who also uses Halo. This allows users to raise tickets in their internal Halo portal, the internal team can then escalate/send this ticket to the MSP when required. When they send this ticket across, the MSP will be able to work on this ticket in their instance, sending across actions to update the original ticket in the internal (ITSM) instance. The user can then view updates from the MSP by viewing the ticket in their internal Halo portal. </p><p><br></p><p>This is useful for PSA customer's who provide support to external companies who also use Halo, perhaps supporting the company's internal IT team with complex issues. This allows the external company to send the ticket that has been logged in their instance to your instance. You can then work on the ticket and communicate with the user from your instance but the user will still be able to access the ticket from their company's portal, they will not have to use your Halo portal. You can also communicate with other agents from the external company on this ticket, without the user seeing these communications and email the user directly from your ticket when required. An alternative to you requiring agent licences and a Co-managed IT setup in the customer's instance.</p><p><br></p><p>This is useful for CRM customers who would like to send tickets from their CRM instance to another (ITSM) instance, such as when queries would need to be escalated from CRM to ITSM.</p><p><br></p><p>This is also useful for any customers who use a supplier that also use Halo. This allows you to send tickets to the supplier and have the supplier be able to work on the ticket from their instance of Halo, sending updates back to you. The end user of the ticket can communicate with the supplier through the original ticket they raised, or the supplier can contact them directly. </p><p><br></p><p><strong><span style="font-size: 14pt;">Connecting instances<br></span></strong></p><p>We will walk through the setup using an HaloITSM instance (instance A) who receive support from an MSP (instance B) as an example. Tickets will need to be synced between the company using HaloITSM and the MSP using HaloPSA. </p><p><br></p><p id="isPasted">To do this, you will need to first, ensure that the suppliers module is enabled in both Halo instances. This is achieved by going to the configuration area and clicking the "+" sign on the suppliers module.</p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZlZjdiNzVkLTZhOWItNDI5MC1hMTBjLTIxNDU3ZTEwOWJjNCJ9.WhltcG8lpWmWQlmhi7kS77BZB0h7UYMHIYw-8TPJZeg" width="104" height="129" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14.6667px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; max-width: none !important;" id="isPasted" class="fr-fil fr-dib"><br></p><p id="isPasted"><strong><span style="font-size: 10pt;">Fig 1. Enable suppliers module</span></strong></p><p><br></p><p id="isPasted">Once enabled, you will need to create a supplier record for the instance you want to connect. So in this example, the instance belonging to the MSP will be the Halo instance we need to send tickets to. When correctly connected, the tickets will go to the MSP's instance from the company's instance, meaning that a new ticket is created in the MSP's instance. </p><p><br></p><p>Within the instance of the company (A) head to the suppliers module and create a new supplier, you could call this something that represents the entity (MSP) you are sending tickets to. Complete the contact information (although not required) then head to the 'API Access' tab.</p><p><br></p><p>Here, you will need to enable 'Allow Access' to you Halo API, this will allow the MSP to post ticket updates back to the ticket in your instance. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIzYTc4ODFhLWU2OTgtNDYxMy05ZWJlLTM1NTVkODE4NTA4OCJ9.CZ02pveY_5e2AoUOQqn-XXYDk7NVFHWk5s4-GS9Ej-Y" class="fr-fic fr-fil fr-dib" width="1505" style="width: 1507px; height: 685.077px;" height="685"></p><p><strong><span style="font-size: 10pt;">Fig 2. API access against supplier profile </span></strong></p><p><br></p><p>When API access is enabled you will see authentication details appear on the screen here, these will need to be copied into the MSP's instance. </p><p><br></p><p>Head to the MSP's instance (B) and create a new <strong>customer </strong>profile, call the customer something that represents the company receiving support and complete any other details against the customer profile you would like. Then head to the 'API Access' tab against the customer profile and enable 'Allow Access' to your API. This will allow the customer to send you a ticket via the API post updates to these tickets. </p><p><br></p><p><strong><em>Note: If you cannot see the 'API Access' tab against the customer profile you will need to enable this tab to show in your customer screen layout profiles. To do this head to configuration > advanced settings > screen layout profiles > change entity to organisation/customer > tab layout > set API Access tab to show.</em></strong></p><p><br></p><p>Once enabled complete the fields in the 'Access to the Suppliers Halo API' section, complete the fields here with the authentication details from the supplier profile created in company's (A) instance (seen in figure 2). </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJhYmE1NTg5LWYyOWUtNDU3ZS04MGYzLTk4OWZjYWRiZDdjMiJ9.JhcGE8QGCvsADqcFWISLYzRMXtTxixCkuH-Kz-3CBck" class="fr-fic fr-fil fr-dib" width="1310" style="width: 1312px; height: 735.96px;" height="736"></p><p><strong><span style="font-size: 10pt;">Fig 3. Fields to complete with authentication details </span></strong></p><p><br></p><p>Once complete hit 'Authenticate connection' to check you have connected successfully. If the check fails, ensure you have completed the authentication fields correctly. </p><p><br></p><p>To locate the Tenant ID of your instance go to the following url: https://{yourhaloinstance}/api/instanceinfo </p><p>From here you will be able to see the "tenant_id" parameter, which should be given as the tenant id input shown in Figure 3.</p><p><br></p><p><br></p><p><strong><em>Note: Ensure you are not in edit mode when copying the 'Client ID' from the supplier profile. </em></strong></p><p><br></p><p>Now copy the authentication details from the customer profile in the MSP's (B) instance, into the supplier profile setup in the company's instance (A). And authenticate connection. </p><p><br></p><p>In summary, here we are creating a customer profile in one instance, and a supplier profile in another. Each need to allow API access then have the authentication details from the other instance entered. </p><p><br></p><p><strong><em>Note: The instance that tickets are being sent to must be the 'supplier', tickets can only be created in instances that you have a 'supplier' relationship with. So in this example tickets can be created in the MSP's instance but not in the company's instance. </em></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Add Agents to Customer profile</span></strong></p><p>The Customer profile created in the MSP's instance (B) will need to have the agents in Customer A's instance added as end users. This will allow the ticket to be created under the correct customer when customer A sends tickets to the MSP.</p><p><br></p><p>Customer A has the following agents in their instance:</p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNkOWRiN2JiLThjMzEtNDE1OC1hYjIyLWVhNzJjMDg0YjIwMSJ9.VU0GI-Scge_LWwP6pOzEd6UdHedLRgZXhH0qeK_74QQ" class="fr-fic fr-fil fr-dib" style="width: 1173px; height: 472.701px;" width="1204" height="486"></strong></p><p><strong><span style="font-size: 10pt;">Fig 4. Agents in customer A's instance</span></strong></p><p><strong><br></strong></p><p>Therefore I will add these as end users in the MSP's instance as follows:</p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImYzYjk3NjU2LTRhNmEtNDk2NS05MTc2LTE4ZTQyODgyY2QzOSJ9.OLi2eGqM16td7ouMa6Y57vTRGj9iJNzx6ucflWiknBg" class="fr-fic fr-fil fr-dib" width="1350" style="width: 1352px; height: 610.215px;" height="610"></strong></p><p><strong><span style="font-size: 10pt;">Fig 5. Users against Customer A in MSP instance</span></strong></p><p><br></p><p>Now when one of these agents escalates a ticket to the MSP the ticket will be matched to the correct customer, this is required for the sync. </p><p><br></p><p><strong><span style="font-size: 14pt;">Determine how Tickets and actions are synced (mappings)</span></strong></p><p>Once connected the profiles in both instances will show some additional configuration settings, under the section 'Inbound settings'. </p><p><br></p><p>The 'Inbound settings' determine how tickets and actions are synced. Each customer/supplier profile will need to have the inbound settings configured as this controls how incoming requests are processed. </p><p><br></p><p><strong><span style="font-size: 12pt;">Inbound Settings</span></strong></p><p><strong>Status Mappings</strong></p><p>In the 'Status Mappings' you can map ticket statuses. Map a status in your instance to a status the linked instance uses, this will ensure when the ticket status changes in the linked instance the status of the ticket in your instance will change accordingly. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJlYjVlZThkLWM5MTQtNDAwMS1iYTk1LTg4NmE3ZTBlZGExZCJ9.VXhPIViswiDUEn8lvh--CAdgqtQuSWvkeFAauDJv-Sc" class="fr-fic fr-fil fr-dib" width="1508" style="width: 1510px; height: 641.284px;" height="641"></p><p><strong><span style="font-size: 10pt;">Fig 6. Status mappings</span></strong></p><p><br></p><p>For example, in Figure 6 I have mapped so that when the ticket in the linked instance has the status 'Resolved' the ticket in my instance will change to the status 'Closed'. If the ticket changes to a status in the linked instance that is not mapped, the status of the ticket in my instance will not change. </p><p><br></p><p>You will also need to set a default status, tickets that have been sent to your instance will have this status when created, if the initial status is not mapped. Using 'Action/Ticket Type Default' will result in the ticket being assigned a status based on the action or ticket type level default configured in your instance.</p><p><br></p><p><strong>Category Mappings</strong></p><p id="isPasted">In the 'Category Mappings' you can map ticket categories. Map a category in your instance to a category the linked instance uses, this will ensure when the ticket category changes in the linked instance the category of the ticket in your instance will change accordingly. </p><p><br></p><p><strong>Field Mappings</strong></p><p id="isPasted">In the 'Field Mappings' you can map ticket fields. Map a field in your instance to a field the linked instance uses, this will ensure when a field against the ticket is updated in the linked instance the field against the ticket in your instance will change accordingly. This only applies to fields against the ticket type, not action fields. Field updates can also only be synced through the use of an action, changing a field manually on the ticket will not update the linked ticket. Only fields of the same type can be mapped together, e.g. a date field in one instance cannot be mapped to a text field in another. At present only custom fields, the summary, start date and target fields can be mapped. More field mappings may become available in future versions. </p><p><br></p><p><strong><em>Note: If you would like the summary of the tickets in each instance to be the same ensure you map the summary fields together. </em></strong></p><p><br></p><p><strong>Actions Mappings </strong></p><p>In the 'Action Mappings' table you can map ticket action. Map an action in your instance to an action the linked instance uses, this will ensure when an action is used against the ticket in the linked instance the mapped action will be added to the ticket in your instance. </p><p><br></p><p>'Note' fields against actions will be mapped automatically but if your actions contain other fields that you would like to update the linked ticket, you will need to map these fields in the 'Field mappings' table.</p><p><br></p><p><span style="color: rgb(226, 80, 65);"><strong>Important: You should not map two email actions together. Doing this will result in the same email attempting to be sent from both instance, when this happens the action will not be able to sync between instances as it times out. Instead an email action should be mapped to a note action in other instance, this will allow the body of the email to be synced/be visible in the other instance. </strong></span><span style="color: rgb(0, 0, 0);"><br></span></p><p><br></p><p>Action restrictions against the ticket will still apply. That is, if a mapped action is not present/allowed by the ticket's workflow the action will not be able to be added to the ticket. The agent completing an action on the linked ticket will receive an error as the action will not be able to be sent to the ticket in the other instance. </p><p><br></p><p>The default action will be the action that is used when an action is added to the linked ticket that is not mapped, but bear in mind this action still needs to be available on the ticket workflow to be added to the ticket. We recommend setting this to be a generic action that is hidden from the user (such as Internal Note). </p><p><br></p><p><strong>Inbound settings - Customer profile only </strong></p><p>Additional settings will also appear against the customer profile, in this example this is the profile the MSP has set up for the customer in their instance. </p><p><br></p><p>Ticket type mappings can be configured here to determine what ticket type tickets are created as in your instance when the customer sends you a ticket. The default ticket type will be used when the ticket that is sent across does not have a mapping. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjljOWExYTMzLWJhMDAtNDQ3MC1iMjRkLTFmYzNjZGYwODA2MyJ9.iU7p1Tp3Lxo5R-PznpG2MhBOoR0j60ixp2q4XiNwIpA" class="fr-fic fr-fil fr-dib" width="1621" style="width: 1623px; height: 534.782px;" height="535"></p><p><strong><span style="font-size: 10pt;">Fig 7. Ticket type mappings against customer profile in MSP's instance</span></strong></p><p><br></p><p>These settings are only found against the customer profile as tickets can only be sent to (created in) the supplier's instance (or in this example, the MSP's). So you only need to configure inbound ticket type mappings against the customer profile in the MSP's instance as the MSP cannot send ticket to be created in the customer's instance. </p><p><br></p><p><strong><span style="font-size: 10pt;">Outbound Settings</span></strong></p><p>Under the 'outbound settings' section of the API access is a setting to determine if attachments are synced. As this is an outbound settings this determines if attachments sent out from this instance will be synced to the linked instance. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijc5ZDAwOGRlLWE0ZDYtNDJjMy1iM2JjLWZjM2UxNjg5ODRhMiJ9.pp4CKqlH4lfVsA0mq6-ABd3HoePzpzB5dPHRt7F5FzQ" class="fr-fic fr-fil fr-dib" width="1103" style="width: 1105px; height: 224.387px;" height="224"></p><p><strong><span style="font-size: 10pt;">Fig 8. Sync attachments</span></strong></p><p><br></p><p>Set this to 'Yes' in the instance you would like to send attachments from. </p><p><br></p><p>To send an attachment from one instance to another, add the attachment to an action then sync the action to the linked instance. Attachments can only be synced using an action, just adding an attachment to a ticket will not trigger a sync. </p><p><br></p><p><strong><span style="font-size: 14pt;">Action Configuration</span></strong></p><p>Now your mappings have been configured you will need to configure your actions to determine which actions will be sent to the linked instance and which actions are visible to end users. </p><p><br></p><p>For each action that you would like to be synced with the linked instance you will need to set 'Send to Connected Halo Instance' against the action. The option chosen here will depend on if the action is being synced to the supplier's (MSP's) instance, or the customer's (Client's) instance. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkyZjcxYjI4LTgxNTItNDY5MS1iY2NiLTk0YWNhM2I1ZDMwOCJ9.mpViqXuy79xDYmlb5qxQ0N7cPaFwUUtbRQJ3KutWFGg" class="fr-fic fr-fil fr-dib" style="width: 962px; height: 493.888px;" width="1155" height="594"></p><p><strong><span style="font-size: 10pt;">Fig 9. Field to ensure action is sent to connected Halo instance</span></strong></p><p><br></p><p>The field of the same name "Send to Connected Halo Instance" can also be added to actions, to see if the action is due to sync or not.</p><p><br></p><p>We will go through how to configure key actions to achieve core functionality of this feature. </p><p><br></p><p><strong><span style="font-size: 12pt;">Action to send the ticket to connected instance</span></strong></p><p>An action with the following configuration will need to be configured to send a ticket to a connected instance. You will only need to create this action in the instance you are sending tickets from:</p><ul><li>System use = Log to supplier</li><li>Send an email = Yes </li><li>Field list must contain the field - 'Supplier', 'Note' field is recommended </li></ul><p><br></p><p>This action will need to have the 'Supplier' field added to it so you can choose the correct instance to send the ticket to. The action will not actually send an email, but must be configured to do so. </p><p><br></p><p>You can use the out-of-the-box action 'Log to supplier' but we recommend creating a new one if you are sending the ticket to an instance that is not actually a supplier instance to avoid confusion amongst technicians. For ease, clone the existing 'Log to supplier' action, re-name this and remove all fields except 'note' and 'supplier'.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3NWYyM2ZiLTc5YmItNGJlMS04ZTJiLTY2NjU5ZWVlZmQyYiJ9.tpQTq5Zn9xXuQeKGiJET65c_pzXCQvliqbD1FFroJoQ" class="fr-fic fr-fil fr-dib" width="799" style="width: 801px; height: 610.018px;" height="610"></p><p><strong><span style="font-size: 10pt;">Fig 10. Action to send ticket to supplier's (MSP's) instance</span></strong></p><p><br></p><p>When this action is used, the email template associated with the action will be applied and sent to the MSP's instance (as a note, not as an email). By default the template with ID 35 'Supplier Ticket' will be used. You can change the template used using the 'Email Template' field on the action. </p><p><br></p><p>Once this action is created ensure it is added to the relevant workflows. A mapping does not need to be created for this action against the customer profile. </p><p><br></p><p id="isPasted"><strong><span style="font-size: 12pt;">Action to send internal updates between instances</span></strong></p><p>Two actions will need to be configured to send private notes between instances. The configuration of each action will differ slightly for each instance.</p><p><br></p><p><strong>Action in MSP's (supplier's) instance</strong></p><p>An action with the following configuration will need to be configured to send an update/note from the supplier's (MSP's) instance to the company's instance:</p><ul><li>System use = None </li><li>Send an email = No</li><li>Hide from user = No</li><li data-pasted="true">Send to Connected Halo Instance = Yes</li><li>Field List can contain the field 'Send to Connected Halo Instance' and any other desired fields. </li></ul><p><strong><em>Note: In order for this action to send across to the linked instance it must not be hidden from the user. This means that this action will be visible in the supplier's/MSP's end user portal. </em></strong></p><p id="isPasted"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJhMDE0MmEyLTExMGYtNGEwMC05ZDE1LWE4ZjAxZmMyNzE0OSJ9.Q7aCK32XUg6Xc7G2f2lCxnFamjF0IfJwOmb6r8A9YTY" class="fr-fic fr-fil fr-dib" width="521" style="width: 523px; height: 458.173px;" height="458"></p><p><strong><span style="font-size: 10pt;">Fig 11. Internal Note action</span></strong></p><p><br></p><p><span style="font-size: 11pt;">Now, you will need to map this action to an action in the company's instance (we recommend an internal note action). The action this one is mapped to should not be set to send to a connected Halo instance (Send to Connected Halo Instance = No) otherwise a 'loop' of syncs can occur. </span></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJkNGUwNGRiLWRlOTktNDQ3NS1hMDIyLWVlNjVmOWY4MTAxOSJ9.2TuLiqHPuz2l1E_1yjQvibZuYsLHkXAewhoTeSITnbg" class="fr-fic fr-fil fr-dib" width="1438" style="width: 1440px; height: 627.025px;" height="627"></span></p><p><strong><span style="font-size: 10pt;">Fig 12. Map Action in MSP's instance to send a note, to action in Customer A's instance</span></strong></p><p><br></p><p><strong>Action in the company's instance </strong></p><p id="isPasted">An action with the following configuration will need to be configured to send an update/note from the company's instance to the supplier's (MSP's) instance:</p><ul><li>System use = None </li><li>Send an email = No</li><li>Hide from user = Yes or No </li><li>Send to Connected Halo Instance = Yes</li><li>Field List can contain the field 'Send to Connected Halo Instance' and any other desired fields. </li></ul><p><strong><em>Note: This action does not need to be set to be visible to the ends user, however, as this is an internal, private, note we recommend setting Hide from user = Yes.</em></strong></p><p><br></p><p><strong><em><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUzMjE0MDYwLWZjZDYtNDliYi05OTUxLTBhMzZjNDU2OWJhYiJ9.ihYo06wYmhez6XfaxwRTxLpYW1xEpBFnT55rKrn8E7g" width="678" height="422" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; width: 680px; height: 422.167px; max-width: none !important;" id="isPasted" class="fr-fil fr-dib"></em><span style="font-size: 10pt;">Fig 13. Private Note action in ITSM (company) instance</span></strong></p><p><br></p><p data-pasted="true">Now, you will need to map this action to an action in the MSP's instance (we recommend an internal note action). The action this one is mapped to should not be set to send to a connected Halo instance (Send to Connected Halo Instance = No) otherwise a 'loop' of syncs can occur. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZkNjI5OTA1LWJkZjItNGRjMy1hZTA1LWUzMzA0MzgyNDViNiJ9.KisDeQ4g0amyjpnrnT3i3shgGydR1SvgQg2YCILMbQ0" class="fr-fic fr-fil fr-dib" width="1473" style="width: 1475px; height: 693.207px;" height="693"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 14. Mapping note action to an action in MSP's instance</span></strong></p><p><br></p><p><br></p><p>Ensure both actions are added to their respective workflows. Additionally, if the action contains additional/custom fields that you would like to sync across, ensure these fields are added to the field mappings in both instances. </p><p><br></p><p><strong><span style="font-size: 12pt;">Action to communicate with the end user of the ticket using the Company's Mailbox </span></strong></p><p>In order for the MSP to be able to send an indirect email to the end user of the ticket, from company A's mailbox, using company A's email templates, create an action with the following configuration. This action will need to be created in the suppliers (MSP's) instance: </p><ul><li>System use = No system use</li><li>Send an email = No </li><li data-pasted="true">Send to Connected Halo Instance = Yes</li><li>Field list must contain 'Send to connected instance' field, and any rich text field such as 'Note'</li></ul><p>We recommend naming the action something like 'Indirect email to end user'. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjBmZjM5NjBkLWZjZmEtNGZkZC05ZTVkLWZmNDc4ZmU4OWIzZCJ9.4K9ynI8Lh86T0lC9w6XVPAZdvpWO-04ZJNdQKwbxMGo" class="fr-fic fr-fil fr-dib" width="664" style="width: 666px; height: 378.763px;" height="379"></p><p><strong><span style="font-size: 10pt;">Fig 15. Action to indirectly email the end user</span></strong></p><p><br></p><p>Now, you will need to map this action to an action that sends an email from the company's instance. </p><p><br></p><p>To map the actions, head to the supplier profile (used for the MSP) in the company's instance (A). Here, map the action we just created to an action that will send an email to the end user of the ticket, such as 'email user'. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImY1OTQ5ODBjLTJhODQtNGIyZS05ZDdmLTliNGYwMjg1ZDY5NiJ9.6V85cVQFb4oViwVZg-2Q_gedW7LMkb6_Nhc9u2_Lldo" class="fr-fic fr-fil fr-dib" width="1534" style="width: 1536px; height: 668.826px;" height="669"></p><p><strong><span style="font-size: 10pt;">Fig 16. Mapping actions</span></strong></p><p><br></p><p>By completing this mapping this will ensure that when the action 'Indirect email to end user' is completed on the ticket in the MSP's instance (B) the action 'email user' will be created on the ticket in the company's instance (A). Sending an email to the end user of the ticket containing any notes the MSP entered in the 'Note' field on their action. By default the email template used for the email user action will pull through the rich text note from the MSP's action. </p><p><br></p><p>The email action you choose must have the setting 'Send an email when this action is created using the Supplier/Organisation API connection' enabled against it.</p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjM4OThlYmQxLWIyYmMtNDM4Ny1hNDIxLWQyMTc4Njk2OTg1ZSJ9.oVRKt5Lp02MaPiIC9WnjWRjvPunhSWDf_Ps4kPi8dO0" width="868" height="340" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; width: 870px; height: 339.928px; max-width: none !important;" id="isPasted" class="fr-fil fr-dib"><br><br></p><p id="isPasted"><strong><span style="font-size: 10pt;">Fig 17. Setting to allow action to send an email when created through API</span></strong></p><p><br></p><p>This setting will allow the action to send an email automatically when it has been created using the customer/supplier API connection.</p><p><br></p><p><strong><span style="font-size: 12pt;">Action to Resolve/Close ticket</span></strong></p><p>To prevent the end user of the ticket being sent two closure conformation emails you will need to create a new action to close the ticket, this action will need to be created in the MSP's instance. The action will need to have the following configuration: </p><ul><li>System use = No system use</li><li>Status after action = Closed/Resolved (depends on your closure procedures)</li><li>Send an email = No</li><li>Send to Connected Halo Instance = Yes</li><li>Field list can contain any </li></ul><p>We recommend calling this action something like 'Resolve Third party ticket'.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVkNGVlNDhmLWQ5MTQtNDlhNS05NDM3LTY4ZmFiYjY1MjllOCJ9.Bun2x7OG_yuIYpjeolHZOAMj48bm-ycyFYObfngoZys" class="fr-fic fr-fil fr-dib" width="496" style="width: 498px; height: 369.425px;" height="369"></p><p><strong><span style="font-size: 10pt;">Fig 18. Action to Resolve ticket </span></strong></p><p><br></p><p>Once created you will need to map this action to the resolve/close action in customer A's instance. This will ensure when this action is completed on the MSP's ticket, the ticket in customer A's instance will be closed too, with the closure conformation email sent from customer A. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdlMDMzMzRmLTI3MWMtNDUwYi05YmMwLWM0NjQzZGE4NzBlNiJ9.OYtHJ2PRnNDQdMCTfDZPXI-o37iBd4Fd-qCe_wZGd_w" class="fr-fic fr-fil fr-dib" style="width: 1519px; height: 660.741px;" width="1517" height="661"></p><p><strong><span style="font-size: 10pt;">Fig 19. Map closure action that does not send email to closure action that does send email</span></strong></p><p><br></p><p>Map these actions in the MSP's instance too. This will ensure if customer A closes the ticket, the MSP's ticket is closed off too. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE2N2ZjZTNiLTM2YmUtNGQ2NS04OTc1LWI5NTVjYWUxMjA5OSJ9.zZ8ZT_voSsYqtf4TOQ836C8l2dsQf70hP_RqOBAqgoU" class="fr-fic fr-fil fr-dib" style="width: 1372px; height: 644.049px;" width="1715" height="806"></p><p><strong><span style="font-size: 10pt;">Fig 20. Map closure actions in MSP instance</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">How to Pass tickets and updates between Instances - Worked Example </span></strong></p><p><strong>Step 1 - User logs ticket </strong></p><p>An end user has logged a ticket to report their issue and this has been triaged</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjBlOTRlMzM0LTdjMDYtNDc5Ni05MzJkLTdjY2FkNTI2ZTkyMSJ9.xDqJ94IkaY2xTTQc0tWsleBs68RJrDKb7OnLTLdDZIs" class="fr-fic fr-fil fr-dib" width="1506" height="656"></p><p><strong><span style="font-size: 10pt;">Fig 21. New ticket logged</span></strong></p><p><br></p><p><strong>Step 2 - Send ticket to Linked instance </strong></p><p>The agent has decided the ticket needs to be escalated to the MSP so they are using the action previously created to send this ticket to the MSP's instance. They have chosen the instance they would like to send this ticket to using the 'supplier' field, once a supplier is chosen here you will be able to see the instance URL the ticket is being sent to. The 'Supplier Ref' field MUST be left blank in order for the ticket to be synced across. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRmMDY3YzlhLWY0NGQtNDJlYi05ODliLTk0MTQzZjM2YWFkYSJ9.bujWrjgrQ9kdKfrQgNDHQrzQT9CjGHWP_2CywlIvKUE" class="fr-fic fr-fil fr-dib" width="1025" style="width: 1027px; height: 539.409px;" height="539"></p><p><strong><span style="font-size: 10pt;">Fig 22. Sending ticket to connected instance</span></strong></p><p><br></p><p><strong>Step 3 - Viewing Ticket in MSP's instance </strong></p><p>Once this action is complete a ticket will be logged in the MSP's (supplier's) instance. The note on the ticket will contain the note from the 'Escalate to MSP' action, along with content from the email template associated with the action. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUxZDM5MGU3LTFlYTMtNDE5Ny1hODFkLTk3NmQ0ZmNjNGQ3MCJ9.F_YHpnMXmoNC3lgj_Bxi6dh_OCZJUMJrqzjWECud8t4" class="fr-fic fr-fil fr-dib" width="1326" style="width: 1328px; height: 587.369px;" height="587"></p><p><strong><span style="font-size: 10pt;">Fig 23. Ticket created in MSP's instance</span></strong></p><p><br></p><p><strong>Step 4 - Send update back to original ticket</strong></p><p>Now the ticket has been created in the other instance an update can be added to the ticket here, this update can be synced back to the original ticket.</p><p><br></p><p>Before an update can be sent ensure the end user/customer of this ticket is the customer you have set up the API connection with as the update will be sent to the instance based on the customer assigned to the ticket. However, the correct customer should be matched automatically provided the agent who sent/escalated the ticket is a user under this customer in the supplier's (MSP's) instance. </p><p> </p><p>To send an update, complete the action created eariler to send updates to the connected instance. If you have the 'Send to Connected Halo Instance' field on the action, this should default to 'Customer', if this has defaulted correctly, the action will be sent to the connected instance. Ensure this action is mapped to an action in the company's instance. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJkMzRkMDM1LWUxYWQtNDU1Zi05NDZiLWYxNzdkZWVkNWM0NyJ9.85gfOD02HTeBqMSHahJVgn-BnptHvxQETLgNujjc7W8" class="fr-fic fr-fil fr-dib" style="width: 927px; height: 556.031px;" width="925" height="556"></p><p><strong><span style="font-size: 10pt;">Fig 24. Action to send update from Supplier (MSP) to company A instance</span></strong></p><p><br></p><p>Once this action is saved it will be sent to the ticket in company A's instance almost instantly. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgzNjdkYTQ4LWU2MWQtNGNjNC05MzkxLThjZDcxMDhiYWViNiJ9.CPoIJeK82Ehr_CBKC6hkq6THo3LrQf07VGq_1BLl-rw" class="fr-fic fr-fil fr-dib" width="1404" style="width: 1406px; height: 620.245px;" height="620"></p><p><strong><span style="font-size: 10pt;">Fig 25. Update in company A's instance</span></strong></p><p><br></p><p>Here, the action 'Internal Update' has been added to company A's ticket is this is the action mapped to the MSP's 'Note' action.</p><p><br></p><p>The action on company A's ticket will appear as being completed by the agent in the MSP's instance (in this example the agent profile in company A and the MSP's instance has the same name). </p><p><br></p><p><strong>Step 5 - Company send update to MSP</strong></p><p>Company A can send an update back to the MSP in the same way, ensuring 'Supplier' has been populated in the 'Send to Connected Halo Instance' field.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQxYTUyZjJmLTg5M2QtNDg2MC05YmE2LTI0NTM4OGEzNTc1MCJ9.URCHpCeVboSKpTUqBTWt4pG3L26vjOJnnrTNquiUmlk" class="fr-fic fr-fil fr-dib" width="1060" style="width: 1062px; height: 502.868px;" height="503"></p><p><strong><span style="font-size: 10pt;">Fig 26. Send update back to MSP</span></strong></p><p><br></p><p><strong>Step 6 - MSP Contact end user indirectly via company</strong></p><p>For the MSP to contact the end user of the original ticket they can use the action configured earlier 'Indirect Email to end user'. When completing this action enter the information/query you would like to send to the end user in the note field of the action and ensure to set ' 'Send to Connected Halo Instance' as Customer. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI1ZDFjMzUwLTNiZmQtNDBkZS1iYTU1LTVlYWYxOWJkMjI0YiJ9.pBq9jCRNOst9ybceD38zkNY3Ut2InR4h6QWPCGkY5AE" class="fr-fic fr-fil fr-dib" width="916" style="width: 918px; height: 486.05px;" height="486"></p><p><strong><span style="font-size: 10pt;">Fig 27. Indirect email to end user action</span></strong></p><p><br></p><p>Using this action will send an email to the end user of the original ticket, but using the email template and from the mailbox of company A. In the MSP's instance this action will just show as a note on their ticket (they will not even see the user's email address). However, in the company's instance email details will be visible. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM2YzlkNTlhLTg2OWQtNDg1OC04ZWZhLTlkYThlZGViMjU2MyJ9.sOO93TgV4RPyyHs-pc5nsGwJEwV1X302izPVYd0lF5o" class="fr-fic fr-fil fr-dib" width="1125" style="width: 1127px; height: 326.923px;" height="327"></p><p><strong><span style="font-size: 10pt;">Fig 28. Email user action sent on company A's ticket</span></strong></p><p><br></p><p>Editing this action we can see the note from the MPS's ticket has been added into company A's email template.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ2NzEyYzIwLTk0NmUtNGUxNS1hZDhlLTRkMzE2NDVmOGU1OCJ9.ESCFs-Y4JcaTUvQL-XmBgndjixPJRvnMg6mjLSr6xI8" class="fr-fic fr-fil fr-dib" width="528" style="width: 530px; height: 640.13px;" height="640"></p><p><strong><span style="font-size: 10pt;">Fig 29. Email template used</span></strong></p><p><br></p><p><strong>Step 8 - Ticket Resolved </strong></p><p>Once the ticket is resolved either the MSP or company A can use their resolved/closed action to close off the ticket. When the action is completed in once instance this will close the ticket in the linked instance too. Ensure the closure actions and setup outlined earlier are used to prevent the end user receiving two closure conformation emails. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFjNmVlNTU1LTVhMWMtNDAwNS05MjIzLWY0ZmU2NGRmNGEzOSJ9.cKk2C0KzI1HCYxI-mxvm9o0ctVAk6OaU86nEnw0gxMk" class="fr-fic fr-fil fr-dib" width="1093" style="width: 1095px; height: 477.038px;" height="477"></p><p><strong><span style="font-size: 10pt;">Fig 30. Ticket resolved in MSP (supplier) instance</span></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM5NmZmNzMyLTk2NGItNGRhMC1hM2QwLTI4MjUyNTlhNjQ1NyJ9.-NrjDGOTdQuVfbHJ3hNn0nJWsxiQDjBEYMIWkfUt4QI" class="fr-fic fr-fil fr-dib" width="1707" style="width: 1709px; height: 607.702px;" height="608"></p><p><strong><span style="font-size: 10pt;">Fig 31. Ticket closed in linked instance automatically</span></strong></p><p><br></p><p><strong>Step 9 - Ticket from Portal </strong></p><p>All the public actions against the ticket in company A's instance will be visible to the end user from company A's portal. In the figure 32 example we can see internal notes between agents are not visible, the action to escalate the ticket to the MSP is also not visible. However, communications to the user are. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ4ZDMyOTVhLTc4YWQtNDUzNC05OGY3LWZkZmY4YTQ2MTE0OCJ9.i8VlsrYMZLKZdg30e_o4JjgrEuPCPcaSX_BGJZLGkCs" class="fr-fic fr-fil fr-dib" width="1250" style="width: 1252px; height: 662.739px;" height="663"></p><p><strong><span style="font-size: 10pt;">Fig 32. Ticket in company A's portal</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Troubleshooting</span></strong></p><p>Here are some errors you may experience when setting up this functionality, along with resolutions. </p><p><br></p><table style="width: 100%;" class="grid"><tbody><tr><td style="width: 33.3333%;"><div style="text-align: center;"><span style="font-size: 12pt;"><strong>Error</strong></span></div></td><td style="width: 37.6992%;"><div style="text-align: center;"><strong><span style="font-size: 12pt;">Error image</span></strong></div></td><td style="width: 31.223%;"><div style="text-align: center;"><strong><span style="font-size: 12pt;">Resolution</span></strong></div></td></tr><tr><td style="width: 33.3333%;">Timeout error</td><td style="width: 37.6992%;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkyNmEyNDg4LTljNTItNGYyNi1hNTY5LWRhY2Y3MTQ1NDU0OSJ9.zQ1khDWfqyB-9Oo2R5HUL0aEoFWkSLEWX166jhLOG3k" class="fr-fic fr-fil fr-dib" width="775" style="width: 777px; height: 176.886px;" height="177"></td><td style="width: 31.223%;">This error occurs when you have two actions that are both set to send an email mapped together. The request times out as an email is attempting to be sent from both the current instance and the linked instance. To resolve this head to the customer/supplier mappings in the instance you are sending this action to and re-map this action to an action that does not send an email. This will result in an indirect email being sent. See the sections 'Action to email user directly. and 'Action to communicate with the end user of the ticket using the Company's mailbox' for more information on syncing email actions. <p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" id="isPasted"><br></p></td></tr><tr><td style="width: 33.3333%;">Failed to update ticket in Client's Instance - BadRequest - You do not have access to this action at the moment</td><td style="width: 37.6992%;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIzZjAzNmVkLWNjMzktNDgyYy05OTI1LTgyMTIwOGMxZTY5OCJ9.Kdk9-uoyRXzYMwX_x90zhmnO-3ZrI8HN46eE8CEFFtc" class="fr-fic fr-fil fr-dib" width="569" style="width: 571px; height: 170.544px;" height="171"></td><td style="width: 31.223%;">This error occurs when the action you are completing is mapped to an action that is not present/allowed on the linked ticket's workflow. Head into the instance you are attempting to sync the ticket to > head to the customer/supplier profile > action mappings > re-map this action to an action that is allowed on the ticket workflow. Alternatively add the mapped action to the workflow of the ticket. </td></tr><tr><td style="width: 33.3333%;">Tags around rich text note for email/strange email formatting</td><td style="width: 37.6992%;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA0MDczNGI5LWI1OGItNDJlMS1iZGI4LWI3NGZmZWJiY2Q2NiJ9.6qU95rOmKb8MrGRlseSjoLsuYQ0KC72fLulfY3LxEpQ" class="fr-fic fr-fil fr-dib" width="523" style="width: 525px; height: 432.504px;" height="433"></td><td style="width: 31.223%;">This can occur when the action is configured to make improvements to the action note using AI, either the action the note was completed on, or the action that is actually sending the email. <br>To resolve this edit the action > see the 'AI' section under the action details and adjust the AI prompt. Update the prompt to tell it to return only HTML with no markdown. Alternatively, disable AI improvements for the action. </td></tr><tr><td style="width: 33.3333%;">Failed to Update ticket in Supplier's Instance- Badrequest - An action must be associated with a ticket_id</td><td style="width: 37.6992%;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImY0M2RhNTQwLWVkMmQtNGFkYS1hNmM2LWQyNjE2YWE4MjczMSJ9.qZbPLp6gOKD6qqUzrMDhnPpdrg2eyeg12WUZ0DivcD8" class="fr-fic fr-fil fr-dib" width="535" style="width: 537px; height: 234.482px;" height="234"></td><td style="width: 31.223%;">This error occurs when attempting to send a ticket to a linked instance when the 'Supplier Ref' field is populated. To resolve, ensure the 'Supplier Ref' field is empty when saving the action. </td></tr><tr><td style="width: 33.3333%;">No error but action does not sync to linked ticket</td><td style="width: 37.6992%;">Synced actions will contain the URL and endpoint of the linked instance, if this is not present against the action it has not synced. </td><td style="width: 31.223%;">Sync will not occur when the action you have carried out is not mapped to an action in the linked instance. To resolve this head into the instance you want to sync this action to > head to the customer or supplier profile > action mappings, here map the action you were trying to complete to an action in this instance. <br><br>Sync will also not occur if you actions are configured incorrectly. For example, if you are completing a private note action, the action that is completed in the supplier's (MSP) instance must be set to be visible to users. <br><br>If you are attempting sync from Supplier instance -> Customer instance this may fail if the ticket in the supplier instance is assigned to the incorrect customer. Check the customer assigned to the ticket has a valid API connection set up. See the section 'Connecting instances' of this guide for more information on this. </td></tr><tr><td style="width: 33.3333%;">Failed to log to Supplier's Instance - BadRequest - This functionality is not supported</td><td style="width: 37.6992%;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE4NWRjYzFkLTkxZmUtNDZmMS05ZTQ0LTU0MjRiYzBiZmIxNSJ9.wwHampgPWZvWexx9Kep592Hy4zhxpBfeR35s65apTbM" class="fr-fic fr-fil fr-dib" width="446" style="width: 448px; height: 227.797px;" height="228"></td><td style="width: 31.223%;">This error occurs when the credentials entered against each supplier and/or customer profile to allow API access are incorrect. Ensure the supplier profile contains the credentials against the customer profile in the connected instance. Refer to the section 'Connecting Instances' of this article for more information on this. </td></tr></tbody></table><p><br></p>