<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>- What is a Custom Button?<br>- Creating an Asset Custom Button </strong></p><p><strong>- Restricting by Agent</strong></p><p><strong>- Restricting by Asset Type</strong></p><p><strong>- Restricting by Access Control</strong></p><p><strong>- Restricting by Status and Asset Field Values</strong></p><p><strong data-pasted="true">- Restricting by Asset Permissions</strong></p><p><br></p><p><strong>Admin Guides:</strong></p><ul><li style="font-weight: bold;"><a href="https://usehalo.com/haloitsm/guides/1439/" target="_blank" rel="noopener noreferrer"><strong>Custom Buttons</strong></a></li></ul><p><strong><br></strong></p><p><strong>Related Guides:</strong></p><ul><li><a href="https://usehalo.com/haloitsm/guides/2426" target="_blank" rel="noopener noreferrer"><strong>Access Control</strong><br></a></li><li style="font-weight: bold;"><a href="https://usehalo.com/haloitsm/guides/2038/" target="_blank" rel="noopener noreferrer"><strong>Custom Buttons</strong></a></li></ul><p><br></p><p><strong><span style="font-size: 14pt;">What is a Custom Button?</span></strong></p><p>Custom buttons are a way of adding your own functionality into areas of Halo. They can be used to open a URL link or start a runbook, and will appear along the top row of the entity they are added to. The open URL could be used to quickly view the documentation/instructional manual or the supplier's website for support for instance. Runbooks have many use cases, but an example here might be to open a variable endpoint for that specific asset to a remote support application.</p><p><br></p><p><strong><span style="font-size: 14pt;">Creating an Asset Custom Button</span></strong></p><p>In Configuration > Custom Objects > Custom Buttons, first change the entity in the top left to "Asset" by clicking on the arrow and then selecting it from the dropdown.</p><p><br></p><p>Now click the "New" button in the top right to create a button.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjNzY4MDE2LWEzMDgtNGNmMC05MWI4LWI2MjEzZWU4ZTI2ZiJ9.rmWg1emdYpjtzvz30otEuPldWdU3_r9NgHu9CWYef90" class="fr-fic fr-fil fr-dib" width="1236" style="width: 1238px; height: 413.184px;" height="413"></p><p><strong><span style="font-size: 10pt;">Fig 1. Selecting the asset entity.</span></strong></p><p><br></p><p>You will then see the following screen.</p><p><br></p><ul id="isPasted"><li><strong>Button Name</strong> - 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> - Text that will appear on the button itself.</li><li id="isPasted"><strong>Button Icon</strong> - Icon that will appear next to the text on the button.</li><li id="isPasted"><strong>Button Use</strong> - Selecting whether the button will open a link or start a runbook.</li><li><strong>Sequence in lists</strong> - Defines the order of the buttons both in the list and the order they appear in the entity.</li><li><strong>URL </strong>- URL that the button will open.</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><li><strong>Integration Runbook</strong> - Selecting which runbook to run.</li><li><p><strong>Disable Runbook Queued confirmation </strong>- This will prevent the popup confirmation message from displaying when the Runbook has been queued.</p></li></ul><p><br></p><p>You can also use variables in a URL to populate values into the URL from the asset the button is used on, and a list of the available ones is linked on the custom button configuration when "Open Link" is selected. This can be used to link to external asset management tools with a parameter for a certain integration ID or status ($-ASSET_STATUS) based on a field on that asset.</p><p><br></p><p data-pasted="true">In this example, the button will open the Halo website in a new tab.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNhZjBkNWNlLWY2NzktNDFmZC1hMDFkLTgwYmY3YTI0MTBlYiJ9.KuQu0Sb4VKSUlXby40m1qIXZnQ0U6TnMUAxi3YpBrjc" class="fr-fic fr-fil fr-dib" width="1233" style="width: 1235px; height: 629.517px;" height="630"></p><p><strong><span style="font-size: 10pt;">Fig 2. Custom button configuration.</span></strong></p><p><br></p><p>Upon saving, the button will appear on assets. Despite the sequence, the system buttons will remain in their designated places either side.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImViY2Y2MDc2LWE2NTktNGU2Ny1iMTE4LTczZmJhNjU5MmZlMCJ9.QsKXFYxyX3vxmgEL9pWrJVtUN-v-EMlewQF-k8wTZAk" class="fr-fic fr-fil fr-dib" width="1232" style="width: 1234px; height: 696.738px;" height="697"></p><p><strong><span style="font-size: 10pt;">Fig 3. Custom button on an asset.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Restricting by Agent </span></strong></p><p>Visibility of custom action buttons can be restricted with agent permissions. In the agent profile > Permissions tab > Custom Button Restrictions, there is a table to add buttons to. Adding a custom button here will restrict the button from being seen, even if the agent is an administrator. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMxMjJkNjY5LTIzNmEtNDRiYi1hN2RjLWZjYWY0OTZlMTBmMCJ9.CyWcwK9Z6obS-566TB6B4k3ro-b5AOdtgIGFCJ3ww6k" class="fr-fic fr-fil fr-dib" width="1230" style="width: 1232px; height: 218.782px;" height="219"></p><p><strong><span style="font-size: 10pt;">Fig 4. Restricting a custom button.</span></strong></p><p><br></p><p>Upon refresh, the button is now hidden on the same asset we previously showed.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEwYWI2OTQxLTk4ODEtNDRjOC04NjA3LTZhNDY1MWM0MDNjYyJ9.PYux9QCUYLKseOtVBI8pVNnQkKS6teuQryz6sC2bsHM" class="fr-fic fr-fil fr-dib" width="910" height="165"></p><p><strong><span style="font-size: 10pt;">Fig 5. Custom button no longer showing.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Restricting by Asset Type</span></strong></p><p>Custom buttons can be restricted by asset type using the allowed values functionality.</p><p><br></p><p>Within an asset type, go to the "Allowed Values" tab. Uncheck "Allow All Values" under "Custom Buttons". A table will then appear to select which buttons to show.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA5MGQzN2E1LWJlNGUtNDZkMy04Zjg4LThmYjk0YTcxNDRhZSJ9.3Myl5W9L_5KcGV_r-gnOyzzHSQRBifxBJBo_NkCGoJY" class="fr-fic fr-fil fr-dib" width="1180" height="518"></p><p><strong><span style="font-size: 10pt;">Fig 6. Disallowing custom buttons per asset type.</span></strong></p><p><br></p><p>When viewing another asset type with no restrictions, both buttons show.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImY0Yzk5MmFmLTZkZDItNDk2Ni1hOTllLTliMWY3NTdkMmI4YiJ9.h7C8r9ZZi9xx_e9x--51cGsKaXSgNbjnE-O8cr3zP9k" class="fr-fic fr-fil fr-dib" width="612" height="123"></p><p><strong><span style="font-size: 10pt;">Fig 7. Non-restricted asset type.</span></strong></p><p><br></p><p>However, when viewing the restricted asset type, only the allowed value shows.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY5ZjM0MDc5LTQ4M2YtNDI5MC04NjdhLTA5ZDYyZTFkOWU4NSJ9.iHjFKBN5EIInf7_xj-P0bEzt6UJegAxvfiaOYnXZDlA" class="fr-fic fr-fil fr-dib" width="580" height="119"></p><p><strong><span style="font-size: 10pt;">Fig 8. Restricted asset type buttons.</span></strong></p><p><br></p><p id="isPasted"><strong><span style="font-size: 14pt;">Restricting by Access Control</span></strong></p><p>In Configuration > Asset Management > General Settings, you can enable Access Control to be used for Assets.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjFiZTgyOGRjLWFiNzctNDdjYy1hMmQyLTZjN2QxNjYyZDcwOCJ9.67VeCoqRq79cgnO-bCjNgUBAEvQHK7jsed0PWculiGE" class="fr-fic fr-fil fr-dib" width="685" height="98"></p><p><strong><span style="font-size: 10pt;">Fig 9. Enabling Asset Access Control.</span></strong></p><p><br></p><p>If enabled, Asset Custom Buttons will have the option to restrict the Button to only those with a certain Access Level.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdkY2Y1YTAwLWMyODgtNGUwMC05Y2MxLTU0ZDc1MGQxYTJhMSJ9.nJxaDaWwvcBHtVRnmuaktC_O8NaFi7tCYQNe7WO6tOI" class="fr-fic fr-fil fr-dib" width="756" height="169"></p><p><strong><span style="font-size: 10pt;">Fig 10. Visibility Access Level.</span></strong></p><p><br></p><p>With access control enabled,,you can add dynamic visibility restrictions within the button configuration (Configuration > Custom Objects > Custom Buttons). </p><p> </p><p><strong><span style="font-size: 14pt;">Restricting by Status and Asset Field Values</span></strong></p><p id="isPasted">In Configuration > Asset Management > General Settings, you can enable Access Control to be used for Assets.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI2ZTcwNDg5LTg4MGItNGQ3Ny04NDQwLTQxMTM3MGZmYTdiYSJ9.Gc5OgLMO681KpeQ5CZgb2AzgrHWe41BCAhG2R9ib1B4" class="fr-fic fr-fil fr-dib" width="685" height="98"></p><p id="isPasted"><strong><span style="font-size: 10pt;">Fig 11. Enabling Asset Access Control.</span></strong></p><p><br></p><p>Asset Custom Buttons can then be restricted by Values with Asset Fields, and/or the Status assigned to the Asset.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRjNzYyODkzLTllNDAtNDhhYi1iYWZhLTdmNmZhMjAxN2RhYyJ9.ebKvcvKzL6AmB5ZiDlm-6ntQ121Pygbdl-gpzuwUPCU" class="fr-fic fr-fil fr-dib" width="998" style="width: 1000px; height: 168.237px;" height="168"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 12. Asset Field Access Level</span></strong></p><p><br></p><p><strong data-pasted="true"><span style="font-size: 14pt;">Restricting by Asset Permissions</span></strong></p><p data-pasted="true">A minimum permission level can be required in order for an Asset Custom button to be visible. When using the "Use Read/Write permissions for Asset Types and Assets" permission type in Configuration > Asset Management > General Settings, an additional drop-down will show against your Custom button configuration. This drop-down allows you to determine the minimum required permissions for the Asset Custom Button to be visible. The restrictions set here will be applied after Access Control. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdhZGQ4Y2U4LWFkNTQtNDVmZS1iNDhhLTEwODZkN2M2YWVhNyJ9.Tt81Ttj2Mn_HmlDet3H3Njs0QK_xy89Nx8DCOIYtD4M" class="fr-fic fr-fil fr-dib" width="1295" height="834"></p><p data-pasted="true"><span style="font-size: 10pt;"><strong>Fig 13. Minimum Asset Permissions required to view a Custom Button</strong></span></p><p><br></p>