Browse Guides

Custom Buttons
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><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><strong>- The benefits of using custom buttons and tabs</strong></p><p><strong>- How to create a custom button</strong></p><p><strong>- Create Custom buttons via the API</strong></p><p><br></p><p><br></p><p><strong>Admin Guides:</strong></p><ul><li><strong><a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1439/" id="isPasted" target="_blank" rel="noopener noreferrer">Custom Buttons</a></strong></li></ul><p><br></p><p><strong>Related Guides:</strong></p><ul><li style="font-weight: bold;"><a href="https://usehalo.com/haloitsm/guides/2440/" target="_blank" rel="noopener noreferrer"><strong>Asset Custom Buttons</strong></a></li></ul><p><br></p><p><strong><span style="font-size: 14pt;">The Benefits of using Custom Buttons and Tabs</span></strong></p><p>This video By Connor from Renada, goes over the use case of using custom buttons and tabs</p><p><iframe width="560" height="315" src="https://www.youtube.com/embed/2hiv9d-wpKc?si=XbfPpVT1RhKoboYN" title="YouTube video player" frameborder="0" allowfullscreen=""><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span><span class="fr-mk" style="display: none;">&nbsp;</span></iframe></p><p><br></p><p>Custom buttons can be used to add a host of functionality to various areas in Halo whilst being very simple to configure. You might use custom buttons to:</p><ul><li>Build on the functionality of an existing integration</li><li>Create a basic integration with another web-based application or service</li><li>Add custom shortcuts to existing functions within Halo</li><li><a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1630/" id="isPasted" target="_blank" rel="noopener noreferrer">Trigger a runbook</a></li></ul><p><br></p><p><strong><span style="font-size: 14pt;">Adding a New Custom Button</span></strong></p><p>Head to the configuration page and then navigate to &quot;Custom Objects&quot; which is near the end of the list. You&#39;ll see the option for Custom Buttons. If you click on that you will see a list screen, with a drop-down in the top-left to select which type of custom buttons to show. The options include:</p><p><br></p><ul><li><strong>Customer</strong></li><li><strong>Site</strong></li><li><strong>User</strong></li><li><strong>Asset</strong></li><li><strong>Contract</strong></li><li><strong>Item</strong></li><li><strong>Supplier</strong></li><li><strong>Supplier Contract</strong></li></ul><p><br></p><p>Buttons of type &#39;Customer&#39; will show up near the top on the customer record in Halo, &#39;Site&#39; buttons will show on the site record, etc. For example:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZlMDFlM2I2LThkNGQtNDFlMS05NzY4LTc0NTM1NTgyYzU4ZiJ9.t4fmL530DBpOYvwkyecHv9lZ2ytPT135B_Tu3BOyxhI" class="fr-fic fr-fil fr-dib" width="748" height="220"></p><p><strong><span style="font-size: 10pt;">Fig 1. Custom Button Example</span></strong></p><p><br></p><p>Select a button type and click &#39;New&#39; to add a new custom button. You&#39;ll then see the following inputs:</p><p><br></p><ul><li><strong>Button Name</strong> - This is the description of the button. This can be anything you choose and is purely used to identify the button in the config list.</li><li><strong>Button Label</strong> - This is the text that will appear on the button itself.</li><li><strong>Button Icon&nbsp;</strong>- This is the icon that will appear next to the text on the button.</li><li><strong>Button use</strong> - This will control what the button is used for. Buttons can either open a chosen link (Open Link) or start a runbook (Start a Runbook) when used.</li><li><strong>Sequence in lists</strong> - This defines the order of the buttons both in the list and the order they appear in the entity.</li><li><strong>Button Colour</strong> - This controls what colour the button will be. If using a custom colour the icon and text colour of the button will automatically change accordingly.&nbsp;</li><li><strong>Open in New Tab</strong> - Defines whether clicking the button opens the URL on in the same browser window, or in a new tab.</li></ul><p><strong><span style="font-size: 12pt;">Buttons to Open a Link</span></strong></p><p>If your &#39;Button Use&#39; is set to &#39;Open Link&#39; the button can open a set link when used. Useful when you would like to use it as a shortcut to navigate to other pages.&nbsp;</p><p><br></p><p>Simply enter the link you would like the button to open in the &#39;URL&#39; field. If you would like this page to open in a new tab select &#39;Open in a new tab&#39; otherwise the agent will be redirected to this page.&nbsp;</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjFmZjNlZTkzLTYzMzQtNDlmOC1iZjQyLTliYzg0MjdjODM2NSJ9.dctCTdZz1b972n9FvxZh4h4gpBJdffeD7Ln5IFT6xfo" class="fr-fic fr-fil fr-dib" width="1270" style="width: 1272px; height: 675.112px;" height="675"></p><p><strong><span style="font-size: 10pt;">Fig 2. Button to open a URL.&nbsp;</span></strong></p><p><br></p><p><strong><span style="font-size: 11pt;">Creating your URL</span></strong></p><p>You can have your button simply open a specified URL, or you can build a URL to open with the assistance of variables.</p><p><br></p><p>For example, you might have a 3rd party Remote Monitoring web application and you wish to add a button to the assets in Halo that opens the monitoring page for the individual asset. You might also have an asset field in Halo that contains the ID number of the asset in the 3rd party application (let&#39;s imagine that the asset field is called &#39;Third Party ID&#39;). To achieve this, inspect the URL of the asset monitoring page in your 3rd party application. You can see in the following example, the URL contains the asset ID 123:<a href="https://monitoring.rmm.com/asset?id=123">&nbsp;https://monitoring.rmm.com/asset?id=123</a></p><p><br></p><p>So in order to replicate this URL for the button on each of your assets, the URL that you&#39;d need to use for the button would be: <em>https://monitoring.rmm.com/asset?id={$AFThird Party ID}</em></p><p><br></p><p>You can view the list of variables that you can use the for the custom URL by clicking on the link within the URL Details of the custom button creation screen:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImU5Y2FkYTQ0LTFiZGQtNGM5Mi04ZTg5LTYyNDAwOTllODFiOCJ9.f_9jLlVTX9yGNYx7NrA67TIeg6DxYwntltVCHADzawU" class="fr-fic fr-fil fr-dib" width="1158" style="width: 1158px; height: 136.119px;" height="136.119"></p><p><strong><span style="font-size: 10pt;">Fig 3. Button For Viewing List of Dollar Variables</span></strong></p><p><strong>&nbsp;</strong></p><p>Remember to put your variable between curly brackets, such as: {$CFCustomField}.</p><p><br></p><p id="isPasted">You can use custom field variables within the URL to set defaults within the web-app. In previous versions, only the end-user portal will work this way.</p><p><br></p><p>The fields that can be populated in the way are memo, single select, date, and checkbox custom fields, category 1-4, and the ticket&#39;s summary.</p><p><br></p><ul><li>The summary uses the following format: summary=X, where X is the URI encoded value.</li><li>Memo and date custom fields use the following format: customfield_Y=Z, where Y is the custom field ID and Z is the URI encoded text / date value.</li><li>Single select and checkbox custom fields use the following format: customfied_Y=Z, where Y is the custom field ID and Z is the ID of the desired value (for checkboxes this is 1 for Yes).</li><li>Category 1-4 use the following format: category_Y=Z, where Y is the category ID (1-4) and Z is the ID of the desired value.</li></ul><p><strong><span style="font-size: 12pt;">Buttons to trigger an Integration Runbook</span></strong></p><p>If your button use is set to &#39;Trigger a Runbook&#39; you can have your button trigger a chosen runbook. Useful when you would like to be able to trigger <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1630" id="isPasted" target="_blank" rel="noopener noreferrer">runbook automations</a> manually outside a ticket.&nbsp;</p><p><br></p><p>This is available for buttons for the following entities:</p><ul><li>Client</li><li>Site</li><li>User</li><li>Device</li><li>Quotation</li><li>Purchase Order</li><li>Invoice</li></ul><p id="isPasted">This is available from for buttons for the following entities:</p><ul><li>Sales Orders</li></ul><p><br></p><p>Simply choose the runbook you would like to trigger in the &#39;Integration Runbook&#39; field.&nbsp;</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImY4MjIyOTA2LTI2ZDktNDQ2OS1hZjEwLTJlNDcxNWI2MWViNyJ9.tvotJul9J9muplDmGpF7a0JTdJVAWANLpgVB61NHPi0" class="fr-fic fr-fil fr-dib" width="1270" style="width: 1272px; height: 608.9px;" height="609"></p><p><strong><span style="font-size: 10pt;">Fig 4. Custom Button to trigger integration runbook.&nbsp;</span></strong></p><p><br></p><p><strong><span style="font-size: 10pt;"><em>Note: When using a button to trigger a runbook ensure the runbook does not have any <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1630" id="isPasted" target="_blank" rel="noopener noreferrer">event triggers</a> configured.&nbsp;</em></span></strong><em><br></em></p><p><br></p><p><strong><span style="font-size: 14pt;">Custom Button Restrictions</span></strong></p><p><span style="font-size: 11pt;">Agent&#39;s access to custom buttons can be restricted to control who can use which buttons.</span></p><p><br></p><p><span style="font-size: 11pt;">Access Control can be set on each custom button to control who can access it.&nbsp;</span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEwMjRhOTA2LWFiZmItNDNkYy1iNzM0LTMxNDU1ZWE1ZTdjMSJ9.bUphHRgGkuWE_sQpL2A2N7lG39aiDZ-qom5329hu1vI" class="fr-fic fr-fil fr-dib" width="893" style="width: 895px; height: 460.367px;" height="460"></p><p><strong><span style="font-size: 10pt;">Fig 5. Access control for custom button.</span></strong></p><p><br></p><p>When adding access control choose the entity you would like to give access to and the level of access they should have. Agents will only need read only access to be able to use a button.&nbsp;</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImYyYWM3Mjc5LTBmNTctNDgxMS04NGNlLTUxNGNmOTY2OTIzOCJ9.d5U7oXCL5_C82XO4A27NbSgi-Q7Olf6V9TPBJE5tbJg" class="fr-fic fr-fil fr-dib" width="643" height="305"></p><p><strong><span style="font-size: 10pt;">Fig 6. Access control for custom button.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Create Custom buttons via the API</span></strong></p><p>Custom buttons (to open a specified URL) can be created via the API, allowing third party tools to create custom buttons for specified entities.&nbsp;</p><p><br></p><p>This allows custom buttons to be added to chosen entities using information that is available in the third party tool, but not available in Halo. Useful when the button link needs to be dynamic based on the instance of the entity it is present on, but the unique information is not available in Halo. For example, when you would like the button to take you to the most recent alert for that asset in the RMM tool. This also allows you to only have custom buttons create on specific instances of an entity, rather than all instances of that entity (e.g. all clients).&nbsp;</p><p><br></p><p>Custom Buttons can currently be created via the API for the following entities (post to the endpoint of the entity you would like to create the button on):</p><ul><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;" data-pasted="true">Client</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">Site</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">User</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">Item</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">Device</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">Quotation</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">Sales Order</li><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px;">Purchase Order</li></ul><p><br></p><p>The following properties are used to determine the URL, the label, and the icon for the button (respectively):</p><ul><li data-pasted="true">_match_integration_button_url</li><li>_match_integration_button_caption</li><li>_match_integration_button_icon</li></ul><p><br></p><p data-pasted="true">The following properties are used to determine the URL, the label, and the icon for the button (respectively) when you would like to create multiple buttons per entity. When looking to create multiple buttons per entity you will need to POST to the Externallink endpoint:</p><ul><li data-pasted="true">url_for_linked_entity</li><li>url_for_linked_entity_caption</li><li>icon_for_linked_entity_caption</li></ul><p><br></p><p><br></p>
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.