==Suppress Workflow Window==
When a workflow step is executed the user is generally presented with a Workflow window where they can select a value that will be used to determine the next task to be performed.
This feature is vital for workflows that require user interventions, but is not required for workflows that are used to simply send an instant message or email message to one or more users.
If the User has a pop-up stopper/blocker enabled within their browser, the Workflow Window will be suppressed and the Workflow will not trigger. You must ensure that users of workflows that prompt their Workflow Window, have enabled pop-up window display for your instance of SmartSimple.
If you wish to suppress the display of these window you can change the workflow settings as follows:
1. Go to the menu icon and under System Process click Workflows.
2. Click the edit button on the desired Workflow.
3. For Workflow Window enable the Suppress option.
4. Click Save.
NOTE: If you do not require a user interventions in your workflows it is recommended that the Workflow window be suppressed to ensure workflows execute as you may have little control over user browser settings.
==Recurring Workflow==
A recurring workflow is a Workflow that is not triggered against any particular object.
A recurring workflows ability to use variables is limited, but recurring workflows are useful for tasks that recur at regular intervals, such as a weekly reminder e-mail.
When using a recurring workflow, the tasks must be connected in a loop, and there must be at least one connector with a delay. Otherwise, the workflow would endlessly loop.
If the workflow is set to look endlessly (without a delay), the system will automatically stop processing any workflows configured this way, after five loops.
Once you have configured the Workflow, the Activate button can be used to start the workflow. Once activated, a Deactivate button will be visible that can be used to stop the workflow.
If you wish to have a recurring workflow send an e-mail on a particular day or days of the month, you can use the following conditions:
• * date_format(now(),"%d")="01" - Will be true only on the 1st of the month • * date_format(now(),"%d") in ("01","15") - Will be true on the 1st and 15th of the month.
You will need to configure an empty task (i.e. an Acknowledgement with no recipients) to manage the branching based on the date, and an empty task to manage the one-day delay so the workflow will loop daily and connect to the task that sends the e-mail on the appropriate day(s).
The Workflow Connectors attached to the "Empty Task for Branching" should have the following Conditions:
==Task Type specific configuration==
Each available task type represents a different type of action and has different configurations needs as a result. This section discusses the specific configuration needs for the different tasks types
===Task Type: Acknowledgement===
Acknowledgement - use this Task to send messages to users in SmartSimple.
Acknowledgement Tasks have the following settings:
• * Name - name for the task. • * Task Type - manually set to Acknowledgment• * Task Number - a system generated number that determines the presentation order of the task in the workflow. This number can be changed to display the step in a different location, but order or execution of tasks is determined by the Connectors. • * Description - optional description of the task. • * Expire After - intended duration of the workflow. • * Message Template - Type - Type of message to be sent. If a message is sent it can created using variables that will create custom messages specific to instances of the workflow. o **No message required – no message will be sent when the task triggers. o **Quick Message only – a SmartSimple internal instant message will be generated but no external e-mail. o **E-mail Only – an external e-mail will be generated but no internal instant message. o **Quick Message and E-mail – both an instant message and an e-mail are sent. • * Message Template - From Address - Email address sent from. This field accepts variables, so you can either hard-code a value (e.g. donotreply@mycompany.com) or use variable syntax (e.g. on a Level 1 Workflow, @owner.email@) • * Message Template- CC Email Address - CC recipients address. (Separate multiple addresses with commas). Additional Email Syntax options can be used within this field. • * Message Template- Email Body Format - Options are Plain Text or HTML. • * Message Template- Email Message Header - The email header can be modified using the following syntax, with the arguments separated by semicolon: • * X-Priority={1,2,3,4,5} • * Priority={normal,urgent,non-urgent} • * Importance={high,normal,low} • * Sensitivity={personal,private,company,confidential}
e.g. Priority=urgent;Importance=high
• * Message Template- Subject - Narrative subject line of the message. • * Message Template: Body - Narrative body of the message. • * Message Template: Attach Object - Attaches the details of the object to the message. In the case of a SmartSimple object, such as a company, person, or application, the textual details of the object will be added. If the object is a file, then the file will be attached to an e-mail message, in the case of an instant message no file is attached. • * Message Template: Attachment File IDs - Attach additional default files. If this is a Link -Single File or Link - Multiple File or Display Only – Image custom field on the object, that triggered the workflow, then the custom field id needs to be specified (@#customfieldid#@). If you wish to attach a file from a SmartFolder, you must enter the SmartFolder file ID here. Multiple references should be separated by semicolons• * Message Template: Save as Event - will create an e-mail activity. If it’s L1/L2 workflow, where the UTA L2/L3 Email Activity settings have been configured, then it will be saved as L2/L3 event under the L1/L2 object. Otherwise it will be saved as user event under the Activities tab against each recipient in the field. • * Routing: Use Variable for Recipients - Allows recipients of the message to be selected using variables. • * Routing: Use UTA Role - When using roles to select recipients, the UTA Role can be used to determine recipients. Only appears if workflow is UTA specific.• * Routing: Role - Used to select recipients by role. This list includes all roles configured in the system, alongside the built-in roles that can be used in a workflow: o **The Originator role is used to reference the name of the person that started the workflow. This could be the person that submitted an expense claim, added a file to a workflow or added a new employee. o **The Initiator role is used to reference the name of the person that initiated the current task in the workflow. This refers to the person that approved the current step of an expense claim, or reviewed a document loaded into a workflow enabled Smart Folder. o **The Owner role is used to reference the user assigned as the Owner of the record. o **The People role is used to reference the user assigned as the Person on the level one. This role is only available to Level One specific tasks. o **The * Assigned Users role is used to send messaging to users who are in the Assigned field of a Level Two activity. This role is only available for Level Two workflows.
Once the role has been selected the following recipient choices are available:
o **Let the current user select target user from this role – When the workflow is triggered, the user will be prompted to select recipients from the list of users currently in the role. o **All Users of this role – The message will be sent to all users in the selected role. o **Selectable list of users currently in the role – The message is sent to the specific users that are selected. • * Routing: Selected Users: details of the users configured as Recipients in the Role section • * Routing Options - Specifies the types of options available to process this workflow step. In many instances, the default options can be used, such as Approved, Rejected or Revise. But additional and alternate sets of options can be created to reflect more complex business processes.
===Task Type: Activate/Deactivate User===
This type of Workflow task is used to set the access type for a user or to deactivate a user.
No message accompanies this workflow task. If you wish to notify users of a change in access type, for example to notify activated users of their password, you can configure an Acknowledgement type workflow task to follow this step in the workflow.
Activate/Deactivate User Tasks have the following settings:
• * Name - Narrative name for the task.• * Task Type - manually set to Activate / Deactivate User. • * Task Number - A system generated number that determines the presentation order of the task in the workflow. This number can be changed to display the step in a different location. • * Description - Detailed description of the task (optional). • * Expire After - Intended duration of the workflow. • * Option - Sets the access type for the user against which the workflow is triggered. Options are: • * Activate (Administrative or Portal Interface) - Provides access to the system to the extent permitted through the user's membership of specific roles. • * Activate (User Centric or Applicant Interface) – Only provides access through the User Centric Interface and Applicant Tracking “career sites”. • * Activate (Web Service Client Access) - Account type used to access data in a SmartSimple instance via an API (Application Programming Interface). Does not give access to SmartSimple interface directly. • * Deactivate (No Access) – User cannot log into the system.
===Task Type: Change Status===
Change Status Workflow Task Types change the status of the object that triggered the workflow. There is no messaging on this task type.
Change Status Tasks have the following settings:
• You must not select Let current user select target user from this role for the Routing of workflows triggered by script, as they will not execute.
• Because the workflow is triggered when the script executes it happens before the record is saved. If the workflow changes the Status or a Custom Field value, when the record on the screen is actually saved it will overwrite any changes made by the workflow by those on the page that is being saved. Accordingly you should include any Status or Custom Field changes within the JavaScript that triggers the Workflow.
• If this function is called with a button on a page where standard libraries are not included, make sure to include /js/sstools.js (Example: <SCRIPT type="text/javascript" src="/js/sstools.js"></SCRIPT> ).
=Using workflows=