Configuring Salesforce flows for Fullcast routing policies

Prev Next

This guide walks Salesforce administrators through creating the necessary record-triggered flow in Salesforce. Fullcast policies define what automation should happen (like routing or territory assignment), but this Salesforce flow acts as the trigger, telling Salesforce when to kick off that Fullcast process based on changes to your records. This article applies to all routing policies, including lead routing, account routing, opportunity routing, case routing, and contact routing.

Why set up this flow?

Salesforce flows are the standard way to initiate actions when your Salesforce data changes. By configuring a flow to call the Fullcast Policy Handler, you ensure that your Fullcast automations run reliably and immediately when specific events occur—such as a new lead arriving or an account's status changing—without needing any manual steps.

Prerequisites

Before you begin, make sure you have:

  • Access to your Salesforce environment with administrative permissions.

  • Fullcast managed package installed in your Salesforce org.

  • An understanding of the Salesforce object and fields that should initiate your Fullcast policy.

  • Your Fullcast policy (like a routing plan) generally defined.

Create the record-triggered flow

Follow these steps to build the flow that will listen for your specified changes.

  1. Log into your Salesforce environment.

  2. Click the Setup icon (⚙️) and select Setup.

  3. In the Quick Find box, search for "Flows" and select Flows under the Process Automation section.

  4. Click the New Flow button.

  5. Select Record-Triggered Flow and click Create.

  6. Configure the Trigger: This tells the flow when to run. For this example, let's say we want to trigger a Fullcast policy whenever a Lead is created or updated with its Status set to 'Open - Not Contacted'.

    • Set Object to Lead.

    • For Trigger the Flow When, select A record is created or updated.

    • Under Set Entry Conditions:

      • Set Condition Requirements to All Conditions Are Met (AND).

      • Define the condition: Status Equals Open - Not Contacted.

    • For When to Run the Flow for Updated Records, select Only when a record is updated to meet the condition requirements.

    Best Practice

    Selecting Only when a record is updated to meet the condition requirements is crucial. It ensures your flow only runs when a record changes to meet your criteria, not every single time an already-matching record is saved.

  7. Optimize the Flow for: Select Actions and Related Records.

Add the Fullcast Policy Handler action

Now, add the specific Fullcast action that your flow needs to call.

  1. On the flow canvas, click the plus sign (+) below the "Run Immediately" path.

  2. Select Action from the menu.

  3. In the Action search bar, type "Policy Handler" and select Policy Handler. This is the bridge between your Salesforce flow and your Fullcast policies.

    Search for and select the Fullcast Policy Handler action.

Configure the Policy Handler inputs

This is the most critical step for connecting your Salesforce flow to the correct Fullcast logic. You are telling the Fullcast Policy Handler exactly which record needs processing, what kind of policy to apply, and how to interpret the data on that record.

Note

The Input Values will differ based on the specific Fullcast policy you are triggering. The example below uses parameters common for a RoutingQueuePolicy. Consult your specific Fullcast policy documentation if you are configuring a different type.

When you configure the Input Values section for the Policy Handler action for a Fullcast routing policy, use the following parameters and values. Note that while the parameter names (policyType, recordid, and so on) are fixed, certain values must be tailored to your specific Salesforce object and field configurations. For detailed explanations of inputVal3 and inputVal4 options, please see the "Detailed Parameter Explanations" section below this table.

Parameter

Value

Description

policyType

RoutingQueuePolicy

Specifies the type of policy. For routing, this is always RoutingQueuePolicy

recordid

Record Id

The ID of the Salesforce record triggering the flow (for example {!$Record.Id}).

inputVal1

Source field API name for policy tag.

API name of the object field (standard or formula) whose value is used for policy tag matching.

inputVal2

Source field API name for skills.

API name of the object field (standard or formula) whose value is used for skills-based routing. Can be blank if not used.

inputVal3

Null

ExecuteBMA

NULL: No special action is taken regarding Matched Account (BMA) logic at this point.

ExecuteBMA: Instructs Fullcast to attempt to fetch or update the latest Matched Account information if relevant fields on the triggering record have been updated.

inputVal4

WildCard

Contains

Default

Defines matching logic for policy tags. Only one operator can be used.

Defaults to Default (exact match) if blank. See "Detailed Parameter Explanations" below for behavior of each operator.

inputVal5

Async

Sync

Mode of Execution

Defines whether the policy execution should occur synchronously (immediately within the flow transaction) or asynchronously (queued for later processing). Sync is the default if not specified.

Detailed parameter explanations

This section provides more detail on the options available for inputVal3 and inputVal4.

inputVal3: BMA execution control

This parameter controls how Best Matched Account (BMA) logic is handled during policy execution.

  • NULL: No special action is taken regarding Matched Account (BMA) logic at this point in the flow. This is the common choice if BMA processing is handled elsewhere or not immediately required.

  • ExecuteBMA: Instructs Fullcast to attempt to fetch or update the latest Matched Account information if relevant fields on the triggering record (like Lead or Account) have been updated.

inputVal4: Tag operator options

This optional parameter specifies the matching logic used when comparing the value from the field referenced in inputVal1 against the policy tags defined in Fullcast. Only one operator can be specified. If inputVal4 is left blank or an unrecognized value is provided, the behavior defaults to Default.

  • Default

    • Performs an exact, case-sensitive string match between the value from the inputVal1 field and the policy tag values.

    • This is also the behavior if inputVal4 is left empty.

  • WildCard

    • Enables comprehensive and flexible matching capabilities, often used for more complex pattern matching beyond simple string comparisons.

    • This operator is required if the value from inputVal1 represents a long or concatenated policy tag string (e.g., a string constructed from multiple fields using a Salesforce formula field).

  • StartsWith

    • Matches if the initial part of the value from the inputVal1 field matches the initial part of a defined policy tag value.

    • For example, if the record's inputVal1 field value is "Republic of Funkistan" and a policy tag in Fullcast is "Republic", a match would occur.

    • This is typically used for simpler, single-value matching scenarios rather than complex concatenated tags.

  • Contains

    • Matches if the entire value derived from the inputVal1 field is found as a substring within a defined policy tag value.

    • For example, if the record's inputVal1 field provides the value 'CX', it would match a policy tag defined in Fullcast as 'ProductCXCategoryA'.

    • This is generally used for simpler, single-value matching scenarios.

Caution

Always use the exact API names for your Salesforce fields (like Industry, Status, LeadSource), not their display labels.

Save and activate the flow

Finally, save your work and turn the flow on.

  1. Click Done in the New Action screen.

  2. Click Save in the Flow Builder.

  3. Provide a Flow Label (like "Fullcast Lead Routing Trigger") and an optional Description.

  4. Click Save.

  5. After testing to ensure it works as expected, click the Activate button.