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.
::* '''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.
:* '''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:
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.
:*::* '''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}}
:* '''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.
::::* 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.
:*::* '''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}}
:* '''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: 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.
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.
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 [[Workflows_Overview#Workflow_Requests|Workflow Requests]] page.
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.
:* '''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.
* '''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 [[APIs|web service]] via a workflow step. The web service will send the HTTP Post request to retrieve informationin the form of a response. 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|800px]]
** 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.
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:
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.
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"
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.
Two connectors are set up on a workflow task with conditions of:
*
*::::::* ''"@typeid@"="12345"'' and
*::::::* ''"@typeid@"="45678"'', respectively
*
*
If the workflow is fired against a record associated with typeID 67890, the workflow will never progress to the next task.
Three connectors are set up on a workflow task with conditions of:
*
*::::::* ''"@typeid@"="12345"'',
*::::::* ''"@typeid@"="45678"'' and
*::::::* ''"@typeid@"="67890"'', respectively
*
*
Alternatively, connectors with the following conditions could be set up:
*
*::::::* ''"@typeid@"="12345"''
*::::::* ''"@typeid@"!="12345"'' (not equal to "12345"), and
*::::::* ''"@typeid@" NOT IN ("12345","45678")'', respectively
*
*
'''2. Each condition must be mutually exclusive from every other'''
Two connectors are set up on a workflow task with conditions of:
*
*::::::* ''"@typeid@" in ("12345","45678") AND "@statusid@" in ("888","999")'' and
*::::::* ''"@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.
Two connectors should be set up on a workflow task with the following conditions:
*
*::::::* ''"@typeid@" in ("12345","45678") AND "@statusid@" in ("888","999")'' and
*::::::* ''"@typeid@" not in ("12345","45678") AND "@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:
*
*::::::* ''"@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.
The email engine will process iCalendar objects using the following syntax:
*
*:::::* "@@ievent"
*:::::* "@@itodo"
*:::::* "@@icard"
*
*
Simple sample iCalendar objects are shown below
'''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)
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===
'''Task Type: User Activation'''
*
*:::::* @password@ - Checks if the user is activated
*:::::** if the [[User|user]] is not activated then generates a new random [[Password|password]] (i.e. Your password is: ABCDEFGH)
*:::::*** if the [[User|user]] is activated then sends the text "existing password" (see '''Notes''' below)
Because of the complex nature of the password creation and validation process it is not possible to automatically translate '''existing password''' into other languages. If you are sending an e-mail containing the @checkactivatedpassword@ variable you can use the following syntax to display text other than "existing password" if required.
*
*
For example, for an existing user the following will show the French translation of '''existing password''' which is '''Mot de passe courant'''. If the user has not been previously activated the syntax will provide a randomly generated password as normal:
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.
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.
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
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|workflow]] task.
*:::::*** '''Created Date''' – The date the task was triggered.
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.
*
*
5. Click the '''Communications''', '''Workflow Requests''' button. The [[Workflow|workflow]] is removed from the '''Request to Me''' window.
Some common reasons for workflow messages not arriving are:
*
*:::::**# Your [[Browser|browser]] has a pop-up blocker.
*:::::**# [[Workflow|Workflows]] are not enabled.
*:::::**# 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==
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''
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]]