The BMA functionality helps match the right Leads to the right GTM accounts for effective sales planning. When a lead enters a system, it is essential to check the lead with already existing accounts to eliminate all invalid leads.

Field comparison
The following fields are usually compared to filter out the leads:

Lead fields | Account fields |
|---|---|
Company Name | Account Name |
Website | Website |
Phone number | Phone number |
Address | Billing Address |
Create policy rules for BMA
Fullcast policy rules are configured in the Salesforce instance.
Note
If the rules don't create a single best-match account, the BMA logic will select the oldest created account.
In Salesforce, go to Setup > Custom Metadata Types.
Find Fullcast Policy Rules and click Manage Records.
.png)
Click New.
.png)
Complete the following fields:

Field
Description
Label
Type a label for the policy rule with the following requirements:
Must begin with a letter.
No spaces.
Only alphanumeric characters and underscores allowed.
Cannot end with an underscore or have two consecutive underscores.
Fullcast Policy Rules Name
Auto-populates a name based on the label which is used by the API and managed packages.
Criteria
Select one of the following criteria:
Field compare: Compares field 1 on the field 1 object (lead or contact) to field 2 on the field 2 object (which should always be an account).
Literal: Compares field 2 on the field 2 object (account) to string value provided on the custom metadata.
Tie Breaker: Uses the field compare or literal criteria and if more than 1 account is found, criteria selects one.
Fuzzy logic: Compares unsure data fields.
Condition
Select one of the following conditions based on the selected criteria:
AND (field compare, literal, fuzzy logic)
OR (field compare, literal, fuzzy logic)
MAX (tie breaker): Orders the records in ascending order.
MIN (tie breaker): Orders the records in descending order.
EXIT (tie breaker): Uses a null value instead of selecting an account from the tied (similar) accounts.
String
Only required if you selected literal for the Criteria.
Field 1 Object
Type the lead or contact which is compared with the account.
Field 1
Type the API field of the field 1 object which is compared to the API field of the account.
Field 2 Object
Type the account which is compared to the field 1 object.
Field 2
Type the API field of the field 2 account which is compared to the API field of the field 1 object.
Operator
Select an operator based on the field type used in field 1 and field 2 in the rules:
Equal To (string, Boolean, percent, datetime):
Greater Than (double, datetime)
Greater Than or Equal To (double, datetime)
Less Than (double, datetime)
Less Than or Equal To (double, datetime)
Not Equal To (picklist, URL, Boolean, currency, date)
Contains Any (multipicklist, email)
Contains All (email)
Does Not Contain (email)
Fuzzy Match
Order
Type the number according to which the rule has to be executed. For example, if it has to be executed first then the order number is 1. If it has to be executed third, then the order number is 3, and so on.
Module Name
Optional. Type a name for the module.
Click Save to trigger and call the policy rule whenever necessary.
Criteria examples
Field compare criteria

Literal criteria

Tie-breaker criteria


The final account could be decided by the rules configured as shown.

Single Rule (One order only)
In the below setup we have 3 rules resulting in always one account as the output which is ensured by the Max condition.
Since it's based on a single rule we have order for all of them as 1

Multiple rule (multiple order)
In the below setup we have 2 rules resulting in always one account as the output which is ensured by the Max condition.
Since it's based on two rules we have an order for that as 2

Supported basic logical expressions and setup

Call BMA from Flow Builder
Note
The flow builder must be created to sync the domain and call the BMA. To configure the flow builder, refer to the Configuring Flows for Motion Policies article.
The apex variables for BMA is as follows:
RecordID: Use field reference in the type to select
AccountIDPolicyType: Set to string with value
CleanDomain(case sensitive)inputVal1 selection:
If Yes, it will call clean domain functionality.
If No, it will not call clean domain functionality.
inputVal2 selection:
If Yes, it will execute BMA functionality.
If No, it will not execute BMA functionality.
