<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, start a runbook, or open an Action form (v2.248+).</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 data-pasted="true"><strong><span style="font-size: 10pt;">Fig 3. Custom button on an asset.</span></strong></p><p><br></p><p data-pasted="true"><span style="font-size: 12pt;"><strong>Asset Actions (v2.248+)</strong></span></p><p>Custom Buttons can be used to preform actions on an Asset. To do this you will need to set the Button Use to "Open an Action Form". This will show a new Field List tab where fields can be added to your Action. When you add a field you will need to select which type of field to add using the radio list, then use the dropdown to select a field of this type to add.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUzY2Y5YzhkLTAyMDItNDJkNi1iYjQ2LTQ0NWRmNmM0MmQwNCJ9.j8WxT4r6LttZ7M8CBBH90ncjBcQSeI3uiXkhY9BfrIs" class="fr-fic fr-fil fr-dib" width="690" height="380"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 4. Adding fields to an Asset Button </span></strong></p><p><br></p><p>Once added, these fields can then be edited using the pencil icon to determine the Agent Action visibility. This allows you to make specific fields mandatory or read-only.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRlNTcyN2ViLTM5NzctNDlkMS04ODFiLWUwNDM4MzdkYzhjZSJ9.yEmhYulraNWkej-eL3pZA0SdHCQrpdAkd6q2cAYvYhY" class="fr-fic fr-fil fr-dib" width="1002" style="width: 1004px; height: 325.518px;" height="326"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 5. Asset Action Field List</span></strong></p><p><br></p><p>The fields added to the Field List will only show on Assets where the field is visible. The Action can still be used on Assets with the field hidden, but these fields will not show on the Action form.</p><p><br></p><p>On the Details tab you can determine the status of the Asset after the Action has been performed.</p><p><br></p><p>When the Asset Action is used, a modal window will open showing the fields. These can be used to update the fields on the Asset.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE1MmRiODNmLWVhODEtNGM0Ni04YTY3LTJkNGI0NDdiMjFkMiJ9.-xBBe8H-9TYgJBzWRHAfNn-0Wetbxd7_aKbYXiQWgBM" class="fr-fic fr-fil fr-dib" width="994" style="width: 996px; height: 539.704px;" height="540"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 6. Using an Asset Action</span></strong></p><p><br></p><p>These Actions will then show in the Action History tab of the Asset.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE1YjkwYjYzLWE5NTMtNDk0My05MDIxLWZkNWZiMjFlZWUwYiJ9.hCfXXdDdXLTUaCTqyGue1jMmPS5wnQVk59TyDmw1RVo" class="fr-fic fr-fil fr-dib" width="994" style="width: 996px; height: 226.392px;" height="226"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 7. Action History tab 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 8. 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 9. 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 10. 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 11. 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 12. 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 13. 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 14. 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 15. 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 16. 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 17. Minimum Asset Permissions required to view a Custom Button</strong></span></p><p><br></p>