Difference between revisions of "Workflows Overview"
(Undo revision 34302 by Lalaine Songalia (talk)) |
Ann Vincent (talk | contribs) m (→Password Variables) |
||
(35 intermediate revisions by 5 users not shown) | |||
Line 10: | Line 10: | ||
− | = | + | =Configuration – Essentials= |
==Create Workflow== | ==Create Workflow== | ||
First create and configure the workflow. | First create and configure the workflow. | ||
Line 221: | Line 221: | ||
* '''Update Company Category''' - use to add or remove selected categories from a company. | * '''Update Company Category''' - use to add or remove selected categories from a company. | ||
* '''Web Service - HTTP Request''' - use to send the HTTP Post web service request via a workflow step to retrieve a web service response. | * '''Web Service - HTTP Request''' - use to send the HTTP Post web service request via a workflow step to retrieve a web service response. | ||
− | * '''Web Service''' | + | * '''Web Service - SOAP Message''' - use to pass information to a system outside of SmartSimple as a Web Services call. |
+ | * '''Web Service - RESTful Request''' - use to consume Restful web service request via a workflow step to get/post a web service response. | ||
* '''Trigger Workflow''' - use to trigger a different workflow against a specified object. | * '''Trigger Workflow''' - use to trigger a different workflow against a specified object. | ||
* '''Signority Submission''' - use to trigger Signority signing process. | * '''Signority Submission''' - use to trigger Signority signing process. | ||
Line 598: | Line 599: | ||
||{{no}} | ||{{no}} | ||
||{{no}} | ||{{no}} | ||
+ | |- | ||
+ | ! scope="row"|[[Workflow Task Type: Web Service - RESTful Request|Web Service - RESTful Request]] | ||
+ | ||{{no}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{yes}} | ||
+ | ||{{no}} | ||
+ | ||{{yes}} | ||
+ | |||
|- | |- | ||
! scope="row"|Retrieve Latitude / Longtitude | ! scope="row"|Retrieve Latitude / Longtitude | ||
Line 676: | Line 697: | ||
** '''Custom Date Field''' - The date in a selected custom field that stores date values. | ** '''Custom Date Field''' - The date in a selected custom field that stores date values. | ||
* '''Delay(s)''' - user can specify any delays based on the trigger date: | * '''Delay(s)''' - user can specify any delays based on the trigger date: | ||
− | |||
** If the value 1 is entered, and use selects the time frame of Day with no Trigger Time selected, then the task will trigger 24 hours after the defined Trigger Date. | ** If the value 1 is entered, and use selects the time frame of Day with no Trigger Time selected, then the task will trigger 24 hours after the defined Trigger Date. | ||
** If the value 1 is entered, and use selects the time frame of Hour, then the task will trigger 1 hour after the defined Trigger Date. | ** If the value 1 is entered, and use selects the time frame of Hour, then the task will trigger 1 hour after the defined Trigger Date. | ||
Line 796: | Line 816: | ||
For Workflows select the desired work flow (all workflows of the Type File will be displayed) and click save. | For Workflows select the desired work flow (all workflows of the Type File will be displayed) and click save. | ||
− | = | + | =Configuration – Advanced= |
==Suppress Workflow Window== | ==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. | 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. | ||
Line 972: | Line 992: | ||
::* '''Number of Activities''': Level 1 field used to set the number of activities to be created | ::* '''Number of Activities''': Level 1 field used to set the number of activities to be created | ||
::* '''Activity Index''': Level 2 field used to store the index number of each record. If 'N/A' is selected, the Level 2s will be created without an index number." | ::* '''Activity Index''': Level 2 field used to store the index number of each record. If 'N/A' is selected, the Level 2s will be created without an index number." | ||
− | + | '''Days Delay''' - Number in days of delay before creation of new activity. If left blank, the new activity will be created immediately. | |
− | :* '''Create for Users in UTA Role''' - select the UTA Role of the users that the Peer Activity should be created against. | + | ::* '''Create for Users in UTA Role''' - select the UTA Role of the users that the Peer Activity should be created against. |
− | :* '''Activity Type''' - This is where you specify which Level 2 Type you wish to create. If you select the Custom Field option then a Custom Field ID field is exposed. | + | ::* '''Activity Type''' - This is where you specify which Level 2 Type you wish to create. If you select the Custom Field option then a Custom Field ID field is exposed. |
− | :* '''Custom Field ID''' - The Create New Activity workflow can be driven by a Custom Field. For example, you could have check boxes at Level 1 corresponding to various Level 2 Types. Selecting each check box would create and attach the relevant Level 2 activity type. You must first create a Custom Field on the Level 1 record which stores the typeid(s) of the Level 2 Types to be created. To create multiple Level 2 records use one of the Select many field types (e.g. Select Many – Check Boxes, Select Many – Scrolling Check Box, Select Many – List Box) and to create a single Level 2 record use the Select One – Combo Box. | + | ::* '''Custom Field ID''' - The Create New Activity workflow can be driven by a Custom Field. For example, you could have check boxes at Level 1 corresponding to various Level 2 Types. Selecting each check box would create and attach the relevant Level 2 activity type. You must first create a Custom Field on the Level 1 record which stores the typeid(s) of the Level 2 Types to be created. To create multiple Level 2 records use one of the Select many field types (e.g. Select Many – Check Boxes, Select Many – Scrolling Check Box, Select Many – List Box) and to create a single Level 2 record use the Select One – Combo Box. |
− | :* '''Activity Status''' - Allows you to define the Status for the newly created Level 2 record(s). Note: If that Level 2 Status has a workflow attached to it the workflow will be triggered at the point of creation of the Level 2 record. | + | ::* '''Activity Status''' - Allows you to define the Status for the newly created Level 2 record(s). Note: If that Level 2 Status has a workflow attached to it the workflow will be triggered at the point of creation of the Level 2 record. |
− | :* '''Reminder Type''' - You can select whether a Quick Message or reminder email will be sent out to the Owner or contacts attached to the record, or any combination of the above. | + | ::* '''Reminder Type''' - You can select whether a Quick Message or reminder email will be sent out to the Owner or contacts attached to the record, or any combination of the above. |
− | :* '''Reminder Days''' - Sets delay for reminder message being sent. | + | ::* '''Reminder Days''' - Sets delay for reminder message being sent. |
===Task Type: Generate PDF File=== | ===Task Type: Generate PDF File=== | ||
Auto generation of a PDF that can be: | Auto generation of a PDF that can be: | ||
− | ::::* E-mailed to the person(s) designated in the workflow step. | + | :::::* E-mailed to the person(s) designated in the workflow step. |
− | ::::* Stored within a Multiple Files Custom Field. | + | :::::* Stored within a Multiple Files Custom Field. |
The PDF generated must be based upon a Web Page View Custom Field. You must specify the Custom Field ID of the Web Page View to be converted in the Web Page Field ID field on the Workflow Task settings. | The PDF generated must be based upon a Web Page View Custom Field. You must specify the Custom Field ID of the Web Page View to be converted in the Web Page Field ID field on the Workflow Task settings. | ||
Line 995: | Line 1,015: | ||
Generate PDF File Tasks have the following settings: | Generate PDF File Tasks have the following settings: | ||
− | :* '''Name''' - Narrative name for the task. | + | ::* '''Name''' - Narrative name for the task. |
− | :* '''Task Type''' - manually set to Create Consumer/Provider Link | + | ::* '''Task Type''' - manually set to Create Consumer/Provider Link |
− | :* '''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. | + | ::* '''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). | + | ::* '''Description''' - Detailed description of the task (optional). |
− | :* '''Expire After''' - Intended duration of the workflow. | + | ::* '''Expire After''' - Intended duration of the workflow. |
− | :* '''Web Page Field ID''' - Must contain the Custom Field ID of the Web Page View to be converted into PDF format. To create multiple PDFs, enter the Custom Field IDs of the Web Page View fields in the Web Page Field ID# setting of the Workflow Task, separated by commas. | + | ::* '''Web Page Field ID''' - Must contain the Custom Field ID of the Web Page View to be converted into PDF format. To create multiple PDFs, enter the Custom Field IDs of the Web Page View fields in the Web Page Field ID# setting of the Workflow Task, separated by commas. |
− | :* '''Store to Field ID''' - If PDF file should also be stored to the record, must contain the Custom Field ID of the relevant Link - Multiple Files custom field. | + | ::* '''Store to Field ID''' - If PDF file should also be stored to the record, must contain the Custom Field ID of the relevant Link - Multiple Files custom field. |
− | :* '''PDF Render Language''' - If a language is specified, the language option will be applied to the PDF generated | + | ::* '''PDF Render Language''' - If a language is specified, the language option will be applied to the PDF generated |
− | :*::* '''Message Template: Message Type''' - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email. | + | ::*::* '''Message Template: Message Type''' - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email. |
{{Template:WorkflowMessageTemplate}} | {{Template:WorkflowMessageTemplate}} | ||
− | :* '''Routing: Use Variable for Recipients''' - Allows recipients of the message to be selected using variables. See this article for configuration details. | + | ::* '''Routing: Use Variable for Recipients''' - Allows recipients of the message to be selected using variables. See this article for configuration details. |
− | :* '''Routing: Use UTA Role''' - When using roles to select recipients, the UTA Role can be used to determine recipients. | + | ::* '''Routing: Use UTA Role''' - When using roles to select recipients, the UTA Role can be used to determine recipients. |
− | :* '''Routing: Role''' - Used to select recipients by role. | + | ::* '''Routing: Role''' - Used to select recipients by role. |
− | :* '''Routing: Selected Users''' - If required, specific users can be selected to complete this task. This technique restricts the number of users that the initiator can select. | + | ::* '''Routing: Selected Users''' - If required, specific users can be selected to complete this task. This technique restricts the number of users that the initiator can select. |
− | :* '''Routing: 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. | + | ::* '''Routing: 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: PDF Merge=== | ===Task Type: PDF Merge=== | ||
Will convert [[Custom Field Type: Special – MS Word Merge|Word Merge]] document to a PDF which can then be: | Will convert [[Custom Field Type: Special – MS Word Merge|Word Merge]] document to a PDF which can then be: | ||
− | ::::* E-mailed to the person(s) designated in the workflow step. | + | :::::* E-mailed to the person(s) designated in the workflow step. |
− | ::::* Stored within a Multiple Files Custom Field | + | :::::* Stored within a Multiple Files Custom Field |
The PDF generated must be based upon a [[Custom Field Type: Special – MS Word Merge|Word Merge]] Custom Field. You must specify the Custom Field ID of the MS Word Merge document to be converted in the MSWord Merge Field ID field on the Workflow Task settings. | The PDF generated must be based upon a [[Custom Field Type: Special – MS Word Merge|Word Merge]] Custom Field. You must specify the Custom Field ID of the MS Word Merge document to be converted in the MSWord Merge Field ID field on the Workflow Task settings. | ||
Line 1,026: | Line 1,046: | ||
Generate PDF File Tasks have the following settings: | Generate PDF File Tasks have the following settings: | ||
− | :* '''Name''' - Narrative name for the task. | + | ::* '''Name''' - Narrative name for the task. |
− | :* '''Task Type''' - manually set to Create Consumer/Provider Link | + | ::* '''Task Type''' - manually set to Create Consumer/Provider Link |
− | :* '''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. | + | ::* '''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). | + | ::* '''Description''' - Detailed description of the task (optional). |
− | :* '''Expire After''' - Intended duration of the workflow. | + | ::* '''Expire After''' - Intended duration of the workflow. |
− | :* '''MSWord Merge Field ID''' - Must contain the Custom Field ID of the Web Page View to be converted into PDF format. To create multiple PDFs, enter the Custom Field IDs of the Web Page View fields in the Web Page Field ID# setting of the Workflow Task, separated by commas. | + | ::* '''MSWord Merge Field ID''' - Must contain the Custom Field ID of the Web Page View to be converted into PDF format. To create multiple PDFs, enter the Custom Field IDs of the Web Page View fields in the Web Page Field ID# setting of the Workflow Task, separated by commas. |
− | :* '''Store to Field ID''' - If PDF file should also be stored to the record, must contain the Custom Field ID of the relevant Link - Multiple Files custom field. | + | ::* '''Store to Field ID''' - If PDF file should also be stored to the record, must contain the Custom Field ID of the relevant Link - Multiple Files custom field. |
− | :* '''PDF Render Language''' - If a language is specified, the language option will be applied to the PDF generated | + | ::* '''PDF Render Language''' - If a language is specified, the language option will be applied to the PDF generated |
− | :*::* '''Message Template: Message Type''' - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email. | + | ::*::* '''Message Template: Message Type''' - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email. |
− | {{Template:WorkflowMessageTemplate}} | + | {{Template:WorkflowMessageTemplate}} |
− | + | ||
− | :* '''Routing: Use Variable for Recipients''' - Allows recipients of the message to be selected using variables. See this article for configuration details. | + | ::* '''Routing: Use Variable for Recipients''' - Allows recipients of the message to be selected using variables. See this article for configuration details. |
− | :* '''Routing: Use UTA Role''' - When using roles to select recipients, the UTA Role can be used to determine recipients. | + | ::* '''Routing: Use UTA Role''' - When using roles to select recipients, the UTA Role can be used to determine recipients. |
− | :* '''Routing: Role''' - Used to select recipients by role. | + | ::* '''Routing: Role''' - Used to select recipients by role. |
− | :* '''Routing: Selected Users''' - If required, specific users can be selected to complete this task. This technique restricts the number of users that the initiator can select. | + | ::* '''Routing: Selected Users''' - If required, specific users can be selected to complete this task. This technique restricts the number of users that the initiator can select. |
− | :* '''Routing: 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. | + | ::* '''Routing: 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: People Association=== | ===Task Type: People Association=== | ||
Line 1,048: | Line 1,068: | ||
People Association have the following settings: | People Association have the following settings: | ||
− | :* '''Name''' - Narrative name for the task. | + | ::* '''Name''' - Narrative name for the task. |
− | :* '''Task Type''' - manually set to People Association | + | ::* '''Task Type''' - manually set to People Association |
− | :* '''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. | + | ::* '''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). | + | ::* '''Description''' - Detailed description of the task (optional). |
− | :* '''Expire After''' - Intended duration of the workflow. | + | ::* '''Expire After''' - Intended duration of the workflow. |
− | :* '''Action''': Add, update or delete the people association | + | ::* '''Action''': Add, update or delete the people association |
− | :* '''Routing: Use Variable for Recipients''' - Allows recipients of the message to be selected using variables. This is discussed in greater detail in the Configuration – Advanced section. | + | ::* '''Routing: Use Variable for Recipients''' - Allows recipients of the message to be selected using variables. This is discussed in greater detail in the Configuration – Advanced section. |
− | :* '''Routing: Use UTA Role''' - When using roles to select recipients, the UTA Role can be used to determine recipients. | + | ::* '''Routing: Use UTA Role''' - When using roles to select recipients, the UTA Role can be used to determine recipients. |
− | :* '''Routing: Role''' - Used to control role of user that will be associated. | + | ::* '''Routing: Role''' - Used to control role of user that will be associated. |
− | :* '''Routing: Selected Users''' - If required, specific users can be selected to be associated | + | ::* '''Routing: Selected Users''' - If required, specific users can be selected to be associated |
− | :* '''Roles will be Assigned''' - select the role(s) that you want the contact(s) to be associated with. To assign different contacts with different roles, you will have to create more than one People Association task. | + | ::* '''Roles will be Assigned''' - select the role(s) that you want the contact(s) to be associated with. To assign different contacts with different roles, you will have to create more than one People Association task. |
In the Routing section select a Role currently possessed by the contact(s) you wish to add, whether this is a system role or a UTA role. You can then either select specific contacts or groups that will always be added to the Level 1 when the workflow is triggered, or you can choose Let current user select target user from this role to allow the person that triggers the workflow to select a contact to be added. | In the Routing section select a Role currently possessed by the contact(s) you wish to add, whether this is a system role or a UTA role. You can then either select specific contacts or groups that will always be added to the Level 1 when the workflow is triggered, or you can choose Let current user select target user from this role to allow the person that triggers the workflow to select a contact to be added. | ||
Note: | Note: | ||
− | ::* If you are allowing the current user to select target user Suppress Workflow Window must be off (not enabled) otherwise the workflow will not fire. | + | ::** If you are allowing the current user to select target user Suppress Workflow Window must be off (not enabled) otherwise the workflow will not fire. |
− | ::* If you are allowing the current user to select target user, the Workflow must be triggered by a status, and not by a script. | + | ::** If you are allowing the current user to select target user, the Workflow must be triggered by a status, and not by a script. |
− | ::* Include a description, as the description will be presented to the user when they are asked to select the contact to be assigned. | + | ::** Include a description, as the description will be presented to the user when they are asked to select the contact to be assigned. |
In order to notify the contact(s) that they have been assigned you can create a subsequent Acknowledgement Workflow Task to e-mail all contacts with the UTA role you selected. | In order to notify the contact(s) that they have been assigned you can create a subsequent Acknowledgement Workflow Task to e-mail all contacts with the UTA role you selected. | ||
Line 1,182: | Line 1,202: | ||
===Task Type: Web Service - HTTP Request=== | ===Task Type: Web Service - HTTP Request=== | ||
− | This workflow task type is used to consume a [[APIs|web service]] via a workflow step. The web service will send the HTTP Post request to retrieve information | + | This workflow task type is used to consume a [[APIs|web service]] via a workflow step. The web service will send the HTTP Post request to retrieve information. The response returned by the web service can be stored into a custom field on the object against which the Workflow was triggered. |
− | [[File:HTTPPost.PNG| | + | [[File:HTTPPost.PNG|500px]] |
HTTP Post have the following settings: | HTTP Post have the following settings: | ||
Line 1,213: | Line 1,233: | ||
** Sensitivity={personal,private,company,confidential} | ** Sensitivity={personal,private,company,confidential} | ||
*: e.g. Priority=urgent;Importance=high | *: e.g. Priority=urgent;Importance=high | ||
+ | * | ||
** '''Message Template: Endpoint''' - The URL or IP address of the destination server | ** '''Message Template: Endpoint''' - The URL or IP address of the destination server | ||
** '''Message Template: Envelope Template''' - The content of the Web Service message to be sent to the external service. This can contain variables related to the object the workflow is triggered against. | ** '''Message Template: Envelope Template''' - The content of the Web Service message to be sent to the external service. This can contain variables related to the object the workflow is triggered against. | ||
Line 1,222: | Line 1,243: | ||
The less than symbol (<) and ampersand (&) are two primary special characters to be concerned about. When including fields that may contain those characters you should use a special wrapper so the receiving system understands that they are data content and not part of the XML structure: | The less than symbol (<) and ampersand (&) are two primary special characters to be concerned about. When including fields that may contain those characters you should use a special wrapper so the receiving system understands that they are data content and not part of the XML structure: | ||
− | + | :: <span style="font-size: small;"><![CDATA[ '''''CONTENTS''''' ]]></span> | |
− | |||
− | |||
− | |||
For example, an address could contain ampersands, so it should be wrapped as follows: | For example, an address could contain ampersands, so it should be wrapped as follows: | ||
Line 1,240: | Line 1,258: | ||
@system.xml.''fieldname''.''nodename''.nodevalue@ | @system.xml.''fieldname''.''nodename''.nodevalue@ | ||
− | ===Task Type: | + | ===Task Type: Web Service - RESTful Request=== |
− | + | This workflow task type is used to consume a RESTful web service using GET or POST method. | |
− | + | ====RESTful Web Service Request using GET Method==== | |
+ | POST method is used to send data to a RESTful web service. | ||
− | + | [[File:RESTful_GET.PNG|500px]] | |
− | |||
− | |||
− | |||
− | |||
− | + | GET RESTful Web Service Request have the following settings: | |
− | + | :* '''Endpoint''' - resource of the web service | |
+ | :* '''Request Header''' - additional instructions sent with the request. These might define the type of response required or the authorization details. | ||
+ | :* '''Store Response To Field''' - [[Custom_Fields|Custom field]] where the response will be stored. | ||
+ | :* '''Store Response to SmartFolder''' - [[SmartFolders|SmartFolder ID]] where the response file will be stored. | ||
− | == | + | ====RESTful Web Service Request using POST Method==== |
− | + | POST method is used to send data to a RESTful web service. | |
− | + | [[File:RESTful_POST.PNG|500px]] | |
− | + | POST RESTful Web Service Request have the following settings: | |
+ | :* '''Endpoint''' - endpoint of the web service | ||
+ | :* '''Request Body''' - data sent with the request. | ||
+ | :* '''Request Header''' - additional instructions sent with the request. These might define the type of response required or the authorization details. | ||
+ | :* '''Store Response To Field''' - [[Custom_Fields|Custom field]] where the response will be stored. | ||
+ | :* '''Store Response to SmartFolder''' - [[SmartFolders|SmartFolder ID]] where the response file will be stored. | ||
− | + | ====Credentials of the RESTful Web Service Request==== | |
+ | <!--89397 - Workflow Task Type: Web Service - RESTful Request --> | ||
+ | Credentials of the web service can be added in the Request Header in the format: Authorization=Basic [base64 encoded credentials].<br/> | ||
+ | A third party software can be used to convert the username/password to a base64 encoded credentials.<br/> | ||
+ | Note that all equal signs within the base64 credentials should be replaced with %3D.<br/> | ||
+ | Example:<br/> | ||
+ | FROM: Authorization=Basic c3NcUyVzZXI6SzhAtHVuY2g<span style="color: #ff0000;">'''='''</span><br/> | ||
+ | TO: Authorization=Basic c3NcUyVzZXI6SzhAtHVuY2g<span style="color: #ff0000;">'''%3D'''</span> | ||
+ | ====Parsing JSON response==== | ||
+ | <!--67458 - Add GET/POST REST services workflow tasks that are compatible with JSON--> | ||
+ | Variable syntax is available to parse and retrieve values from JSON format data.<br/> | ||
+ | ''Sample 1'' | ||
+ | <pre>FIELD_NAME: {"firstname":"John"} | ||
+ | variable syntax: @json.FIELD_NAME.firstname@ | ||
+ | result: John | ||
+ | </pre> | ||
+ | ''Sample 2'' | ||
− | + | <pre>FIELD_NAME: {"primarycontact":{"firstname":"Thomas"}} | |
+ | variable syntax: @json.FIELD_NAME.primarycontact.firstname@ | ||
+ | result: Thomas | ||
+ | </pre> | ||
+ | ''Sample 3'' | ||
− | + | <pre>FIELD_NAME: {"users":[{"firstname":"Marie"},{"firstname":"Eve"}]} | |
+ | variable syntax: @json.FIELD_NAME.users.[# ~firstname~, #]@ | ||
+ | result: Marie, Eve | ||
+ | </pre> | ||
− | + | ===Task Type: Translate Field Value=== | |
+ | The Translate Field Value Workflow Task allows you to perform automatic translation of records and field values in the system. It will only apply to those custom fields that have [[Enable_Translation_Service|enabled translation services]]. | ||
+ | This Task type has the following settings: | ||
− | + | ** '''Name''' - Narrative name for the task. | |
+ | ** '''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). | ||
+ | ** '''Translate to''' - set which language or languages to translate to for the custom fields that have enabled translation | ||
+ | If a record has translation enabled and a stored field translation exist, there will be a "Show Translation Values" in the Options menu | ||
− | + | When shown, the translated field values will appear directly underneath the existing field value. | |
− | + | If more than one translated language exist, there will be a language drop down appearing at the top of the record. | |
− | + | ==Importing and Exporting Workflow Tasks== | |
+ | Workflow Tasks can be exported and imported into other Workflows using the Import/Export function on the Edit Workflow page. This feature is particularly useful if you have created workflows for testing on your backup instance and wish to implement the finalized reports in your live system. | ||
− | + | The steps to export a workflow task or set of workflow tasks are as follows: | |
− | + | ||
− | + | [[Image:ExportWorkflow2017.png|1000px|border]] | |
− | + | ||
+ | |||
+ | 1. Go to the relevant Workflow, click on the Tasks tab and select the checkbox next to the workflow task(s) that you wish to export. | ||
+ | |||
+ | 2. Click on the Export button. | ||
+ | |||
+ | 3. A pop-up window will appear, containing the details of the tasks you have selected in XML format. Select all of the text in the pop-up window and save it to a text editing program, such as Notepad. | ||
+ | |||
+ | Note that, if multiple tasks are selected, they will be delimited in the XML text block with the tag. | ||
+ | |||
+ | |||
+ | The steps to '''import''' a workflow task or set of workflow tasks are as follows: | ||
+ | |||
+ | 1. Go to the relevant Workflow, click on the Tasks tab, then click on the Import button. | ||
+ | |||
+ | 2. A blank pop-up window will appear. Paste the XML data that you have exported into this window. | ||
+ | |||
+ | 3. Confirm your selection by clicking on the Import button at the bottom of the pop-up window. | ||
+ | |||
+ | * The workflow tasks will be imported into the new workflow. | ||
+ | * The Edit Workflow page will refresh to show the newly-added workflow tasks. | ||
==Workflow Condition== | ==Workflow Condition== | ||
Line 1,298: | Line 1,371: | ||
Note: because the sequence in which the system accesses each connector is not configurable it is important that the conditions are mutually exclusive. For example, if you have 3 connectors for different paths based on a particular value the conditions could be: | Note: because the sequence in which the system accesses each connector is not configurable it is important that the conditions are mutually exclusive. For example, if you have 3 connectors for different paths based on a particular value the conditions could be: | ||
− | + | * "@Selection@"="Yes" | |
− | + | * "@Selection@"="No" | |
− | + | * "@Selection@"!="Yes" and "@Selection@"!="No" | |
− | + | * The last statement could also be represented as "@Selection@" not in ("Yes","No") | |
− | |||
You can also use MySQL syntax to perform calculations within the Condition: | You can also use MySQL syntax to perform calculations within the Condition: | ||
− | + | * date_format(now(),"%d")="01" | |
− | + | ||
This condition will be true only on the 1st of the month. This could be used with a Recurring Workflow that loops daily if you wish to send out a summary e-mail on the 1st of every month. | This condition will be true only on the 1st of the month. This could be used with a Recurring Workflow that loops daily if you wish to send out a summary e-mail on the 1st of every month. | ||
Line 1,322: | Line 1,394: | ||
''<u>Example of Incorrect Configuration</u>'': | ''<u>Example of Incorrect Configuration</u>'': | ||
− | Three [[types]] exist in a given [[UTA|application]], with [[Determining the typeid|typeIDs]] of 12345, 45678 and 67890. | + | Three level one [[types]] exist in a given [[UTA|application]], with [[Determining the typeid|typeIDs]] of 12345, 45678 and 67890. |
Two connectors are set up on a workflow task with conditions of: | Two connectors are set up on a workflow task with conditions of: | ||
− | + | * ''"@levelone.typeid@"="12345"'' and | |
− | + | * ''"@levelone.typeid@"="45678"'', respectively | |
− | |||
− | |||
If the workflow is fired against a record associated with typeID 67890, the workflow will never progress to the next task. | If the workflow is fired against a record associated with typeID 67890, the workflow will never progress to the next task. | ||
Line 1,336: | Line 1,406: | ||
''<u>Example of Correct Configuration</u>'': | ''<u>Example of Correct Configuration</u>'': | ||
− | + | Three level one [[types]] exist in a given [[UTA|application]], with [[Determining the typeid|typeIDs]] of 12345, 45678 and 67890. | |
Three connectors are set up on a workflow task with conditions of: | Three connectors are set up on a workflow task with conditions of: | ||
− | + | ||
− | + | ||
− | + | * ''"@levelone.typeid@"="12345"'', | |
− | + | * ''"@levelone.typeid@"="45678"'' and | |
− | + | * ''"@levelone.typeid@"="67890"'', respectively | |
+ | |||
Alternatively, connectors with the following conditions could be set up: | Alternatively, connectors with the following conditions could be set up: | ||
− | + | ||
− | + | ||
− | + | * ''"@levelone.typeid@"="12345"'' | |
− | + | * ''"@levelone.typeid@"!="12345"'' (not equal to "12345"), and | |
− | + | * ''"@levelone.typeid@" NOT IN ("12345","45678")'', respectively | |
+ | |||
'''2. Each condition must be mutually exclusive from every other''' | '''2. Each condition must be mutually exclusive from every other''' | ||
Line 1,358: | Line 1,430: | ||
''<u>Example of Incorrect Configuration</u>'': | ''<u>Example of Incorrect Configuration</u>'': | ||
− | Three [[types]] exist in a given [[UTA|application]], with [[Determining the typeid|typeIDs]] of 12345, 45678 and 67890. | + | Three [[Level_2_Types|level 2 types]] exist in a given [[UTA|application]], with [[Determining the typeid|typeIDs]] of 12345, 45678 and 67890. |
− | Two [[status]]es exist in the same application, with [[Determining the statusid|statusIDs]] of 888 and 999. | + | Two level 2 [[status]]es exist in the same application, with [[Determining the statusid|statusIDs]] of 888 and 999. |
The system administrator wishes to send emails via workflow if the record is in one of the above statuses. One email should be sent out if the type is 12345 or 45678 and a different email should be sent out if a different type has been used. | The system administrator wishes to send emails via workflow if the record is in one of the above statuses. One email should be sent out if the type is 12345 or 45678 and a different email should be sent out if a different type has been used. | ||
Line 1,366: | Line 1,438: | ||
Two connectors are set up on a workflow task with conditions of: | Two connectors are set up on a workflow task with conditions of: | ||
− | + | * ''"@level2.typeid@" in ("12345","45678") AND "@level2.statusid@" in ("888","999")'' and | |
− | + | * ''"@level2.statusid@" in ("888","999")'' | |
− | + | ||
− | |||
The issue here is that both statements [[Boolean Operators|evaluate]] as '''true''' if the statuses on the record triggering the workflow have a statusID of 888 or 999. | The issue here is that both statements [[Boolean Operators|evaluate]] as '''true''' if the statuses on the record triggering the workflow have a statusID of 888 or 999. | ||
Line 1,382: | Line 1,453: | ||
Two connectors should be set up on a workflow task with the following conditions: | Two connectors should be set up on a workflow task with the following conditions: | ||
− | + | * ''"@level2.typeid@" in ("12345","45678") AND "@level2.statusid@" in ("888","999")'' and | |
− | + | * ''"@level2.typeid@" not in ("12345","45678") AND "@level2.statusid@" in ("888","999")'' | |
− | + | ||
− | |||
This configuration satisfies Rule #2, in that the conditions are now mutually exclusive. However, a third connector must be included, with the following condition, which connects to the "Complete" task, in order to satisfy Rule #1 above: | This configuration satisfies Rule #2, in that the conditions are now mutually exclusive. However, a third connector must be included, with the following condition, which connects to the "Complete" task, in order to satisfy Rule #1 above: | ||
− | + | * ''"@level2.statusid@" not in ("888","999")'' | |
− | + | ||
− | |||
With these three connectors configured, the workflow will: | With these three connectors configured, the workflow will: | ||
− | + | * never not have instructions on ''whether'' to trigger the next workflow task (Rule #1), and | |
− | + | * always have clear instructions on ''which'' task to trigger given a certain set of conditions (Rule #2). | |
− | |||
− | |||
==Using iCalendar to generate Meeting Requests, Tasks and Contact cards== | ==Using iCalendar to generate Meeting Requests, Tasks and Contact cards== | ||
Line 1,409: | Line 1,476: | ||
The email engine will process iCalendar objects using the following syntax: | The email engine will process iCalendar objects using the following syntax: | ||
− | + | * "@@ievent" | |
− | + | * "@@itodo" | |
− | + | * "@@icard" | |
− | |||
− | |||
Simple sample iCalendar objects are shown below | Simple sample iCalendar objects are shown below | ||
Line 1,470: | Line 1,535: | ||
<!--@end--> | <!--@end--> | ||
</pre> | </pre> | ||
− | |||
==Trigger a Workflow from a Custom Browser Script== | ==Trigger a Workflow from a Custom Browser Script== | ||
Line 1,484: | Line 1,548: | ||
'''Level 1''': _triggerwf('@opportunityid@',''workflowid''); | '''Level 1''': _triggerwf('@opportunityid@',''workflowid''); | ||
− | + | ||
− | + | ||
− | + | Example: | |
_triggerwf('@opportunityid@',98765); | _triggerwf('@opportunityid@',98765); | ||
Line 1,492: | Line 1,556: | ||
'''Level 2''': _triggerwf('@eventid@',''workflowid'',26); | '''Level 2''': _triggerwf('@eventid@',''workflowid'',26); | ||
− | + | Example: | |
− | |||
− | |||
_triggerwf('@eventid@',98765,26); | _triggerwf('@eventid@',98765,26); | ||
+ | |||
('''26''' is the objecttype for Level 2 activities, and will be the same for all Level 2 workflows) | ('''26''' is the objecttype for Level 2 activities, and will be the same for all Level 2 workflows) | ||
Line 1,503: | Line 1,566: | ||
Notes: | Notes: | ||
− | + | * 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 src="js/sstools.js" type="text/javascript"></script>). | |
− | |||
− | |||
==Using variables with workflows== | ==Using variables with workflows== | ||
Line 1,553: | Line 1,614: | ||
===Password Variables=== | ===Password Variables=== | ||
− | + | In the upcoming November 2023 release, password variables will be deprecated for improved security. All systems will be required to use the activation link variable (<code>@activationlink@</code>) to send the user to a page where they can enter their desired password instead. | |
− | + | {{WorkflowTaskTypeCCEmailSyntaxOptions}} | |
+ | <!--sendnoto sendnotto Sendnotto sendasto reply-to replyto--> | ||
− | + | =Using workflows= | |
+ | ==Searching or Sorting Workflows== | ||
+ | To access the workflows list, click the menu icon in the action bar, followed by the Workflows link in the System Process section. | ||
+ | The following tabs are also displayed: | ||
− | ''' | + | * '''Workflows''' – click this tab to see list of workflows. |
− | + | * '''Tasks''' – click this tab to see a list of tasks for all workflows. | |
− | + | * '''Outstanding Tasks''' – click this tab to see a list of outstanding tasks for all workflows. | |
− | + | Each of these tabs has search and sort options, to allow quick and easy location of workflows and tasks. | |
− | + | The steps for '''searching''' are as follows: | |
− | * | ||
− | ''' | ||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
1. Go to the tab that you wish to search against. | 1. Go to the tab that you wish to search against. | ||
2. Click into the search criteria field to select the list view column to search against. | 2. Click into the search criteria field to select the list view column to search against. | ||
− | |||
3. Enter in appropriate criteria. | 3. Enter in appropriate criteria. | ||
Line 1,617: | Line 1,651: | ||
3. Third click returns to the default sort order. | 3. Third click returns to the default sort order. | ||
− | |||
− | |||
==Workflow Requests== | ==Workflow Requests== | ||
Line 1,625: | Line 1,657: | ||
The Workflow Requests page lists: | The Workflow Requests page lists: | ||
− | + | * outstanding tasks that you need to complete based on SmartSimple [[workflows]], | |
− | + | * tasks that other people need to complete where you are participating in some steps in the workflow, and | |
− | + | * project tasks that you are assigned to complete. | |
− | |||
The request will be listed under the '''Requests to me''' link. | The request will be listed under the '''Requests to me''' link. | ||
1. Click the '''Communications''', Workflow Requests link. The Workflow task is displayed. | 1. Click the '''Communications''', Workflow Requests link. The Workflow task is displayed. | ||
− | |||
2. Click the '''Task type''', '''File''' link. The Workflow step is displayed with the following fields in the request: | 2. Click the '''Task type''', '''File''' link. The Workflow step is displayed with the following fields in the request: | ||
− | + | * '''Task Name''' – The name of the [[Workflow|workflow]] task. | |
− | + | * '''Created Date''' – The date the task was triggered. | |
− | + | * '''Task Description''' – The description of the task’s purpose. | |
− | + | * '''Action''' – The '''Routing Options''' for the request. These options are only visible for '''Requests For Approval'''. | |
− | + | * '''Comments''' – This box is always visible but can only be used with '''Request For Comments'''. | |
− | + | * '''Object Area''' – The bottom portion of the request screen where the attached object is displayed. | |
− | |||
3. Select '''Approve''' to approve the file and click the '''Submit''' button. The '''Approve''' option requires us to select a [[User|user]] to send the approval message to so the '''Select User''' list is displayed. | 3. Select '''Approve''' to approve the file and click the '''Submit''' button. The '''Approve''' option requires us to select a [[User|user]] to send the approval message to so the '''Select User''' list is displayed. | ||
4. Select the [[User|user]] to receive the approval message and click the '''Submit''' button. The step is complete and the Workflow is also complete. The '''workflow complete''' message is displayed. | 4. Select the [[User|user]] to receive the approval message and click the '''Submit''' button. The step is complete and the Workflow is also complete. The '''workflow complete''' message is displayed. | ||
− | |||
5. Click the '''Communications''', '''Workflow Requests''' button. The [[Workflow|workflow]] is removed from the '''Request to Me''' window. | 5. Click the '''Communications''', '''Workflow Requests''' button. The [[Workflow|workflow]] is removed from the '''Request to Me''' window. | ||
Line 1,705: | Line 1,733: | ||
Some common reasons for workflow messages not arriving are: | Some common reasons for workflow messages not arriving are: | ||
− | + | # Your [[Browser|browser]] has a pop-up blocker. | |
− | + | # [[Workflow|Workflows]] are not enabled. | |
− | + | # There is another [[Workflow|workflow]] triggering on the same status. | |
− | + | # Your [[Workflow|workflow]] is not configured properly. | |
− | |||
Solution to: | Solution to: | ||
− | + | # Allow [[SmartSimple]] as a trusted site '''''or''''' check your [[Browser|browser]] for any tool bars that may be blocking the pop-ups '''''or''''' set the [[Workflow|workflows]] to [[Workflow - Silent Mode|suppress pop-ups]]. | |
− | + | # Typically in [[UTA]]s, you will need to edit the ''template'' and enable [[Workflow|workflows]] for the level at which they are being triggered. | |
− | + | # You will need to review the other [[Workflow|workflows]] to make sure that two [[Workflow|workflows]] are not triggering on the same status. | |
− | + | # You will need to review the configuration of the [[Workflow|workflows]] to ensure that the connectors are set appropriately as well as the individual tasks that are to take place. | |
− | |||
==Determining the Workflow ID== | ==Determining the Workflow ID== | ||
Once a workflow has been created, the workflow ID (''wfid'') can be found as follows: | Once a workflow has been created, the workflow ID (''wfid'') can be found as follows: | ||
− | + | * Click on the hyperlink for [[Global Settings]] | |
− | + | * Go System tab, click on the hyperlink for ''Workflows'' | |
− | + | * The workflow ID is visible as the right-most column on the list of workflows. | |
− | |||
Alternatively: | Alternatively: | ||
− | + | * Click on the Edit workflow icon for the Workflow you want, and the Workflow ID will be at the top of the page: | |
− | |||
[[Category:System Management]][[Category:Workflows]][[Category:Applications]] | [[Category:System Management]][[Category:Workflows]][[Category:Applications]] |
Revision as of 14:03, 28 June 2023
Contents
- 1 Overview
- 2 Configuration – Essentials
- 2.1 Create Workflow
- 2.2 Create workflow tasks
- 2.3 Create Workflow Connectors
- 2.4 Enable on Object
- 2.4.1 Enable Workflow on Company/User
- 2.4.2 Enable Workflow on Company/User Registration Page
- 2.4.3 Enable Status-Driven Workflow on UTA
- 2.4.4 Enable Workflow on UTA Type
- 2.4.5 Enable UTA Role / Company Assignment Workflow on UTA
- 2.4.6 Enable Workflow on File Upload field
- 2.4.7 Enable Workflow on SmartFolder
- 3 Configuration – Advanced
- 3.1 Suppress Workflow Window
- 3.2 Recurring Workflow
- 3.3 Task Type specific configuration
- 3.3.1 Task Type: Acknowledgement
- 3.3.2 Task Type: Activate/Deactivate User
- 3.3.3 Task Type: Change Status
- 3.3.4 Task Type: Company Association
- 3.3.5 Task Type: Create Consumer/Provider Link
- 3.3.6 Task Type: Create New Activity
- 3.3.7 Task Type: Generate PDF File
- 3.3.8 Task Type: PDF Merge
- 3.3.9 Task Type: People Association
- 3.3.10 Task Type: Request for Approval / Request for Comment
- 3.3.11 Task Type: Select User for Next Task
- 3.3.12 Task Type: Signority Submission
- 3.3.13 Task Type: Trigger Workflow
- 3.3.14 Task Type: Update Company Category
- 3.3.15 Task Type: Update Custom Field Value
- 3.3.16 Task Type: Update Standard Field Value
- 3.3.17 Task Type: Update User Role
- 3.3.18 Task Type: Web Service - HTTP Request
- 3.3.19 Task Type: Web Service – SOAP Message
- 3.3.20 Task Type: Web Service - RESTful Request
- 3.3.21 Task Type: Translate Field Value
- 3.4 Importing and Exporting Workflow Tasks
- 3.5 Workflow Condition
- 3.6 Using iCalendar to generate Meeting Requests, Tasks and Contact cards
- 3.7 Trigger a Workflow from a Custom Browser Script
- 3.8 Using variables with workflows
- 3.9 CC Email Syntax Options
- 4 Using workflows
Overview
A Workflow is a set of repeatable steps used to automate and streamline your business processes within the system (e.g. creating review forms and notifying reviewers via email).
Workflows are created through the Global Settings tab and can be associated with any entity within the system, such as UTA objects, folders, organizations or users.
Workflows are constructed using two basic elements:
- Tasks: define the actions required in the workflow – each task represents a single step in the process. Specific roles or specific users are associated with each task, and these people will be automatically alerted when they need to perform the action defined by that task. These actions are generally used to accept, reject, or request a revision on the associated object, file, user or some application-specific information.
- Connectors: link tasks together, and provide for branching logic based on the user responses to the task or pre-set conditions.
Configuration – Essentials
Create Workflow
First create and configure the workflow.
Next add tasks and connectors.
The tasks available are dependent on the Workflow Type, so specify the desired type before adding tasks.
1. Click the Menu Icon and under the System Processes , click the Workflows link.
2. The Workflows page is displayed. This includes the following tabs:
3. Workflows – click this tab to see list of workflows. The list includes the name, description, workflow type, Trigger, System Call Identifier and date last updated. In the top right of the action bar is a Category drop down. The list of workflows displayed under the Workflows tab is dependent on the Workflow Category selected. Use the "All Workflows" option to see all workflows.
- Tasks – click this tab to see a list of tasks for all workflows.
- Outstanding Tasks – click this tab to see a list of outstanding tasks for all workflows. This is where the workflow in question has been triggered, and the task has been scheduled for future completion date
4. Click the New Workflow button to see the New Workflow page.
5. Populate the Name field with a suitable a descriptive name for the workflow, and the Description field with a suitable narrative description for the workflow.
6. you attempt to connect the workflow to the object.
The table below shows a list of available Workflow Types, the objects that each type is enabled on, and the Trigger When options as well as the Termination Trigger options.
Workflow Type | Enabled On | Trigger | Termination |
---|---|---|---|
Recurring | N/A | Activate button on Workflow | Deactivate button on Workflow |
Company | Company or Branch | New or Modified company or Branch | N/A |
User | Company or Branch | New or Modified user or contact | N/A |
File | SmartFolder | New or Modified file in SmartFolder | N/A |
Applicant Tracking | Always Available | Assignment Status | Assignment Status |
Applicant Assignment | Always Available | Assignment Status | Assignment Status |
Content Management | Always Available | New, Modified and On Demand | N/A |
Document Library | Always Available | New, Modified and On Demand | N/A |
Email Broadcast | Always Available | New, Modified and On Demand | N/A |
Job Costing | Job in Job Tracking or Applicant Tracking | New, Modified and On Demand | N/A |
Job Tracking | Job in Job Tracking or Applicant Tracking | Job Status | Job Status |
Sales Tracking | Opportunity | Opportunity Status | Opportunity Status |
Smart Folders | N/A | New, Modified and On Demand | N/A |
Web Forms | Web Form | New or Modified Web Form | N/A |
Universal Tracking Application Select the name of the relevant UTA |
UTA Template | Level 1 Status | Level 1 Status |
Single File or Multiple Files Custom Field Note: Can be at any level within the selected UTA |
File upload Note: Within the workflow set Trigger When to --Deactivate-- |
N/A | |
Tracking Activities | UTA Template | Level 2 Status | Level 2 Status |
Tracking Activity Assignment | UTA Template | Addition of Level 2 Contact | N/A |
Tracking Sub-Activities | UTA Template | Level 3 Status | Level 3 Status |
Transactions | Always available | Transaction Status | N/A |
Notes | Always Available | New, Modified and On Demand | N/A |
UTA Role Assignment | UTA Template | Contact Assignment at Level 1 (with the Role specified) |
N/A |
UTA Company Assignment | UTA Template | Company Assignment at Level 1 | N/A |
7. Set the Trigger When option. This determines when a new instance of the workflow should be started. The options available, are determined by the Workflow Type (see Workflow Types table above). The available options include:.
- The New option will only trigger when a new object is created.
- The Modified option will trigger the workflow when an existing object is changed.
- The On Demand option will trigger the workflow when called by a System Call or a browser script.
- The Status Change option found on the Company and User Workflow Type, will expose the statuses for the relevant company/user. The workflow will trigger when the company/user status is changed and saved.
- The Trigger When option will expose different options depending on the Workflow Type:
- UTA specific statuses when Workflow Type is UTA specific (e.g. Universal Tracking Application, Tracking Activities, Tracking Sub-Activities). The workflow will trigger when UTA level 1, 2 or 3 is created or updated to the selected status.
- Roles for assigning users or companies to an object when Workflow Type is User / Org assignment specific (e.g. UTA Role Assignment, UTA Company Assignment). The workflow will trigger when user/company is added to the object with the selected role.
8. Set the Termination Trigger options if appropriate. This option is exposed for certain workflow types, including the UTA specific workflow types (see Workflow Types table above). If the entity changes to the status after the workflow has triggered, any Pending tasks are removed (not executed).
9. Click the Save button. The workflow is saved and the Workflow ID is now populated. The following options appear in the action bar near the top of the screen:
- Back/Recently Visited – click this button to return to pages previous accessed.
- Workflows – click this button to return to the workflow list.
- New Task – click this button to create a new workflow task.
- Diagram – click this button to see a diagram view of the workflow.
10. The following tabs are also now displayed:
- Task – click this tab to view workflow task and to edit tasks. Tasks are steps within the workflow.
- Pending Queue – click this tab to see a list of outstanding tasks for this workflow, you can delete tasks and reassign tasks to other contacts within the system.
- History - click this tab to see a list of completed tasks for this workflow.
Create workflow tasks
Once you have created the workflow you can add tasks, each task automates and streamlines some action or step in your business processes.
The process for adding a task to a workflow is as follows:
1. Navigate to the desired workflow and click on the Tasks tab.
2. Click the New task button in the action bar.
3. The Task details are displayed, with a Task Number initially set to 100 and increasing in increments of 100 for each subsequent workflow task.
4. Update Task Name then select the Task Type. The task type determines how the task should be processed. The available Task Types include:
- Acknowledgement - use to generate a message such as an email to appropriate users.
- Request for Approval - use to generate action requirements that need an approval. These action requirements display in the Workflow Requests area.
- Request for Comment - use to generate comment requirements. These will be displayed in the Workflow Requests area.
- Change Status - use to change the status of the object that triggered the workflow. There is no messaging on this task type.
- Create Consumer/Provider Link - use to create Consumer/Provider relationship without custom scripting.
- Create New Activity - use in Universal Tracking Application workflows, to create Level 2 records.
- Update Custom Field Value - use to update a custom field to an entered value.
- Update Standard Field Value - use to update a standard field to an entered value.
- Select User for Next Task - use to pre-select the user that is responsible for a task that immediately follows this task type. This is necessary for tasks that will trigger at a later date.
- User Activation - use to activate a contact as a user and send the credentials in order to log in. This is useful for project-type work when you only wish to activate a user as part of a project.
- Generate PDF File - use for automatic generation of a PDF that will be emailed to the person(s) designated in the workflow step.
- People Association - use to add either pre-defined, or user selected, contact(s) to the contacts section of a Level 1 record with a given role.
- Company Association - use to add either pre-defined, or user selected, companies to the Account section of a Level 1 record with a given category.
- Activate/Deactivate User - use to set the access type of a user or remove access.
- Update User Role - use to add or remove selected roles from a user.
- Update Company Category - use to add or remove selected categories from a company.
- Web Service - HTTP Request - use to send the HTTP Post web service request via a workflow step to retrieve a web service response.
- Web Service - SOAP Message - use to pass information to a system outside of SmartSimple as a Web Services call.
- Web Service - RESTful Request - use to consume Restful web service request via a workflow step to get/post a web service response.
- Trigger Workflow - use to trigger a different workflow against a specified object.
- Signority Submission - use to trigger Signority signing process.
- Retrieve Latitude / Longitude - use to retrieve Latitude and Longitude values without need to save the object itself
- Translate Field Values - use to automatically translate records and field values in the system
The Task Types available will vary depending on the Workflow Type selected. The following matrix displays Workflow Task Types availability for Workflow Types.
The following matrix displays which Workflow Task Types are available for which Workflow Types.
scope row Move Object
Workflow Task Type Available? | Workflow Types | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recurring | Company | User | File | Applicant Tracking | Job Tracking | Sales Tracking | Smart Folders | Web Forms | Universal Tracking Application | Tracking Activities | Tracking Activity Assignment | Tracking Sub-Activities | Transactions | Notes | UTA Role Assignment | UTA Company Assignment | |
Acknowledgement | |||||||||||||||||
Activate/Deactivate User | |||||||||||||||||
Change Status | |||||||||||||||||
Create New Activity | |||||||||||||||||
Generate PDF File | |||||||||||||||||
PDF Merge | |||||||||||||||||
People Association | |||||||||||||||||
Request for Approval | |||||||||||||||||
Request for Comment | |||||||||||||||||
Select User for Next Task | |||||||||||||||||
Trigger Workflow | |||||||||||||||||
Update Custom Field Value | |||||||||||||||||
Update Standard Field Value | |||||||||||||||||
Update User Role | |||||||||||||||||
Update Company Category | |||||||||||||||||
User Activation | |||||||||||||||||
Web Service - HTTP Request | |||||||||||||||||
Web Service - SOAP Message | |||||||||||||||||
Web Service - RESTful Request | |||||||||||||||||
Retrieve Latitude / Longtitude | |||||||||||||||||
Translate Field Values |
5. Set the Name of the Task as appropriate.
6. Populate the Description field if required.
7. Click Save at the bottom of the page. NOTE: There are a number of other settings specific to the Task Type selected. These are covered in the individual entries specific to each Task Type within the Configuring - Advanced section.
8. Click on the Back button to return to the Edit Workflow screen.
9. The Task is listed, but without Connectors, the task will not be executed if the workflow is triggered.
Create Workflow Connectors
All tasks must be connected to other tasks or to the start and complete before they will execute.
The connectors control when the next steps execute and control what the next steps are (based on defined conditions).
1. Navigate to the desired workflow and click on the Task tab.
2. Inside the list of tasks, click the New button in the row preceding the task you wish to connect. In the example below the preceding task may be the Start option, but it could also be a preceding Task.
3. The New Connector modal window launches with number of options.
The available options include:
- Name - use to enter a descriptive name for the connector
- Trigger Type - use to select Default or Expired options
- Connect To - use to select what you want to connect. All tasks within the workflow appear, alongside the Start and Complete options. Also, there will be a list of other workflows in the system.
- Trigger Date - use to define a trigger date. The connector triggers, when the date matches the selected date.
- Trigger Date - The date the task is triggers.
- Start Date - The date in the Start Date field of the record with which the workflow is associated.
- End Date - The date in the End Date field of the record with which the workflow is associated.
- Custom Date Field - The date in a selected custom field that stores date values.
- Delay(s) - user can specify any delays based on the trigger date:
- If the value 1 is entered, and use selects the time frame of Day with no Trigger Time selected, then the task will trigger 24 hours after the defined Trigger Date.
- If the value 1 is entered, and use selects the time frame of Hour, then the task will trigger 1 hour after the defined Trigger Date.
- If the value -1 entered, and use selects the time frame of Day with no Trigger Time selected, then the task will trigger 24 hours before the defined Trigger Date.
- Trigger Time – allow relevant when a delay is scheduled with the Day option selected. The drop-downs to allow users to specify what time the task should be trigger.
- Business Day Only - toggle on to take into account the normal working week, and statutory holidays when determining dates and delays.
- Holiday Calendar Used - used to select a custom calendar. Holiday calendars can be created and used when you specify which days are Business Days for your community instead of using the predefined Business Days Only option.
- Required Respondents - use to specify how many people must complete an action before the workflow moves to the next task.
- Type Filter - lookup to select L1, L2, or L3 types, which will then act as the type condition
- Status Filter - Lookup to select L1, L2, or L3 statuses, which will then act as the status condition
- Condition - use to specify a logical condition that must be met before a connector triggers the next workflow task. Multiple connectors can be set up with mutually exclusive conditions to have branching logic on the workflow.
4. Complete as appropriate and click Save at the bottom of the screen.
5. Click the New button in the desired row for the task you wish to connect and connect to a proceeding task, the Complete option or to another workflow entirely. Click Save when finished.
6. Go back to the General tab and click Save once all connectors have been defined. When the page refreshes then the connectors should be displayed.
When you create a Workflow with a delay connector, the recipients of the subsequent task are processed at the time the workflow is triggered and NOT at the time it runs. In other words, the tasks on the workflow, such as generating an email, are processed before the delay, not at the end of the delay.
If the recipients change between the time the workflow is initiated and the time it fires (based on the delay) the recipients will not be updated. To ensure recipients are evaluated at the time the workflow task fires, insert a blank task after the delay connector (i.e. an Acknowledgement workflow with no recipients), then flow into a new Workflow Task with the desired recipients.
Example scenario:
- A workflow is configured to wait 5 days and then mail all contacts attached to the Level 1 with role Reviewer.
- That workflow is triggered against a specific Level 1 record which has three contacts in the contacts section with the role Reviewer.
- After the workflow has been triggered, before the 5 days have gone by, two additional Reviewers are added to the contacts section, and one of the original three is removed.
- If the Acknowledgement task is attached directly after the connector with the delay then the original three contacts will receive the email, even though they are no longer current.
- If there is a blank workflow task following the connector with the delay, which flows into a workflow task configured to email all Level 1 contacts with the role Reviewer, then the four reviewers on the Level 1 record at the time the email is sent, will be emailed, rather than the original three reviewers.
Enable on Object
Enable Workflow on Company/User
Workflows must be enabled against an organization before workflows will run against the organization itself, its sub-branches and the users within the organization and its sub-branches.
If the current User has the Workflows - Attach Workflow to Company System Feature Permission enabled then they will see 2 drop-downs on an organization profile
- Company Workflow - which lists all Workflows with a Workflow Type of Company. Only a single company workflow can be selected per Company
- User Workflow - which lists all Workflows with a Workflow Type of User. Only a single User workflow can be selected per Company
The way the selected Company workflow will execute will depend on the Trigger Type:
- If New is selected the Workflow will only be triggered when a new Company is created.
- If Modified is selected the Workflow will be triggered when a new Company is created, and when an existing Company is modified.
The way the selected User workflow will execute will depend on the Trigger Type:
- If New is selected the Workflow will only be triggered when a new User or Contact is created.
- If Modified is selected the Workflow will be triggered when a new User/Contact is created, and when an existing User/Contact is modified.
Enable Workflow on Company/User Registration Page
This feature enables a Workflow to trigger on a Company/User registration page.
An example use would be sending an email to an employee every time a new company registers so that they can verify the information entered for the company.
Company/User registration Workflows will override other new and modified status-based Workflows. We recommended Workflows triggered from Sign Up pages be On Demand.
Every sign-up page has an Attach Workflow drop-down menu where users can choose the Workflow they want triggered from the sign up page.
Enable Status-Driven Workflow on UTA
Status-driven workflows can be triggered from all levels of a UTA if Workflows have been enabled on the types . To enable workflows for a type do the following:
1. In your desired UTA, click configuration Settings. Click on the level 1 tab, Click on Types. A list of types is displayed.
2. Click the Edit button on the desired Type The template details are displayed.
3. To enable workflows for the Level 1 items, select Yes in the first workflow combo box.
4. To enable workflows for the Level 2 and 3 activities, select Yes in the second workflow combo box.
5. Click Save.
Note: upon creation of new Templates, the Workflow combo boxes default to "Yes." Change these values to "No" in the case that you would like to disable workflows for this template at Level 1 and/or Level 2 and 3.
Enable Workflow on UTA Type
Level 1/2/3 Types can be configured to trigger a unique workflow whenever a new item using this template type is added.
Go to configuration settings, choose the desired tab (level 1/2/3) click the types link, edit the desired type and click on the Template Page tab.
In the Workflow drop-down, select the appropriate workflow and then click Save.
Enable UTA Role / Company Assignment Workflow on UTA
If you wish to trigger a UTA Role Assignment Workflow or a UTA Company Assignment Workflow from a UTA level one record then you must have configured the Level 1 Type settings.
Each Level One Type page has the following 2 options:
- UTA Role Assignment Workflow - use to define one or more UTA Role Assignment Workflows that are triggered by this type .
- UTA Company Assignment Workflow - use to define one or more UTA Company Assignment Workflows that are triggered by this type.
Enable Workflow on File Upload field
To trigger a workflow when a file is uploaded to a Link - Single File or Link - Multiple Files Custom Field scroll down to the File Options section. For Workflow on Upload select the desired workflow and save .
If the file upload Custom Field is located at Level 2 or Level 3, you can select Tracking Activities or Tracking Sub-Activities Workflow Types.
If the file Custom Field is located on a Company or User you can select Company or User Workflow Types. NOTE: The Workflow is only triggered when I file is uploaded, it is not triggered by file deletions.
Enable Workflow on SmartFolder
To trigger a workflow when a file is uploaded into a SmartFolder navigate to the desired SmartFolder.
Click the Folder Settings button (looks like a gear).
For Workflows select the desired work flow (all workflows of the Type File will be displayed) and click save.
Configuration – Advanced
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 this 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
Acknowledgements 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: Message Type - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email.
- Message Template: From Address - Emailaddress sent from. This field accepts variables, so you can either hard-code a value (i.e. donotreply@mycompany.com) or use variable syntax (i.e., 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, but not an instant message.
- Message Template: Attachment File IDs - Attach additional default files when triggered from a Smart Folder. See the Determining the File ID article for instructions.
- 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 against each recipient.
- 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:
- 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. :*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.
- The Owner role is used to reference the user assigned as the Owner of the record.
- 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.
- 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:
-
- 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.
- All Users of this role – The message will be sent to all users in the selected role.
- 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:
- Name - Narrative name for the task.
- Task Type - manually set to Change Status
- 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.
- Change Status To - lists statuses from the selected UTA level. This workflow task will change the status of the object that triggered the workflow to the selected status.
Task Type: Company Association
You can use the Company Association Workflow Task Type to automatically add, remove or update one or more companies to a Level 1 record. They will be assigned to the record with the UTA category defined in the "Roles will be assigned" setting.
Company Association Tasks have the following settings:
- Name - Narrative name for the task.
- Task Type - manually set to Company Association
- 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.
- Use Variables for companies - Allows user to use syntax to reference the company IDs
- Action - Add, update or delete the company association
- Companies - use Lookup to select the Companies that will be added.
- Roles will be Assigned - select the categories that you want the companies to be assigned with. To assign different companies with different categories, you will have to create more than one Company Association task.
Task Type: Create Consumer/Provider Link
Consumer/Provider Link Workflow Task Type creates Consumer/Provider relationships, and is only available to Level 1 and Level 2 workflows.
Consumer/Provider Tasks have the following settings, all of which control how the target record is linked to the record triggering the workflow:
- Name - Narrative name for the task.
- Task Type - manually set to Create Consumer/Provider Link
- 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.
- Connection Type - Select whether the link will be a Consumer or Provider
- Connection Application - Select the UTA being connected
- Connection Level - Choose the connection level (Level One or Level Two)
- Object ID / Variable - Enter the Record ID (or a variable to obtain the Record ID of the object to connect to). It accepts semicolon separated lists.
- Connection Role - Select the Consumer UTA Connection role to be used for the connection
Task Type: Create New Activity
You can use the Create New Activity Workflow Task Type to automatically create and attach one or more Level 2 records to a Level 1 record. This workflow can be driven by a Status change on the Level 1 record. The workflow will also trigger (in this sequence):
1. Auto-assignments
2. Level 2 Formulas
3. Level 2 Workflows
New Activity Tasks have the following settings:
- Name - Narrative name for the task.
- Task Type - manually set to Create New Activity
- 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.
- Activity Scheduling Options - drop-down with 3 options (Disable, Schedule by Date and Amount, Schedule by Number of Activities) that can be used to create multiple instances of the Activity.
- If Schedule by Date and Amount option is selected then following settings are exposed.
- Start Date: Level 1 field used to set the start date of the activity scheduling period
- End Date: Level 1 field used to set the end date of the activity scheduling period
- Schedule Every: frequency of scheduling
- Total Amount: Level 1 field used for the Total Amount to be distributed. The amount specified will be split evenly between each Level 2. If 'N/A' is selected, the Level 2s will be created without an amount.
- Activity Date: Level 2 field used to set the date to be assigned to each record based on the scheduling options."
- Activity Amount: Level 2 field used to store the calculated amount for each record. If 'N/A' is selected, the Level 2s will be created without an amount.
- Activity Index: Level 2 field used to store the index number of each record. If 'N/A' is selected, the Level 2s will be created without an index number."
- If Schedule by Number of Activities option is selected then following settings are exposed.
- Number of Activities: Level 1 field used to set the number of activities to be created
- Activity Index: Level 2 field used to store the index number of each record. If 'N/A' is selected, the Level 2s will be created without an index number."
Days Delay - Number in days of delay before creation of new activity. If left blank, the new activity will be created immediately.
- Create for Users in UTA Role - select the UTA Role of the users that the Peer Activity should be created against.
- Activity Type - This is where you specify which Level 2 Type you wish to create. If you select the Custom Field option then a Custom Field ID field is exposed.
- Custom Field ID - The Create New Activity workflow can be driven by a Custom Field. For example, you could have check boxes at Level 1 corresponding to various Level 2 Types. Selecting each check box would create and attach the relevant Level 2 activity type. You must first create a Custom Field on the Level 1 record which stores the typeid(s) of the Level 2 Types to be created. To create multiple Level 2 records use one of the Select many field types (e.g. Select Many – Check Boxes, Select Many – Scrolling Check Box, Select Many – List Box) and to create a single Level 2 record use the Select One – Combo Box.
- Activity Status - Allows you to define the Status for the newly created Level 2 record(s). Note: If that Level 2 Status has a workflow attached to it the workflow will be triggered at the point of creation of the Level 2 record.
- Reminder Type - You can select whether a Quick Message or reminder email will be sent out to the Owner or contacts attached to the record, or any combination of the above.
- Reminder Days - Sets delay for reminder message being sent.
Task Type: Generate PDF File
Auto generation of a PDF that can be:
- E-mailed to the person(s) designated in the workflow step.
- Stored within a Multiple Files Custom Field.
The PDF generated must be based upon a Web Page View Custom Field. You must specify the Custom Field ID of the Web Page View to be converted in the Web Page Field ID field on the Workflow Task settings.
Multiple PDFs can be created and stored in a single Link - Multiple Files custom field using this workflow task type, by entering the Custom Field IDs of the Web Page View fields, separated by commas.
To store the PDF, specify the field ID of the Link - Multiple Files custom field in the Store to Field ID field on the Workflow Task settings.
The field you are storing too does not need to be on the same object. The syntax @parent.Field Name.id@ allows the workflow to store a level two web page view to the parent record.
Generate PDF File Tasks have the following settings:
- Name - Narrative name for the task.
- Task Type - manually set to Create Consumer/Provider Link
- 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.
- Web Page Field ID - Must contain the Custom Field ID of the Web Page View to be converted into PDF format. To create multiple PDFs, enter the Custom Field IDs of the Web Page View fields in the Web Page Field ID# setting of the Workflow Task, separated by commas.
- Store to Field ID - If PDF file should also be stored to the record, must contain the Custom Field ID of the relevant Link - Multiple Files custom field.
- PDF Render Language - If a language is specified, the language option will be applied to the PDF generated
- Message Template: Message Type - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email.
- Message Template: Message Type - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email.
- Message Template: From Address - Emailaddress sent from. This field accepts variables, so you can either hard-code a value (i.e. donotreply@mycompany.com) or use variable syntax (i.e., 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, but not an instant message.
- Message Template: Attachment File IDs - Attach additional default files when triggered from a Smart Folder. See the Determining the File ID article for instructions.
- 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 against each recipient.
- Routing: Use Variable for Recipients - Allows recipients of the message to be selected using variables. See this article for configuration details.
- Routing: Use UTA Role - When using roles to select recipients, the UTA Role can be used to determine recipients.
- Routing: Role - Used to select recipients by role.
- Routing: Selected Users - If required, specific users can be selected to complete this task. This technique restricts the number of users that the initiator can select.
- Routing: 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: PDF Merge
Will convert Word Merge document to a PDF which can then be:
- E-mailed to the person(s) designated in the workflow step.
- Stored within a Multiple Files Custom Field
The PDF generated must be based upon a Word Merge Custom Field. You must specify the Custom Field ID of the MS Word Merge document to be converted in the MSWord Merge Field ID field on the Workflow Task settings.
To store the PDF, specify the field ID of the Link - Multiple Files custom field in the Store to Field ID field on the Workflow Task settings.
The field you are storing too does not need to be on the same object. The syntax @parent.Field Name.id@ allows the workflow to store a level two web page view to the parent record.
Generate PDF File Tasks have the following settings:
- Name - Narrative name for the task.
- Task Type - manually set to Create Consumer/Provider Link
- 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.
- MSWord Merge Field ID - Must contain the Custom Field ID of the Web Page View to be converted into PDF format. To create multiple PDFs, enter the Custom Field IDs of the Web Page View fields in the Web Page Field ID# setting of the Workflow Task, separated by commas.
- Store to Field ID - If PDF file should also be stored to the record, must contain the Custom Field ID of the relevant Link - Multiple Files custom field.
- PDF Render Language - If a language is specified, the language option will be applied to the PDF generated
- Message Template: Message Type - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email.
- Message Template: Message Type - Type of message – e-mail, instant message, both, or none required with this task. E-mail and instant messages can be created using variables that will create custom messages specific to instances of the workflow. Options are No Message Required (default), Quick Message, Email Only and Quick Message and Email.
- Message Template: From Address - Emailaddress sent from. This field accepts variables, so you can either hard-code a value (i.e. donotreply@mycompany.com) or use variable syntax (i.e., 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, but not an instant message.
- Message Template: Attachment File IDs - Attach additional default files when triggered from a Smart Folder. See the Determining the File ID article for instructions.
- 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 against each recipient.
- Routing: Use Variable for Recipients - Allows recipients of the message to be selected using variables. See this article for configuration details.
- Routing: Use UTA Role - When using roles to select recipients, the UTA Role can be used to determine recipients.
- Routing: Role - Used to select recipients by role.
- Routing: Selected Users - If required, specific users can be selected to complete this task. This technique restricts the number of users that the initiator can select.
- Routing: 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: People Association
You can use the People Association Workflow Task Type to automatically add one or more contacts to a Level 1 record. They will be assigned to the record with the UTA role defined in the "Roles will be assigned" setting.
People Association have the following settings:
- Name - Narrative name for the task.
- Task Type - manually set to People Association
- 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.
- Action: Add, update or delete the people association
- Routing: Use Variable for Recipients - Allows recipients of the message to be selected using variables. This is discussed in greater detail in the Configuration – Advanced section.
- Routing: Use UTA Role - When using roles to select recipients, the UTA Role can be used to determine recipients.
- Routing: Role - Used to control role of user that will be associated.
- Routing: Selected Users - If required, specific users can be selected to be associated
- Roles will be Assigned - select the role(s) that you want the contact(s) to be associated with. To assign different contacts with different roles, you will have to create more than one People Association task.
In the Routing section select a Role currently possessed by the contact(s) you wish to add, whether this is a system role or a UTA role. You can then either select specific contacts or groups that will always be added to the Level 1 when the workflow is triggered, or you can choose Let current user select target user from this role to allow the person that triggers the workflow to select a contact to be added. Note:
- If you are allowing the current user to select target user Suppress Workflow Window must be off (not enabled) otherwise the workflow will not fire.
- If you are allowing the current user to select target user, the Workflow must be triggered by a status, and not by a script.
- Include a description, as the description will be presented to the user when they are asked to select the contact to be assigned.
In order to notify the contact(s) that they have been assigned you can create a subsequent Acknowledgement Workflow Task to e-mail all contacts with the UTA role you selected.
Task Type: Request for Approval / Request for Comment
Both of these Workflow Task Types prompt users to review the work of others, and keep track of outstanding reviews on the Workflow Requests page.
The settings for both of these Workflow Task Types match those used for the Acknowledgment task except for 2 additional settings:
- Respondents - Indicates the number of respondents required for this approval.
- Allow Edit - Allows editing of the attached object.
By default, a Request for Approval or Comment workflow task will move on to the next task (whether approved, rejected, etc.) as soon as the first recipient of the Workflow Task responds. The Respondents field allows a specific number of respondents to be required, which will keep the Request for Comment Task active until that number of respondents has replied. The Routing options field is used as part of the Request for Approval process. Users should enter appropriate options within the Routing Options section(Example: 10=approved;20=reject;30=Revise) and click Save.
These Routing Options will then be available in the Trigger Type drop-down when configuring Connectors. It is suggested that each routing option should have a corresponding task so that the routing option can then be connected to an appropriate task.
You must set the minimum number of respondents on the connector associated with each of the approval options.
- If you have selected three respondents on the Request for Approval Task, and the task should only pass if all three respondents click approve you would set the number of respondents on the Approve connector to be three, and the number of respondents on the Reject connector to be one.
- If you have selected four respondents on the Request for Approval Task, and the task should only pass if three respondents click "Approve," you would set the number of respondents on the Approve connector to be three, and the number of respondents on the Reject connector to be two.
The system checks the connectors once the number of respondents on the task has been met, this behaviour is not configurable. The first connector the system checks will be taken if the requirements are met. You must ensure the Workflow Task is sent to enough people to meet the minimum number of respondents required, if you do not send the task to enough recipients the task would never complete.
Task Type: Select User for Next Task
This task type used to allow the current user to pre-select the user that is responsible for the task that immediately follows this task type.
This is necessary for tasks that will trigger at a later date.
For example, consider a Workflow that is triggered on the status of Escalated which is configured to send a reminder e-mail to a manager if the status has not changed for seven days. If the reminder e-mail workflow task has Let current user select target user from this role as the recipient the Workflow would fail. This is because the e-mail is triggered (seven days later) by the system, and there is no current user.
The settings for this Workflow Task Types match those used for the Acknowledgment task. The only difference if that the Request with the Routing options.
Task Type: Signority Submission
You can use the Signority Submission Workflow Task Type to automatically trigger the Signority signing process via workflow.
Signority Submission Tasks have the following settings:
- Name - Narrative name for the task.
- 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.
- Signority Field - drop-down which lists all Signority enabled WPV fields for the entity the workflow is configured against.
Task Type: Trigger Workflow
You can use the Trigger Workflow tasks to trigger a different workflow.
Trigger Workflow Tasks have the following settings:
- Name - Narrative name for the task.
- 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.
- Trigger Workflow - Select the workflow that should be triggered from this dropdown menu.
- Record id / Variable - this setting should contain the unique record ID for the record against which the selected workflow should be triggered. This record ID can be referenced using variables.
- Examples: If the workflow to be triggered is a User type workflow, you would need to provide a User ID for the contact record against which you would want the workflow to be triggered.
- If the workflow is to be triggered against a series of Level 2s attached to a Level 1 record, you could use List Syntax to define a list of activities meeting certain criteria against which the workflow should be triggered.
Task Type: Update Company Category
Update User Role Workflow Task Types can add or remove categories from SmartSimple organizations.
This task type is only available for "Company" workflows.
Update Company Category Tasks have the following settings:
- Name - Narrative name for the task.
- 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 - options are Add or Remove. This determines whether the task will add or remove categories from the organization upon which the workflow is triggered.
- Categories - select the categories that should be added or removed from the organization's profile.
Task Type: Update Custom Field Value
The Update Custom Field Value workflow task type can be used to write values to custom fields on the object against which the Workflow is triggered.
These values can be hard-coded or they can use variables.
You can also use MySQL syntax to manipulate values using sscalculation.
Update Custom Field Value Tasks have the following settings:
- Name - Narrative name for the task.
- 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.
- Use Field - lists custom fields across all UTAs from the selected UTA level. This workflow task will update the selected field with the value in the "Update To Value" setting.
Note: If the field to be updated has the Read Only toggle enabled in the Formatting section of the field options (or a "read-only" HTML tag or "textreadonly" CSS class) the value will not update.
- Update To Value - This workflow task will use this value to update the field selected in the "Use Field" setting. Variables can be used in the "Update To Value" setting as well as hard-coded values.
Task Type: Update Standard Field Value
The Update Standard Field Value workflow type can be used to write values to standard fields on the object against which the Workflow is triggered.
Standard fields on the level 1, level 2, level 3, companies, contact and transaction can be updated using this method:
Update Standard Field Value Tasks have the following settings:
- Name - Narrative name for the task.
- 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.
- Use Field - lists standard fields from the selected UTA level. This workflow task will update the selected field with the value in the "Update To Value" setting.
- Update To Value - accepts hard-coded values and variables. This workflow task will use this value to update the field selected in the "Use Field" setting.
Note: Some standard fields (such as Type) require the ID, not the type name in order to update correctly.
Task Type: Update User Role
Update User Role Workflow Task Types can add or remove roles from SmartSimple contacts.
This task type is only available for "User" workflows.
Update User Role Tasks have the following settings:
- Name - Narrative name for the task.
- 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 - options are Add or Remove. This determines whether the task will add or remove roles from the contact upon which the workflow is triggered.
- Roles - select the roles that should be added or removed from the contact's profile.
Task Type: Web Service - HTTP Request
This workflow task type is used to consume a web service via a workflow step. The web service will send the HTTP Post request to retrieve information. The response returned by the web service can be stored into a custom field on the object against which the Workflow was triggered.
HTTP Post have the following settings:
- URL - endpoint of the HTTP Post web service
- User Name - username to access post location if needed
- Password - password to access post location if needed
- Parameters - free text field to pass in parameters such as apitoken , alias id, etc. Can include username and password if not specified in the specific fields
- Response Stores To - field on system where response from HTTP post can be stored
Task Type: Web Service – SOAP Message
The Web Service - SOAP Message Workflow Task allows you to post data to another system, outside of SmartSimple. The response returned by the external system can be stored into a custom field on the object against which the Workflow was triggered.
This Task type has the following settings:
- Name - Narrative name for the task.
- 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.
- Message Template: Action - The action to called by the Web Service call (These actions are defined by the external server, and are not part of SmartSimple)
- Message Template: Custom Field ID for Response - The Custom Field ID of an XML custom field on the object that the Workflow was triggered against that the response returned by the external server.
- 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: Endpoint - The URL or IP address of the destination server
- Message Template: Envelope Template - The content of the Web Service message to be sent to the external service. This can contain variables related to the object the workflow is triggered against.
- 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, but not an instant message.
- Message Template: Attachment File IDs - Attach additional default files when triggered from a Smart Folder. See the Determining the File ID article for instructions.
- Message Template: Save as Event - Email will be saved as an event.
If the content from the custom fields being included within the SOAP message contains certain special characters it will disrupt the XML structure, making the message unreadable by the receiving server.
The less than symbol (<) and ampersand (&) are two primary special characters to be concerned about. When including fields that may contain those characters you should use a special wrapper so the receiving system understands that they are data content and not part of the XML structure:
- <![CDATA[ CONTENTS ]]>
For example, an address could contain ampersands, so it should be wrapped as follows:
@firstname@@lastname@<address> </address>
If the response to your Web Service call contains values that you wish to store within a Custom Field on the object against which the Workflow was triggered, you can connect a Update Custom Field Value Workflow Task to be the task following the Web Service - SOAP Message and use the variable syntax to pull the value from the XML Custom Field you selected to store the response to the Web Service call.
For example, if the XML Custom Field that stores the response (custom field ID 155255 in the image above) is called Web Service Response, the variable in the Update Custom Field Value task to pull a node called AssignedIdentifier could be:
@xml.Web Service Response.soap:Body.AssignedIdentifier.nodevalue@
If the response should be saved to a System Variable, the syntax would be:
@system.xml.fieldname.nodename.nodevalue@
Task Type: Web Service - RESTful Request
This workflow task type is used to consume a RESTful web service using GET or POST method.
RESTful Web Service Request using GET Method
POST method is used to send data to a RESTful web service.
GET RESTful Web Service Request have the following settings:
- Endpoint - resource of the web service
- Request Header - additional instructions sent with the request. These might define the type of response required or the authorization details.
- Store Response To Field - Custom field where the response will be stored.
- Store Response to SmartFolder - SmartFolder ID where the response file will be stored.
RESTful Web Service Request using POST Method
POST method is used to send data to a RESTful web service.
POST RESTful Web Service Request have the following settings:
- Endpoint - endpoint of the web service
- Request Body - data sent with the request.
- Request Header - additional instructions sent with the request. These might define the type of response required or the authorization details.
- Store Response To Field - Custom field where the response will be stored.
- Store Response to SmartFolder - SmartFolder ID where the response file will be stored.
Credentials of the RESTful Web Service Request
Credentials of the web service can be added in the Request Header in the format: Authorization=Basic [base64 encoded credentials].
A third party software can be used to convert the username/password to a base64 encoded credentials.
Note that all equal signs within the base64 credentials should be replaced with %3D.
Example:
FROM: Authorization=Basic c3NcUyVzZXI6SzhAtHVuY2g=
TO: Authorization=Basic c3NcUyVzZXI6SzhAtHVuY2g%3D
Parsing JSON response
Variable syntax is available to parse and retrieve values from JSON format data.
Sample 1
FIELD_NAME: {"firstname":"John"} variable syntax: @json.FIELD_NAME.firstname@ result: John
Sample 2
FIELD_NAME: {"primarycontact":{"firstname":"Thomas"}} variable syntax: @json.FIELD_NAME.primarycontact.firstname@ result: Thomas
Sample 3
FIELD_NAME: {"users":[{"firstname":"Marie"},{"firstname":"Eve"}]} variable syntax: @json.FIELD_NAME.users.[# ~firstname~, #]@ result: Marie, Eve
Task Type: Translate Field Value
The Translate Field Value Workflow Task allows you to perform automatic translation of records and field values in the system. It will only apply to those custom fields that have enabled translation services.
This Task type has the following settings:
- Name - Narrative name for the task.
- 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).
- Translate to - set which language or languages to translate to for the custom fields that have enabled translation
If a record has translation enabled and a stored field translation exist, there will be a "Show Translation Values" in the Options menu
When shown, the translated field values will appear directly underneath the existing field value.
If more than one translated language exist, there will be a language drop down appearing at the top of the record.
Importing and Exporting Workflow Tasks
Workflow Tasks can be exported and imported into other Workflows using the Import/Export function on the Edit Workflow page. This feature is particularly useful if you have created workflows for testing on your backup instance and wish to implement the finalized reports in your live system.
The steps to export a workflow task or set of workflow tasks are as follows:
1. Go to the relevant Workflow, click on the Tasks tab and select the checkbox next to the workflow task(s) that you wish to export.
2. Click on the Export button.
3. A pop-up window will appear, containing the details of the tasks you have selected in XML format. Select all of the text in the pop-up window and save it to a text editing program, such as Notepad.
Note that, if multiple tasks are selected, they will be delimited in the XML text block with the tag.
The steps to import a workflow task or set of workflow tasks are as follows:
1. Go to the relevant Workflow, click on the Tasks tab, then click on the Import button.
2. A blank pop-up window will appear. Paste the XML data that you have exported into this window.
3. Confirm your selection by clicking on the Import button at the bottom of the pop-up window.
- The workflow tasks will be imported into the new workflow.
- The Edit Workflow page will refresh to show the newly-added workflow tasks.
Workflow Condition
A logical statement can be added to workflow connectors in the Condition field, enabling you to specify which workflow task will be triggered.
Example Branching Logic can be implemented to send an approval message to Senior Management when the request is over $100,000, while requests under $100,000 will take a different path when the workflow is triggered.
In general the Workflow Condition is used with several different connectors attached to a task. Collectively the conditions on each task should accommodate every possibility.
Note: because the sequence in which the system accesses each connector is not configurable it is important that the conditions are mutually exclusive. For example, if you have 3 connectors for different paths based on a particular value the conditions could be:
- "@Selection@"="Yes"
- "@Selection@"="No"
- "@Selection@"!="Yes" and "@Selection@"!="No"
- The last statement could also be represented as "@Selection@" not in ("Yes","No")
You can also use MySQL syntax to perform calculations within the Condition:
- date_format(now(),"%d")="01"
This condition will be true only on the 1st of the month. This could be used with a Recurring Workflow that loops daily if you wish to send out a summary e-mail on the 1st of every month.
It is recommended that workflows with a loop include an empty task with 2 connectors with 2 separate conditions, one which goes back to the looped task and another which proceeds on to the next task, thus preventing an endless loop.
Note: Other than values that are always numeric, all variables should be enclosed in double quotes.
Workflow Condition Examples
There are two rules that must be followed when adding multiple connectors to a workflow task that incorporate conditional logic statements:
1. Collectively, the conditions on each task must accommodate every possible permutation
Example of Incorrect Configuration:
Three level one types exist in a given application, with typeIDs of 12345, 45678 and 67890.
Two connectors are set up on a workflow task with conditions of:
- "@levelone.typeid@"="12345" and
- "@levelone.typeid@"="45678", respectively
If the workflow is fired against a record associated with typeID 67890, the workflow will never progress to the next task.
Example of Correct Configuration:
Three level one types exist in a given application, with typeIDs of 12345, 45678 and 67890.
Three connectors are set up on a workflow task with conditions of:
- "@levelone.typeid@"="12345",
- "@levelone.typeid@"="45678" and
- "@levelone.typeid@"="67890", respectively
Alternatively, connectors with the following conditions could be set up:
- "@levelone.typeid@"="12345"
- "@levelone.typeid@"!="12345" (not equal to "12345"), and
- "@levelone.typeid@" NOT IN ("12345","45678"), respectively
2. Each condition must be mutually exclusive from every other
Example of Incorrect Configuration:
Three level 2 types exist in a given application, with typeIDs of 12345, 45678 and 67890.
Two level 2 statuses exist in the same application, with statusIDs of 888 and 999.
The system administrator wishes to send emails via workflow if the record is in one of the above statuses. One email should be sent out if the type is 12345 or 45678 and a different email should be sent out if a different type has been used.
Two connectors are set up on a workflow task with conditions of:
- "@level2.typeid@" in ("12345","45678") AND "@level2.statusid@" in ("888","999") and
- "@level2.statusid@" in ("888","999")
The issue here is that both statements evaluate as true if the statuses on the record triggering the workflow have a statusID of 888 or 999.
The workflow process will not "know" which task to connect to. The workflow will progress, but not necessarily to the next intended workflow task. In other words, the wrong email may be sent.
Example of Correct Configuration:
The types and statuses exist as above, and the system administrator wishes to configure the same branching logic.
Two connectors should be set up on a workflow task with the following conditions:
- "@level2.typeid@" in ("12345","45678") AND "@level2.statusid@" in ("888","999") and
- "@level2.typeid@" not in ("12345","45678") AND "@level2.statusid@" in ("888","999")
This configuration satisfies Rule #2, in that the conditions are now mutually exclusive. However, a third connector must be included, with the following condition, which connects to the "Complete" task, in order to satisfy Rule #1 above:
- "@level2.statusid@" not in ("888","999")
With these three connectors configured, the workflow will:
- never not have instructions on whether to trigger the next workflow task (Rule #1), and
- always have clear instructions on which task to trigger given a certain set of conditions (Rule #2).
Using iCalendar to generate Meeting Requests, Tasks and Contact cards
iCalendar is a file format that allows Internet users to send meeting requests, contacts and tasks through email and other digital methods.
SmartSimple workflows support 3 email attachments types (ievent, itodo and icard).
The SmartSimple email engine will look for email contents that have ievent, itodo, and icard objects. The contents of these objects are assembled and added as email attachments.
The email engine will process iCalendar objects using the following syntax:
- "@@ievent"
- "@@itodo"
- "@@icard"
Simple sample iCalendar objects are shown below
ievent Object
Manifests as an ical attachment on the email.
<!--@ssattach(icalendar,vevent)--> @@ievent UID:@owner.email@ ORGANIZER;CN=@company@ DTSTART:TO_UTC(@startdate@ @starttime@) DTEND:TO_UTC(@enddate@ @endtime@) LOCATION:Room 1 SUMMARY: Details to follow DESCRIPTION: @description@ @@ <!--@end-->
instead of UTC you can specify the Time Zone for the DTSTART and DTEND as:
DTSTART;TZID=Australia/Sydney:<!--@sscalculation(DATE_FORMAT("@fullstartdate@","%Y%m%dT%H%i%s"))--> DTEND;TZID=Australia/Sydney:<!--@sscalculation(DATE_FORMAT("@fullenddate@","%Y%m%dT%H%i%s"))-->
itodo Object
<!--@ssattach(icalendar,vtodo)--> @@itodo<br />UID:@owner.email@ ORGANIZER;CN=@company@ DUE:TO_UTC(@startdate@) STATUS:NEEDS-ACTIONLOCATION:Room 1 SUMMARY: Meeting DESCRIPTION: @description@ @@ <!--@end-->
icard Object
<!--@ssattach(icalendar,vcard)--> @@icard<br />FN:@owner.fullname@ ORG:@company@<br />TITLE:@name@ TEL;TYPE=WORK,VOICE:@owner.phone@ TEL;TYPE=HOME,VOICE:(404) 555-1212 ADR;TYPE=WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America LABEL;TYPE=WORK:100 Waters Edge\nBaytown\, LA 30314\nUnited States of America ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America LABEL;TYPE=HOME:42 Plantation St.\nBaytown\, LA 30314\nUnited States of America EMAIL;TYPE=PREF,INTERNET:forrestgump@example.com @@ <!--@end-->
Trigger a Workflow from a Custom Browser Script
Workflows can be triggered based on a value in a custom field on the object using a browser script:
_triggerwf(objectid,workflowid,Entity ID);
The Entity ID should not be included for UTA Level 1 workflows
You must first create the workflow. Once it has been created you need the Workflow ID.
In the browser script you would use triggerwf with the following syntax:
Level 1: _triggerwf('@opportunityid@',workflowid);
Example:
_triggerwf('@opportunityid@',98765);
Level 2: _triggerwf('@eventid@',workflowid,26);
Example:
_triggerwf('@eventid@',98765,26);
(26 is the objecttype for Level 2 activities, and will be the same for all Level 2 workflows)
NOTE: For workflows triggered by a Browser Script within a UTA you should set Trigger When to --Deactivate-- rather than selecting a Status. This ensures that the workflow is only triggered when called by the script, and there is no risk of triggering it when a status changes.
Notes:
- 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 src="js/sstools.js" type="text/javascript"></script>).
Using variables with workflows
Pass parameters when workflow triggers another workflow
If a workflow is triggered from another workflow, you can reference a value from the object that triggers the previous workflow (e.g. if a L3 workflow triggers a L2 workflow, you can reference any value from the L3 object from within the L2 workflow). The syntax is as below:
@triggerobject.FIELDNAME@
This syntax should work when generating an email, and when used in the connectors as a condition.
It should also work when using a Trigger Workflow task, and when a Task Connector is linked directly to the workflow.
Using variable syntax to select recipients for workflow tasks
The recipient of workflows (selected in the Acknowledgement, Request for Comment and Request for Approval task types) can be defined using variable syntax, rather than being limited to the list by role.
The benefits to using this approach is, you can send to multiple roles at the same time, rather than having to configure different tasks for each role.
It also allows you to filter recipients based on a custom field on the contact, or UTA Contact Role Based custom field(s).
To enable this feature, click on the "Use Variable for Recipients" checkbox under the "Routing" header in the workflow task and then use variables to reference the relevant user.
Notes Workflow
The following variables can be used in Notes Workflows:
@notes@ - the body of the note
To reference fields found on the associated Level 1, Level 2, Level 3, contact or organization record:
@parent.fieldname@ or @parent.#fieldID#@
For Notes at Level 2 you can reference fields on Level 1 using:
@parent.parent.fieldname@ or @parent.parent.#fieldID#@ The same syntax can be used to call Level 2 fields for Notes at Level 3
To call Level 1 fields for notes on Level 3:
@parent.parent.parent.fieldname@ or @parent.parent.parent.#fieldid#@
Using the "Variable processed recipients" feature of Workflow Tasks, you can direct a Notes Workflow to the contacts on the record to which the note is attached, using the @parent.owner.userid@ or @parent.[#(?object=contact)~userid~,#]@ syntaxes.
Password Variables
In the upcoming November 2023 release, password variables will be deprecated for improved security. All systems will be required to use the activation link variable (@activationlink@
) to send the user to a page where they can enter their desired password instead.
CC Email Syntax Options
Used with Acknowledgement, Request for Approval and Request for Comment Workflow tasks.
- Scenario One
- To : peter@smartsimple.com
- Cc : susan@smartsimple.com
Result : ONE email will be sent to Peter and CC Susan
- Scenario Two
- To : peter@smartsimple.com
- Cc : (sendasto)susan@smartsimple.com
Result : TWO email will be sent TO Peter and TO Susan
- Scenario Three
- To : peter@smartsimple.com
- Cc : (sendnoto)susan@smartsimple.com
Result : ONE email will be sent TO Susan ONLY
- Scenario Four
- To : peter@smartsimple.com
- Cc : (reply-to)susan@smartsimple.com
Result : ONE email will be sent to Peter and REPLY will default to Susan
Using workflows
Searching or Sorting Workflows
To access the workflows list, click the menu icon in the action bar, followed by the Workflows link in the System Process section.
The following tabs are also displayed:
- Workflows – click this tab to see list of workflows.
- Tasks – click this tab to see a list of tasks for all workflows.
- Outstanding Tasks – click this tab to see a list of outstanding tasks for all workflows.
Each of these tabs has search and sort options, to allow quick and easy location of workflows and tasks. The steps for searching are as follows:
1. Go to the tab that you wish to search against.
2. Click into the search criteria field to select the list view column to search against.
3. Enter in appropriate criteria.
4. Click on the Search button to run the search or click on the X (clear button) to clear the criteria.
5. All matching results will be listed, as well as filter criteria.
The steps for sorting are as follows:
1. Click the column header on the column you wish to sort. First click sorts ascending (going up example 1,2,3).
2. Second click sorts descending (going down example 3,2,1)
3. Third click returns to the default sort order.
Workflow Requests
Workflow Requests are generated by Request for Approval / Request for Comment workflow tasks.
The Workflow Requests page lists:
- outstanding tasks that you need to complete based on SmartSimple workflows,
- tasks that other people need to complete where you are participating in some steps in the workflow, and
- project tasks that you are assigned to complete.
The request will be listed under the Requests to me link. 1. Click the Communications, Workflow Requests link. The Workflow task is displayed.
2. Click the Task type, File link. The Workflow step is displayed with the following fields in the request:
- Task Name – The name of the workflow task.
- Created Date – The date the task was triggered.
- Task Description – The description of the task’s purpose.
- Action – The Routing Options for the request. These options are only visible for Requests For Approval.
- Comments – This box is always visible but can only be used with Request For Comments.
- Object Area – The bottom portion of the request screen where the attached object is displayed.
3. Select Approve to approve the file and click the Submit button. The Approve option requires us to select a user to send the approval message to so the Select User list is displayed. 4. Select the user to receive the approval message and click the Submit button. The step is complete and the Workflow is also complete. The workflow complete message is displayed.
5. Click the Communications, Workflow Requests button. The workflow is removed from the Request to Me window.
Workflow Diagram
Clicking on the Diagram button in the action bar of the Edit Workflow page will bring up a graphical representation of the Workflow Tasks that have been configured on that workflow.
System Administrators use this feature to document and troubleshoot complicated workflow configurations.
Workflow Pending Queue
On the Edit Workflow page, the Pending Queue tab shows all instances where the workflow in question has been triggered, and the task has been scheduled for future completion.
The last column shows the "Objectid" of the entity against which the workflow was fired.
Workflow History
In the Edit Workflow page, the history of an individual Workflow can also be accessed by the History tab.
This page shows all instances of the workflow being triggered. The last column shows the "Objectid" of the entity against which the workflow was fired.
Workflows Triggered by a Given Entity
The Workflow History tab is made visible for a given Universal Tracking Application™ by enabling the relevant Manager Permission. Go to UTA – Settings – Security, click on Feature and Function Permissions.
The Enable Workflow History setting is found on the Feature tab.
Enabling the Manager Permission will enable the Workflow History section from the Option drop-down on Level 1, Level 2 and Level 3 records.
Clicking on the Workflow History tab will display the history of workflows triggered on the entity.
Configure System to display Workflow options
The user creating the workflow must have permission to set company workflow trigger.
Go to Global settings – Security – System Feature Permissions , go to the Action Permission tab and scroll down to the Workflows - Attach Workflow to Company setting.
There should be a Lookup button to select the roles that should be allowed to attach the workflow.
Once the role is selected, the options will display in the edit company view.
Reasons workflow messages aren't arriving
Some common reasons for workflow messages not arriving are:
- Your browser has a pop-up blocker.
- Workflows are not enabled.
- There is another workflow triggering on the same status.
- Your workflow is not configured properly.
Solution to:
- Allow SmartSimple as a trusted site or check your browser for any tool bars that may be blocking the pop-ups or set the workflows to suppress pop-ups.
- Typically in UTAs, you will need to edit the template and enable workflows for the level at which they are being triggered.
- You will need to review the other workflows to make sure that two workflows are not triggering on the same status.
- You will need to review the configuration of the workflows to ensure that the connectors are set appropriately as well as the individual tasks that are to take place.
Determining the Workflow ID
Once a workflow has been created, the workflow ID (wfid) can be found as follows:
- Click on the hyperlink for Global Settings
- Go System tab, click on the hyperlink for Workflows
- The workflow ID is visible as the right-most column on the list of workflows.
Alternatively:
- Click on the Edit workflow icon for the Workflow you want, and the Workflow ID will be at the top of the page: