Consider a scenario where you must evaluate several leads and several sales people at the same time, and find an optimum match. For example, you look at all leads in a specific area and then at all sales people in that area, and match a lead to the person closest to that lead. Such a rule needs the following sequence:
- Fetch lead location
- Fetch locations of all sales people
- Find sales people <= lead location + 5
- Filter sales people list recursively to identify the sales person at minimum distance from lead location
Such customized rules can't be set up through the self-serve interface.
Consider another scenario where you have a list of leads but before assigning them to anybody, you must ensure that:
- All available sales people are grouped into specific categories
- Within a category, all sales people are grouped into specific roles
- A lead is matched to a person only if a series of conditions are met
This allocation expression first puts the sales people into groups, then finds leads within a location, and then uses a series of conditions to match a lead to a sales person, like so:
- Receive data from customer for sales person Attribute 1, Attribute 2, Attribute 3, and Attribute 4.
- If Attribute 1 = Condition 1, put sales person in Group 1 ELSE if Condition 2 is TRUE, put in Group 2 ELSE put in Group 3.
- Fetch lead location.
- Match lead location with Group, and fetch sales person in that group.
- If Attribute 2 of sales person in that group = Condition 2 AND Attribute 3 = Condition 3, allocate the lead to the sales person
if Attribute 4 = Condition 4 AND Attribute 2 = Condition 5, allocate the lead to the sales person
mark the lead for manual allocation.
Quite a few of the parameters used in the evaluation are custom attributes.