Call Flow Nodes
Call flow nodes combine to make up a customized interactive voice response (IVR) engine, using logic and interaction to identify the appropriate queue a caller should be placed in. Nodes can check information, set variables, ask the user for input, integrate with third-party systems, and exit the call flow.
The QuickIVR Editor allows the user to create and configure their custom IVR (Figure 1).
Figure 1 QuickIVR Editor
The right side of QuickIVR Editor shows a graphical representation of the call flow. When zoomed in, click and drag to move within the visual editor. Use the zoom controls in the lower right to take a closer look at a particular section of the call flow. Click a node to load its properties in the left pane.
Select a new node type in the bottom left and click Add to add the node to the call flow.
Nodes are intelligently color-coded (Table 1). There are four types of nodes, including Check, Set, User Interaction, and End State nodes. Oval-shaped decision nodes do not have any user interaction. Arrows connecting nodes together display labels detailing information about the relationship.
Node Color | Node Description |
---|---|
Blue | This is an end-state node. |
Dark gray | This is a standard logic node. |
Light gray | This is a user interaction node. |
Gold | This is the currently selected node. |
The left side of the QuickIVR Editor allows the user to edit the properties of call flow nodes. Click Edit next to the node name to modify the node.
The Edit button at the top of the left pane (next to Publish) displays properties for the call flow itself (Figure 2), allowing the user to specify a default Start node and Error node, import the flow from a previously exported Connect call flow file, restore the most recent published version (and lose any current edits), or discard the current edits.
Figure 2 Edit call flow information
Click Publish to immediately place the call flow into effect. Call flows that contain missing information or are incomplete cannot be published; an error message will appear if the call flow is broken, and a red MISSING label will display in the visual editor where additional information is required.
Click Save Image… to save a local image of the call flow.
Check Nodes
The following items are types of Check nodes:
Coalesce
This node allows a caller to parse through a CSV list of Extra Items to select which value to retrieve.
For any CSV Extra Items that contain the same number of items as the one being parsed through, place the Extra Items under Retrieve the values from the following CSV list of CSV Extra Items.
By default, this node will replace the CSV Extra Item with the single result. If you want to save the single result to a new Extra Item, check the Yes checkbox and enter the Extra Item, without {{ }}.
Figure 3 Coalesce node

- Node name
- Speak the value in this CSV Extra Item
- Retrieve the values from the following CSV list of CSV Extra Items
- Should we save the retrieved results from the above Extra Items to new Extra Items?
- Save results to these Extra Items (CSV of same length as above) [only shown when Yes checked]
- Next Node on Selection Made
- Existing nodes in call flow
- New nodes
- Next Node on Skipped/Error/Default
- Existing nodes in call flow
- New nodes
- DTMF to Skip
- #
- *
- Silence Timeout
- Maximum Retry Count
Check Config
This node checks a portal configuration setting based on the Config Key. If the Config Key value matches a Mappings value, the call is sent to the matching node. Otherwise, the call is sent to the default node.
Figure 4 Check Config node

- Node name
- Config Key
- Match [can add multiple values to match against]
- Existing nodes in call flow
- New nodes
- Default
- Existing nodes in call flow
- New nodes
Check Extra Item
This node checks the value of the session’s extra item value based on the extra item key name.
Extra items can be set using Set Extra Item, Prompt, Set Queue, or Custom nodes. If the value matches a Mappings value, the call is sent to the matching node. Otherwise, the call goes to the default node.
Figure 5 Check Extra Item node

- Node name
- Extra Item Key Name
- Extra Item Value to Node Mappings [can add multiple values to match against]
- ==
- <>
- >=
- <=
- cont.
- !cont.
- Existing nodes in call flow
- New nodes
- Default Node
- Existing nodes in call flow
- New nodes
Check Priority
This node checks the priority value (which can be set in the Set Priority node) and, based on the comparison value, routes the session to one of the two next nodes.
Figure 6 Check Priority node

- Node name
- Comparison Priority
- Greater Than or Equal
- Existing nodes in call flow
- New nodes
- Less Than
- Existing nodes in call flow
- New nodes
Check Queue
This node checks the value of the assigned queue if it has been set using a Set Queue node.
If there is a matching value in the Queue Mappings section, this node sends the call to the matching node. If there is no mapping or the queue has not been set, the call is sent to the default node.
Figure 7 Check Queue node

