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 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 | Name for the task. |
| Task Number | System-generated presentation order number; can be changed. Execution order is determined by connectors. |
| Description | Optional description. |
| Expire After | Intended duration of the workflow. |
| Message Template: Message Type | No Message Required, Quick Message, Email Only, or Quick Message and Email. |
| Message Template: From Address | Accepts variables. New syntax: {{owner.email}}. Old syntax: @owner.email@. Hard-coded values are also accepted. |
| Message Template: CC Email Address | Separate multiple addresses with commas; accepts additional Email Syntax options. |
| Message Template: Email Body Format | Plain Text or HTML. |
| Message Template: Email Message Header | 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}. |
| Message Template: Subject | Narrative subject line. |
| Message Template: Body | Narrative body of the message. |
| Message Template: Attach Object | Attaches textual details of the object; files are attached to email only. |
| Message Template: Attachment File IDs | Attach additional default files when triggered from a SmartFolder. |
| Message Template: Save as Event | Creates an email activity saved as a Level 2 or Level 3 event, if configured, or as a user event against each recipient. |
| Routing: Use Variable for Recipients | Select recipients using variable syntax. |
| Routing: Use UTA Role | Use UTA Role to determine recipients, for UTA-specific workflows only. |
| Routing: Role | 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). |
| Routing: Selected Users | Specific users configured as recipients in the Role section. |
| Routing Options | Specifies processing options for this step, such as Approved, Rejected, and Revised. Custom options can be created for complex processes. |
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 |
|---|---|
| Use Variables for Companies | Use syntax to reference company IDs. |
| Action | Add, Update, or Delete the company association. |
| Companies | Use Lookup to select the companies to add. |
| Roles will be Assigned | Select the categories for assignment. Create multiple tasks to assign different companies with different categories. |
Create Consumer/Provider Link Task Type
The Create Consumer/Provider Link 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 | 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 |
|---|---|
| Activity Scheduling Options | Disable, Schedule by Date and Amount, or Schedule by Number of Activities. |
| Days Delay | Delay before new activity creation. If blank, created immediately. |
| 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. |
| Reminder Type | Quick Message or reminder email to the Owner, contacts, or a combination. |
| Reminder Days | Delay before the reminder message is sent. |
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 Field ID | Custom Field ID of the Web Page View to convert. Separate multiple IDs with commas. |
| Store to Field ID | 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: Use Variable for Recipients, Use UTA Role, Role, Selected Users | Same as Acknowledgement. |
| Roles will 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.
No additional fields are listed in the source content for this task type.
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 |
|---|---|
| Use 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 |
|---|---|
| Use 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 | Endpoint of the HTTP Post web service. |
| User Name | Username to access the post location, if required. |
| Password | Password to access the post location, if required. |
| Parameters | Free text field for parameters such as API tokens or alias IDs. |
| Response Stores To | 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 |
|---|---|
| Message Template: Action | The action called by the Web Service, defined by the external server. |
| Message Template: Custom Field ID for Response | The Custom Field ID of an XML custom field where the external server's response is stored. |
| Message Template: Endpoint | URL or IP address of the destination server. |
| Message Template: Envelope Template | 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 | Endpoint, Request Header, Store Response To Field, Store Response to SmartFolder. |
| POST Method settings | Endpoint, Request Body, Request Header, Store Response To Field, Store Response to SmartFolder. |
| Credentials | 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.