Overview
A Workflow constitutes a series of repeatable steps designed to automate and enhance your business processes within the system (for instance, generating review forms and notifying reviewers via email).
Workflows are established through the Global Settings tab and can be linked to any entity within the system, including UTA objects, folders, organizations, or users.
Workflows are composed of two fundamental elements:
- Tasks: delineate the actions required within the workflow—each task signifies a distinct step in the process. Specific roles or individual users are assigned to each task, and these individuals will receive automatic notifications when they are required to execute the action defined by that task. These actions are typically utilized to accept, reject, or request a revision on the associated object, file, user, or specific application-related information.
- Connectors: serve to link tasks together and facilitate branching logic based on user responses to the task or pre-defined conditions.
Configuration – Essentials
Create Workflow
Initially, create and configure the workflow.
Subsequently, add tasks and connectors.
The tasks available are contingent upon the Workflow Type; therefore, please specify the desired type prior to adding tasks.
1. Click the System Administration (gear icon menu) and select the Workflows link.
2. The Workflows page will be displayed, which includes the following tabs:
3. Workflows – click this tab to view a list of workflows. The list comprises the name, description, workflow type, Trigger, System Call Identifier, and date last updated. In the upper right corner of the action bar is a Category dropdown. The workflows displayed under the Workflows tab are determined by the selected Workflow Category. Utilize the "All Workflows" option to view all workflows.
- Tasks – click this tab to see a list of tasks for all workflows.
- Outstanding Tasks – click this tab to view a list of outstanding tasks for all workflows. This is where the workflow in question has been initiated, and the task has been scheduled for a future completion date.
4. Click the New Workflow button to access the New Workflow page.
5. Fill in the Name field with an appropriate descriptive name for the workflow, and the Description field with a suitable narrative description for the workflow.
6. You will then attempt to connect the workflow to the object.
The table below presents a list of available Workflow Types, the objects that each type is enabled on, and the Trigger When options along with 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. Establish the Trigger When option. This determines the circumstances under which a new instance of the workflow should be initiated. The available options are contingent upon the Workflow Type (refer to the Workflow Types table above). The 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 altered.
- The On Demand option will trigger the workflow when invoked by a System Call or a browser script.
- The Status Change option, applicable to the Company and User Workflow Types, will reveal the statuses for the relevant company/user. The workflow will be triggered when the status of the company/user is modified and saved.
- The Trigger When option will present different options based on the Workflow Type:
- UTA specific statuses when the Workflow Type is UTA specific (e.g., Universal Tracking Application, Tracking Activities, Tracking Sub-Activities). The workflow will be triggered 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 the Workflow Type is User/Org assignment specific (e.g., UTA Role Assignment, UTA Company Assignment). The workflow will trigger when a user/company is added to the object with the specified role.
8. Set the Termination Trigger options if applicable. This option is available for certain workflow types, including the UTA specific workflow types (refer to the Workflow Types table above). If the entity changes to the specified status after the workflow has been triggered, any Pending tasks will be removed (not executed).
9. Click the Save button. The workflow is saved, and the Workflow ID is now populated. The following options will appear in the action bar near the top of the screen:
- Back/Recently Visited – click this button to return to previously accessed pages.
- 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 view a diagrammatic representation of the workflow.
10. The following tabs will also now be displayed:
- Task – click this tab to view and edit workflow tasks. Tasks are the steps within the workflow.
- Pending Queue – click this tab to view 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 view a list of completed tasks for this workflow.
Creation of Workflow Tasks
Upon the establishment of a workflow, it is possible to incorporate tasks, each of which automates and optimizes specific actions or steps within your business processes.
The procedure for adding a task to a workflow is outlined as follows:
1. Access the desired workflow and select the Tasks tab.
2. Click the New Task button located in the action bar.
3. The Task details will be presented, with an initial Task Number set to 100, increasing by increments of 100 for each subsequent workflow task.
4. Modify the Task Name and then select the Task Type. The Task Type determines the processing method for the task. The available Task Types include:
- Acknowledgement - utilized to generate a message, such as an email, to appropriate users.
- Request for Approval - utilized to generate action requirements that necessitate approval. These action requirements will be displayed in the Workflow Requests section.
- Request for Comment - utilized to generate comment requirements, which will be shown in the Workflow Requests section.
- Change Status - utilized to modify the status of the object that triggered the workflow. This task type does not involve messaging.
- Create Consumer/Provider Link - utilized to establish a Consumer/Provider relationship without the need for custom scripting.
- Create New Activity - utilized in Universal Tracking Application workflows to create Level 2 records.
- Update Custom Field Value - utilized to update a custom field to a specified value.
- Update Standard Field Value - utilized to update a standard field to a specified value.
- Select User for Next Task - utilized to pre-select the user responsible for a task that immediately follows this task type. This is essential for tasks that will trigger at a later date.
- User Activation - utilized to activate a contact as a user and provide the necessary credentials for login. This is advantageous for project-based work when activation of a user is required solely for a project.
- Generate PDF File - utilized for the automatic generation of a PDF that will be emailed to the designated person(s) in the workflow step.
- People Association - utilized to add either pre-defined or user-selected contact(s) to the contacts section of a Level 1 record with a specified role.
- Company Association - utilized to add either pre-defined or user-selected companies to the Account section of a Level 1 record with a specified category.
- Activate/Deactivate User - utilized to set or remove the access type of a user.
- Update User Role - utilized to add or remove selected roles from a user.
- Update Company Category - utilized to add or remove selected categories from a company.
- Web Service - HTTP Request - utilized to send an HTTP Post web service request via a workflow step to retrieve a web service response.
- Web Service - SOAP Message - utilized to transmit information to a system external to SmartSimple as a Web Services call.
- Web Service - RESTful Request - utilized to consume a Restful web service request via a workflow step to obtain/post a web service response.
- Trigger Workflow - utilized to initiate a different workflow against a specified object.
- Signority Submission - utilized to initiate the Signority signing process.
- Retrieve Latitude / Longitude - utilized to obtain Latitude and Longitude values without the necessity of saving the object itself.
- Translate Field Values - utilized to automatically translate records and field values within the system.
The available Task Types may vary based on the selected Workflow Type. The following matrix illustrates the availability of Workflow Task Types for various Workflow Types.
The following matrix outlines which Workflow Task Types are accessible for which Workflow Types.
5. Please assign an appropriate Name to the Task.
6. If necessary, complete the Description field.
7. Click the Save button located at the bottom of the page. Please note that there are several additional settings specific to the selected Task Type, which are detailed in the respective entries for each Task Type within the Configuring - Advanced section.
8. Click the Back button to return to the Edit Workflow screen.
9. The Task will be listed; however, without Connectors, the task will not be executed when the workflow is triggered.
Create Workflow Connectors
All tasks must be connected to other tasks or to the start and complete stages prior to execution.
The connectors determine when the subsequent steps will execute and specify what those steps are, based on defined conditions.
1. Navigate to the desired workflow and select the Task tab.
2. In 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, or it could also be another preceding Task.
3. The New Connector modal window will appear with several options.
The available options include:
- Name - enter a descriptive name for the connector.
- Trigger Type - select either Default or Expired options.
- Connect To - select the item to connect. All tasks within the workflow will be displayed, along with the Start and Complete options. Additionally, there will be a list of other workflows available in the system.
-
Trigger Date - define a trigger date. The connector will activate when the date matches the selected date.
- Trigger Date - the date when the task is triggered.
- Start Date - the date specified in the Start Date field of the record associated with the workflow.
- End Date - the date specified in the End Date field of the record associated with the workflow.
- Custom Date Field - the date in a selected custom field that stores date values.
-
Delay(s) - the user can specify any delays based on the trigger date:
- If the value 1 is entered, and the user selects the time frame of Day without a Trigger Time specified, the task will trigger 24 hours after the defined Trigger Date.
- If the value 1 is entered, and the user selects the time frame of Hour, the task will trigger 1 hour after the defined Trigger Date.
- If the value -1 is entered, and the user selects the time frame of Day without a Trigger Time specified, the task will trigger 24 hours before the defined Trigger Date.
- Trigger Time – this option is relevant when a delay is scheduled with the Day option selected. The drop-down menus allow users to specify the exact time the task should be triggered.
- Business Day Only - toggle this option to account for the standard workweek and statutory holidays when determining dates and delays.
- Holiday Calendar Used - select a custom calendar. Holiday calendars can be created to specify which days are considered Business Days for your community, as opposed to using the predefined Business Days Only option.
- Required Respondents - specify the number of individuals who must complete an action before the workflow advances to the next task.
- Type Filter - lookup to select L1, L2, or L3 types, which will then serve as the type condition.
- Status Filter - lookup to select L1, L2, or L3 statuses, which will then serve as the status condition.
- Condition - specify a logical condition that must be fulfilled before a connector triggers the next workflow task. Multiple connectors can be established with mutually exclusive conditions to facilitate branching logic in the workflow.
4. Complete the necessary fields 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, linking it to a preceding task, the Complete option, or another workflow entirely. Click Save upon completion.
6. Navigate back to the General tab and click Save once all connectors have been defined. After the page refreshes, 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 is executed. In other words, the tasks within the workflow, such as generating an email, are processed prior to the delay, not after it.
If the recipients change between the initiation of the workflow and the time it is executed (based on the delay), the recipients will not be updated. To ensure that recipients are evaluated at the time the workflow task is executed, insert a blank task after the delay connector (for instance, an Acknowledgement workflow with no recipients), followed by a new Workflow Task designated for the intended recipients.
Example scenario:
- A workflow is configured to wait 5 days and subsequently email all contacts associated with Level 1 who hold the role of Reviewer.
- This workflow is triggered against a specific Level 1 record that contains three contacts in the contacts section with the role of Reviewer.
- After the workflow has been initiated, but before the 5 days have elapsed, two additional Reviewers are added to the contacts section, and one of the original three is removed.
- If the Acknowledgement task is directly attached after the connector with the delay, the original three contacts will receive the email, even though they are no longer current.
- If a blank workflow task follows the connector with the delay, which then flows into a workflow task configured to email all Level 1 contacts with the role of Reviewer, the four reviewers on the Level 1 record at the time the email is sent will receive the email, rather than the original three reviewers.
Enable on Object
Enable Workflow on Company/User
Workflows must be activated for an organization prior to their execution against the organization itself, its sub-branches, and the users associated with the organization and its sub-branches.
If the current user possesses the "Workflows - Attach Workflow to Company" system feature permission, they will have access to two drop-down menus on an organization profile.
- Company Workflow - This option lists all workflows categorized under the "Company" workflow type. Only one company workflow may be selected per company.
- User Workflow - This option lists all workflows categorized under the "User" workflow type. Only one user workflow may be selected per company.
The execution of the selected company workflow will depend on the trigger type:
- If New is selected, the workflow will be triggered solely when a new company is established.
- If Modified is selected, the workflow will be triggered both when a new company is created and when an existing company is modified.
The execution of the selected user workflow will depend on the trigger type:
- If New is selected, the workflow will be triggered solely when a new user or contact is created.
- If Modified is selected, the workflow will be triggered both when a new user/contact is created and when an existing user/contact is modified.
Enable Workflow on Company/User Registration Page
This feature allows a workflow to be triggered on a company/user registration page.
An illustrative use case would be to send an email notification to an employee each time a new company registers, enabling them to verify the information provided for the company.
Company/user registration workflows will take precedence over other workflows based on new and modified statuses. It is recommended that workflows triggered from sign-up pages be set to "On Demand."
Each sign-up page includes an "Attach Workflow" drop-down menu, allowing users to select the workflow they wish to trigger from the sign-up page.
Enable Status-Driven Workflow on UTA
Status-driven workflows can be triggered at all levels of a UTA, provided that workflows have been enabled for the corresponding types. To enable workflows for a type, please follow these steps:
1. In your desired UTA, select Configuration Settings. Click on the level 1 tab, and then select Types. A list of types will be displayed.
2. Click the Edit (pencil icon) button next to the desired type to display the template details.
3. To enable workflows for the Level 1 items, toggle Enable Applications Workflow to the "on" position.
4. To enable workflows for Level 2 and 3 activities, toggle Enable Activities Workflow to the "on" position.
5. Click Save.
Note: Upon the creation of new templates, both Enable Applications Workflow and Enable Activities Workflow are enabled by default.
Enable Workflow on UTA Type
Level 1/2/3 types can be configured to trigger a unique workflow whenever a new item utilizing this template type is added.
Navigate to configuration settings, select the desired tab (level 1/2/3), click the types link, edit the desired type, and then select the Template Page tab.
In the Workflow drop-down menu, select the appropriate workflow and then click Save.
Enable UTA Role / Company Assignment Workflow on UTA
To trigger a UTA Contact Assignment Workflow or a UTA Company Assignment Workflow from a UTA level 1 record, it is necessary to have configured the Level 1 Type settings.
Each Level 1 Type page includes the following two options in the Process tab:
- Available Contact Assignment Workflow - This option is used to define one or more UTA Role Assignment Workflows that are triggered by this type.
- Available Company Assignment Workflow - This option is used 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 upon the upload of a file 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 may select Tracking Activities or Tracking Sub-Activities workflow types.
If the file custom field is located on a Company or User, you may select Company or User workflow types. NOTE: The workflow is only triggered when a 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 (represented by a gear icon).
For Workflows, select the desired workflow (all workflows of the File type will be displayed) and click save.
Configuration – Advanced
Suppress Workflow Window
When executing a workflow step, users are typically presented with a Workflow window that allows them to select a value, which will determine the subsequent task to be performed.
This feature is essential for workflows that necessitate user intervention; however, it is not necessary for workflows designed solely to send an instant message or email to one or more users.
If a user has a pop-up blocker enabled in their browser, the Workflow Window will be suppressed, preventing the workflow from being triggered. It is imperative to ensure that users who engage with workflows requiring their input have enabled pop-up window display for your instance of SmartSimple.
To suppress the display of this window, you may adjust the workflow settings as follows:
1. Navigate to the menu icon and select Workflows under System Process.
2. Click the edit button for the desired Workflow.
3. Enable the Suppress option for the Workflow Window.
4. Click Save. NOTE: If user intervention is not required in your workflows, it is advisable to suppress the Workflow window to ensure the workflows execute smoothly, as you may have limited control over user browser settings.
Recurring Workflow
A recurring workflow is one that is not triggered by any specific object.
While the ability to utilize variables in recurring workflows is limited, they are advantageous for tasks that occur at regular intervals, such as a weekly reminder email.
When employing a recurring workflow, tasks must be interconnected in a loop, and there must be at least one connector with a delay. Otherwise, the workflow will result in an infinite loop.
If the workflow is configured to loop indefinitely (without a delay), the system will automatically halt the processing of any such workflows after five loops.
Once the Workflow has been configured, the Activate button may be utilized to initiate the workflow. After activation, a Deactivate button will become visible, allowing the workflow to be stopped.
If you wish for a recurring workflow to send an email on specific days of the month, you can use the following conditions:
date_format(now(),"%d")="01"
This condition will evaluate to true only on the 1st of the month.
date_format(now(),"%d") in ("01","15")
This condition will evaluate to 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 branching based on the date, as well as an empty task to manage the one-day delay, ensuring the workflow loops daily and connects to the task that sends the email on the specified day(s).
The Workflow Connectors associated with the "Empty Task for Branching" should have the following Conditions:
Task Type Specific Configuration
Each available task type represents a distinct action and consequently has different configuration requirements.
This section addresses the specific configuration requirements for the various task types.
Task Type: Acknowledgement
Acknowledgements utilize this Task to send messages to users within SmartSimple.
Acknowledgement Tasks possess the following settings:
- Name - the name assigned to the task.
- Task Type - manually designated as Acknowledgment
- Task Number - a system-generated number that determines the order of presentation of the task within the workflow. This number can be modified to reposition the step; however, the order of execution is dictated by the Connectors.
- Description - an optional description of the task.
- Expire After - the intended duration of the workflow.
- Message Template: Message Type - specifies the type of message – e-mail, instant message, both, or none required for this task. E-mails and instant messages can be generated using variables to create customized messages specific to instances of the workflow. Options include No Message Required (default), Quick Message, Email Only, and Quick Message and Email.
- Message Template: From Address - Email - the email address from which the message is sent. This field accepts variables, allowing for either hard-coded values (e.g., donotreply@mycompany.com) or variable syntax (e.g., on a Level 1 Workflow, @owner.email@).
- Message Template: CC Email Address - CC recipient addresses (multiple addresses should be separated by commas). Additional Email Syntax options may be utilized within this field.
- Message Template: Email Body Format - options include Plain Text or HTML.
-
Message Template: Email Message Header - the email header can be modified using the following syntax, with the arguments separated by semicolons:
- 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 - the narrative subject line of the message.
- Message Template: Body - the 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 included. If the object is a file, the file will be attached to an email message, but not to an instant message.
- Message Template: Attachment File IDs - attaches additional default files when triggered from a Smart Folder. Refer to the Determining the File ID article for instructions.
- Message Template: Save as Event - will generate an email activity. If it is a Level 1/Level 2 workflow, where the UTA Level 2/Level 3 Email Activity settings have been configured, it will be saved as a Level 2/Level 3 event under the Level 1/Level 2 object. Otherwise, it will be saved as a user event against each recipient.
- Routing: Use Variable for Recipients - allows the selection of message recipients using variables.
- Routing: Use UTA Role - when utilizing roles to select recipients, the UTA Role can be employed to determine recipients. This option appears only if the 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 utilized in a workflow:
- The Originator role references the name of the individual who initiated the workflow. This could be the person who submitted an expense claim, added a file to a workflow, or introduced a new employee. :*The Initiator role references the name of the individual who initiated the current task within the workflow. This pertains to the individual who approved the current step of an expense claim or reviewed a document uploaded into a workflow-enabled Smart Folder.
- The Owner role references the user assigned as the Owner of the record.
- The People role references the user assigned as the Person on the Level One. This role is only available for Level One specific tasks.
- The Assigned Users role is utilized to send messages to users listed in the Assigned field of a Level Two activity. This role is exclusive to Level Two workflows.
Once the role has been selected, the following recipient options are available:
- Allow the current user to select the 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 will be 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 utilized, such as Approved, Rejected, or Revise; however, additional and alternative sets of options can be created to reflect more complex business processes.
Task Type: Activate/Deactivate User
This Workflow task is utilized 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 instance, to inform activated users of their password, you can configure an Acknowledgement type workflow task to follow this step in the workflow.
Activate/Deactivate User Tasks possess 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 order of presentation of the task within the workflow. This number can be modified to reposition the step.
- Description - a detailed description of the task (optional).
- Expire After - the intended duration of the workflow.
- Option - sets the access type for the user against which the workflow is triggered. Options include:
- Activate (Administrative or Portal Interface) - grants access to the system to the extent permitted by the user's membership in specific roles.
- Activate (User Centric or Applicant Interface) – provides access solely through the User Centric Interface and Applicant Tracking “career sites.”
- Activate (Web Service Client Access) - account type utilized to access data in a SmartSimple instance via an API (Application Programming Interface), without direct access to the SmartSimple interface.
- Deactivate (No Access) – the user is prohibited from logging into the system.
Task Type: Change Status
Change Status Workflow Task Types modify the status of the object that triggered the workflow. There is no messaging associated with this task type.
Change Status Tasks possess 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 order of presentation of the task within the workflow. This number can be modified to reposition the step.
- Description - a detailed description of the task (optional).
- Expire After - the 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
The Company Association Workflow Task Type can be employed to automatically add, remove, or update one or more companies to a Level 1 record. These will be assigned to the record with the UTA category defined in the "Roles will be assigned" setting.
Company Association Tasks possess 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 order of presentation of the task within the workflow. This number can be modified to reposition the step.
- Description - a detailed description of the task (optional).
- Expire After - the intended duration of the workflow.
- Use Variables for Companies - allows the user to utilize syntax to reference the company IDs.
- Action - specifies whether to add, update, or delete the company association.
- Companies - utilize Lookup to select the companies that will be added.
- Roles will be Assigned - select the categories to which the companies will be assigned. To assign different companies with different categories, multiple Company Association tasks must be created.
Task Type: Create Consumer/Provider Link
The Consumer/Provider Link Workflow Task Type establishes Consumer/Provider relationships and is exclusively available to Level 1 and Level 2 workflows.
Consumer/Provider Tasks possess the following settings, all of which govern how the target record is linked to the record that triggers 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 order of presentation of the task within the workflow. This number can be modified to reposition the step.
- Description - a detailed description of the task (optional).
- Expire After - the 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). This field accepts semicolon-separated lists.
- Connection Role - select the Consumer UTA Connection role to be utilized for the connection.
Task Type: Create New Activity
The Create New Activity Workflow Task Type enables the automatic creation and attachment of one or more Level 2 records to a Level 1 record. This workflow can be initiated by a status change on the Level 1 record. The workflow will subsequently trigger the following actions:
1. Auto-assignments
2. Level 2 Formulas
3. Level 2 Workflows
New Activity Tasks are characterized by the following settings:
- Name - A descriptive name for the task.
- Task Type - Set manually to Create New Activity.
- Task Number - A system-generated number that dictates the order of the task presentation within the workflow. This number may be modified to adjust the display position of the step.
- Description - A detailed description of the task (optional).
- Expire After - The intended duration of the workflow.
- Activity Scheduling Options - A drop-down menu containing three options (Disable, Schedule by Date and Amount, Schedule by Number of Activities) that facilitate the creation of multiple instances of the Activity.
If the Schedule by Date and Amount option is selected, the following settings will be available.
- Start Date: A Level 1 field utilized to establish the start date of the activity scheduling period.
- End Date: A Level 1 field utilized to establish the end date of the activity scheduling period.
- Schedule Every: The frequency of scheduling.
- Total Amount: A Level 1 field designated for the total amount to be allocated. The specified amount will be evenly distributed among each Level 2. If 'N/A' is selected, the Level 2s will be created without an assigned amount.
- Activity Date: A Level 2 field utilized to assign the date to each record based on the scheduling options.
- Activity Amount: A Level 2 field designated to store the calculated amount for each record. If 'N/A' is selected, the Level 2s will be created without an assigned amount.
- Activity Index: A Level 2 field utilized to store the index number of each record. If 'N/A' is selected, the Level 2s will be created without an index number.
If the Schedule by Number of Activities option is selected, the following settings will be available.
- Number of Activities: A Level 1 field used to specify the number of activities to be created.
- Activity Index: A Level 2 field utilized 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 - A numerical value indicating the number of days to delay the creation of a new activity. If left unfilled, the new activity will be created immediately.
- Create for Users in UTA Role - Select the UTA Role of users for whom the Peer Activity should be created.
- Activity Type - This setting specifies which Level 2 Type you wish to create. If the Custom Field option is selected, a Custom Field ID field will be displayed.
- Custom Field ID - The Create New Activity workflow can be influenced by a Custom Field. For instance, check boxes at Level 1 can correspond to various Level 2 Types. Selecting each check box will create and attach the relevant Level 2 activity type. A Custom Field must first be created on the Level 1 record to store the typeid(s) of the Level 2 Types to be generated. To create multiple Level 2 records, utilize 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 - This setting allows you to define the Status for the newly created Level 2 record(s). Note: If the Level 2 Status has an associated workflow, it will be triggered upon the creation of the Level 2 record.
- Reminder Type - You can select whether a Quick Message or reminder email will be dispatched to the Owner or contacts associated with the record, or any combination thereof.
- Reminder Days - This setting establishes the delay before the reminder message is sent.
Task Type: Generate PDF File
This task facilitates the automatic generation of a PDF that can be:
- E-mailed to the designated individual(s) in the workflow step.
- Stored within a Multiple Files Custom Field.
The generated PDF must be based on a Web Page View Custom Field. The Custom Field ID of the Web Page View to be converted must be specified in the Web Page Field ID field within the Workflow Task settings.
Multiple PDFs can be generated 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 within the Workflow Task settings.
The field designated for storage does not need to reside on the same object. The syntax @parent.Field Name.id@ allows the workflow to store a Level 2 web page view to the parent record.
Generate PDF File Tasks are characterized by the following settings:
- Name - A descriptive name for the task.
- Task Type - Set manually to Create Consumer/Provider Link.
- Task Number - A system-generated number that dictates the order of the task presentation within the workflow. This number may be modified to adjust the display position of the step.
- Description - A detailed description of the task (optional).
- Expire After - The 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 the PDF file is to be stored with the record, this must contain the Custom Field ID of the relevant Link - Multiple Files custom field.
- PDF Render Language - If a language is specified, this option will be applied to the generated PDF.
- 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 generate custom messages specific to instances of the workflow. Options include 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 generate custom messages specific to instances of the workflow. Options include No Message Required (default), Quick Message, Email Only, and Quick Message and Email.
- Message Template: From Address - Email - The address from which the email is sent. This field accepts variables, allowing for either a hard-coded value (i.e., donotreply@mycompany.com) or variable syntax (i.e., on a Level 1 Workflow, @owner.email@).
- Message Template: CC Email Address - CC recipients' addresses. (Separate multiple addresses with commas). Additional Email Syntax options can be utilized within this field.
- Message Template: Email Body Format - Options include Plain Text or HTML.
-
Message Template: Email Message Header - The email header can be modified using the following syntax, with arguments separated by semicolons:
- 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 - The narrative subject line of the message.
- Message Template: Body - The 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 included. If the object is a file, it will be attached to an e-mail message, but not to an instant message.
- Message Template: Attachment File IDs - Attach additional default files when triggered from a Smart Folder. Refer to the Determining the File ID article for instructions.
- Message Template: Save as Event - This will create an e-mail activity. If it’s a Level 1/Level 2 workflow, where the UTA Level 2/Level 3 Email Activity settings have been configured, it will be saved as a Level 2/Level 3 event under the Level 1/Level 2 object. Otherwise, it will be saved as a user event against each recipient.
- Routing: Use Variable for Recipients - This option allows for the selection of message recipients using variables. Refer to this article for configuration details.
- Routing: Use UTA Role - When utilizing roles to select recipients, the UTA Role can be employed to determine the recipients.
- Routing: Role - This setting is used to select recipients by role.
- Routing: Selected Users - If necessary, specific users can be selected to complete this task. This method restricts the number of users that the initiator can choose.
- Routing: Routing Options - This setting specifies the types of options available for processing this workflow step. In many cases, the default options such as Approved, Rejected, or Revise can be utilized, but additional and alternative sets of options can be created to reflect more complex business processes.
Task Type: PDF Merge
This process involves converting a Word Merge document into a PDF format, which can subsequently be:
- E-mailed to the designated individuals in the workflow step.
- Stored within a Multiple Files Custom Field.
The generated PDF must be based on a Word Merge Custom Field. It is essential to specify the Custom Field ID of the MS Word Merge document to be converted in the MSWord Merge Field ID field within the Workflow Task settings.
To store the PDF, please indicate the field ID of the Link - Multiple Files custom field in the Store to Field ID field within the Workflow Task settings.
The field designated for storage does not need to be located on the same object. The syntax @parent.Field Name.id@ enables the workflow to store a level two web page view to the parent record.
Generate PDF File Tasks encompass the following settings:
- Name - A descriptive name for the task.
- Task Type - Manually set to Create Consumer/Provider Link.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number may be altered to change the display location of the step.
- Description - A detailed description of the task (optional).
- Expire After - The 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, input 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 the PDF file should also be stored to the record, it 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 generated PDF.
- Message Template: Message Type - Type of message – e-mail, instant message, both, or none required for this task. E-mail and instant messages can be created using variables that will generate custom messages specific to instances of the workflow. Options include 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 for this task. E-mail and instant messages can be created using variables that will generate custom messages specific to instances of the workflow. Options include No Message Required (default), Quick Message, Email Only, and Quick Message and Email.
- Message Template: From Address - Email - The email address from which the message is sent. This field accepts variables, allowing for either a hard-coded value (e.g., donotreply@mycompany.com) or variable syntax (e.g., on a Level 1 Workflow, @owner.email@).
- Message Template: CC Email Address - CC recipient addresses (multiple addresses should be separated by commas). Additional Email Syntax options can be utilized within this field.
- Message Template: Email Body Format - Options include Plain Text or HTML.
-
Message Template: Email Message Header - The email header can be modified using the following syntax, with arguments separated by semicolons:
- 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 - The narrative subject line of the message.
- Message Template: Body - The 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 included. If the object is a file, 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. Please refer to the Determining the File ID article for instructions.
- Message Template: Save as Event - This will create an e-mail activity. If it is a Level 1/Level 2 workflow, where the UTA Level 2/Level 3 Email Activity settings have been configured, it will be saved as a Level 2/Level 3 event under the Level 1/Level 2 object. Otherwise, it will be saved as a user event against each recipient.
- Routing: Use Variable for Recipients - This option allows recipients of the message to be selected using variables. For configuration details, please refer to the corresponding article.
- Routing: Use UTA Role - When utilizing roles to select recipients, the UTA Role can be employed to determine recipients.
- Routing: Role - This is used to select recipients by role.
- Routing: Selected Users - If necessary, specific users may be selected to complete this task. This method restricts the number of users that the initiator may select.
- Routing: Routing Options - This specifies the types of options available to process this workflow step. In many instances, the default options can be utilized, such as Approved, Rejected, or Revise. However, additional and alternative sets of options may be created to reflect more complex business processes.
Task Type: People Association
The People Association Workflow Task Type can be employed to automatically add one or more contacts to a Level 1 record. These contacts will be assigned to the record with the UTA role defined in the "Roles will be assigned" setting.
People Association tasks include the following settings:
- Name - A descriptive name for the task.
- Task Type - Manually set to People Association.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number may be altered to change the display location of the step.
- Description - A detailed description of the task (optional).
- Expire After - The intended duration of the workflow.
- Action: Add, update, or delete the people association.
- Routing: Use Variable for Recipients - This option 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 utilizing roles to select recipients, the UTA Role can be employed to determine recipients.
- Routing: Role - This is used to control the role of the user that will be associated.
- Routing: Selected Users - If necessary, specific users may be selected to be associated.
- Roles will be Assigned - Select the role(s) that you wish the contact(s) to be associated with. To assign different contacts with different roles, it is necessary to create multiple People Association tasks.
In the Routing section, select a Role currently held by the contact(s) you wish to add, whether this is a system role or a UTA role. You may then either select specific contacts or groups that will always be added to the Level 1 when the workflow is triggered, or you can opt for "Let current user select target user from this role" to allow the individual who triggers the workflow to select a contact for addition. Please note:
-
- If you permit the current user to select a target user, the Suppress Workflow Window must be disabled; otherwise, the workflow will not execute.
- If you allow the current user to select a target user, the Workflow must be triggered by a status, rather than by a script.
- Include a description, as it will be presented to the user when they are prompted to select the contact to be assigned.
-
To notify the contact(s) of their assignment, you may create a subsequent Acknowledgement Workflow Task to e-mail all contacts with the selected UTA role.
Task Type: Request for Approval / Request for Comment
Both Workflow Task Types necessitate that users evaluate the work of others and monitor pending reviews on the Workflow Requests page.
The configurations for these Workflow Task Types correspond with those utilized for the Acknowledgment task, supplemented by two additional settings:
- Respondents - Specifies the number of respondents required for this approval.
- Allow Edit - Grants permission to edit the attached object.
By default, a Request for Approval or Comment workflow task will advance to the subsequent task (irrespective of whether it is approved, rejected, etc.) as soon as the first recipient of the Workflow Task provides a response. The Respondents field allows for a defined number of respondents to be required, which will keep the Request for Comment Task open until that specified number of respondents has replied. The Routing options field is employed as part of the Request for Approval process. Users should input appropriate options in the Routing Options section (Example: 10=approved; 20=reject; 30=Revise) and click Save.
These Routing Options will subsequently be available in the Trigger Type drop-down menu when configuring Connectors. It is recommended that each routing option be linked to a corresponding task to ensure a connection to the appropriate task.
It is crucial to establish the minimum number of respondents on the connector associated with each of the approval options.
- If three respondents have been designated on the Request for Approval Task, and the task should only proceed if all three respondents approve, the number of respondents on the Approve connector should be set to three, while the number of respondents on the Reject connector should be set to one.
- If four respondents have been designated on the Request for Approval Task, and the task should only proceed if three respondents approve, the number of respondents on the Approve connector should be set to three, while the number of respondents on the Reject connector should be set to two.
The system will validate the connectors once the requisite number of respondents for the task has been satisfied; this behavior is not configurable. The first connector that meets the requirements will be executed. It is essential to ensure that the Workflow Task is dispatched to a sufficient number of individuals to meet the minimum number of required respondents; failure to do so will impede the task's completion.
Task Type: Select User for Next Task
This task type enables the current user to pre-select the individual responsible for the task that immediately follows this task type.
This feature is necessary for tasks that will activate at a future date.
For instance, consider a Workflow that is triggered by the status of Escalated, which is configured to send a reminder email to a manager if the status has not changed for seven days. If the reminder email workflow task has "Let current user select target user from this role" as the recipient, the Workflow would fail. This occurs because the email is triggered (seven days later) by the system, and there is no current user.
The settings for this Workflow Task Type correspond with those utilized for the Acknowledgment task. The only distinction is that the Request includes the Routing options.
Task Type: Signority Submission
The Signority Submission Workflow Task Type can be employed to automatically initiate the Signority signing process via workflow.
Signority Submission Tasks possess the following settings:
- Name - Descriptive name for the task.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number can be modified to display the step in a different position.
- Description - Detailed description of the task (optional).
- Expire After - Intended duration of the workflow.
- Signority Field - A drop-down menu that lists all Signority-enabled WPV fields for the entity against which the workflow is configured.
Task Type: Trigger Workflow
Trigger Workflow tasks can be utilized to initiate a different workflow.
Trigger Workflow Tasks have the following settings:
- Name - Descriptive name for the task.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number can be modified to display the step in a different position.
- 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 drop-down menu.
-
Record ID / Variable - This setting should contain the unique record ID for the record against which the selected workflow should be initiated. 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 wish to trigger the workflow.
- If the workflow is to be triggered against a series of Level 2s attached to a Level 1 record, you could employ 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 exclusively available for "Company" workflows.
Update Company Category Tasks possess the following settings:
- Name - Descriptive name for the task.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number can be modified to display the step in a different position.
- Description - Detailed description of the task (optional).
- Expire After - Intended duration of the workflow.
- Option - Options include 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 employed to assign values to custom fields on the object against which the Workflow is triggered.
These values may be hard-coded or may utilize variables.
Additionally, MySQL syntax can be utilized to manipulate values using sscalculation.
Update Custom Field Value Tasks have the following settings:
- Name - Descriptive name for the task.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number can be modified to display the step in a different position.
- 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 specified 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 be updated.
- Update To Value - This workflow task will utilize this value to update the field selected in the "Use Field" setting. Variables may be employed in the "Update To Value" setting in addition to hard-coded values.
Example 1: If the requirement is to update a Level-1 Custom Field with a conditional value of "True", "False", or "None" depending on the system Role of the Level-1 record Owner, we would use the following [Update To Value] syntax within our UTA Level-1 Type Workflow - Update Custom Field Value Task::
<!--@sslogic("@owner.rolelist@" LIKE("%,20158,%"))-->
True
<!--@else if("@owner.rolelist@" LIKE("%,14932,14933,%"))-->
False
<!--else>
None
<!--@end>
Example 2: If the requirement is to update a Level-2 Custom Field with a conditional value of "True", "False", or "None" depending on the system Role of the parent, Level-1 record Owner, we would use the following [Update To Value] syntax within our UTA Tracking Activities Type Workflow - Update Custom Field Value Task:
<!--@sslogic("@parent.owner.rolelist@" LIKE("%,20158,%"))-->
True
<!--@else if("@parent.owner.rolelist@" LIKE("%,14932,14933,%"))-->
False
<!--else>
None
<!--@end>
Task Type: Update Standard Field Value
The Update Standard Field Value workflow type can be utilized to assign values to standard fields on the object against which the Workflow is triggered.
Standard fields on level 1, level 2, level 3, companies, contacts, and transactions can be updated using this method:
Update Standard Field Value Tasks possess the following settings:
- Name - Descriptive name for the task.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number can be modified to display the step in a different position.
- 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 specified in the "Update To Value" setting.
- Update To Value - Accepts hard-coded values and variables. This workflow task will utilize this value to update the field selected in the "Use Field" setting.
Note: Certain 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 exclusively available for "User" workflows.
Update User Role Tasks possess the following settings:
- Name - Descriptive name for the task.
- Task Number - A system-generated number that determines the order of presentation of the task in the workflow. This number can be modified to display the step in a different position.
- Description - Detailed description of the task (optional).
- Expire After - Intended duration of the workflow.
- Option - Options include 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 utilized to consume a web service through a workflow step. The web service will issue an HTTP Post request to retrieve information. The response generated by the web service can be stored in a custom field on the object associated with the Workflow trigger.
HTTP Post includes the following settings:
- URL - the endpoint of the HTTP Post web service
- User Name - the username required for accessing the post location, if necessary
- Password - the password required for accessing the post location, if necessary
- Parameters - a free text field for passing parameters such as apitoken, alias id, etc. This can include the username and password if not specified in the designated fields
- Response Stores To - the field within the system where the HTTP post response can be stored
Task Type: Web Service – SOAP Message
The Web Service - SOAP Message Workflow Task enables the posting of data to an external system, beyond SmartSimple. The response from the external system can be stored in a custom field on the object associated with the Workflow trigger.
This task type comprises the following settings:
- Name - a descriptive name for the task.
- Task Number - a system-generated number that dictates the order of task presentation within the workflow. This number can be modified to reposition the step.
- Description - a detailed description of the task (optional).
- Expire After - the intended duration of the workflow.
- Message Template: Action - the action to be invoked 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 triggered the Workflow, where the response from the external server will be stored.
-
Message Template: Email Message Header - the email header can be modified using the following syntax, with arguments separated by semicolons:
- 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 transmitted to the external service. This may include variables related to the object against which the workflow is triggered.
- 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 included. If the object is a file, the file will be attached to an email message, but not to an instant message.
- Message Template: Attachment File IDs - attaches additional default files when triggered from a Smart Folder. Please refer to the Determining the File ID article for instructions.
- Message Template: Save as Event - the email will be saved as an event.
If the content from the custom fields included within the SOAP message contains specific special characters, it may disrupt the XML structure, rendering the message unreadable by the receiving server.
The less-than symbol (<) and ampersand (&) are two primary special characters of concern. When including fields that may contain these characters, it is advisable to use a special wrapper to ensure the receiving system interprets them as data content rather than part of the XML structure:<![CDATA[ CONTENTS ]]>
For instance, an address containing ampersands should be wrapped as follows:
@firstname@@lastname@ <address> </address>
If the response to your Web Service call includes values that you wish to store within a Custom Field on the object associated with the Workflow trigger, you may connect an Update Custom Field Value Workflow Task to follow the Web Service - SOAP Message and utilize variable syntax to extract the value from the XML Custom Field designated for storing the response to the Web Service call.
For example, if the XML Custom Field designated for storing the response (custom field ID 155255 in the image above) is named Web Service Response, the variable in the Update Custom Field Value task to extract a node labeled AssignedIdentifier could be:
@xml.Web Service Response.soap:Body.AssignedIdentifier.nodevalue@
If the response is to 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 employed to consume a RESTful web service utilizing either the GET or POST method.
RESTful Web Service Request using GET Method
The POST method is utilized to transmit data to a RESTful web service.
GET RESTful Web Service Request encompasses the following settings:
- Endpoint - the resource of the web service
- Request Header - additional instructions sent with the request, which may specify the type of response required or the authorization details.
- Store Response To Field - the Custom field where the response will be stored.
- Store Response to SmartFolder - the SmartFolder ID where the response file will be stored.
RESTful Web Service Request using POST Method
The POST method is utilized to transmit data to a RESTful web service.
POST RESTful Web Service Request encompasses the following settings:
- Endpoint - the endpoint of the web service
- Request Body - the data sent with the request.
- Request Header - additional instructions sent with the request, which may specify the type of response required or the authorization details.
- Store Response To Field - the Custom field where the response will be stored.
- Store Response to SmartFolder - the SmartFolder ID where the response file will be stored.
Credentials for the RESTful Web Service Request
Credentials for the web service should be included in the Request Header formatted as: Authorization=Basic [base64 encoded credentials].
A third-party software application may be utilized to convert the username and password into base64 encoded credentials.
It is important to note that all equal signs within the base64 credentials must be substituted with %3D.
Example:
FROM: Authorization=Basic c3NcUyVzZXI6SzhAtHVuY2g=
TO: Authorization=Basic c3NcUyVzZXI6SzhAtHVuY2g%3D
Parsing JSON Responses
Variable syntax is available for parsing and retrieving values from JSON formatted 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 enables the automatic translation of records and field values within the system. This feature applies exclusively to those custom fields that have enabled translation services.
This Task type includes the following settings:
-
- Name - Descriptive name for the task.
- Task Number - A system-generated number that dictates the display order of the task within the workflow. This number may be modified to change the step's position.
- Description - Comprehensive description of the task (optional).
- Translate to - Specify the language or languages into which the custom fields with enabled translation should be translated.
If a record has translation enabled and a stored field translation exists, the "Show Translation Values" option will be available in the Options menu.
When displayed, the translated field values will appear directly beneath the existing field value.
If multiple translated languages are available, a language dropdown will be presented 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 functionality is particularly advantageous if you have developed workflows for testing on your backup instance and wish to implement the finalized versions in your live system.
The steps to export a workflow task or a set of workflow tasks are as follows:
1. Navigate to the relevant Workflow, click on the Tasks tab, and select the checkbox next to the workflow task(s) you wish to export.
2. Click on the Export button.
3. A pop-up window will appear, displaying the details of the tasks you 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.
Please note that if multiple tasks are selected, they will be delimited in the XML text block with the appropriate tag.
The steps to import a workflow task or a set of workflow tasks are as follows:
1. Navigate 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 previously 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 display the newly-added workflow tasks.
Workflow Condition
A logical statement may be added to workflow connectors in the Condition field, allowing you to specify which workflow task will be triggered.
For instance, branching logic can be implemented to send an approval message to Senior Management when the request exceeds $100,000, while requests below $100,000 will follow a different path when the workflow is initiated.
Generally, the Workflow Condition is utilized with several different connectors attached to a task. Collectively, the conditions on each task should encompass every possible scenario.
Note: As the sequence in which the system accesses each connector is not configurable, it is crucial that the conditions are mutually exclusive. For example, if you have three 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")
Additionally, you may employ MySQL syntax to perform calculations within the Condition:
- date_format(now(),"%d")="01"
This condition will evaluate as true only on the 1st of the month. This could be utilized with a Recurring Workflow that operates daily if you wish to send out a summary email on the 1st of every month.
It is advisable that workflows containing a loop include an empty task with two connectors, each with distinct conditions: one that returns to the looped task and another that proceeds to the next task, thereby preventing an infinite loop.
Note: Except for values that are inherently numeric, all variables should be enclosed in double quotes.
Examples of Workflow Conditions
There are two fundamental rules that must be adhered to when incorporating multiple connectors into a workflow task that includes conditional logic statements:
1. Collectively, the conditions on each task must account for every conceivable permutation.
Example of an Incorrect Configuration:
In a given application, three level one types exist, with typeIDs of 12345, 45678, and 67890.
Two connectors have been established on a workflow task with the following conditions:
- "@levelone.typeid@"="12345" and
- "@levelone.typeid@"="45678", respectively.
If the workflow is triggered against a record associated with typeID 67890, the workflow will not progress to the subsequent task.
Example of a Correct Configuration:
In a given application, three level one types exist, with typeIDs of 12345, 45678, and 67890.
Three connectors have been established on a workflow task with the following conditions:
- "@levelone.typeid@"="12345",
- "@levelone.typeid@"="45678" and
- "@levelone.typeid@"="67890", respectively.
Alternatively, connectors can be configured with the following conditions:
- "@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 all others.
Example of an Incorrect Configuration:
In a given application, three level 2 types exist, with typeIDs of 12345, 45678, and 67890.
Additionally, two level 2 statuses exist in the same application, with statusIDs of 888 and 999.
The system administrator intends to send emails via workflow if the record is in one of the aforementioned statuses. One email should be dispatched if the type is 12345 or 45678, and a different email should be sent if a different type is utilized.
Two connectors have been established on a workflow task with the following conditions:
- "@level2.typeid@" in ("12345","45678") AND "@level2.statusid@" in ("888","999") and
- "@level2.statusid@" in ("888","999").
The issue in this scenario 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. While the workflow will progress, it may not necessarily advance to the intended workflow task. Consequently, the incorrect email may be sent.
Example of a Correct Configuration:
The types and statuses exist as previously mentioned, and the system administrator aims to configure the same branching logic.
Two connectors should be established 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, as 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 fulfill Rule #1:
- "@level2.statusid@" not in ("888","999").
With these three connectors configured, the workflow will:
- never lack instructions on whether to trigger the next workflow task (Rule #1), and
- always have clear instructions on which task to trigger given a specific set of conditions (Rule #2).
Utilizing iCalendar to Generate Meeting Requests, Tasks, and Contact Cards
iCalendar is a file format that enables Internet users to send meeting requests, contacts, and tasks through email and other digital means.
SmartSimple workflows support three types of email attachments (ievent, itodo, and icard).
The SmartSimple email engine will search for email contents that contain ievent, itodo, and icard objects. The contents of these objects are compiled and added as email attachments.
The email engine will process iCalendar objects using the following syntax:
- "@@ievent"
- "@@itodo"
- "@@icard"
Examples of simple iCalendar objects are provided below:
ievent Object
This manifests as an iCal attachment in 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 may specify the Time Zone for the DTSTART and DTEND as follows:
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-ACTION LOCATION: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-->
Initiating a Workflow from a Custom Browser Script
Workflows may be initiated based on a value present in a custom field associated with the object through the use of a browser script:
_triggerwf(objectid,workflowid,Entity ID);
The Entity ID should be excluded for UTA Level 1 workflows.
Prior to execution, the workflow must be created. Upon creation, you will require the Workflow ID.
In the browser script, the triggerwf function should be utilized 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 represents the object type for Level 2 activities and will remain constant across all Level 2 workflows.)
NOTE: For workflows initiated by a Browser Script within a UTA, it is advisable to set Trigger When to --Deactivate-- instead of selecting a Status. This ensures that the workflow is exclusively triggered by the script, mitigating the risk of activation during a status change.
Additional Notes:
- It is imperative not to select "Let current user select target user from this role" for the Routing of workflows initiated by script, as such workflows will not execute.
- Since the workflow is triggered upon script execution, it occurs prior to the record being saved. If the workflow modifies the Status or a Custom Field value, these changes will be overwritten by any values present on the page at the time of saving. Therefore, it is recommended to incorporate any Status or Custom Field modifications within the JavaScript that triggers the Workflow.
- If this function is invoked via a button on a page lacking standard libraries, ensure to include /js/sstools.js Example:
<script src="js/sstools.js" type="text/javascript"></script>
Utilizing Variables with Workflows
Passing Parameters When One Workflow Triggers Another
When a workflow is activated from another workflow, it is possible to reference a value from the object that initiates the preceding workflow (for instance, if a Level 3 workflow triggers a Level 2 workflow, any value from the Level 3 object can be referenced within the Level 2 workflow). The syntax is as follows:
@triggerobject.FIELDNAME@
This syntax is applicable when generating an email and when utilized in connectors as a condition.
It is also effective when employing a Trigger Workflow task, and when a Task Connector is directly linked to the workflow.
Using Variable Syntax to Designate Recipients for Workflow Tasks
Recipients of workflows (selected in the Acknowledgement, Request for Comment, and Request for Approval task types) can be defined using variable syntax, rather than being constrained to the list by role.
The advantages of this approach include the ability to send notifications to multiple roles simultaneously, rather than necessitating the configuration of distinct tasks for each role.
Additionally, it permits filtering of recipients based on a custom field on the contact or UTA Contact Role Based custom fields.
To activate this feature, select the "Use Variable for Recipients" checkbox under the "Routing" header in the workflow task, and subsequently employ variables to reference the pertinent user.
Notes Workflow
The following variables are applicable in Notes Workflows:
@notes@
- the content of the note
To reference fields located on the associated Level 1, Level 2, Level 3, contact, or organization record:
@parent.fieldname@
or
@parent.#fieldID#@
For Notes at Level 2, fields on Level 1 can be referenced using:
@parent.parent.fieldname@
or
@parent.parent.#fieldID#@
The same syntax can be employed to call Level 2 fields for Notes at Level 3.
To reference Level 1 fields for notes on Level 3:
@parent.parent.parent.fieldname@
or
@parent.parent.parent.#fieldid#@
Utilizing the "Variable processed recipients" feature of Workflow Tasks, you can direct a Notes Workflow to the contacts associated with the record to which the note is attached, employing the @parent.owner.userid@ or @parent.[#(?object=contact)~userid~,#]@ syntaxes.
Password Variables
In the forthcoming November 2023 release, password variables will be deprecated to enhance security. All systems will be mandated to utilize the activation link variable (@activationlink@
) to direct users to a page where they can input their desired password.
CC Email Syntax Options
Applicable to Acknowledgement, Request for Approval and Request for Comment Workflow tasks.
- Scenario One
To : peter@smartsimple.com
Cc : susan@smartsimple.com
Outcome : ONE email will be dispatched to Peter, with Susan in CC.
- Scenario Two
To : peter@smartsimple.com
Cc : (sendasto)susan@smartsimple.com
Outcome : TWO emails will be sent TO Peter and TO Susan.
- Scenario Three
To : peter@smartsimple.com
Cc : (sendnoto)susan@smartsimple.com
Outcome : ONE email will be sent TO Susan ONLY.
- Scenario Four
To : peter@smartsimple.com
Cc : (reply-to)susan@smartsimple.com
Outcome : ONE email will be sent to Peter, with replies directed to Susan.
Utilizing Workflows
Searching or Sorting Workflows
To access the list of workflows, please click on the menu icon located in the action bar, followed by selecting the Workflows link within the System Process section.
The following tabs will also be displayed:
- Workflows – select this tab to view the list of workflows.
- Tasks – select this tab to view a comprehensive list of tasks associated with all workflows.
- Outstanding Tasks – select this tab to view a list of outstanding tasks related to all workflows.
Each of these tabs includes search and sort functionalities, enabling the efficient location of workflows and tasks. The steps for searching are as follows:
1. Navigate to the tab you wish to search.
2. Click into the search criteria field to select the list view column for the search.
3. Enter the appropriate criteria.
4. Click on the Search button to execute the search, or click on the X (clear button) to reset the criteria.
5. All matching results will be displayed, along with the filter criteria.
The steps for sorting are as follows:
1. Click the header of the column you wish to sort. The first click will sort in ascending order (e.g., 1, 2, 3).
2. The second click will sort in descending order (e.g., 3, 2, 1).
3. The third click will revert to the default sort order.
Workflow Requests
Workflow Requests are generated through Request for Approval / Request for Comment workflow tasks.
The Workflow Requests page displays:
- outstanding tasks that require your completion based on SmartSimple workflows,
- tasks that others need to complete in which you are involved in certain steps of the workflow, and
- project tasks assigned to you for completion.
The requests will be listed under the Requests to Me link. 1. Click the Communications, Workflow Requests link. The Workflow task will be displayed.
2. Click on the Task Type and File link. The Workflow step will be displayed with the following fields in the request:
- Task Name – The designation of the workflow task.
- Created Date – The date when the task was initiated.
- Task Description – A description outlining the purpose of the task.
- Action – The Routing Options for the request, which are visible only for Requests For Approval.
- Comments – This section is always visible but is exclusively applicable for Requests For Comments.
- Object Area – The lower section of the request screen where the associated object is displayed.
3. Select Approve to authorize the file and click the Submit button. The Approve option necessitates selecting a user to whom the approval message will be sent, prompting the display of the Select User list. 4. Choose the user designated to receive the approval message and click the Submit button. This step concludes the process and the Workflow is also finalized. A workflow complete message will be displayed.
5. Click the Communications, Workflow Requests button. The workflow will be removed from the Requests to Me section.
Workflow Diagram
By clicking the Diagram button in the action bar of the Edit Workflow page, a graphical representation of the Workflow Tasks configured for that workflow will be displayed.
System Administrators utilize this feature to document and troubleshoot complex workflow configurations.
Workflow Pending Queue
On the Edit Workflow page, the Pending Queue tab presents all instances where the specified workflow has been triggered, and the task has been scheduled for future completion.
The last column indicates the "Objectid" of the entity against which the workflow was executed.
Workflow History
Within the Edit Workflow page, the history of an individual Workflow can be accessed via the History tab.
This page displays all instances of the workflow being triggered. The final column indicates the "Objectid" of the entity against which the workflow was executed.
Workflows Triggered by a Specific Entity
The Workflow History tab becomes accessible for a specific Universal Tracking Application™ by enabling the appropriate Manager Permission. Navigate to UTA – Settings – Security, and select Feature and Function Permissions.
The Enable Workflow History setting can be found on the Feature tab.
Activating the Manager Permission will allow the Workflow History section to appear in the Option drop-down for Level 1, Level 2, and Level 3 records.
Clicking on the Workflow History tab will present the history of workflows triggered on the respective entity.
Configuring the System to Display Workflow Options
The individual creating the workflow must possess the necessary permissions to establish company workflow triggers.
Access Global settings – Security – System Feature Permissions, navigate to the Action Permission tab, and scroll down to the Workflows - Attach Workflow to Company setting.
A Lookup button should be available to select the roles authorized to attach the workflow.
Upon selecting the role, the options will be displayed in the edit company view.
Reasons for Workflow Messages Not Being Received
Several common reasons for workflow messages not being received include:
- Your browser has a pop-up blocker enabled.
- Workflows are not activated.
- Another workflow is triggering on the same status.
- Your workflow is not configured correctly.
Solutions for the aforementioned issues:
- Allow SmartSimple as a trusted site or check your browser for any toolbars that may be obstructing pop-ups or configure 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 ensure that two workflows are not triggering on the same status.
- You will need to examine the configuration of the workflows to confirm that the connectors are set appropriately, as well as the individual tasks that are to be executed.
Identifying the Workflow ID
Once a workflow has been established, the workflow ID (wfid) can be located as follows:
- Click on the hyperlink for Global Settings.
- Go to the System tab and click on the hyperlink for Workflows.
- The workflow ID is visible as the right-most column in the list of workflows.
Alternatively:
- Click on the Edit workflow icon for the desired Workflow, and the Workflow ID will be displayed at the top of the page.