- Node name
- Queue : Node [can add multiple queue: node mappings]
- List of configured queues
- Existing nodes in call flow
- New nodes
- Default
- Existing nodes in call flow
- New nodes
Check Queue State
This node routes a call based on a queue’s current state. If a queue has been set using a Set Queue node, you can compare it against the assigned queue. Otherwise, you can specify another queue to compare it against.
The node performs comparisons against the number of agents currently online in the queue, the number of agents currently available in the queue, the number of calls currently waiting in queue, or the number of seconds the oldest call has been waiting in queue. The selected parameter is compared against the Comparer field and the session is sent to one of the two configured next nodes depending on the result of the comparison.
Figure 8 Check Queue State node

- Node name
- Use assigned queue?
- Queue
- List of configured queues
- Parameter
- AgentsOnline
- AgentsAvailable
- CallsInQueue
- OldestCallInQueueInSeconds
- ActiveCalls
- AgentsInCall
- QueueDepth
- Comparor
- Next Node if actual is Greater
- Existing nodes in call flow
- New nodes
- Next Node if actual is Less than or equal to
- Existing nodes in call flow
- New nodes
- Extra Item to Save Retrieved Queue Parameter
- Extra Item to Save Calculation Result of Parameter and Comparison Value
Check Time
This node checks the configured portal business hours, queue business hours, holiday hours, or a custom time range entered by the user. The session is sent to one of three nodes based on whether the call was received within or outside of the configured hours, or if it is currently a holiday.
Figure 9 Check Time node

- Node name
- Mark as completed After Hours
- Hours to Check dropdown
- PortalBusinessHours
- QueueBusinessHours
- CustomCalendar
- CustomHours
- Use Queue [only enabled when QueueBusinessHours selected in Hours to Check]
- List of configured queues
- Use assigned queue? [only enabled when QueueBusinessHours selected in Hours to Check]
- Time zone [only enabled when CustomHours selected in Hours to Check]
- List of time zones
- Start [only enabled when CustomHours selected in Hours to Check]
- End [only enabled when CustomHours selected in Hours to Check]
- Use Calendar [only enabled when CustomCalendar selected in Hours to Check]
- List of configured calendars
- Next Node if within hours
- Existing nodes in call flow
- New nodes
- Next Node if outside hours
- Existing nodes in call flow
- New nodes
- Next Node if holiday
- Existing nodes in call flow
- New nodes
Check URI
This node checks either the incoming phone number or the caller’s SIP address or phone number.
If the mappings list contains a number matching the specified URI, the session is sent to the appropriate next node. Otherwise, the call is sent to the default node.
Figure 10 Check URI node

- Node name
- Results [can add multiple values to match against]
- Existing nodes in call flow
- New nodes
- Default
- Existing nodes in call flow
- New nodes
- Check Against
- IncomingUri
- CallerUri
External Data Access
This node accesses data from an external resource and brings the returned value into a Connect extra items variable to be used throughout a call flow. This node supports connecting to a SQL Server or ODBC database, a Windows Communication Foundation (WCF) Web Service, or a HTTP Web Service.
If Database is selected, a dropdown menu to select the Connection Type will be present, SQL Server is selected by default. Additional fields will prompt for both a database connection string and the query to run.
If HTTP Web Service is selected, enter the HTTP Web Service Address.
If WCF Web Service is selected, enter the WCF Web Service Address and then click Read WSDL. Select Contract and Method from the drop-down list and enter any parameters that should be sent to the service call.
After selecting the desired external communication method and entering the appropriate data, click Assign Return Values. This shows all potential return values from the external access call and allows the user to assign them to an extra item by typing the name of the variable.
Additional options allow the user to set a timeout and choose whether the session sends to the next node upon either an error or call completion. The Coalesce node may be used if multiple results are returned from the query.
Figure 11 External Data Access node

