Workflow types, task type settings, variable syntax, email formatting options, iCalendar integration formats, and browser script triggers support building and maintaining workflows in SmartSimple.
It is recommended that global administrators enable the new syntax. From System Options in Global Settings, toggle Enable New Variable Syntax Set on.
Workflow Types
When creating a workflow, a workflow type is selected that determines which objects the workflow can be associated with and what triggers are available. The table below lists available workflow types, the objects they are enabled on, and their trigger and 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, Modified, or On Demand | N/A |
| User | Company or Branch | New, Modified, or On Demand | 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 | UTA Template | Level 1 Status | Level 1 Status |
| 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 |
Task Type Settings
Each task type represents a different action and has different configuration requirements. The table below summarizes each task type; field-level details for each task type follow below.
All Task Types and Descriptions
| Task Type | Description |
|---|---|
| Acknowledgement | Sends email, instant messages, or both to users in SmartSimple. |
| Activate/Deactivate User | Sets or removes the access type for a user. No message accompanies this task. |
| Change Status | Changes the status of the object that triggered the workflow. No messaging. |
| Company Association | Automatically adds, removes, or updates one or more companies on a Level 1 record. |
| Create Consumer/Provider Link | Creates Consumer/Provider relationships. Available for Level 1 and Level 2 workflows only. |
| Create New Activity | Automatically creates and attaches one or more Level 2 records to a Level 1 record. |
| Generate PDF File | Automatically generates a PDF based on a Web Page View Custom Field. |
| PDF Merge | Merges a Custom Field value into an existing PDF document. Does not convert Word documents to PDF. |
| People Association | Automatically adds one or more contacts to a Level 1 record with a defined UTA role. |
| Request for Approval / Request for Comment | Prompts users to review the work of others and tracks outstanding reviews on the Workflow Requests page. |
| Select User for Next Task | Allows the current user to pre-select the person responsible for the immediately following task. |
| Signority Submission | Automatically triggers the Signority signing process via workflow. |
| Trigger Workflow | Initiates a different workflow. |
| Update Company Category | Adds or removes categories from SmartSimple organizations. Available for Company workflows only. |
| Update Custom Field Value | Writes values to custom fields on the triggered object. |
| Update Standard Field Value | Writes values to standard fields on the triggered object. |
| Update User Role | Adds or removes roles from SmartSimple contacts. Available for User workflows only. |
| Web Service - HTTP Request | Sends an HTTP Post request via a workflow step and stores the response in a custom field. |
| Web Service - SOAP Message | Posts data to an external system outside of SmartSimple. |
| Web Service - RESTful Request | Consumes a RESTful web service using GET or POST method. |
| Translate Field Values | Automatically translates records and field values in the system. |
Acknowledgement Task Type
The Acknowledgement task type sends email, instant messages, or both to users in SmartSimple.
| Field Name | Description |
|---|---|
| Name (General tab) | Name for the task. |
| Task Number (General tab) | System-generated presentation order number; can be changed. Execution order is determined by connectors. |
| Description (General tab) | Optional description. |
| Expire After (General tab) | Intended duration of the workflow. |
| Use Variable Syntax (General tab) | Select recipients using variable syntax. |
| Use Assigned UTA Role (General tab) | Use UTA Role to determine recipients, for UTA-specific workflows only. |
| System Role/Individual Users (General tab) | Select recipients by role. Built-in roles include Originator (person who started the workflow), Initiator (person who initiated the current task), Owner (record owner), People (person assigned on Level 1 only), and Assigned Users (users in the Assigned field of a Level 2 activity only). |
| Role (General tab) | Specific users configured as recipients in the Role section. |
| Routing Options (General tab) | Specifies processing options for this step, such as Approved, Rejected, and Revised. Custom options can be created for complex processes. |
| Message Format (Message Template tab) | Plain Text or HTML. |
| Body (Message Template tab) | Narrative body of the message. |
| Message Header (Message Template tab) | Modify using semicolon-separated arguments: X-Priority={1,2,3,4,5}, Priority={normal,urgent,non-urgent}, Importance={high,normal,low}, Sensitivity={personal,private,company,confidential}. |
| File attachments (Message Template tab) | Attach additional default files when triggered from a SmartFolder. |
| Save as Event (Message Template tab) | Creates an email activity saved as a Level 2 or Level 3 event, if configured, or as a user event against each recipient. |
| Attach Object (Message Template tab) | Attaches textual details of the object; files are attached to email only. |
| Set Up As Reminder (Message Template tab) | Toggle on to send the message as an automated reminder based on a deadline date. The system evaluates the current date, the deadline date, and the specified time frame, and sends the email when a reminder is due and any conditions are met. Emails send at approximately midnight server time. |
| Reference Date (Message Template tab) | Select the field that represents the deadline date. |
| Time Frame (Message Template tab) | Defines when reminders are sent relative to the deadline date, such as 1 week before, 1 day before, and 1 day after. |
| Condition (Message Template tab) | Optional. Controls when reminders are sent. Syntax: "@status@" in ("in progress", "pending"). |
Activate/Deactivate User Task Type
The Activate/Deactivate User task type sets or removes the access type for a user. No message accompanies this task. To notify users of the change, follow this task with an Acknowledgement task.
| Field Name | Description |
|---|---|
| Activate (Administrative or Portal Interface) | Provides access to the extent permitted by the user's roles. |
| Activate (User Centric or Applicant Interface) | Provides access only through the User Centric Interface and Applicant Tracking career sites. |
| Activate (Web Service Client Access) | API access only; no direct SmartSimple interface access. |
| Deactivate (No Access) | User cannot log in. |
Change Status Task Type
The Change Status task type changes the status of the object that triggered the workflow. No messaging.
| Field Name | Description |
|---|---|
| Change Status To | Lists statuses from the selected UTA level and sets the object's status to the selected value. |
Company Association Task Type
The Company Association task type automatically adds, removes, or updates one or more companies on a Level 1 record, assigned with the UTA category defined in the Roles will be assigned setting.
| Field Name | Description |
|---|---|
| Action | Add, Update, or Delete the company association. |
| Use Variables Syntax | Use syntax to reference company IDs. |
| Companies | Use Lookup to select the companies to add. |
| Roles to be Assigned | Select the categories for assignment. Create multiple tasks to assign different companies with different categories. |
Consumer/Provider Association Task Type
The Consumer/Provider Association task type creates Consumer/Provider relationships. Available for Level 1 and Level 2 workflows only.
| Field Name | Description |
|---|---|
| Connection Type | Consumer or Provider. |
| Connection Application | The UTA being connected. |
| Connection Level | Level One or Level Two. |
| Object ID / Variable | The Record ID or a variable to obtain it; accepts semicolon-separated lists. |
| Connection Role to be Assigned | The Consumer UTA Connection role for the connection. |
Create New Activity Task Type
The Create New Activity task type automatically creates and attaches one or more Level 2 records to a Level 1 record. Can be driven by a Level 1 status change.
| Field Name | Description |
|---|---|
| Create for Users in UTA Role | Select the UTA Role of users the Peer Activity should be created for. |
| Activity Type | Specify which Level 2 Type to create. |
| Activity Status | Define the status for the newly created Level 2 records. |
| Days Delay | Delay before new activity creation. If blank, created immediately. |
| Reminder Type | Quick Message or reminder email to the Owner, contacts, or a combination. |
| Reminder Days | Delay before the reminder message is sent. |
| Scheduling Options (Scheduling tab) | Disable, Schedule by Date and Amount, or Schedule by Number of Activities. |
Generate PDF File Task Type
The Generate PDF File task type automatically generates a PDF based on a Web Page View Custom Field. The PDF can be emailed and/or stored in a Link - Multiple Files Custom Field. Multiple PDFs can be generated in a single task by entering comma-separated Custom Field IDs.
| Field Name | Description |
|---|---|
| Web Page View Field | Custom Field ID of the Web Page View to convert. Separate multiple IDs with commas. |
| Store to Field | Custom Field ID of the Link - Multiple Files field where the PDF will be stored. |
| PDF Render Language | If specified, this language is applied to the generated PDF. |
PDF Merge Task Type
The PDF Merge task type does not convert a Word document to PDF. The file referenced must already be a PDF; a .doc/.docx file in this field will not be processed correctly.
| Field Name | Description |
|---|---|
| MSWord Merge Field | The Custom Field of the PDF document, specified on the Workflow Task settings. |
| Store to Field | The Upload - Multiple Files Storage custom field where the PDF will be stored, specified on the Workflow Task settings. |
People Association Task Type
The People Association task type automatically adds one or more contacts to a Level 1 record with the UTA role defined in Roles will be assigned.
| Field Name | Description |
|---|---|
| Action | Add, Update, or Delete the people association. |
| Routing: System Role/Individual Users, Use Assigned UTA Role, Use Variable Syntax | Same as Acknowledgement. See Acknowledgement Task Type. |
| Roles to be Assigned | Select the role(s) the contacts will be associated with. Create multiple tasks to assign different contacts with different roles. |
Request for Approval / Request for Comment Task Type
Both types prompt users to review the work of others and track outstanding reviews on the Workflow Requests page. Settings match those of the Acknowledgement task, plus two additional fields.
| Field Name | Description |
|---|---|
| Respondents | The number of respondents required before the task advances. |
| Allow Edit | Permits editing of the attached object. |
Select User for Next Task Task Type
The Select User for Next Task task type allows the current user to pre-select the person responsible for the immediately following task. This is necessary when the next task triggers at a future date, because the email sends later via the system with no current user, so the recipient must be pre-selected here.
Signority Submission Task Type
The Signority Submission task type automatically triggers the Signority signing process via workflow.
| Field Name | Description |
|---|---|
| Signority Field | A drop-down menu listing all Signority-enabled WPV fields for the entity the workflow is configured against. |
Trigger Workflow Task Type
The Trigger Workflow task type initiates a different workflow.
| Field Name | Description |
|---|---|
| Trigger Workflow | Select the workflow to trigger from the drop-down menu. |
| Record ID / Variable | The unique record ID for the record against which the selected workflow should run (can reference using variables). To trigger against a series of Level 2s on a Level 1, use List Syntax to define a list of activities meeting certain criteria. |
Update Company Category Task Type
The Update Company Category task type adds or removes categories from SmartSimple organizations. Available for Company workflows only.
| Field Name | Description |
|---|---|
| Option | Add or Remove. |
| Categories | Select the categories to add or remove from the organization's profile. |
Update Custom Field Value Task Type
The Update Custom Field Value task type writes values to custom fields on the triggered object. Values can be hard-coded or use variables. MySQL syntax can also be used to manipulate values. New syntax: ss_eval. Old syntax: sscalculation.
| Field Name | Description |
|---|---|
| Update Field | Select the custom field to update from the UTA level list. |
| Update To Value | The value to write; accepts variables and hard-coded values. |
read-only HTML tag or textreadonly CSS class, the value will not update.Update Standard Field Value Task Type
The Update Standard Field Value task type writes values to standard fields on the triggered object. Standard fields on Level 1, Level 2, Level 3, companies, contacts, and transactions can be updated.
| Field Name | Description |
|---|---|
| Update Field | Select the standard field to update. |
| Update To Value | Accepts hard-coded values and variables. |
Update User Role Task Type
The Update User Role task type adds or removes roles from SmartSimple contacts. Available for User workflows only.
| Field Name | Description |
|---|---|
| Option | Add or Remove. |
| Roles | Select the roles to add or remove from the contact's profile. |
Web Service - HTTP Request Task Type
The Web Service - HTTP Request task type sends an HTTP Post request via a workflow step and stores the response in a custom field.
| Field Name | Description |
|---|---|
| URL (HTTP Settings tab) | Endpoint of the HTTP Post web service. |
| User Name (HTTP Settings tab) | Username to access the post location, if required. |
| Password (HTTP Settings tab) | Password to access the post location, if required. |
| Parameters (HTTP Settings tab) | Free text field for parameters such as API tokens or alias IDs. |
| Response Stores To (HTTP Settings tab) | The field where the HTTP Post response will be stored. |
Web Service - SOAP Message Task Type
The Web Service - SOAP Message task type posts data to an external system outside of SmartSimple. The external system's response can be stored in a custom field on the triggered object.
| Field Name | Description |
|---|---|
| Action (SOAP Settings tab) | The action called by the Web Service, defined by the external server. |
| Endpoint (SOAP Settings tab) | URL or IP address of the destination server. |
| Store Response To Field (SOAP Settings tab) | The Custom Field ID of an XML custom field where the external server's response is stored. |
| Envelope Template (SOAP Settings tab) | Content of the Web Service message; can contain variables related to the triggered object. |
Web Service - RESTful Request Task Type
The Web Service - RESTful Request task type consumes a RESTful web service using GET or POST method.
| Field Name | Description |
|---|---|
| GET Method settings (RESTFful Settings tab) | Endpoint, Request Header, Store Response To Field, Store Response to SmartFolder. |
| POST Method settings (RESTFful Settings tab) | Endpoint, Request Body, Request Header, Store Response To Field, Store Response to SmartFolder. |
| Credentials (RESTFful Settings tab) | Include in the Request Header as Authorization=Basic [base64 encoded credentials]. |
Translate Field Values Task Type
The Translate Field Values task type automatically translates records and field values in the system. Applies only to custom fields that have translation services enabled.
| Field Name | Description |
|---|---|
| Translate to | Specify the language or languages into which enabled fields should be translated. |
Connector Settings
Connectors link workflow tasks together and control when each subsequent step runs. The New Connector modal includes the following fields:
| Field Name | Description |
|---|---|
| Name | Enter a descriptive name for the connector. |
| Trigger Type | Select Default or Expired. |
| Connect To | Select the target. All tasks within the workflow are listed, along with Start, Complete, and other workflows in the system. |
| Trigger Date | The connector activates when the date matches the selected date. Options include Trigger Date, Start Date, End Date, or Custom Date Field. |
| Delay(s) | Specify a delay based on the trigger date. A value of 1 with Day or no Trigger Time triggers 24 hours after the trigger date. A value of -1 with Day triggers 24 hours before the trigger date. |
| Trigger Time | Relevant when a Day delay is scheduled; specifies the exact time the task should trigger. |
| Business Day Only | Toggle on to account for the standard working week and statutory holidays when determining dates and delays. |
| Holiday Calendar Used | Select a custom calendar specifying which days are business days for the community. |
| Required Respondents | Specify how many people must complete an action before the workflow advances to the next task. |
| Type Filter | Select Level 1, Level 2, or Level 3 types to serve as the type condition. |
| Status Filter | Select Level 1, Level 2, or Level 3 statuses to serve as the status condition. |
| Condition | Specify a logical condition that must be met before the connector triggers the next workflow task. Multiple connectors with mutually exclusive conditions enable branching logic. |
Use Variables with Workflows
Variables can be used in workflow task messages, connector conditions, and routing fields to reference field values from the triggered object and related records.
Pass Parameters Between Workflows
When a workflow is triggered from another workflow, values from the triggering object can be referenced. For example, if a Level 3 workflow triggers a Level 2 workflow, any Level 3 field value can be referenced in the Level 2 workflow using:
New syntax: {{triggerobject.FIELDNAME}}
Old syntax: @triggerobject.FIELDNAME@
This syntax works when generating emails, in connector conditions, with Trigger Workflow tasks, and when a task connector is linked directly to the workflow.
Use Variable Syntax to Designate Recipients
Recipients for Acknowledgement, Request for Comment, and Request for Approval tasks can be defined using variable syntax rather than being limited to roles. Benefits include sending to multiple roles simultaneously and filtering recipients based on custom fields on the contact or UTA Contact Role Based custom fields.
To enable, check Use Variable Syntax under the Routing header in the workflow task, then use variables to reference the relevant user.
Notes Workflow Variables
The following variables are available in Notes Workflows:
| Function | New Syntax | Old Syntax |
|---|---|---|
| Content of the note | {{notes}} | @notes@ |
| Field on the associated L1/L2/L3/contact/org record | {{parent.fieldname}} | @parent.fieldname@ |
| — | {{parent.#fieldID#}} | @parent.#fieldID#@ |
| L1 field from Notes at L2 | {{parent.parent.fieldname}} | @parent.parent.fieldname@ |
| L1 field from Notes at L3 | {{parent.parent.parent.fieldname}} | @parent.parent.parent.fieldname@ |
To direct a Notes Workflow to contacts on the record the note is attached to, use the owner's user ID or a contact lookup variable.
New syntax: {{parent.owner.userid}} or {{parent.[#(?object=contact)~userid~,#]}}.
Old syntax: @parent.owner.userid@ or @parent.[#(?object=contact)~userid~,#]@.
Password Variables
Password variables have been deprecated for improved security. All systems must use the activation link variable to direct users to a page where they can set their own password.
New syntax: {{activationlink}}
Old syntax: @activationlink@
CC Email Syntax Options
The following CC email syntax options apply to Acknowledgement, Request for Approval, and Request for Comment workflow tasks.
| Scenario | To | CC | Result |
|---|---|---|---|
| One | peter@smartsimple.com | susan@smartsimple.com | ONE email to Peter with Susan in CC. |
| Two | peter@smartsimple.com | (sendasto)susan@smartsimple.com | TWO emails, one TO Peter and one TO Susan. |
| Three | peter@smartsimple.com | (sendnoto)susan@smartsimple.com | ONE email to Susan ONLY. |
| Four | peter@smartsimple.com | (reply-to)susan@smartsimple.com | ONE email to Peter; replies directed to Susan. |
Use iCalendar with Workflows
iCalendar is a file format that allows internet users to send meeting requests, contacts, and tasks through email. SmartSimple workflows support three email attachment types: ievent, itodo, and icard. The email engine scans email contents for these objects and compiles them as attachments using the syntax below.
| Attachment Type | New Syntax | Old Syntax |
|---|---|---|
| ievent | {{ievent}} | @@ievent |
| itodo | {{itodo}} | @@itodo |
| icard | {{icard}} | @@icard |
ievent Object
Manifests as an iCal attachment on the email.
<!--@ssattach(icalendar,vevent)--> @@ievent UID:@owner.email@ ORGANIZER;CN=@company@ DTSTART:TO_UTC(@startdate@ @starttime@) DTEND:TO_UTC(@enddate@ @endtime@) LOCATION:Room 1 SUMMARY: Details to follow DESCRIPTION: @description@ @@ <!--@end-->
To specify a time zone instead of UTC:
New syntax:
DTSTART;TZID=Australia/Sydney:{{ss_eval(DATE_FORMAT("{{fullstartdate}}","%Y%m%dT%H%i%s"))}}
DTEND;TZID=Australia/Sydney:{{ss_eval(DATE_FORMAT("{{fullenddate}}","%Y%m%dT%H%i%s"))}}Old syntax:
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 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 FN:@owner.fullname@ ORG:@company@ TITLE:@name@ TEL;TYPE=WORK,VOICE:@owner.phone@ TEL;TYPE=HOME,VOICE:(404) 555-1212 EMAIL;TYPE=PREF,INTERNET:forrestgump@example.com @@ <!--@end-->
Trigger a Workflow from a Browser Script
Workflows can be triggered based on a custom field value using a browser script:
_triggerwf(objectid, workflowid, Entity ID);
The Entity ID should be omitted for UTA Level 1 workflows. Use the following syntax by level:
New syntax:
// Level 1
_triggerwf('{{opportunityid}}', 98765);
// Level 2
_triggerwf('{{eventid}}', 98765, 26);Old syntax:
// Level 1
_triggerwf('@opportunityid@', 98765);
// Level 2
_triggerwf('@eventid@', 98765, 26);26 is the object type for Level 2 activities and is consistent across all Level 2 workflows.