LivePerson’s Advanced Workflow feature, accessible through the Tenfold dashboard, enables you to automate and customize agent actions within the Salesforce Connector experience. Building on your existing Salesforce Connector setup, this feature includes two core components:
- Launcher Links: Customizable buttons within the Tenfold dashboard that trigger specific actions, helping agents quickly execute the right tasks.
- Workflow Rules: JSON-based configurations that automate agent workflows based on defined criteria, such as case status or record type, streamlining processes like case assignment and field population.
These tools empower LivePerson admins to tailor workflows that reduce manual effort and guide agents effectively, enhancing overall productivity and customer service quality.
Use Launcher to Create Web Links
Create a weblink
The Launcher feature in Advanced Workflow lets you configure links to web sites which are accessible to users in the UI. Depending on the configuration, you may include Global links that appear irrespective of the interaction or Interaction based links that can be added to the Toolbar or as More links in the Agent UI. The interaction based links can use parameters from the Conversation or CRM objects. Please note, this feature also allows you to configure different links based on the LivePerson skill. Here are some examples of the Agent UI with these specific link types.
Global Links Global Link Menu A globe displays in the lower-right corner of the UI. Clicking the globe icon opens a list of weblinks.
More Links"More Links" Menu Displays as a list of links in a "Links" section on the back side of the contact card. The links only display during interactions, such as calls, and accept call attributes for use as parameters in the configured URL.
Toolbar Links Toolbar Displays in the lower-left corner of the UI. The links only display during interactions, such as calls, and accept call attributes for use as parameters in the configured URL.
To create weblinks using Launcher:
- In Tenfold Dashboard, click Features at the top of the page and then click Advanced Workflow in the left-hand navigation links.
- If Advanced Workflow is disabled, click the pill button at the top of the screen so it turns green and displays "Enabled."
- Click Manage Launcher.
- Click Create New Link.
- Select Messaging as the Interaction channel.
- Select the LivePerson Skills for which you would like the link to appear in the UI.
- From the Teams list, select All Users. The teams do not apply to the LivePerson Connector.
- From the Role list, select All Roles or leave it blank. The roles do not apply to the LivePerson Connector.
- Continue to the next section to see how to create a workflow using default parameters.
A weblink example using default parametersThe parameters included with the weblink workflow offer some common CRM information you can use in conjunction with URLs.
- At the top of the form which displays, click the "Link 1" default text and type a descriptive name for the workflow. This text displays in the Tenfold UI to help users understand what the link does.
- Click Add Description to enter some text describing the purpose of this link (optional). This information is only visible in Dashboard and will not be visible to the Agents.
- Under Link Type, select how this link will display. In this example, Toolbar is selected. As you make changes to the link configuration, your selections are reflected in the preview window.
- Configure the appearance of the link using the Text Color and Background Color selectors. Click inside the selection fields to open the color selector, or type hexadecimal color values in the fields.
- Enter the URL for the link in the URL field. NOTE: Be sure to include the protocol (http, https).
- Add your parameters. Example 1. URL using default parameter options This example will search Google for a consumers name. To include this information: First field = q Middle field = Call Third field = Phone Number In this example, user.name (user name for the record in context) defines the CRM object and property to search for. The variable name q is needed to supply the search engine with the CRM value (in this example, a phone number). Other URLs may require different parameters, so try setting up an example in the address bar of your browser first to see how the query looks before attempting to configure it in Tenfold.Every time the user clicks the link, the browser will submit these parameters along with the URL. However, since the phone number depends on the object currently in context, the value submitted will vary.Please note, you may also select a variable from the User, Organization or Chat dropdown to pass specific parameters in the URL. The Chat dropdown does not appear for the Global links because the Global links show outside of the context of the Conversation as well.
- Click Save to apply your changes.
A weblink example using custom parameters
- Type a name for the workflow.
- Enter an optional description for the workflow.
- Under Link Type, select how this link will display. This example uses Global Link Menu.
- Configure the appearance of the link using the Text Color and Background Color selectors. Click inside the selection fields to open the color selector.
- Enter the URL in the URL field. Example 2. Simple URL To open https://shopping.google.com, you type:
- Click +Add Parameter to add any parameters and variables you want to include. Example 2. URL with custom parameters These custom parameters search for a specific type of item. Note that each row includes an additional parameter. The parameters you can use depend on the website's support and configuration. This configuration searches for 27" monitors costing less than $200. tbm = required parameter in Google to direct the user to the shopping area q = required variable name in Google used to hold the value to search for 27" monitor under 200 = the string to search for (the value of the variable q) Tip Different systems require different parameters in the URL to perform searches or other tasks. It's helpful to try pasting your URL from the URL preview field into your browser address bar before saving your workflow. Testing while you're editing can save time when constructing your URL and parameters.
- Click Save to apply your changes. Be sure to refresh your UI if you are logged in to your CRM while editing the link.
Tip
Different systems require different parameters in the URL to perform searches or other tasks. It's helpful to try pasting your URL from the URL preview field into your browser address bar before saving your workflow. Testing while you're editing can save time when constructing your URL and parameters.
The weblink workflow in action
The link appears to the Agent user in the selected colors with the title text. It is accessible under the globe icon as illustrated above.
Clicking the link inserts the query in the address bar:
Note that the parameters in the URL query correspond to option selections in the UI.
You can use custom parameters to create queries on a variety of systems.Launcher variables
Workflow Launcher includes menus for selecting parameters to use in webLink workflows. The standard list includes the following variables:
NOTE: Your list may include customized parameters specific to your organization.
Table 1. Launcher parameters (standard) supported in webLinks. Additional variables configured in the Attached Data feature are made available on the Chat object.
Object | Property | Description |
---|
Chat | Channel Name | Indicates a channel that was used for the communication during a conversation. |
| Consumer Email | Consumer's email if received in LivePerson. |
| Consumer Phone | Consumer's phone if received in LivePerson. |
| Start Time | A date and time when the conversation started. |
| End Time | A date and time when the conversation ended. |
| External ID | |
| Skill ID | Agent’s skill. |
| Skill Name | Agent’s skill. |
| Chat Status | The status of the conversation. |
User | Name | Name of the logged in Tenfold user. |
| CRM Unique Id | Unique identifier assigned by the CRM to the logged in Tenfold user. |
| CRM Username | Unique username for the CRM user. |
| Username | The Tenfold username of the currently logged in Tenfold user. |
Organization | Company | Name of the logged in Tenfold user's company as defined in Tenfold Dashboard under Company Settings. |
| Locale | The locale of the currently logged in Tenfold user. |
| Timezone | Time zone of the logged in user as defined in Tenfold Dashboard under Company Settings. |
| Created At | Timestamp of when the user object was created in the Tenfold platform. |
Use Manage Workflows (JSON)
The Manage Workflows option under Advanced Workflow lets you configure a variety of automations using a JSON-based configurator.
To create a workflow:
- In Tenfold Dashboard, click Features at the top of the page and then click Advanced Workflow in the left-hand navigation links.
- If Advanced Workflow is disabled, click the pill button at the top of the screen so it turns green and displays "Enabled."
- Click Manage Workflows.
- Click Create New Workflow.
- At the top of the form which displays, click the "Link 1" default text and type a descriptive name for the workflow. The text displays in the UI to identify the webLink.
- Select Messaging for the Interaction Channel
- From the Skills, select the Skills that will have access to the workflow.
- From the Teams list, select All Teams or the specific teams that will have access to the workflow. The teams do not apply to the LivePerson Connector.
- From the Role list, select All Roles that will have access to the workflow. The roles do not apply to the LivePerson Connector.
- Under Add Description, enter some text describing the purpose of this link (optional).
In the right panel, some code displays. Replace the default code with your own workflow information. Example 1. A simple workflow This workflow searches the CRM for the phone number when an incoming call does not match any contacts.
{"id": "<your_workflow_id>","label": "Search the internet when no match is found","roles": ["<your_selected_roles>"],"_teams": ["<your_workflow_teams>"],"type": "onCall","match": "noMatch","action": {"type": "openCustomUrl","urlTemplate": "https://www.google.com/search?q={callPhoneNumber}"}}
There are two main parts to any workflow. The trigger (not highlighted above) is activated when there is a call (type is "onCall") when there is no matching phone number in the CRM. And the action, which is the event the trigger causes the happen, is shown below in red: The trigger and the action each have a type property. The type defines the kind of trigger and the kind of action. For more information on triggers, actions, and supporting components, see Advanced Workflow reference (section below). You can configure workflows in many different ways using a variety of triggers, actions, and variables.
Click Save to apply your changes. Be sure to refresh your UI if you are logged in to your CRM while editing the link.
Supported variables
The following variables can be used in workflows using trigger types other than webLink.
Table 1. Workflow variables supported in Manage Workflows (workflows other than webLink). Additional variables configured in the Attached Data feature are made available on the Chat object.
Property | Description | Notes |
---|
recordId | Unique identifier assigned by the CRM to the matched record from the CRM. For example, a contact, account, or lead. | |
recordName | Name of the matched record from the CRM. For example, the name of the contact, account, or lead. | |
recordEmail | Email address associated with the matched record from the CRM. | |
recordPhone | Phone number associated with the matched record from the CRM. | |
recordType | Type of CRM record for the matched record. For example, a contact, lead, or account. | |
Advanced Workflow Reference
Workflow triggers
The top level of the workflow includes the information about the trigger. A trigger is a set of conditions that must happen (such as clicking a link or receiving a call) before the action portion of the workflow can occur.
Tenfold includes the following workflow triggers:
- webLink Adds links with custom labels to the UI. This trigger is the same as the one used to create workflows for Launcher; however, it is possible to go beyond the basic abilities configured in Launcher by using webLink in custom workflows.
- onChat Performs an activity as defined by the action section when an inbound message is received.
- resolveMultiMatch Performs the defined action when a multi-match call is resolved to a single match.
- resolveNoMatch Performs the defined action when a no-match call is resolved to a single match.
- onClickCreateRecord Performs the defined action when a user creates a new record in the UI.
- onNoteSave Performs the defined action when a user saves note for an interaction.
Required trigger properties
All workflow triggers must include the following properties:
Table 1. Required trigger properties for all workflows
Name | Supported values | Description |
---|
_teams | specific teams configured for the CRM | Teams assigned to the workflow. "_teams":[ ], |
action | | Defines the resulting behavior when the trigger condition is met. For more information, see Actions. "action": { "type": "<type>", ... } |
id | generated string | Unique identifier of the workflow generated by Tenfold. IMPORTANT: Do not change this value. |
label | user-created string | User-friendly name identifying the workflow. "label" : "Example Workflow Label", |
roles | admin user other roles configured for the CRM | User roles that can access the workflow. "roles":[ "user", "admin", ... ] |
type | | The kind of trigger used in the workflow. |
Workflow actions
The workflow proceeds to the action portion when the conditions for the trigger are met. The action section of the workflow is inside the action {...} of the workflow code.
Tenfold includes the following actions:
- openCustomUrl Opens a URL in a browser tab.
- openMatchingRecord Opens a record in context in the CRM.
- openCrmSearch Opens search in the CRM. Support is limited to Salesforce and MS Dynamics.
- openCrmFlow Opens a Salesforce Lightning Flow.
- openCrmUrl Opens a relative URL (only in Salesforce Lightning); uses the Salesforce API to open a specified view.
- runApex Runs a Salesforce OpenCTI method.
- sendRequest Sends an http request. This action can support use cases where it is necessary to make a request to some service on a localhost:port.
Actions define what happens when the conditions for the trigger are met. In the action section of each workflow, there is a type variable which holds the action type. The workflow types and the actions supported by each are listed below. You may select specific LivePerson skills for which you would like to enable these workflow actions.
Table 2. Workflow triggers and the actions they support
| Triggers | | | | | |
---|
Actions | webLink | onChat | resolveMultiMatch | resolveNoMatch | onClickCreateRecord | onNoteSave |
openCustomUrl | ✓ | ✓ | ✓ | ✓ | ✓ | |
openMatchingRecord (Supported with Lightning component) | | ✓ | ✓ | ✓ | | |
openCrmSearch | | ✓ | ✓ | ✓ | | |
openCrmFlow (Supported with Lightning component) | | ✓ | | ✓ | | |
openCrmUrl | | ✓ | ✓ | ✓ | | |
openRelatedResource(Supported with Lightning component) | | ✓ | | | | |
relateInteractionFromEngagementAttr(Supported with Lightning component) | | ✓ | | | | ✓ |
runApex | | ✓ | | | | |
sendRequest | | ✓ | | | | |
Worfklow actions and properties
openCrmFlow
Opens a Salesforce Lightning Flow.
This action supports the following:
Name | Supported Values | Description |
---|
name | string | Flow API name "name":"<Flow_API_name>" |
args | name = Flow variable name type = the data type of the variable value = the name of the variable which passes a value to the workflow | Name of a Lightning Flow variable that is configured as "Available for input" in the variables settings. "args":[ { "name":"<flow_variable_name>", "type":"<variable_data_type>", "value":"<variable_name>" }],... |
Supports the args property which holds input information for the Lightning Flow.
Example 1. openCrmFlow
{"id":"<workflow_id>","type":"onCall","label":"Open Lightning Flow","roles":["admin","user"],"_teams":[],"callDirection":"Inbound","callType":"External","action":{"type":"openCrmFlow","name":"Tenfold_Call_Initiation","args":[{"name":"input_UUID","type":"String","value":"{callAttachedData.UUI}"},{"name":"input_CCID","type":"String","value":"{callAttachedData.UCID}"}]},"note":"CCC Open Lightning Flow ","display":"global"}
NOTE: Opening a Lightning Flow requires additional configuration on the CRM side.
openCrmSearch
The action openCrmSearch searches the CRM for information. Applicable to Salesforce and MS Dynamics.
This action supports the following:
Name | Supported Values | Description |
---|
searchTemplate | Tenfold variables. | Variables which can be passed to the CRM to use as search parameters. "searchTemplate": "{<variable_name>}"... |
Supports name and value parameters which can be used with the URL to construct a search query.
Example 2. openCrmSearch
{"id":"<workflow_id>","_teams":[],"roles":["user"],"type":"onCall","action":{"type":"openCrmSearch","searchTemplate":"{callPhoneNumber}"},"match":"noMatch"}
openCrmUrl
Opens a relative URL (only in Salesforce Lightning); uses the Salesforce API to open a specified view based on passed parameters.
This action supports the following:
Name | Supported Values | Description |
---|
urlTemplate | A URL relative path. | A URL inside Salesforce which receives the parameters sent from the workflow. "urlTemplate":"<path_to_CRM_URL>","parameters":[ { "name": "<URL_parameter_name>", "value": "<URL_parameter_value>" } ],... |
Supports name and value parameters which can be used with the URL to construct a query.
Example 3. openCrmUrl
{"id":"<workflow_id>","_teams":[],"roles":["user"],"action":"openCrmUrl","urlTemplate:":"/internal-salesforce-relative-url/{callPhoneNumber}/{recordType}","parameters":[{"name":"id","value":"{callId}"},{"name":"module","value":"{recordType}"}]}
openRelatedResource
Opens a case or an opportunity that is related to the conversation. For specific use cases where the case is created in the bot flow and prior to the agent interaction, there is a mechanism to first relate the case from the LivePerson engagement attribute as provided in the example below. (This requires the engagement attribute to be updated prior to transferring the message to the agent.
This action supports the following:
Name | Supported Values | Description |
---|
relateInteractionFromEngagementAttr | | A case id or opportunity id from Salesforce is related to the interaction. { "id": <workflow_id>, "type": "onChat", "label": "relate from attr", "action": { "type": "relateInteractionFromEngagementAttr", "module": "Case", "id": "messages[0].text", "waitForCallAttribute": { "path": "messages[0]" } }, "display": "global", "enabled": false } |
openRelatedResource | A Case or Opportunity in Salesforce is opened after it is is related to the interaction | A URL inside Salesforce which receives the parameters sent from the workflow. { "id": "<workflow_id>", "type": "onChat", "label": "on chat open related resource!", "action": { "type": "openRelatedResource", "waitForCallAttribute": { "path": "relateResourceCrmRecord" } }, "display": "global", "enabled": false } |
Supports name and value parameters which can be used with the URL to construct a query.
Example 4. relateInteractionfromEngagementAttribute
{"id": "<workflow_id>","type": "onChat","label": "Relate resource from engagement attribute","action": {"type": "relateInteractionFromEngagementAttr","module": "Case","id": "consumer.imei","waitForCallAttribute": {"path": "consumer.imei"}},"display": "global","enabled": true}
Example 5. openRelatedRecord
{"id": "<workflow_id>","type": "onRelatedResource","label": "Open related resource on relate","action": {"type": "openRelatedResource"},"display": "global","enabled": true}
openCustomUrl
The action openCustomUrl opens a new URL in a new browser tab. Included parameters are converted into a query string.
This action supports the following:
Name | Supported Values | Description |
---|
urlTemplate | name and value parameters | The URL you want to open. May contain variables from the Tenfold platform. "urlTemplate" : "https://www.google.com/search","parameters" : [ { "name" : "q", "value" : "{recordName}" }... |
Supports name and value parameters which can be used with the URL to construct a query.
Example 6. openCustomUrl
{"id": "<workflow_id>","_teams": [],"roles": ["user"],"type": "webLink","display": "contact","label": "Look up name","action": {"type": "openCustomUrl","urlTemplate": "https://www.google.com/search","parameters": [{"name": "q","value": "{recordName}"}]}}
openMatchingRecord
The action openMatchingRecord opens a record which is in context in the CRM.
This action does not support any properties or variables.
Example 7. openMatchingRecord
{"id": "<workflow_id>","_teams": [],"roles": ["user"],"type": "resolveMultiMatch","action": {"type": "openMatchingRecord"}}
runApex
Executes an Apex method from an Apex class that’s exposed in Salesforce.
Name | Supported Values | Description |
---|
className | string | Apex class of the method to execute. |
methodName | string | Method to execute. |
params | | Method parameters to pass. The string must include field value pairs and be formatted as a valid query string. |
Example 8. runApex
{"type": "onCall","onSingleMatch":
true
,"action": [{"type": "runApex","className": "ExampleClass","methodName": "ExampleMethod","waitForAttachedData":
true
,"params": {"inputData": {"category": "{callAttachedData.category}","intent": "{callAttachedData.intent}","description": "{callDescription}"}}},{"type": "relateResource","param": "{returnValue.runApex.caseId}"}],"callDirection": "Inbound"}
sendRequest
Sends a REST request to Salesforce to a service on a local port.
Name | Supported Values | Description |
---|
requestType | GET | POST | |
urlTemplate | string | |
requestBody | | The body of the REST request. |
Example workflow: Open a URL from the CRM for no-match events
You can configure the application to automatically open a specific URL in the CRM for no-match events. Note that the configurator has automatically generated an ID. You must copy the unique ID created in your account for the workflow to work correctly. In place of the prepopulated code, paste the following code.
Organization Level Setup
{"type": "onCall","match": "noMatch","action": {"type": "openCrmUrl","urlTemplate": "<your_CRM_URL>"},"id": "<your_workflow_id>","_teams": ["<your_selected_teams>"],"roles": ["<your_selected_roles>"],"label": "No Match - Open CRM URL","note": "Upon No Match event, open the a designated URL in the CRM."}
Be sure to replace <your_CRM_URL> with the relative path to the URL from your CRM to use in the workflow.
Example workflow: Search the CRM for a matching record for multi-match events
You can configure the application to automatically show the search results in the CRM for a multi-match event. Note that the configurator has automatically generated an ID. You must copy the unique ID created in your account for the workflow to work correctly. In place of the pre-populated code, paste the following code. Organization Level Setup
{"id": "<your_workflow_id>","type": "onChat","label": "Open Global Search on MultiMatch","roles": ["<your_selected_roles>"],"match": "multiMatch","_teams": ["<your_selected_teams>"],"action": {"type": "openCrmSearch","searchTemplate": "{callPhoneNumber}"},"note": "Upon Multi Match event, open Global Search in the CRM."}
Skill Level SetupExample workflow: Open the matching CRM record for single-match events
This is the most sought after use of the OpenMatchingRecord functionality. This enables the matching CRM contact/account/lead to autopop when accepting the incoming message. Note that the configurator has automatically generated an ID. You must copy the unique ID created in your account for the workflow to work correctly.
Organization Level SetupYou may copy the code below and replace it with the default code in your configuration, but be sure to replace the ID with the original ID provided.
{"id": "d8876f28-45a0-4458-9ca5-6769c496c74e","type": "onChat","label": "Chat openMatchingRecord","note": "on openMatchingRecord workflow","action": {"type": "openMatchingRecord"},"display": "global","enabled": true}
Advanced Workflow
Use Launcher to Create Web Links
Create a weblink
The Launcher feature in Advanced Workflow lets you configure links to web sites which are accessible to users in the UI. Depending on the configuration, you may include Global links that appear irrespective of the interaction or Interaction based links that can be added to the Toolbar or as More links in the Agent UI. The interaction based links can use parameters from the Conversation or CRM objects. Please note, this feature also allows you to configure different links based on the LivePerson skill. Here are some examples of the Agent UI with these specific link types.
Global Links Global Link Menu A globe displays in the lower-right corner of the UI. Clicking the globe icon opens a list of weblinks.
CenterLargeAccessibilityDelete
More Links"More Links" Menu Displays as a list of links in a "Links" section on the back side of the contact card. The links only display during interactions, such as calls, and accept call attributes for use as parameters in the configured URL.
CenterMediumAccessibilityDelete
Toolbar Links Toolbar Displays in the lower-left corner of the UI. The links only display during interactions, such as calls, and accept call attributes for use as parameters in the configured URL.
To create weblinks using Launcher:
- In Tenfold Dashboard, click Features at the top of the page and then click Advanced Workflow in the left-hand navigation links.
- If Advanced Workflow is disabled, click the pill button at the top of the screen so it turns green and displays "Enabled."
- Click Manage Launcher.
- Click Create New Link.
- Select Messaging as the Interaction channel.
- Select the LivePerson Skills for which you would like the link to appear in the UI.
- From the Teams list, select All Users. The teams do not apply to the LivePerson Connector.
- From the Role list, select All Roles or leave it blank. The roles do not apply to the LivePerson Connector.
- Continue to the next section to see how to create a workflow using default parameters.
A weblink example using default parametersThe parameters included with the weblink workflow offer some common CRM information you can use in conjunction with URLs.
- At the top of the form which displays, click the "Link 1" default text and type a descriptive name for the workflow. This text displays in the Tenfold UI to help users understand what the link does.
- Click Add Description to enter some text describing the purpose of this link (optional). This information is only visible in Dashboard and will not be visible to the Agents.
- Under Link Type, select how this link will display. In this example, Toolbar is selected. As you make changes to the link configuration, your selections are reflected in the preview window.
- Configure the appearance of the link using the Text Color and Background Color selectors. Click inside the selection fields to open the color selector, or type hexadecimal color values in the fields.
- Enter the URL for the link in the URL field. NOTE: Be sure to include the protocol (http, https).
- Add your parameters. Example 1. URL using default parameter options This example will search Google for a consumers name. To include this information: First field = q Middle field = Call Third field = Phone Number In this example, user.name (user name for the record in context) defines the CRM object and property to search for. The variable name q is needed to supply the search engine with the CRM value (in this example, a phone number). Other URLs may require different parameters, so try setting up an example in the address bar of your browser first to see how the query looks before attempting to configure it in Tenfold.Every time the user clicks the link, the browser will submit these parameters along with the URL. However, since the phone number depends on the object currently in context, the value submitted will vary.Please note, you may also select a variable from the User, Organization or Chat dropdown to pass specific parameters in the URL. The Chat dropdown does not appear for the Global links because the Global links show outside of the context of the Conversation as well.
- Click Save to apply your changes.
CenterLargeAccessibilityDelete
A weblink example using custom parameters
- Type a name for the workflow.
- Enter an optional description for the workflow.
- Under Link Type, select how this link will display. This example uses Global Link Menu.
- Configure the appearance of the link using the Text Color and Background Color selectors. Click inside the selection fields to open the color selector.
- Enter the URL in the URL field. Example 2. Simple URL To open https://shopping.google.com, you type:
- Click +Add Parameter to add any parameters and variables you want to include. Example 2. URL with custom parameters These custom parameters search for a specific type of item. Note that each row includes an additional parameter. The parameters you can use depend on the website's support and configuration. This configuration searches for 27" monitors costing less than $200. tbm = required parameter in Google to direct the user to the shopping area q = required variable name in Google used to hold the value to search for 27" monitor under 200 = the string to search for (the value of the variable q) Tip Different systems require different parameters in the URL to perform searches or other tasks. It's helpful to try pasting your URL from the URL preview field into your browser address bar before saving your workflow. Testing while you're editing can save time when constructing your URL and parameters.
- Click Save to apply your changes. Be sure to refresh your UI if you are logged in to your CRM while editing the link.
CenterLargeAccessibilityDelete
Tip
Different systems require different parameters in the URL to perform searches or other tasks. It's helpful to try pasting your URL from the URL preview field into your browser address bar before saving your workflow. Testing while you're editing can save time when constructing your URL and parameters.
The weblink workflow in action
The link appears to the Agent user in the selected colors with the title text. It is accessible under the globe icon as illustrated above.
Clicking the link inserts the query in the address bar:
CenterLargeAccessibilityDelete
Note that the parameters in the URL query correspond to option selections in the UI.
You can use custom parameters to create queries on a variety of systems.Launcher variables
Workflow Launcher includes menus for selecting parameters to use in webLink workflows. The standard list includes the following variables:
NOTE: Your list may include customized parameters specific to your organization.
Table 1. Launcher parameters (standard) supported in webLinks. Additional variables configured in the Attached Data feature are made available on the Chat object.
Object | Property | Description |
---|
Chat | Channel Name | Indicates a channel that was used for the communication during a conversation. |
| Consumer Email | Consumer's email if received in LivePerson. |
| Consumer Phone | Consumer's phone if received in LivePerson. |
| Start Time | A date and time when the conversation started. |
| End Time | A date and time when the conversation ended. |
| External ID | |
| Skill ID | Agent’s skill. |
| Skill Name | Agent’s skill. |
| Chat Status | The status of the conversation. |
User | Name | Name of the logged in Tenfold user. |
| CRM Unique Id | Unique identifier assigned by the CRM to the logged in Tenfold user. |
| CRM Username | Unique username for the CRM user. |
| Username | The Tenfold username of the currently logged in Tenfold user. |
Organization | Company | Name of the logged in Tenfold user's company as defined in Tenfold Dashboard under Company Settings. |
| Locale | The locale of the currently logged in Tenfold user. |
| Timezone | Time zone of the logged in user as defined in Tenfold Dashboard under Company Settings. |
| Created At | Timestamp of when the user object was created in the Tenfold platform. |
Configure the Workflows using Manager Workflows
The Manage Workflows option under Advanced Workflow lets you configure a variety of automations using a JSON-based configurator.
To create a workflow:
- In Tenfold Dashboard, click Features at the top of the page and then click Advanced Workflow in the left-hand navigation links.
- If Advanced Workflow is disabled, click the pill button at the top of the screen so it turns green and displays "Enabled."
- Click Manage Workflows.
- Click Create New Workflow.
- At the top of the form which displays, click the "Link 1" default text and type a descriptive name for the workflow. The text displays in the UI to identify the webLink.
- Select Messaging for the Interaction Channel
- From the Skills, select the Skills that will have access to the workflow.
- From the Teams list, select All Teams or the specific teams that will have access to the workflow. The teams do not apply to the LivePerson Connector.
- From the Role list, select All Roles that will have access to the workflow. The roles do not apply to the LivePerson Connector.
- Under Add Description, enter some text describing the purpose of this link (optional).
In the right panel, some code displays. Replace the default code with your own workflow information. Example 1. A simple workflow This workflow searches the CRM for the phone number when an incoming call does not match any contacts.
{"id": "<your_workflow_id>","label": "Search the internet when no match is found","roles": ["<your_selected_roles>"],"_teams": ["<your_workflow_teams>"],"type": "onCall","match": "noMatch","action": {"type": "openCustomUrl","urlTemplate": "https://www.google.com/search?q={callPhoneNumber}"}}
There are two main parts to any workflow. The trigger (not highlighted above) is activated when there is a call (type is "onCall") when there is no matching phone number in the CRM. And the action, which is the event the trigger causes the happen, is shown below in red: The trigger and the action each have a type property. The type defines the kind of trigger and the kind of action. For more information on triggers, actions, and supporting components, see Advanced Workflow reference (section below). You can configure workflows in many different ways using a variety of triggers, actions, and variables.
Click Save to apply your changes. Be sure to refresh your UI if you are logged in to your CRM while editing the link.
Supported variables
The following variables can be used in workflows using trigger types other than webLink.
Table 1. Workflow variables supported in Manage Workflows (workflows other than webLink). Additional variables configured in the Attached Data feature are made available on the Chat object.
Property | Description | Notes |
---|
recordId | Unique identifier assigned by the CRM to the matched record from the CRM. For example, a contact, account, or lead. | |
recordName | Name of the matched record from the CRM. For example, the name of the contact, account, or lead. | |
recordEmail | Email address associated with the matched record from the CRM. | |
recordPhone | Phone number associated with the matched record from the CRM. | |
recordType | Type of CRM record for the matched record. For example, a contact, lead, or account. | |
Advanced Workflow Reference
Workflow triggers
The top level of the workflow includes the information about the trigger. A trigger is a set of conditions that must happen (such as clicking a link or receiving a call) before the action portion of the workflow can occur.
Tenfold includes the following workflow triggers:
- webLink Adds links with custom labels to the UI. This trigger is the same as the one used to create workflows for Launcher; however, it is possible to go beyond the basic abilities configured in Launcher by using webLink in custom workflows.
- onChat Performs an activity as defined by the action section when an inbound message is received.
- resolveMultiMatch Performs the defined action when a multi-match call is resolved to a single match.
- resolveNoMatch Performs the defined action when a no-match call is resolved to a single match.
- onClickCreateRecord Performs the defined action when a user creates a new record in the UI.
- onNoteSave Performs the defined action when a user saves note for an interaction.
Required trigger properties
All workflow triggers must include the following properties:
Table 1. Required trigger properties for all workflows
Name | Supported values | Description |
---|
_teams | specific teams configured for the CRM | Teams assigned to the workflow. "_teams":[ ], |
action | | Defines the resulting behavior when the trigger condition is met. For more information, see Actions. "action": { "type": "<type>", ... } |
id | generated string | Unique identifier of the workflow generated by Tenfold. IMPORTANT: Do not change this value. |
label | user-created string | User-friendly name identifying the workflow. "label" : "Example Workflow Label", |
roles | admin user other roles configured for the CRM | User roles that can access the workflow. "roles":[ "user", "admin", ... ] |
type | | The kind of trigger used in the workflow. |
Workflow actions
The workflow proceeds to the action portion when the conditions for the trigger are met. The action section of the workflow is inside the action {...} of the workflow code.
Tenfold includes the following actions:
- openCustomUrl Opens a URL in a browser tab.
- openMatchingRecord Opens a record in context in the CRM.
- openCrmSearch Opens search in the CRM. Support is limited to Salesforce and MS Dynamics.
- openCrmFlow Opens a Salesforce Lightning Flow.
- openCrmUrl Opens a relative URL (only in Salesforce Lightning); uses the Salesforce API to open a specified view.
- runApex Runs a Salesforce OpenCTI method.
- sendRequest Sends an http request. This action can support use cases where it is necessary to make a request to some service on a localhost:port.
Actions define what happens when the conditions for the trigger are met. In the action section of each workflow, there is a type variable which holds the action type. The workflow types and the actions supported by each are listed below. You may select specific LivePerson skills for which you would like to enable these workflow actions.
Table 2. Workflow triggers and the actions they support
| Triggers | | | | | |
---|
Actions | webLink | onChat | resolveMultiMatch | resolveNoMatch | onClickCreateRecord | onNoteSave |
openCustomUrl | ✓ | ✓ | ✓ | ✓ | ✓ | |
openMatchingRecord (Supported with Lightning component) | | ✓ | ✓ | ✓ | | |
openCrmSearch | | ✓ | ✓ | ✓ | | |
openCrmFlow (Supported with Lightning component) | | ✓ | | ✓ | | |
openCrmUrl | | ✓ | ✓ | ✓ | | |
openRelatedResource(Supported with Lightning component) | | ✓ | | | | |
relateInteractionFromEngagementAttr(Supported with Lightning component) | | ✓ | | | | ✓ |
runApex | | ✓ | | | | |
sendRequest | | ✓ | | | | |
Worfklow actions and properties
openCrmFlow
Opens a Salesforce Lightning Flow.
This action supports the following:
Name | Supported Values | Description |
---|
name | string | Flow API name "name":"<Flow_API_name>" |
args | name = Flow variable name type = the data type of the variable value = the name of the variable which passes a value to the workflow | Name of a Lightning Flow variable that is configured as "Available for input" in the variables settings. "args":[ { "name":"<flow_variable_name>", "type":"<variable_data_type>", "value":"<variable_name>" }],... |
Supports the args property which holds input information for the Lightning Flow.
Example 1. openCrmFlow
{"id":"<workflow_id>","type":"onCall","label":"Open Lightning Flow","roles":["admin","user"],"_teams":[],"callDirection":"Inbound","callType":"External","action":{"type":"openCrmFlow","name":"Tenfold_Call_Initiation","args":[{"name":"input_UUID","type":"String","value":"{callAttachedData.UUI}"},{"name":"input_CCID","type":"String","value":"{callAttachedData.UCID}"}]},"note":"CCC Open Lightning Flow ","display":"global"}
NOTE: Opening a Lightning Flow requires additional configuration on the CRM side.
openCrmSearch
The action openCrmSearch searches the CRM for information. Applicable to Salesforce and MS Dynamics.
This action supports the following:
Name | Supported Values | Description |
---|
searchTemplate | Tenfold variables. | Variables which can be passed to the CRM to use as search parameters. "searchTemplate": "{<variable_name>}"... |
Supports name and value parameters which can be used with the URL to construct a search query.
Example 2. openCrmSearch
{"id":"<workflow_id>","_teams":[],"roles":["user"],"type":"onCall","action":{"type":"openCrmSearch","searchTemplate":"{callPhoneNumber}"},"match":"noMatch"}
openCrmUrl
Opens a relative URL (only in Salesforce Lightning); uses the Salesforce API to open a specified view based on passed parameters.
This action supports the following:
Name | Supported Values | Description |
---|
urlTemplate | A URL relative path. | A URL inside Salesforce which receives the parameters sent from the workflow. "urlTemplate":"<path_to_CRM_URL>","parameters":[ { "name": "<URL_parameter_name>", "value": "<URL_parameter_value>" } ],... |
Supports name and value parameters which can be used with the URL to construct a query.
Example 3. openCrmUrl
{"id":"<workflow_id>","_teams":[],"roles":["user"],"action":"openCrmUrl","urlTemplate:":"/internal-salesforce-relative-url/{callPhoneNumber}/{recordType}","parameters":[{"name":"id","value":"{callId}"},{"name":"module","value":"{recordType}"}]}
openRelatedResource
Opens a case or an opportunity that is related to the conversation. For specific use cases where the case is created in the bot flow and prior to the agent interaction, there is a mechanism to first relate the case from the LivePerson engagement attribute as provided in the example below. (This requires the engagement attribute to be updated prior to transferring the message to the agent.
This action supports the following:
Name | Supported Values | Description |
---|
relateInteractionFromEngagementAttr | | A case id or opportunity id from Salesforce is related to the interaction. { "id": <workflow_id>, "type": "onChat", "label": "relate from attr", "action": { "type": "relateInteractionFromEngagementAttr", "module": "Case", "id": "messages[0].text", "waitForCallAttribute": { "path": "messages[0]" } }, "display": "global", "enabled": false } |
openRelatedResource | A Case or Opportunity in Salesforce is opened after it is is related to the interaction | A URL inside Salesforce which receives the parameters sent from the workflow. { "id": "<workflow_id>", "type": "onChat", "label": "on chat open related resource!", "action": { "type": "openRelatedResource", "waitForCallAttribute": { "path": "relateResourceCrmRecord" } }, "display": "global", "enabled": false } |
Supports name and value parameters which can be used with the URL to construct a query.
Example 4. relateInteractionfromEngagementAttribute
{"id": "<workflow_id>","type": "onChat","label": "Relate resource from engagement attribute","action": {"type": "relateInteractionFromEngagementAttr","module": "Case","id": "consumer.imei","waitForCallAttribute": {"path": "consumer.imei"}},"display": "global","enabled": true}
Example 5. openRelatedRecord
{"id": "<workflow_id>","type": "onRelatedResource","label": "Open related resource on relate","action": {"type": "openRelatedResource"},"display": "global","enabled": true}
openCustomUrl
The action openCustomUrl opens a new URL in a new browser tab. Included parameters are converted into a query string.
This action supports the following:
Name | Supported Values | Description |
---|
urlTemplate | name and value parameters | The URL you want to open. May contain variables from the Tenfold platform. "urlTemplate" : "https://www.google.com/search","parameters" : [ { "name" : "q", "value" : "{recordName}" }... |
Supports name and value parameters which can be used with the URL to construct a query.
Example 6. openCustomUrl
{"id": "<workflow_id>","_teams": [],"roles": ["user"],"type": "webLink","display": "contact","label": "Look up name","action": {"type": "openCustomUrl","urlTemplate": "https://www.google.com/search","parameters": [{"name": "q","value": "{recordName}"}]}}
openMatchingRecord
The action openMatchingRecord opens a record which is in context in the CRM.
This action does not support any properties or variables.
Example 7. openMatchingRecord
{"id": "<workflow_id>","_teams": [],"roles": ["user"],"type": "resolveMultiMatch","action": {"type": "openMatchingRecord"}}
runApex
Executes an Apex method from an Apex class that’s exposed in Salesforce.
Name | Supported Values | Description |
---|
className | string | Apex class of the method to execute. |
methodName | string | Method to execute. |
params | | Method parameters to pass. The string must include field value pairs and be formatted as a valid query string. |
Example 8. runApex
{"type": "onCall","onSingleMatch":
true
,"action": [{"type": "runApex","className": "ExampleClass","methodName": "ExampleMethod","waitForAttachedData":
true
,"params": {"inputData": {"category": "{callAttachedData.category}","intent": "{callAttachedData.intent}","description": "{callDescription}"}}},{"type": "relateResource","param": "{returnValue.runApex.caseId}"}],"callDirection": "Inbound"}
sendRequest
Sends a REST request to Salesforce to a service on a local port.
Name | Supported Values | Description |
---|
requestType | GET | POST | |
urlTemplate | string | |
requestBody | | The body of the REST request. |
Example workflow: Open a URL from the CRM for no-match events
You can configure the application to automatically open a specific URL in the CRM for no-match events. Note that the configurator has automatically generated an ID. You must copy the unique ID created in your account for the workflow to work correctly. In place of the prepopulated code, paste the following code.
Organization Level Setup
{"type": "onCall","match": "noMatch","action": {"type": "openCrmUrl","urlTemplate": "<your_CRM_URL>"},"id": "<your_workflow_id>","_teams": ["<your_selected_teams>"],"roles": ["<your_selected_roles>"],"label": "No Match - Open CRM URL","note": "Upon No Match event, open the a designated URL in the CRM."}
Be sure to replace <your_CRM_URL> with the relative path to the URL from your CRM to use in the workflow.
Example workflow: Search the CRM for a matching record for multi-match events
You can configure the application to automatically show the search results in the CRM for a multi-match event. Note that the configurator has automatically generated an ID. You must copy the unique ID created in your account for the workflow to work correctly. In place of the pre-populated code, paste the following code. Organization Level Setup
{"id": "<your_workflow_id>","type": "onChat","label": "Open Global Search on MultiMatch","roles": ["<your_selected_roles>"],"match": "multiMatch","_teams": ["<your_selected_teams>"],"action": {"type": "openCrmSearch","searchTemplate": "{callPhoneNumber}"},"note": "Upon Multi Match event, open Global Search in the CRM."}
Skill Level Setup
Example workflow: Open the matching CRM record for single-match events
This is the most sought after use of the OpenMatchingRecord functionality. This enables the matching CRM contact/account/lead to autopop when accepting the incoming message. Note that the configurator has automatically generated an ID. You must copy the unique ID created in your account for the workflow to work correctly.
Organization Level Setup
You may copy the code below and replace it with the default code in your configuration, but be sure to replace the ID with the original ID provided.
{"id": "d8876f28-45a0-4458-9ca5-6769c496c74e","type": "onChat","label": "Chat openMatchingRecord","note": "on openMatchingRecord workflow","action": {"type": "openMatchingRecord"},"display": "global","enabled": true}