- Node name
- External Data Type
- Database
- HTTP Web Service
- WCF Web Service
- Connection Type [only shown when Database selected in External Data Type]
- SQL Server
- ODBC
- Database Connection String [only shown when Database selected in External Data Type]
- Query [only shown when Database selected in External Data Type]
- HTTP Web Service Address [only shown when HTTP Web Service selected in External Data Type]
- WCF Web Service Address [only shown when WCF Web Service selected in External Data Type]
- Read WSDL [only shown when HTTP Web Service selected in External Data Type]
- Contract [only shown when HTTP Web Service selected in External Data Type]
- Method [only shown when HTTP Web Service selected in External Data Type]
- Parameters [only shown when HTTP Web Service selected in External Data Type]
- Assign Return Values
- Timeout (ms)
- How to handle Multiple Results Found
- Treat as No Result
- Take First Result
- Take all Results (CSV)
- Next Node for Single Result Found
- Existing nodes in call flow
- New nodes
- Next Node for Multiple Results Found
- Existing nodes in call flow
- New nodes
- Next Node for No Results Found
- Existing nodes in call flow
- New nodes
- Next Node After Error Value
- Existing nodes in call flow
- New nodes
- Save Compare Result to Extra Item
Check Modality
This node checks the modality of the current session and determines whether the session is an IM session or a voice call. The session is then sent to one of two nodes depending on its modality.
Figure 12 Check Modality node

- Node name
- Next Node if Voice Session
- Existing nodes in call flow
- New nodes
- Next Node if IM Session
- Existing nodes in call flow
- New nodes
Check User Presence
This node retrieves a user’s Skype for Business presence (available, logged off, or in another state). The result of the retrieved presence can be saved to an extra item.
Figure 13 Check User Presence node

