Think of Workflow as an IF… THEN statement. IF this condition applied (e.g. a 'Status' Field has turned Status Red) THEN send an email to the Executive. Workflow requires a 'Trigger' to decide when the workflow will occur and also an 'Action' to determine what occurs when the Workflow has been triggered.
However, setting Workflow needs the App Builder to understand who the key stakeholders for an App are, what the process is to be followed and who does what and what the key steps are to automate.
This process can be enabled by working with the App owner or client to create what is called an Activity-vs-Role (or 'swimlane') Process Map
It can be very useful to automate administration tasks such as: linking child records to appropriate parent records, setting security for a record based on the user creating the record, or field values within the Record.
Look for opportunities to set up Workflow on an App whenever there is a hand-off from one stakeholder group to another
Creating a new Workflow
Create a new Workflow item by clicking the '+' icon when hovering the mouse over the Workflow folder of the left pane menu in App Studio. Click on the name of that Workflow to update an existing Workflow
Description: What is the general description of the workflow?
Event: When should the Workflow be triggered e.g. whenever a record is updated or on a particular date?
Enacted by Team: Which Teams should the Workflow be applied to?
Enacted by Specific Users: Which specific Users should the Workflow be applied to?
Trigger options is where the user can apply filters so that workflow is only actioned if Field values meet certain criteria. This is often useful for setting Form visibility based on a Field Value and sending Notification messages to users when specific Record criteria is met.
Trigger App Filter: Which records should the Workflow be applied to e.g. send an email to the owner of 'status Red' records
A full list of Trigger Events and Options can be found here: Workflow Triggers
Setting the Action
Action: What action should be taken? The default options will continually be extended but will include: Notify users or teams (via on-screen notifications, SMS or email), Update Record (e.g. change the value of one or more fields), Update Form (e.g. show or hide a Form)
Result: What will be the result of the Action? The option here will differ depending on the Action selected
Target: Which specific Teams or Users should the Action be applied to?
There are three key areas of Actions
Tips for choosing Workflow
It can be very useful to automate administration tasks such as: linking child records to appropriate parent records, setting security for a record based on the user creating the record, or field values within the record.
Look for opportunities to set up Workflow on an App whenever there is a hand-off from one stakeholder group to another.
Be careful about adding Workflow to an App too soon as it does add complexity and will make the App feel more like a company system than a tool to make the User’s job easier.
Test any Workflow that sends a notification to users carefully, as incorrect or an overuse of emails will be seen as spam and resented by users.
Email Triggers require the user to specify content sent within the email. This content can be formatted using the Rich Text Editor, and can also refer to record data, so that the email can contain information from the record generating the workflow - this is especially useful for sign off requirements or status reports. The following are examples of content you can use within the email:
This will insert the data from the field [FieldName]: @Softools.FieldValue("FieldName")
This will insert a link to the record to allow the recipient of the email to go straight to the record: @Softools.RecordLink()
- "Use Base Email Template" for the email trigger to include the Softools logo and boxed sectioning. Unticking this option will provide a basic text only email
When using a Scheduled Date based workflow, the system will ask for the start date, and then you can pick Hourly / Daily or Monthly. If you want something other than this, you can use a "Custom Cron Expression" which is an industry standard system way of defining a scheduled event. To work out what you need to put in the expression, use a service such as FREEFORMATTER.COM to give you the event regularity. Bear in mind that for a scheduled event, you have to specify an exact time for whichever interval you use.
- For every weekday at 9am:0 0 9 ? * MON,TUE,WED,THU,FRI *
- For the 15th of every month at midday:0 0 12 15 * ? *
- For the 3rd Friday of the month at 6pm : 0 0 0 ? * 6#3 *