Browse Guides

Connecting Copilot Studio to Halo's MCP Server
Reading mode
Copy Link
Link Copied!
Print
Feedback
This guide has multiple versions available:
<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 data-pasted="true"><strong>In this guide we will cover:</strong></p><p><strong>- What is the Halo MCP Server Connection to Copilot Studio?</strong></p><p><strong>- Creating an Authorisation Code API Application</strong></p><p><strong>- How to connect Halo&#39;s MCP server to Copilot Studio</strong></p><p><strong>- Example Request to Halo&#39;s MCP Server - Invoking lead generation based on service gaps of a whitespace report</strong></p><p><br></p><p><br></p><p><strong>Pre-requisites:</strong></p><ul><li>You will need to enable the <a href="https://usehalo.com/haloitsm/guides/2597" target="_blank" rel="noopener noreferrer">MCP Server Connection</a> for your Halo instance<ul><li>Download a Halo trial to access the out of the box reports connected to the MCP Server</li></ul></li></ul><p><br></p><p><strong><span style="font-size: 14pt;">What is the Halo MCP Server Connection to Copilot Studio?</span></strong></p><p><span style="font-size: 11pt;">The Halo MCP connection to Copilot Studio can be used to provide data insights and perform actions from a chatbot external to Halo. You will need to configure an Agent inside of Copilot Studio and then add a &quot;Tool&quot; connection to the Halo MCP server, via Copilots native MCP Server connector tool.</span></p><p><br></p><p><span style="font-size: 14pt;"><strong>Creating the Authorisation Code API Application in Halo</strong></span></p><p data-pasted="true"><span style="font-size: 11pt;">To register a new application, go to Configuration &gt; Integrations &gt; Halo API &gt; Applications. Here you can create a new application with the authentication method &quot;Authorisation Code (Native Application). This will need to be set to use a client secret.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><span style="font-size: 11pt;">The redirect URLs will be set later once they have been generated from the authentication setup in Copilot Studio (demonstrated later in this guide). <span style="font-size: 11pt;" data-pasted="true"> However,</span>&nbsp;</span><span style="font-size: 11pt;">for now put a placeholder here such as<span style="font-size: 11pt;" data-pasted="true"><span style="font-size: 11pt;" data-pasted="true">&nbsp;&quot;https://global.consent.azure-apim.net/redirect&quot;&nbsp;</span></span>and select &quot;Allow Agent Logins&quot;.</span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ1YmMzZWE3LWNmNjctNGMxNC04Njc3LTg0ZTQwM2Y2MmY0YyJ9.-77XqSGdmuE20CeMT43FPOj-gsAuGNtKXz8rKZxlFbY" class="fr-fic fr-fil fr-dib" width="1398" height="796"></p><p><strong><span style="font-size: 10pt;">Fig 1. API Application in Halo</span></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJmZDAyZDJlLTdiM2MtNDFjZC04MDdkLTkxMGQwMTU1MTYzYiJ9.dbIzsy0zNzzu0ubWRKjDy2SeuSm_iNqssZ3r43QeCkk" class="fr-fic fr-fil fr-dib" width="1077" height="654"></p><p><strong><span style="font-size: 10pt;">Fig 2. API application permissions</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">How to connect Halo&#39;s MCP server to Copilot Studio</span></strong></p><p><span style="font-size: 11pt;"><strong>Create an Agent in Copilot Studio, the instructions to give it can be along the lines of:</strong><br>This agent is designed to interface with the Halo MCP server to manage and retrieve data such as tickets, articles, and service catalogue from the system. It will answer questions related to your Halo environment and assist in processing tasks like ticket creation, updates, and queries based on AI suggestions. In addition to system functions, your agent has access to user-defined tools. These tools allow the agent to execute custom functions, such as querying specific reports or performing specialized tasks beyond the standard capabilities of the Halo API. For example, if a user asks the agent to show &quot;all SLAs missed this month by technician&quot;, the agent should invoke the tool CF_Missed_SLA_By_Technician_Monthly_Report.</span></p><p><span style="font-size: 11pt;"><br></span></p><p><strong><span style="font-size: 12pt;">Configure the new tool for your agent in Copilot Studio</span></strong></p><p><br></p><p><span style="font-size: 11pt;"><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijc2ODBmOTEzLWY3NDUtNGYxMy04NmNmLThhYjg4YjUwZTRlOCJ9.jYF5EZoKznS-JY8PHnT3m8KIlNU3M_MPxIXtAE3Bu5I" class="fr-fic fr-fil fr-dib" width="1279" height="595"></strong></span></p><p><span style="font-size: 10pt;"><strong>Fig 3. Create new tool in Copilot</strong></span></p><p><br></p><p><span style="font-size: 11pt;"><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI2Y2JmMDRjLWMzYTctNGM0Zi04ZjU0LTFhZDY0YTg0NWY2YiJ9.-IwhdF6I5rFyxd2x--zNM6utdeq9xHyqzPPX40dZBUk" class="fr-fic fr-fil fr-dib" width="1012" height="402"></strong></span></p><p><strong><span style="font-size: 10pt;">Fig 4. New tool screen</span></strong></p><p><br></p><p><span data-teams="true" data-pasted="true">Choose the MCP option then use auth 2.0 and manual.</span></p><p><br></p><p><span data-teams="true" data-pasted="true"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg0MTYxNTJkLTJjOGItNDkzOS1hZTZiLTMyYTlmYzBkNmYyNyJ9.CguMFmqbHG5BRulP4sV0wygtpYbUyXUE_BJmjNCTWSA" class="fr-fic fr-fil fr-dib" width="1006" height="738"></span></p><p><span data-teams="true" data-pasted="true"><strong><span style="font-size: 10pt;">Fig 5. Choose MCP option</span></strong></span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg2NTQwZjY2LTAyNDQtNDllZS1hMzZlLTY4MzJiMmFkZGQ0MiJ9.b3EIAnJ8sK7PLZdw7VsYlRdiN0S82x6Au2hAJc0quLU" class="fr-fic fr-fil fr-dib" width="917" height="681"></p><p><strong><span style="font-size: 10pt;">Fig 6a. Configure new MCP connection</span></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjljMDA2NDc0LTdjZTYtNDAzOS05NWQ3LTEyZTIyNjJiYjFmOCJ9.zw9Zf4flGKff_KXFmqViE919Q0uJLdJEMk6I1jFR2tg" class="fr-fic fr-fil fr-dib" width="781" height="724"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 6b. Configure new MCP connection</span></strong></p><p><br></p><p>After connecting, you will be given the Redirect URL to plugin into Halo:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjhmYzk3M2M0LTYwMjgtNGZlYi1hNjNmLTU1ZWRiZGY0ZTM0YyJ9.aKTQKtMvqSuZP9v_HafMXl5JDJ-epOBnmnri9WjWI-Y" class="fr-fic fr-fil fr-dib" width="1001" style="width: 1003px; height: 719.927px;" height="720"></p><p><strong><span style="font-size: 10pt;">Fig 7. Redirect URI to plug into Halo</span></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijk4NTdkZjAxLThjNWYtNDRhMy04M2EzLTc2ODFiMzhjZDI2MiJ9.XsL4aIdT0z5mbeoDg0H1k4cG7RaMOEvn5Ky905dysbo" class="fr-fic fr-fil fr-dib" width="1465" height="748"></p><p><strong>Fig 8. Adding the login redirect URL to the API application</strong></p><p><br></p><p>Then click &quot;Next&quot; in the bottom right hand side of the screen in Copilot Studio. You will be given the option to connect to the server:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwNGJmNDhhLTU4NDktNGNiYS05NjA1LTBjY2ZkOGVkZjBjYyJ9.FMtcN6ALp8p5kfQDWo7TCpK6Cy_AO3mDGpKt-u4aksk" class="fr-fic fr-fil fr-dib" width="1009" height="723"></p><p><strong>Fig 9. Creating the new connection</strong></p><p><br></p><p>After connected, you can click &quot;Add and configure&quot; on the bottom right hand side.</p><p><br></p><p>Then messages can be sent to Copilot. On the first message you will receive an error, telling you to open the connection manager to connect the MCP server to your agents chat:</p><p><br><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI0ZmJiMzBlLWUyMjQtNDY2YS04NjZkLTU1MmIzZGRhMzk0YSJ9.NZChTFmHQXIkW6vvn7BaMM34tDm7V4rk3yH33CyM2jk" class="fr-fic fr-fil fr-dib" width="1561" style="width: 1563px; height: 678.299px;" height="678"></p><p><strong>Fig 10. Inputs to the chatbot</strong></p><p><br></p><p>You must use the link to open the connection manager in order to connect the tool.</p><p><br></p><p>Click on Connect:</p><p><br><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYyZWI1ZTE1LWM5NzUtNDRmNy1hNDY0LWQ3ODYzOTQ0ZDc1OCJ9.tKStKZA_AtDB8bj3QxgFp7OXHBPRSGSyJ9x23rdDGAs" class="fr-fic fr-fil fr-dib" width="1080" height="333"></strong></p><p><strong>Fig 11. Connecting to the chatbot</strong></p><p><br></p><p>It may take a few seconds for the screen to load, but after connecting, click submit and you will be connected. Close the connection manager and begin to use the MCP connection.</p><p><br></p><p><strong><span style="font-size: 14pt;">Example Request to Halo&#39;s MCP Server</span></strong></p><p data-pasted="true">Get me the whitespace report and then log a ticket with ticket type: opportunity for all services that the customer acorn construction currently doesn&#39;t have. Make one ticket per service marked as Does NOT have within the report. Assign the tickets to <a target="_blank" rel="noopener noreferrer" data-fr-linked="true" href="mailto:Ben.Castle@contoso.com">Ben.Castle@contoso.com</a> of the customer. Make the summary and description of the ticket the name of the service for example the first ticket should display like this:</p><p><br></p><p>Summary: Acorn Construction - {Service Name}</p><p><br></p><p>Description: Acorn Construction - {Service Name}</p><p><br></p><p>The response:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg3NzcxNTE4LTM0NDAtNGEwMi04ZWE0LTliNWY2Y2Q1ZDFmMSJ9.KZvim5I4zL_X7daTTwYhJK1Lj_jUPxYhxIFebDijmKs" class="fr-fic fr-fil fr-dib" width="1698" style="width: 1700px; height: 786.609px;" height="787"></p><p><strong>Fig 12. MCP Server Response</strong></p><p><br></p><p>The server can be used for many operations such as creating tickets, running reports, trigger custom automations.</p><p><br></p><p>Now clicking back into Halo, inside of the &quot;All opportunities&quot; list shows my tickets that were created via the connection:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA0MTE3ZTk1LTY5ZWQtNDk0NC05NDVjLTNiMGFkNTcwOTRiNCJ9.8b_s3UttB7sRd8_PxRC8s20AKS2DJR3Rzq9XDOO6asc" class="fr-fic fr-fil fr-dib" width="963" style="width: 965px; height: 361.48px;" height="361"></p><p><strong>Fig 13. Opportunities created inside of Halo</strong></p><p><br></p><p><strong>Other tools and functions include:</strong></p><p><span style="color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 11pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; 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; float: none; display: inline !important;" data-pasted="true">The following system tools are included automatically;</span></p><ul style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; color: rgb(102, 102, 102); font-family: Poppins, sans-serif, Roboto; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; 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;"><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Action a Ticket</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Add Note to Ticket</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Apply AI Suggestion</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Assign to me</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Create new Ticket</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Get Assigned Tickets</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Search Knowledge Base</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Get matching Articles and Tickets for a Ticket</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Get One Article</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Get One Ticket</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Get User Info</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Search Service Catalogue</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Log Time</li><li style="box-sizing: inherit; color: rgb(0, 0, 0); font-size: 11pt;">Search Tickets</li></ul><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNmYmUyZWU0LTQ1MTUtNGQwNi1iYzVmLTBjYWU1MDA5ZDU3YiJ9.-4iBiIo_Eup4di3x_H4RAis5aafUR19lbojvk6jjUuE" class="fr-fic fr-fil fr-dib" width="1484" height="659"></p><p><strong>Fig 14. Custom tools for the Halo MCP server</strong></p>
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.