- Node name
- User SIP Address
- Available Next Node
- Existing nodes in call flow
- New nodes
- Logged Off Next Node
- Existing nodes in call flow
- New nodes
- Other Status Next Node
- Existing nodes in call flow
- New nodes
- Save Retrieved Presence to Extra Item
Do Math
This node performs mathematical expressions and string comparisons within the call flow. A routing decision is based on whether the result of the mathematical expression or string comparison is greater than (>), less than (<), or not equal to (!=) a defined comparison value.
Enter a formula in the Calculation field to mathematically evaluate it. To evaluate a string or number in a non-mathematical way (i.e., to perform a comparison on a phone number, account number, etc.), place a single quote mark (‘) on either side of the value. Enter an expression or string in the Comparison field to compare the result of the calculation to.
The Calculation field also supports the following functions:
- To trim a string either right or left, starting at the index, N characters, use Trim(‘<string to be trimmed>’,’<direction to trim>’,<index>,<length of trim>). Left, left, Right, and right are all acceptable formats for <direction to trim>.
- To return the three-digit area code from a 10 or 11-digit North American phone number (e.g., ‘312’), use GetUsCanAreaCode(‘<string>’)
- To return the three-digit prefix from a 10 or 11-digit North American phone number (e.g., for 3125551234, the digits ‘555’ would be returned), use GetUsCanPrefix(‘<string>’)
- To remove characters from a base string, use Remove(BaseString,StringToRemove)
- To replace characters from a base string, use Replace(BaseString,StringToReplace,ReplacementString)
- To perform a square root function, use sqrt(#)
- To return last digits, use GetLastDigits(#) where # is the number of digits returned from the end of the string
Figure 14 Do Math node

- Node name
- Calculation
- Save Calculation Result to Extra Item
- Compare Result of Calculation to this value
- Next Node if Calculation > Compare Value
- Existing nodes in call flow
- New nodes
- Next Node if Calculation < Compare Value
- Existing nodes in call flow
- New nodes
- Next Node if Calculation == Compare Value
- Existing nodes in call flow
- New nodes
- Next Node if Calculation != Compare Value
- Existing nodes in call flow
- New nodes
- Save Compare Result to Extra Item
Set Nodes
The following items are types of Set nodes:
Set Block Recording
This node allows or blocks all recording for a session. If Block Recording is selected, the node will override all configured recording settings and not record a session that routes through the node. If Allow Recording is selected, recording will be enabled, respecting other configured recording settings.
Figure 15 Set Block Recording node

- Node name
- Select recording option
- Allow Recording
- Block Recording
- Next Node
Set Config
This node sets the portal configuration setting for the Key specified to the Configured value. The value can be checked using a Check Config node.
Figure 16 Set Config node

- Node name
- Key
- Value
- Next Node
Set Extra Item
This node sets the session’s extra item for the key specified to the configured value. This can then be checked using a Check Extra Item node. The value can also be set to a combination of previously defined extra items by using the syntax {{ExtraItem1}}{{ExtraItem2}}.
This node can also set SYSTEM values using the key name format SYSTEM.{parameter}, which are persisted after a call is in queue. Available SYSTEM parameters include CallerPhoneNumber, CustomerIdentifier, OriginalToUri, and CustomerFullName.
Figure 17 Set Extra Item node

- Node name
- Extra Item Key Name
- Extra Item Value
- Next Node
Set Priority
This node sets the numeric priority for the session and is used in call routing when determining which session to route to a newly available agent. The value is checked using the Check Priority node. The lowest priority and the default value is 0. The highest priority is 10.
Figure 18 Set Priority node

- Node name
- Priority
- Next Node
Set Queue
This node sets the session’s queue by selecting it from the drop-down menu. It does not immediately place the session into queue, but it does set up logic for later in the flow that will be used when the session hits an Enqueue node without an overridden queue. This node can also be used with a Check Queue node.
Figure 19 Set Queue node

- Node name
- Queue
- From Extra Item
- List of configured queues
- Extra Item Key Name
- Next Node
Run Custom Code
This node runs previously written custom nodes that have been compiled into libraries.
Figure 20 Run Custom Code node

- Node name
- Voice Prompt
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Synth [only shown when Synthesized Text selected in Voice Prompt]
- Name [only shown when From Extra Item selected in Voice Prompt]
- Custom DLL
- Custom Class Name
- Next Node
Set Agent Preference
This node allows a user to set either a list of preferred agents or a single required agent in the IVR for a session, which will offer the session to the preferred agent(s) if available.
Select either Preferred or Required. Additional fields appear depending on the selection. Enter the desired agent. The system will search for agents by either their first or last name, e-mail address, SIP address, telephone number, login name, or Connect AgentId.
Figure 21 Set Agent Preference node

- Node name
- Set Preferred or Required Agent
- Preferred
- Required
- Set Preferred Agent List (Separate with ; - Extra Items Supported) [only shown when Preferred selected]
- Set Required Agent (Extra Item Supported) [only shown when Required selected]
- Next Node
Set Language
This node allows the user to select a text-to-speech voice and speech recognition engine (that must be installed on all application servers) that will be persisted for the duration of the call flow.
Figure 22 Set Language node

- Node name
- Synthesized Text Voice to Use
- List of installed voice packs
- Speech Recognition / Voice Input Engine
- List of installed speech recognition packs
- Next Node
Set Screen Pop URL
This node allows an IVR to set a specific URL for a website that will be loaded within the Agent Console as a screen pop. Setting a screen pop URL via this node supersedes any other configured screen pop in the platform, including one set via an Integration node.
Figure 23 Set Screen Pop URL node

- Node name
- Url To Pop inside Agent Console (field supports Extra Items)
- Overwrite Agent Console Screen Pop with this URL
- Next Node
User Interaction Nodes
The following items are types of User Interaction nodes:
Message
This node plays either a previously uploaded voice prompt or synthesized text to the caller. After the selected audio has played, the caller is moved to the next node.
When using synthesized text-to-speech, {{variableName}} will speak the contents of an extra item entry, and {{SYSTEM.systemVariableName}} will speak standard context items such as CustomerFullName, CallerPhoneNumber, CustomerIdentifier, and OriginalToUri. This node also supports multiple sequential prompts and text-to-speech.
Figure 24 Message node

- Node name
- Voice Prompt
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Synth [only shown when Synthesized Text selected in Voice Prompt]
- Select Specialized Synthesis Option [only shown when Synthesized Text selected in Voice Prompt]
- None
- Each Individual Character
- Telephone Number (North America)
- Currency Value
- Name [only shown when From Extra Item selected in Voice Prompt]
- Add
- Delete
- Next Node
Prompt
This node allows the system to request input from the user. It then routes the session based on that response.
When the node initiates, audio is played to the user using either a voice prompt or synthesized text according to the main prompt box. When the user presses a tone or speaks, that input is compared against the results mappings. If a match is found, the session is sent to the appropriate next node. If no input is identified from the user, the No Input prompt will play for the caller before the main prompt is re-played.
If the user’s input cannot be matched to a mapping in the results list, the Bad Input prompt is played for the caller before the main prompt is re-played. The type of input accepted is configured by the DTMF and Voice check boxes.
If Can Interrupt is selected, the user will be able to provide input while the main prompt is still playing and will be routed away before the prompt completes. If Can Interrupt is not selected, the system will not listen for input from the caller until the main prompt has completed. The voice recognition and spoken language can be overwritten from their system default settings on a per-node basis. StopPromptAudioOnFirstInput controls whether or not a voice prompt or synthesized message is stopped as soon as any caller input is detected.
The caller’s response can be saved to the Call Context using the Save to Session Extra Item field, so it can be used later in the call flow. That value can either be an extra item key name (which can be any alpha string, like CustomFieldName), or a SYSTEM parameter using the key name format SYSTEM.{parameter}, which are persisted after a call is in queue. Available SYSTEM parameters include CallerPhoneNumber, CustomerIdentifier, OriginalToUri, and CustomerFullName.
If using synthesized text-to-speech, {{variableName}} will speak the contents of an extra item entry, and {{SYSTEM.systemVariableName}} will speak standard context items such as CustomerFullName, CallerPhoneNumber, CustomerIdentifier, and OriginalToUri.
To allow the caller the ability to enter any number at a prompt (i.e., any four-digit number) via DTMF, use ? in place of each number in the results list (i.e. ???? or 12?4). To allow any number of numbers or characters, use * as a wildcard, and anything will be accepted in that position.
If using the call flow for an IM attendant, a match will be identified if the mapped text is contained in the customer’s response; wildcards are respected as well.
Figure 25 Prompt node

- Node name
- Main Prompt
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Synth [only shown when Synthesized Text selected in Main, No Input, or Bad Input Prompt]
- Name [only shown when From Extra Item selected in Main, No Input, or Bad Input Prompt]
- Results [can add multiple values to match against]
- Existing nodes in call flow
- New nodes
- Default
- Existing nodes in call flow
- New nodes
- No Input Prompt
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Bad Input Prompt
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Silence Timeout
- MaxRepeatTimes
- Save To Session Extra Item
- DTMF for Terminating Digit
- #
- None
- DTMF
- Voice
- Can Interrupt
- Enable Private Mode
Background Message Start
This node initiates the playback of a background voice prompt or synthesized text during a lengthy synchronous processes, such as obtaining data from the External Data Access node.
When using synthesized text-to-speech, {{variableName}} will speak the contents of an extra item entry, and {{SYSTEM.systemVariableName}} will speak standard context items such as CustomerFullName, CallerPhoneNumber, CustomerIdentifier, and OriginalToUri.
The Start Background Message node has an option to restart the process if it is not complete. This repeats the audio until the Stop Background Message node is activated. This feature is typically used in conjunction with the External Data Access node and the Stop Background Message node.
Figure 26 Background Message Start node

- Node name
- Voice Prompt
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Synth [only shown when Synthesized Text selected in Voice Prompt]
- Name [only shown when From Extra Item selected in Voice Prompt]
- Restart if process not complete
- Next Node
Background Message Stop
This node will stop any Background Message nodes previously started. There is an option to allow the message to complete before stopping, which will finish playing the prompt or synthesized text before proceeding.
Figure 27 Background Message Stop node

- Node name
- Allow Text Prompt to Complete
- Next Node
Update Voice Prompt
This node will prompt the user to record a voice prompt that will then be configured in the Quick IVR as a node setting. Connect will run through a series of steps to record an updated prompt and allow verification and approval of the recording. The audio is then processed and loaded immediately as the updated voice prompt. The session will be sent to the next node on either a successful update or a cancel/failure path.
Figure 28 Update Voice Prompt node

- Node name
- Voice Prompt To Modify
- List of configured voice prompts
- From Extra Item
- Name [only available when From Extra Item selected in Voice Prompt]
- Successful Node
- Existing nodes in call flow
- New nodes
- Cancel Node
- Existing nodes in call flow
- New Nodes
End State Nodes
The following items are End State nodes:
Enqueue
This node places the call into either the specified queue or in a queue previously set using a Set Queue node.
Figure 29 Enqueue node

- Node name
- Queue [only enabled when Override Set Queue checked]
- List of configured queues
- Override Set Queue
Hang Up
This node ends the session.
Figure 30 Hang Up node

- Node name
Transfer
This node allows a session to transfer to an outside entity. The node can be configured to transfer to a phone number, a SIP address’s voicemail box, or a queue forwarding URI, which can use either a configured queue or the session’s previously set queue from a Set Queue node.
SIP address voicemail boxes must be in the format sip:{name}@{domain}.
Figure 31 Transfer node

- Node name
- Use Queue Transfer URI [only enabled when Override Set Queue checked]
- List of configured queues
- Override Set Queue [only enabled when QueueForwardingUri selected in Transfer Type]
- Separate Transfer URI [only enabled when Regular or VoiceMail selected in Transfer Type]
- Transfer Type
- Regular
- VoiceMail
- QueueForwardingUri
Transfer to Call Flow
This node is used to transfer the session to another call flow. If a node other than the default is desired, the Transfer to Call Flow node also allows the user to send the session to an alternate node.
Figure 32 Transfer to Call Flow node

- Node name
- Call Flow
- List of configured call flows
- Node
- List of nodes in selected call flow
Route to Agent by Name
This node allows callers to speak the name of an agent or user (if Active Directory is enabled) that they wish to connect to, similar to the functionality provided by the Unified Messaging attendant. For calls routed to Connect agents, these transfers are treated as direct inbound calls and preserve the Connect Agent Console experience.
Figure 33 Route to Agent by Name node

- Node name
- Prompt for Initial Message
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Prompt for Retry Message
- List of configured voice prompts
- Synthesized Text
- From Extra Item
- Synth [only shown when Synthesized Text selected in Prompt]
- Name [only shown when From Extra Item selected in Prompt]
- Default Next Node (Error/Escape)
- Existing nodes in call flow
- New nodes
- Next Node if Number of Retries Exceeded
- Existing nodes in call flow
- New nodes
- Silence Timeout Period
- DTMF Tone to Escape (proceed to default node)
- DTMF Tone to Retry
- Allowed Retry Attempts
- Enable Route to AD Users
- AD Organization to Include
- ALL
- Microsoft Exchange Security Groups
Integration Nodes
The following items are Integration nodes:
Dynamics Customer Lookup
This node queries the Microsoft Dynamics Online platform’s accounts and contacts to pull data into Clarity Connect, provide caller context via a screen pop or URL in the Agent Console window, and then push data back to the platform after the session has ended.
From the Lookup Type drop-down menu, select Automatic Detection to find a user in the platform based on the caller's incoming phone number, SIP address, or caller ID name. Select Extra Item Key to search for a user in the platform based on a previously defined extra item value.
If Extra Item Key is selected from the drop-down menu, two additional fields will appear. In the Extra Item Name field, enter the name of the extra item to use when querying the platform. In the Search Parameter field, enter the parameter the extra item will be searched against in the platform.
If Perform Fresh Lookup on Each Call? is not selected, Clarity Connect will attempt to find a record in the platform based on a previous search in a different session. If using this setting, you may specify the number of days to go back. If a record is found, that record will be used.
After the node runs, one of two paths are taken:
- If a record is found, extra item values are set accordingly based on information retrieved from the returned record and the call is sent to the Next Node on Match.
- If the platform did not return a record or if an error occurred, the call is sent to the Next Node on No Match. The call is also sent here if the platform integration has been disabled but the node is still present in a call flow.
Figure 34 Dynamics Customer Lookup node

- Node name
- Lookup Type
- Automatic Detection
- Extra Item Key
- Extra Item Name [only shown when Extra Item Key selected in Lookup Type]
- Search Parameter [only shown when Extra Item Key selected in Lookup Type]
- Name
- Phone
- Email Address
- MS Dynamics Guid
- Perform Fresh Lookup on Each Call
- Number of Days to use Existing Data (if not performing new lookup each call)?
- Next Node for Result Found
- Existing nodes in call flow
- New nodes
- Next Node for Result Not Found
- Existing nodes in call flow
- New nodes
- MS Dynamics Screen to Show on Result not found?
- Home
- New Account
- New Contact
- New Lead
- New Opportunity
Dynamics Advanced Lookup
This node allows the user to build a custom query to pull information from the Microsoft Dynamics Online platform. The query results can then be saved in a chosen location or as an extra item.
From the Primary Object drop-down menu, select an object to query. This is sent to the platform to determine which fields are part of the selected object. The results are populated into a list. These fields can then be added to the queried fields by clicking Add Field. If the field is a nested object with its own set of fields, click Get Extended Properties to redraw the list to include all fields in that nested object in the format Object_r.FieldName. A text box will appear next to each added field that allows you to specify the Clarity Connect extra item to store the retrieved result from once the query completes.
You must also configure a WHERE filter for the query. There are two ways to configure this. If you only need to filter against a single condition (i.e., Id == {{Value}}), you may use the GUI to generate the filter for you. Select a field available on the queried object from the WHERE drop-down menu, and then select a conditional operator (i.e., equal to, not equal to, etc.). Finally, enter a value for the filter in the text box. Extra items are supported. If you need to filter against multiple conditions, you may create a free-form WHERE clause. Enter the entire WHERE clause (not typing the WHERE keyboard itself) in the text box. Extra items are supported in the format {{ExtraItem}} if you would like to substitute values inside the query. Example: TelephoneNumber = '{{SYSTEM.CallerPhoneNumber}}' AND Ticket# = '{{TicketEnteredFromCustomer}}'.
Click Generate Value Boxes and enter any substitutions for each extra item value specified.
Click Validate Query to send the request to the platform to ensure the query is valid. A message will appear stating whether or not the query was successful and how many records will return.
After the node runs, one of three paths are taken:
- If a single result is found, extra item values are set accordingly based on information retrieved from the returned result and the call is sent to the Next Node for Single Result Found. This path is also taken when How to handle Multiple Results Found is set to Take First Result.
- If multiple results are found, extra items are set accordingly based on information retrieved from the returned results and the call is sent to the Next Node for Multiple Results Found. This path is also taken when How to handle Multiple Results Found is set to Take all Results (CSV). The Coalesce node may be useful here to split multiple results.
- If the platform did not return a result or if an error occurred, the call is sent to the Next Node for No Results Found. The call is also sent here if the platform integration has been disabled but the node is still present in a call flow.
Figure 35 Dynamics Advanced Lookup node

- Node name
- Primary MS Dynamics Set
- Dynamics sets
- Query Fields
- Property Selection
- Dynamics properties
- Add Property
- Get Extended Properties
- Clear All
- Filter
- Full WHERE clause for query
- Generate Value Boxes
- Validate Query
- How to handle Multiple Results Found
- Treat as No Result
- Take First Result
- Take all Results (CSV)
- MS Dynamics Screen to Show on Result not found
- Home
- New Account
- New Contact
- New Lead
- New Opportunity
- Set Node as Primary Lookup
- Overwrite Agent Console Screen Pop with this URL
- Next Node for Single Result Found
- Existing nodes in call flow
- New nodes
- Next Node for Multiple Results Found
- Existing nodes in call flow
- New nodes
- Next Node for No Results Found
- Existing nodes in call flow
- New nodes
Salesforce Customer Lookup
This node queries the Salesforce platform’s accounts and contacts to pull data into Clarity Connect, provide caller context via a screen pop or URL in the Agent Console window, and then push data back to the platform after the session has ended.
From the Lookup Type drop-down menu, select Automatic Detection to find a user in the platform based on the caller's incoming phone number, SIP address, or caller ID name. Select Extra Item Key to search for a user in the platform based on a previously defined extra item value.
If Extra Item Key is selected from the drop-down menu, two additional fields will appear. In the Extra Item Name field, enter the name of the extra item to use when querying the platform. In the Search Parameter field, enter the parameter the extra item will be searched against in the platform.
If Perform Fresh Lookup on Each Call? is not selected, Clarity Connect will attempt to find a record in the platform based on a previous search in a different session. If using this setting, you may specify the number of days to go back. If a record is found, that record will be used.
After the node runs, one of two paths are taken:
- If a record is found, extra item values are set accordingly based on information retrieved from the returned record and the call is sent to the Next Node on Match.
- If the platform did not return a record or if an error occurred, the call is sent to the Next Node on No Match. The call is also sent here if the platform integration has been disabled but the node is still present in a call flow.
Figure 36 Salesforce Customer Lookup node

- Node name
- Lookup Type
- Automatic Detection
- Extra Item Key
- Extra Item Name [only shown when Extra Item Key selected in Lookup Type]
- Search Parameter [only shown when Extra Item Key selected in Lookup Type]
- Name
- Phone
- Email Address
- Salesforce ID
- Perform Fresh Lookup on Each Call
- Number of Days to use Existing Data (if not performing new lookup each call)
- Overwrite Agent Console Screen Pop with this URL
- Next Node for Result Found
- Existing nodes in call flow
- New nodes
- Next Node for Result Not Found
- Existing nodes in call flow
- New nodes
- Salesforce Screen to Show on Result not found
- Home
- New Account
- New Contact
- New Lead
- New Opportunity
Salesforce Advanced Lookup
This node allows you to build a custom query to pull information from the Salesforce platform. The query results can then be saved in a chosen location or as an extra item.
From the Primary Salesforce Object drop-down menu, select an object to query. This is sent to Salesforce to determine which fields are part of the selected object. The results are populated into a list. These fields can then be added to the queried fields by clicking Add Field. If the field is a nested object with its own set of fields, click Get Extended Properties to redraw the list to include all fields in that nested object in the format Object__r.FieldName. A text box will appear next to each added field that allows you to specify the Clarity Connect extra item to store the retrieved result from once the query completes.
You must also configure a WHERE filter for the query. There are two ways to configure this.
If you only need to filter against a single condition (i.e., Id == {{Value}}), you may use the GUI to generate the filter for you. Select a field available on the queried object from the WHERE drop-down menu, and then select a conditional operator (i.e., equal to, not equal to, etc.). Finally, enter a value for the filter in the text box. Extra items are supported.
If you need to filter against multiple conditions, you may create a free-form WHERE clause. Enter the entire WHERE clause (not typing the WHERE keyword itself) in the text box. Extra items are supported in the format {{ExtraItem}} if you would like to substitute values inside the query. Example: TelephoneNumber = ‘{{SYSTEM.CallerPhoneNumber}}’ AND Ticket# = ‘{{TicketEnteredFromCustomer}}’. Note this uses the Salesforce Object Query Language (SOQL). Reference Salesforce documentation for more information.
Click Generate Value Boxes and enter any substitutions for each extra item value specified.
Click Validate Query to send the request to Salesforce to ensure the query is valid. A message will appear stating whether or not the query was successful and how many records were returned.
After the node runs, one of three paths are taken:
- If a single result is found, extra item values are set accordingly based on information retrieved from the returned result and the call is sent to the Next Node for Single Result Found. This path is also taken when How to handle Multiple Results Found is set to Take First Result.
- If multiple results are found, extra items are set accordingly based on information retrieved from the returned results and the call is sent to the Next Node for Multiple Results Found. This path is also taken when How to handle Multiple Results Found is set to Take all Results (CSV). The Coalesce node may be useful here to split multiple results.
- If Salesforce did not return a result or if an error occurred, the call is sent to the Next Node for No Results Found. The call is also sent here if Salesforce integration has been disabled but the node is still present in a call flow.
Figure 37 Salesforce Advanced Lookup node

- Node name
- Primary Salesforce Object
- Salesforce objects
- Query Fields
- Field Selection
- Salesforce fields
- Add Field
- Get Extended Properties
- Clear All
- Filter
- Full WHERE clause for query
- Generate Value Boxes
- Validate Query button
- How to handle Multiple Results Found
- Treat as No Result
- Take First Result
- Take all Results (CSV)
- Salesforce Screen to Show on Result not found
- Home
- New Account
- New Contact
- New Lead
- New Opportunity
- Set Node as Primary Lookup
- Overwrite Agent Console Screen Pop with this URL
- Next Node for Single Result Found
- Existing nodes in call flow
- New nodes
- Next Node for Multiple Results Found
- Existing nodes in call flow
- New nodes
- Next Node for No Results Found
- Existing nodes in call flow
- New nodes