Configure and use policy operation tags (policy tags) to route records (like Leads or Accounts) to help match records, like Leads, to the correct routing queues in Fullcast. Policy tags reference specific record fields—such as Lead Source, Industry, or Lead Score. For instance, you would route leads from a demo request differently than those from an event, or apply different routing rules for high score leads in the tech industry compared to low score ones.
Policy tags connect record data from Salesforce to Fullcast routing logic through three components:
Tag string: A combined string of multiple record field values created within a Salesforce flow.
Tag expression: An expression defined in a Fullcast routing policy that uses specific syntax to match incoming tag values to determine which policy runs.
Tag value: The actual string generated by the flow at runtime for a specific record (
Demo||Tech||High). This value is passed to Fullcast.
Step 1: Construct the Tag String in Salesforce Flow
To enable Fullcast to evaluate multiple fields for routing, combine their values into a single tag string within your Salesforce flow. This string is then passed to the Fullcast Policy Handler Apex action.
Identify Routing Fields: Determine which fields on the record you need to evaluate for routing decisions.
Combine Fields in Flow:
Use a Flow Formula resource or the
CONCAT()function to join the API names of the desired fields.Separate each field value in the string with double pipes (
||).Example Formula (Lead Source, Industry, Lead Score):
CONCAT({!$Record.LeadSource}, "||", {!$Record.Industry}, "||", TEXT({!$Record.Lead_Score__c}))Note
Ensure numeric or other non-text fields are converted to text, use
TEXT().The order you place fields in the tag string matters. You must use the same order when you create tag expressions.
Pass String to Fullcast: Map the output of your formula resource to the inputVal1 field within the Fullcast Policy Handler Apex action in your Flow.
.png)
.png)
Optional. Store tag string on record: Use a Flow assignment step to save the concatenated string to a custom text field on the Salesforce object (
Lead.Tag_String__c), then reference this custom field in inputVal1.Optional. Enable wildcards: To use wildcard matching (
*) in your Fullcast tag expressions, set the inputVal4 field in the Fullcast Policy Handler action:Type:
StringValue:
*
Step 2: Create Tag Expressions in the Fullcast Routing Policy
Within your Fullcast Routing Policy, define tag expressions to match the incoming tag values from Salesforce. This determines which specific policy or queue the record should be routed to.
Important considerations for tag expressions
Matching precedence: Fullcast evaluates more specific tag expressions before broader ones. If one policy uses the tag expression
RouteLead||USA||[*]and another usesRouteLead||*||[*], a lead with the tag valueRouteLead||USA||50will match the first, more specific tag expression.First element restriction: The very first item of a concatenated tag expression must be a static string for direct comparison; it cannot be a numeric range, list, or wildcard. Example:
RouteLeadis valid, but[>=,50]||Technologyis not a valid start.Concatenation separator: Always use
||to separate segments in the tag expression. Do not use commas between concatenated groups.
Tag expression values
Tag expressions evaluate the tag value passed from Salesforce via inputVal1. They can match numeric values, string values, or use wildcards.
Match numeric values
Use this for conditions like Lead Score is greater than 50 or Lead Score is between 25 and 75.
Syntax:
Enclose numeric expressions in square brackets
[].Use commas to separate operators and values.
Do not use spaces.
Supported Operators:
equals
=not equals
!=less than
<less than or equal to
<=greater than
>greater than or equal to
>=between(exclusive)
Examples:
[>=,1000]: Matches values greater than or equal to 1000.[between,0,1000]: Matches values greater than 0 and less than 1000.[*]: Matches any numeric value, including null (use only ifinputVal4is set toWILDCARDin the Flow).[~]: Matches only null values.
Match string values
Use this for conditions like Industry is Technology or Lead Source is Web or Event.
Syntax:
For a single value, just enter the string (case-sensitive). Example,
TechnologyFor OR conditions (that is, scenarios where multiple values are acceptable), enclose a comma-separated list of strings within curly brackets
{ }. Example,{Web,Event}
Case Sensitivity: String matching is case-sensitive.
Webwill not matchweb.""'Examples:
Hot: Matches only the exact string "Hot".{Hot,Warm}: Matches either "Hot" or "Warm".{*}: Matches any string value, including null{~}: Matches only null values.
Concatenate string and numeric expressions
Combine different match types using double pipes || , mirroring the structure of your Tag String from the Flow.
Syntax Examples:
FixedString||[NUMERIC_EXPRESSION]||{STRING_LIST}FixedString||{STRING_LIST}||[NUMERIC_EXPRESSION]
Example Usage
Assuming a Tag String like
RouteLead||{!$Record.Industry}||{!$Record.Lead_Score__c}:To match leads in the technology industry with a score >= 75:
RouteLead||Technology||[>=,75]To match leads from finance or banking industries with any score:
RouteLead||{"Finance","Banking"}||[*]To match leads from any industry except healthcare with a score between 50 and 100:
RouteLead||[*]||[between,50,100](requires a separate policy or logic to exclude healthcare).