All Collections
Salesforce CTI & Integration Guide
Initial Setup
Smart Routing: Salesforce powered Call Routing.
Smart Routing: Salesforce powered Call Routing.

Smart routing helps connect callers to the best agent based on Salesforce data.

Juan Manchoulas avatar
Written by Juan Manchoulas
Updated over a week ago

Smart routing blends powerful IVR technology with Salesforce to route callers to the best agent based on Salesforce data like Contact, Lead, Account, Case, or Opportunity owners. Imagine being able to connect callers automatically to the agent that is managing a callers' case instead of routing them to the standard support queue. Smart routing reduces average agent handle time, boosting call center productivity while delivering an unmatched customer experience.

Smart Routing Conditions

To enable smart routing, a PhoneIQ admin must access the call flow builder interface and drag and drop the corresponding call flow applet into the call flow builder and then click "edit." The admin will be able to add one or multiple conditions by clicking the option “Add new condition.” The condition is composed first by a callerID check; PhoneIQ will try to match the incoming caller ID to an existing: Contact, Lead or Account based on the option selected, and if a match is found, the call will be routed to the Salesforce object owner. By enabling the agent availability check option, PhoneIQ can check if the agent is available or busy before routing the call to them. If the agent is unavailable, the admin can select an alternative routing option.

Check user availability

We can enable Check user availability( check if the user is in another call): If user is busy we have two options:

  • Dial: The call goes to another agent, Ring Group, Queue, Callflow.

  • Play: An audio file.

No Match Condition

If the caller doesn’t match any of the conditions selected, administrators can add a no-match condition that will:

  • If "Send caller to if unavailable" rule is selected, and "No PhoneIQ user match rule" is enables, you should send conditions for "Check user availability".

  • If "Send caller to if unavailable rule" is selected, but there is no conditions for "Check if user is busy", it is directed to "If no conditions are met".

Dial: Route the call to another endpoint (call-flow, queue, ring group, or user).
Play: Play an audio file.
Hangup: End the call.

Priority Order

From the Top to the Bottom, the precedence of the contitions for each object has to be respected.

In other words, if we have te conditions to Open Cases on top, and the Contact condition on the bottom, and a Contact with a Case calls, the call should be redirected to the Case Owner, not to the Contact.

Object Owner

The object owner is the PhoneIQ user we need to have integrated with a Salesforce Agent. So when an object call comes through, it's going to Dial the PhoneIQ user that has the mail integration, or username of a Salesforce Agent.

Change Object Owner

From Salesforce we ca change the owner of the different objects we have: Contacts, Leads, Accounts, Person Accounts, Opportunities y Cases.

The only thing we have to do is to click on the icon with the avatar and the arrow, and then select the Salesforce Agent We want to be the new owner.

If we have only one Salesforce Agent, we should create a new one. To do so, we will go to Salesforce > SetUp > Users > New User (is crucial to be System Administrator).

The object owner is not a PhoneIQ Agent

If the user owner of an object in Salesforce does not correlate with a PhoneIQ agent, the caller of this object can still be derived to certain conditions established within the smart routing callflow.

Users can choose in a checkbox if you want to receive calls from the smart routing callflow or not.

Extra Considerations

  • If we have a Contact with two Open Cases/Opportunities of different owners, the Dial is made to the last Case/Opportunity whose owner was modified.

  • If we integrate two PhoneIQ users with the same Salesforce Agent, the dial goes to the last sinchronized user.

Did this answer your question?