Browse Guides

ConnectWise Automate Integration
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;}</style><p><strong>In this guide we will cover:</strong></p><p><strong>- What is the ConnectWise Automate Integration?</strong></p><p><strong>- Users and MFA</strong></p><p><strong>- Configuring the Module</strong></p><p><strong>- Clients, Sites and User Imports</strong></p><p><strong>- Asset Imports</strong></p><p><strong>- Alerting</strong></p><p><br></p><p><br></p><p id="isPasted"><strong><span style="font-size: 14pt;">What is the ConnectWise Automate Integration?</span></strong></p><p id="isPasted">ConnectWise Control can be integrated with Halo to remote onto users&rsquo; devices.</p><p><br></p><p><strong><span style="font-size: 14pt;">Users and MFA</span></strong></p><p>To retrieve data from ConnectWise Automate, user credentials are required. It is highly likely that you have multi-factor authentication enabled for your users, which is not supported in the integration.</p><p><br></p><p>To bypass MFA when making requests to ConnectWise, you will need to create or update a user and set them as an Integrator User. This can be achieved by going to System &gt; Users and Contacts &gt; Users.</p><p><br></p><p><img width="601" src="http://halo.haloservicedesk.com/api/attachment/image/459e30c6-097b-464c-be5e-720aebabbfd7" class="fr-fic fr-fil fr-dib" height="418"></p><p><strong><span style="font-size: 10pt;">Fig 1. Integrator user</span></strong></p><p><br></p><p><strong><em>Note: If you have an On-Prem instance of ConnectWise Automate, please ensure that the &#39;OPTIONS&#39; method is enabled in IIS for http requests.</em></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Configuring the Module</span></strong></p><p>To enable the ConnectWise Automate integration in Halo, go to Configuration &gt; Integrations, and enable the module. Once the module has been enabled, click the menu icon for the module to begin configuring it.</p><p>The first piece of configuration is to specify your ConnectWise Automate server URL. You then need to supply the username and password of the Integrator user that was configured in the ConnectWise Automate configuration section of this guide.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE1MGJlYmRmLTg0YzUtNDA2Yi05YjEyLWQyZDc3NGZhODViNyJ9.BD2tiZerwMVsiaqWhmbQj1KFdPkj33GDC1KXrm_0NPE" class="fr-fic fr-fil fr-dib" width="1960" style="width: 1962px; height: 334.307px;" height="334"></p><p><strong><span style="font-size: 10pt;">Fig 2. Module setup</span></strong></p><p><br></p><p><span style="font-size: 11pt;">You will also need to specify the timezone your Connectwise Automate server operates in. Only the last 2 hours of alerts are synced into Halo, therefore this time zone is used to calculate which alerts were updated in the last 2 hours. If you are hosting your own Halo instance or Connectwise Automate instance ensure you select a timezone rather than choosing &quot;*Use Server Timezone*&quot;.&nbsp;<br></span></p><p><br></p><p><strong><span style="font-size: 14pt;">Clients, Sites and User Imports</span></strong></p><p>Now you can begin importing your Clients, Locations and Users from ConnectWise Automate into Halo.</p><p><br></p><p>Map Connectwise Locations to Halo Sites, this ensures any existing sites in Halo are attributed to the correct Location in Connectwise. If you do not yet have any sites in Halo you can leave the mappings blank. Associating Locations and Sites ensures that contacts imported from Connectwise, will be created under the Site in Halo that is associated with their Connectwise Location.</p><p><br></p><p>You can also choose a default site, so that if you don&rsquo;t import a particular Site, but you import a user belonging to that site, the user will still be created under the default Site.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJmZTJjNDgzLTc0YjItNDFkOC1iMjZiLTA5MmUxZTdlMTQxNiJ9.3OE4YvePXqnNlIsFD40ceipBOOIyQqL5GkTerLSQm2Q" class="fr-fic fr-fil fr-dib" width="1829" style="width: 1831px; height: 382.287px;" height="382"></p><p><strong><span style="font-size: 10pt;">Fig 3. Customer, site, user imports</span></strong></p><p><br></p><p>If you are using customer top levels, you are able to choose which top level Customers from the import should be located under. Useful if you would like to group all customers imported from Connectwise Automate under the same Top Level.</p><p><br></p><p>Once you have chosen the default Site, you can use the buttons below the mappings table to import Customers and Site, or users. Import Customers and Sites first, so that your users can be allocated to their correct Sites when imported.</p><p><br></p><p>When clicking either of these buttons, the importer screen will open, and Halo will attempt to make a connection to ConnectWise Automate. If you have made a mistake in the earlier configuration steps, such as an invalid password, you will be notified of this on the importer screen. If the credentials and server URL supplied are correct, your data will be retrieved and listed on the importer screen. Any other errors will also be displayed in the centre of the importer screen.</p><p><br></p><p><strong><span style="font-size: 14pt;">Asset Imports</span></strong></p><p>Before you can import Assets, there are some configuration steps that must be completed. The first option is to choose a default site, so that if an Assets site has not been imported from ConnectWise Automate, the Asset can still be created under the default site.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI0YjQ2OWNiLTc5ODgtNDkzOS1iMzdiLWJiZTQ4YTkzYTYyMiJ9.1iXQV555uxY1DgJ1tCRrMjF99IT-XnBZiEAuqadZWIA" class="fr-fic fr-fil fr-dib" width="1750" style="width: 1752px; height: 337.625px;" height="338"></p><p><strong><span style="font-size: 10pt;">Fig 4. Asset imports</span></strong></p><p><br></p><p>The next step is to map Asset Types from ConnectWise Automate to Halo Asset Types. There are four different types of Assets that can imported from ConnectWise Automate. These are Servers, Workstations, Routers and Printers. Using the table, create a mapping for each Asset Type that you would like to import.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVmZmFkOGMxLTk5OGMtNDUyNC1iM2I5LTkyOTIxMTQ5MjQyMyJ9.dqfeEXJyxvNBJBGGbrJniDaQu_CKcENj4_5dfUWJcLI" class="fr-fic fr-fil fr-dib" width="1931" style="width: 1933px; height: 486.89px;" height="487"></p><p><strong><span style="font-size: 10pt;">Fig 5. Asset type mappings</span></strong></p><p><br></p><p>Failing to map an asset type will restrict your access to the corresponding import button found at the bottom of the Asset import configuration section. Printers can only be imported if you are importing either Servers or Workstations. When importing Servers or Workstations, if you have a mapping for Printers, Halo will send an extra request to ConnectWise Automate to retrieve any associated printers and create these as their child Assets of the Server/Workstation.</p><p><br></p><p>Once you have created all of your Asset Type mappings, you can then move on to creating field mappings for each Asset Type. Field mapping are created when creating/editing asset type mappings.&nbsp;</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVkZDU4ZjBkLWI4OTYtNDAwYS04NDRkLWNlYzIzZTY1ODc1YiJ9.Sk9l6CPZHhpgHqc-BF3BWb2vlpwjK7AjYagzvDFdzfk" class="fr-fic fr-fil fr-dib" width="594" style="width: 596px; height: 409.697px;" height="410"></p><p><strong><span style="font-size: 10pt;">Fig 6. Field mappings</span></strong></p><p><br></p><p>Choose which type of field you would like to map to in Halo. You can map to standard custom fields here, or you can map to Asset fields.</p><p><br></p><p>Then choose which Halo and Connectwise field to map together.&nbsp;</p><p><br></p><p>Once you are happy with your field mappings, there is one last configuration option to consider before you can begin importing, which is the &quot;Asset Matching Field.&nbsp;</p><p><br></p><p>If you already have your Asset list in Halo, and would like to update your old records, you will need to choose an Asset field to match on, because your old Assets will not have a ConnectWise Automate ID associated with them yet.</p><p><br></p><p>This field should be unique, and must have a corresponding field mapping for each Asset Type you are importing. Halo will then use the value of this field to match pre-existing Assets and avoid creating duplicates of your data.</p><p><br></p><p><strong>User matching&nbsp;</strong></p><p>Users can be matched to assets using an EDF field (custom field) from ConnectWise Automate.&nbsp;</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZjNzU5ODAzLTk1MzctNGJjZC1hODEwLWRkNjYwNDhhMGE2OCJ9.tZCnn4ZXkDYtoZ55r7GkFb8G0tuF8jHAOVDfp8NH2AA" class="fr-fic fr-fil fr-dib" width="508" style="width: 510px; height: 287.484px;" height="287"></p><p><strong><span style="font-size: 10pt;">Fig 7. User matching</span></strong></p><p><br></p><p>In the field highlighted in Figure 7, enter the name of the EDF field in ConnectWise that you would like user matching to be based on. This field will need to contain the email address or Azure UPN of the user the asset is assigned to. When assets are imported, this field will be checked, if the email/Azure UPN in this field matches a user in Halo the asset will be assigned this user in Halo.</p><p><br></p><p>Once happy with your configuration, use the three buttons to begin importing each type of Asset. Printer information is not displayed on the importer screen, but will be retrieved when the Server/Workstation record is saved to the Halo database.</p><p><br></p><p>As the asset tag field is not unique in ConnectWise Automate, the serial number is saved as the Asset Tag for Servers and Workstations. The Asset Tag for Routers is saved as the GUID associated with the Router in ConnectWise Automate.</p><p><br></p><p><strong><span style="font-size: 14pt;">Alerting</span></strong></p><p>As with all RMM tools, it is possible to have email alerts sent to a mailbox when a problem is detected with an Asset. Alerts can either be processed via email or the Halo integrator.&nbsp;</p><p><br></p><p>To allow alerts to be processed with either method enable &quot;Enable alert processing (requires NHServer version 13.38.1 or above)&quot;.</p><p><br></p><p><strong><span style="font-size: 12pt;">Process Alerts via Email</span></strong></p><p>To have alerts processed via email you will need to create a new<a href="https://usehalo.com/halopsa/guides/1910" target="_blank" rel="noopener noreferrer">&nbsp;email rule</a> with the Email Rule Type &quot;Alert via Email&quot;. Email rules are created under Configuration &gt; Email &gt; Email Rules. The setup of the email rule will determine how a ticket is logged from the alert.&nbsp;</p><p><br></p><p><strong><span style="font-size: 12pt;">Process Alerts using the Halo Integrator&nbsp;</span></strong></p><p><span style="font-size: 11pt;">The Halo integrator will process alerts automatically on a schedule. To use the Halo integrator enable alert processing for ConnectWise Automate using &quot;Enable alert processing&quot;. Then complete the rest of the fields in the Alerting section.&nbsp;</span></p><p><strong><span style="font-size: 10pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImY4NTUzMjBiLTYwODItNDYyYi1iYzE0LTU0MWVjODVjMjA5YyJ9.KeZB_W3OOe5gUpI34VmpbfJyoxTN8WtNtETwzy8-yNA" class="fr-fic fr-fil fr-dib" width="1393" style="width: 1395px; height: 604.65px;" height="605"></span></strong></p><p><strong><span style="font-size: 10pt;">Fig 8. Alerting setup for Halo integrator</span></strong></p><p><strong><br></strong></p><p><strong>New Alert Ticket Type</strong> - Controls the ticket type alerts are logged as.&nbsp;</p><p><strong>New Alert User</strong> - Controls the user alerts are assigned to.&nbsp;</p><p><strong>Script to execute when Ticket closed</strong> - Enter the ID of the script to execute in ConnectWise Automate when an alert ticket is closed in Halo.&nbsp;</p><p data-pasted="true"><strong>Entity ID for Closure Script</strong> - Enter the ID of the entity you would like to use within your ticket closure script. If blank then the Entity ID of the Ticket&#39;s Asset is used, it is best to use your ConnectWise Automate Server Entity ID.</p><p><strong>Automatically closed Tickets are marked as read if they are not assigned&nbsp;</strong>- When checked tickets created from alerts will be marked as read automatically if they have been closed automatically and are not assigned to an agent.&nbsp;</p><p data-pasted="true"><strong>Status to use when the ConnectWise Automate Alert is closed&nbsp;</strong>- Choose the status tickets will have in Halo when the associated alert in ConnectWise is closed.</p><p><br></p><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;" data-pasted="true"><strong style="box-sizing: inherit; font-weight: 700;">Permissions for API based alerting:</strong></p><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;"><br style="box-sizing: inherit;"></p><ul type="disc" style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; 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;"><li style="box-sizing: inherit;">Clients &gt; Read</li><li style="box-sizing: inherit;">Contacts &gt; Read</li><li style="box-sizing: inherit;">Locations &gt; Show All</li><li style="box-sizing: inherit;">Scripts &gt; Read</li><li style="box-sizing: inherit;">Tickets &gt; Read &amp; Update</li></ul><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;"><br style="box-sizing: inherit;"></p><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;"><strong style="box-sizing: inherit; font-weight: 700;">Also</strong></p><ul type="disc" style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; 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;"><li style="box-sizing: inherit;">Permissions:&nbsp;Tick the &ldquo;Integrator&rdquo; box at the bottom of the page and assign the new User Class</li><li style="box-sizing: inherit;">Groups and Clients: under Group Membership, add the user into All Agents and All Clients</li></ul><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;"><br style="box-sizing: inherit;"></p><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;">In Scripts &gt; Maintenance &gt; Tickets, you will find the two &ldquo;Ticket Finish&rdquo; scripts. I have given the Execute permission to the new User Class created for the Halo user.&nbsp;</p><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;"><br style="box-sizing: inherit;"></p><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;">Halo will periodically scan the list of Tickets in ConnectWise Automate &amp; import/update respective Alerts in Halo - Comments will also be imported into Halo.</p><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;"><br style="box-sizing: inherit;"></p><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;">Tickets can be closed in Automate via selecting the ID of the &#39;Ticket Finish by Ticket Number&#39; (this ID can be found in ConnectWise Automate).</p><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;"><br style="box-sizing: inherit;"></p><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;">This is usually script ID 5055 and you will need to ensure the API User that is specified as part of the integration has execute permission.</p><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;"><br style="box-sizing: inherit;"></p><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;"><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVjYTkxZmJlLTdhNGYtNGQ3ZC05NDgyLTMyOGM4ODk3MDA2MiJ9.fDUkTQzFd8RImrOQOqh74FBePiSV3C2CTMJgBgJYBYQ" width="578" height="260" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; max-width: none !important;" class="fr-fil fr-dib"></p><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;"><strong style="box-sizing: inherit; font-weight: 700;"><span style="box-sizing: inherit; font-size: 10pt;">Fig 9. Script</span></strong></p>
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.