Ask the Community
Groups
Getting started with Workflows - Connect IT Community | Kaseya
<main> <article class="userContent"> <p>Introduction</p> <p>PSA facilitates the automation of tickets using workflows. Settings defined in workflows are used to determine when and how a workflow runs on tickets coming from the parser. </p> <p>Features</p> <ul><li>Workflows can be set to run on all incoming tickets from the parser.</li> <li>Workflows can be cloned to ease creating multiple workflows.</li> <li>Ticket Audit logs capture the details of workflows that were run against a ticket. <ul><li> Ticket > More > Audits > Workflow Log</li> </ul></li> <li>Workflows can also be triggered by <a href="/home/leaving?allowTrusted=1&target=https%3A%2F%2Fbms.kaseya.com%2Fapi%23bmsapi" rel="noopener nofollow">API </a>activities on a ticket. <ul><li> Import APIs are mostly for Historical data/tickets and by design don't trigger workflows.</li> </ul></li> <li> The following rules are auto-shipped for any new tenant. You can activate or deactivate them based on your need.<img src="https://us.v-cdn.net/6032361/uploads/migrated/GYKJ4F7VOWF1/blobid0.png" alt="blobid0.png" class="embedImage-img importedEmbed-img"></img></li> </ul><p>Setup</p> <ul><li>Workflows are created under<strong> Admin > Business Process > Workflows</strong>.</li> <li>For a workflow to successfully run against a ticket it needs to meet the following: <ol><li>Triggers - A ticket has to first meet the trigger conditions that are defined.</li> <li>Conditions - If a trigger is met, workflow then checks logic for ticket conditions.</li> </ol></li> <li>Once the logic is met, the workflow looks for updates to perform the update action. </li> <li>Emails will be sent based on selected options in Notifications.</li> <li>Triggers help you automate a task like ticket notifications, ticket assignments.</li> </ul><p>Automation Cycle</p> <p><img src="https://us.v-cdn.net/6032361/uploads/migrated/K56NXAY0SX32/wf-copy-of-my-first-document.png" alt="wf_-_Copy_of_My_First_Document.png" width="800" height="800" class="embedImage-img importedEmbed-img"></img></p> <table><tbody><tr><td>Setup</td> <td>Automation</td> </tr><tr><td>User creates a trigger</td> <td> <ol><li>Check for conditions within a trigger.</li> <li>Proceeds to validate settings in the <strong>Conditions </strong>tab. </li> </ol></td> </tr><tr><td>User defines conditions</td> <td> <ol><li>Check for the defined conditions on a ticket</li> <li>Actions the updates and notifications as defined</li> </ol></td> </tr></tbody><caption> </caption> </table><h3 data-id="n-a"> </h3> <h3 data-id="triggers">TRIGGERS</h3> <p>Workflow automation is processed <strong>first</strong> by a trigger and then based on the <strong>condition</strong>..</p> <p><img src="https://us.v-cdn.net/6032361/uploads/migrated/IRBV4GN9XIKC/mceclip0.png" alt="mceclip0.png" class="embedImage-img importedEmbed-img"></img></p> <p>In PSA triggers are classified based on three types. Action, Type, and Time. </p> <table><tbody><tr><td>Action</td> <td>Action performed on a ticket</td> </tr><tr><td>Type</td> <td>Type of activity performed on a ticket</td> </tr><tr><td>Time</td> <td>Time dependant activities on a ticket.</td> </tr></tbody></table><p> </p> <ol><li>Action-based triggers are: <ul><li> <strong>Created By</strong> - A new ticket is created in PSA.</li> <li> <strong>Updated By</strong> - An update is a change of status, change of primary assignee or queue, change of priority, change of ticket type. </li> <li> <strong> Activity Added by</strong> - An activity is added to a ticket. </li> </ul></li> <li> Activity-based triggers: <ul><li><strong>Activity</strong> is the addition of time entry, a note, or expense on a ticket.</li> </ul></li> <li>These action types have the following action owner options: <ul><li> <strong>Anyone</strong>: Any user part of the records in PSA.</li> <li> <strong>Employees</strong>: Any user part of HR > Employees in PSA.</li> <li> <strong>Clients</strong>: Any user listed as Client in CRM> Accounts </li> <li> <strong>Anyone Except Employees</strong>: Any user in PSA and not part of HR > Employees.</li> <li> <strong>Unknown:</strong> An email address that has no record in PSA. <ul><li>This is mainly used when tickets are created or notes are added by an unknown email address</li> </ul></li> </ul></li> <li>Time-dependent triggers: <br><ul><li>Time-based conditions can be set based on<strong> hours or minutes</strong>.</li> <li> <strong>Idle For</strong> - The tickets sit idle with no activities or no time entries for hours or minutes.</li> <li> <strong>Due In</strong> - The ticket has a due date on it and that date is approaching, in hours or minutes</li> <li> <strong>Overdue By </strong>- The due date has passed, in hours or minutes.</li> <li> <strong>SLA First Response Due In</strong> - Specifies when an SLA first response due, in hours or minutes.</li> <li> <strong>SLA First Response Overdue By </strong>- Specifies when an SLA first Response time is overdue </li> <li> <strong>SLA Resolution Due In</strong> - Specifies when an SLA resolution is due, in hours or minutes.</li> <li> <strong>SLA Resolution Overdue By</strong> - Specifies when an SLA resolution is past due and sends an alert, in hours or minutes. <ul><li> For the SLA dependant triggers, The tickets should be associated with an SLA</li> </ul></li> </ul></li> </ol><p> Time-dependent triggers cannot have any Action-based triggers in the same workflow. </p> <p>Sections</p> <h3 data-id="conditions"> <strong>Conditions</strong> </h3> <p>A ticket created should meet the conditions that are set in these tabs. Each condition provides a set of comparison operators. Comparison operators can include: In, Not In, Changed, Changed From, Changed To, Is Empty, Is Not Empty, Like, Not Like, Greater Than, Less Than, Greater or equal, Less or equal, Between.</p> <h4 data-id="any-field-which-accepts-free-text-can-use-as-an-or-condition-when-using-multiple-keywords">Any field which accepts free text can use <strong>%</strong> as an <strong>OR</strong> <strong>condition </strong>when using multiple keywords.</h4> <div> <div data-tid="messageBodyContainer"> <div data-tid="messageBodyContent"></div> </div> </div> <div> <div> <strong>Conditions </strong>Tickets Accounts Contact Assets Custom Fields </div> <div>Conditions are set on <strong>Tickets, Accounts, Contact, Assets, and Custom fields</strong>. </div> <div> <p>The following fields from a ticket can be used to define your automation. These conditions test for values in the ticket.</p> <ul><li> <strong>Status</strong> - Status action performed on a ticket. </li> <li> <strong>Priority</strong> - Priority set on a ticket. </li> <li> <strong>SLA - </strong>SLA associated with a ticket.</li> <li> <strong>Issue Type</strong> - Issue type on a ticket.</li> <li> <strong>Sub-issue Type</strong> - Sub-issue type on a ticket.</li> <li> <strong>Source</strong> - Ticket creation source. Ex: Phone, Email</li> <li> <strong>Ticket Type</strong> - Checks the ticket type. Ex : Problem, Incident</li> <li> <strong>Queue</strong> - Queue a ticket belongs to.</li> <li> <strong>Primary Assignee</strong> - Primary technician on a ticket. </li> <li> <strong>Title </strong>- Allows you to define workflows based on ticket titles. </li> <li> <strong>Details </strong>- Ticket description can be used to create conditions. This is a static field. </li> <li> <strong>Satisfaction Score </strong>- Based on the survey score of the ticket.</li> <li> <strong>Ticket Sender Email </strong>- Based on the email address of the email sent to the parser. </li> <li> <strong>Service Contract </strong>- Contract associated with a ticket. </li> <li> <strong>Work Type </strong>- Work Type defined on a ticket. </li> <li> <strong>Open Date </strong>- Ticket created date. </li> <li> <strong>Due Date </strong>- Response Due date</li> <li> <strong>Activity Details</strong> - Based on the activity of the ticket. Ex - Activity note has a word server down in it. </li> <li> <strong>Occurrence Count</strong> - Available if RMM integration is enabled. </li> </ul></div> <div> <p>The following fields from the CRM account associated with the ticket can be used to define your workflow. Accounts in the system are listed in <strong>CRM > Accounts</strong></p> <ul><li> <strong>Account Type </strong>- Type of the account defined in CRM for the ticket. </li> <li> <strong>Account </strong>- Account the ticket contact belongs to.</li> <li> <strong>Service Type </strong>- Service Type of the account.</li> <li> <strong>Account Type </strong>- Type of account defined in CRM.</li> <li> <strong>Account Name </strong> - Name of the account.</li> <li> <strong>Location -</strong> If the Account name is defined you can select locations that belong to these accounts.</li> </ul><ul><li> <strong>Description </strong>- Description created for the account.</li> <li> <strong>Service Type </strong>- Service Type set for the account.</li> <li> <strong>Account Code </strong>- Code of the account.</li> <li> <strong>Business Type </strong>- Business type defined in the CRM account.</li> <li> <strong>Account Manager </strong>- Account manager set for the account.</li> <li> <strong>Status </strong>- Account active, Inactive status.</li> <li> <strong>Acquired Date</strong> - Account Acquired date in CRM.</li> </ul></div> <div> <p>Use the <strong>Contacts</strong> section to set conditions for values in the CRM account contact record associated with the ticket. Contacts in the System are listed in <strong>CRM > Contacts</strong>.</p> <ul><li> <strong>First Name</strong> - If the name defined in part of the First name of any contact.</li> <li> <strong>Middle Name</strong> - If the name defined in part of the Middle name of any contact.</li> <li> <strong>Last Name </strong>- If the name defined in part of the last name of any contact.</li> <li> <strong>Job Title</strong> - Job title set for this contact.</li> <li> <strong>Status</strong> - The contact is active or inactive.</li> <li> <strong>Point of Contact - </strong>If the contact selected is a Point of contact or not. </li> <li> <strong>Receive Invoices </strong> - If the contact is enabled to received invoices in CRM. </li> <li> <strong>Has Client Portal Access </strong> - If the client portal access is enabled for this contact.</li> </ul></div> <div> <p>Use the <strong>Assets</strong> section to set conditions for assets associated with the ticket. Assets in a system are found under <strong>ServiceDesk > Asset Management</strong>. </p> <ul><li> <strong>Name</strong> - Name of the asset.</li> <li> <strong>Description </strong> - Description set for the asset. </li> <li> <strong>Category</strong> - Category defined in an Asset. </li> <li> <strong>Business Impact </strong>- Business Impact set for the Asset.</li> <li> <strong>State </strong>- State defined for the asset</li> <li> <strong>Brand </strong>- Brand of the asset.</li> <li> <strong>Manufacturer</strong> - Manufacturer of the asset.</li> <li> <strong>Machine Group ID </strong>- The RMM group ID the asset belongs to. </li> <li> <strong>Product Name </strong>- Product name set for the asset. </li> <li> <strong>Serial </strong> - Serial number for the asset. </li> <li> <strong>Model Number </strong>- Model number for the asset. </li> <li> <strong>Asset Tag </strong>- Value set in the Asset tag field.</li> <li> <strong>Acquisition Date</strong> - Asset Acquisition Date defined in the Additional Info tab of the asset.</li> <li> <strong>Expiration Date</strong>- Asset Expiration Date defined in the Additional Info tab of the asset.</li> <li> <strong>Warranty Expiration Date </strong>-Date defined in the Additional Info tab of the asset.</li> <li> <strong>Barcode </strong>- Barcode found in the asset.</li> <li> <strong>Vendor </strong>- Vendor listed for an asset. </li> </ul></div> <div> <p>Use the <strong>Custom Fields</strong> section to set conditions for custom fields added to the ticket.</p> <ul><li>Custom fields from Tickets, Accounts, and Contacts Modules can be set for workflows.</li> <li>Custom Fields are created in <strong>Admin > My Company > Custom Fields.</strong> </li> <li>Custom fields are only available after a workflow is created.</li> <li>Custom field conditions are set based on yes or no operators. </li> </ul><p> </p> </div> </div> <h3 data-id="updates"><strong>Updates</strong></h3> <p>Once a workflow is triggered it can be set to update the following on a ticket. An action to perform on a ticket can be defined here. </p> <div> <div> <strong>Updates </strong>Fields </div> <div>An action to perform on a ticket can be defined here. <strong>Fields</strong> tab list the ticket fields available to be updated.</div> <div> <ul><li> <strong>Account - </strong>Changes the account a ticket is assigned to. <ul><li>Updates the ticket with the default contract for the account.</li> <li>Updates the SLA with the SLA specified by the default contract.</li> </ul></li> <li> <strong>Status</strong> - Changes the status of a ticket.</li> <li> <strong>Priority</strong> - Updates the ticket priority</li> <li> <strong>SLA</strong> - Updates the SLA with this SLA, overriding the SLA specified by any contract.</li> <li> <strong>Issue Type</strong> - Updates the issue type.</li> <li> <strong>Sub-issue Type</strong> - Updates the sub-issue type.</li> <li> <strong>Ticket Type</strong> - Updates the ticket type.</li> <li> <strong>Queue</strong> - Assigns a ticket to a queue.</li> <li> <strong>Primary Assignee</strong> - Assigns a primary technician</li> <li> <strong>Contract</strong> - Account needs to selected first to update the Contract field drop-down. <ul><li>Updates the ticket with this contract, overriding the default contract for the account.</li> <li>Updates the SLA with the SLA specified by the specified contract.</li> </ul></li> </ul></div> </div> <h3 data-id="notifications"><strong><strong>Notifications</strong></strong></h3> <p>Specify who will get notified when a workflow runs. The operators are Yes or No radio buttons.</p> <div> <div> <strong>Notifications </strong>Resources Client Notification Template </div> <div>The type of resources you can notify is detailed in these tabs.</div> <div> <ul><li> <strong>Assigned Queues</strong> - If Yes, Notifies all users who are members of the listed queue assigned to the ticket. Queues are created in <strong>Admin > Service Desk > Queues.</strong> </li> <li> <strong>Assigned Resources</strong> - If Yes, Notifies the primary assignee or secondary assignees assigned to the ticket.</li> <li> <strong>Account Associate Resources</strong> -If Yes, Notifies all resources added to the CRM > Account > Assigned Resources tab for this client account. <ul><li>You can also select the check box for any specific employees you want to notify from the list seen here.</li> </ul></li> <li> <strong>Created By</strong> - Notify the creator of a ticket. </li> </ul></div> <div> <p>Select the end-users to be notified in the <strong>Client</strong> section. Contacts only display in this section if clients were selected in the Workflow Rule > Conditions >Account name drop-down.</p> <ul><li> <strong>Ticket Contact </strong>- If Yes, The contact person specified in the ticket will receive the emails.</li> <li> <strong>Point of Contacts</strong> - If Yes, Contacts that are marked as designated the point of contact for a customer account, POC in CRM will be emailed.</li> <li> <strong>Ticket CCs</strong> - CC's added to a ticket will be emailed. <ul><li> CC's cannot be emailed individually. Resources or point of contact or a ticket contact has to be selected. Workflow cannot be saved if CC's is the only resource selected. </li> </ul></li> </ul></div> <div> <ul><li><strong>Email Template:</strong> Templates created in Admin > Service Desk > Email templates can be chosen to notify the resources. </li> <li>Additional emails can be added to Other Emails. Emails are separated by Enter function.</li> <li> <strong>Include Internal Notes</strong>: If Yes, Ticket notes marked as internal will be part of the email sent out to your resources. </li> </ul></div> </div> <h3 data-id="agent-procedures"><strong>Agent Procedures</strong></h3> <div> <div> <strong> Agent procedures </strong>Options </div> <div>You can Run RMM agent procedures from BMS workflows. The results will be saved in the ticket activity.</div> <div> <ul><li><strong>Enable Ticket Activity:</strong> If Yes, An internal note will be added to the ticket with the procedure, asset, and workflow details in it. </li> <li><strong>Active</strong>: If Yes, The procedure will be triggered on the associated Agent. </li> <li><label id="ctl00_phContent_lblAgentProcedure" for="ctl00_phContent_ddlAgentProc"><strong>Select the Agent Procedure to Run:</strong> Lists the agent procedures available for the integrator username from RMM.</label></li> <li><strong>Show Log:</strong> Link to display all the run logs. Logs can be viewed under <strong>Admin> Logs> Agent Procedure Runs</strong></li> </ul></div> </div> <div> <p>Workflows are processed in order of their <strong>Creation Dates</strong>. </p> </div> <p>Related articles </p> <p><a href="/home/leaving?allowTrusted=1&target=https%3A%2F%2Fkaseya.vanillacommunities.com%2Fkb%2Farticles%2Faliases%2Fkaseya%2Fhc%2Fen-gb%2Farticles%2F360017186297" rel="noopener nofollow">Automation with Workflows: Using Keywords</a></p> <p><a href="/home/leaving?allowTrusted=1&target=https%3A%2F%2Fkaseya.vanillacommunities.com%2Fkb%2Farticles%2Faliases%2Fkaseya%2Fhc%2Fen-gb%2Farticles%2F360018099858" rel="noopener nofollow">How to : Show ticket numbers on new ticket notification sent to the Clients</a></p> </article> </main>