Principles of Stringee ACD call routing

Published 2019-08-14

When a call reaches a contact center, it would be moved to a designated queue in order to meet with an agent afterwards. The queue provides an order of service to customers, just as when people wait in line for movie tickets or for flight services. Stringee ACD is a module that handles distributing customers from the queue to agents following certain rules, making sure that customers will be serviced as soon as possible by the most suitable agents.

pcc_flow

1. Free agents ready to service customers:

Agents are ready to service customers when they satisfy the following conditions:

  • The agent’s status is “Available”
  • The agent is currently not on any call
  • The agent is:
    • Online on web or mobile app
    • Or Agent is not online on Web/Mobile App but he/she has logged on before and enabled receiving calls through “push notification”
    • Agent is not online on Web / Mobile App but:
      • He/she has an IP Phone connected to Stringee Server
      • The configuration parameter of Queue: "cond_routing = 2" (default cond_routing = 1)

agent_status Note: The Agent set searched by ACD to direct incoming calls are agents located in the Groups assigned to Queue. Agents that do not belong to the Groups that are assigned to Queue will not get the calls even if they are free.

2. Last agent serviced

By default, when the customer calls the call center, ACD will try to distribute the customer to the Agent who has spoken to the customer previously (the last Agent serviced), despite if the Agent called the customer or the customer called first. The call will only be directed to another Agent if that specific Agent is busy. This feature can be turned on and off in Queue options.

last_agent Note: Agent still have to belong to the assigned Group to have the call directed.

3. Allowing customers to see reach Account Manager.

A customer can be assigned to 1 Account Manager who is an Agent. When the call reaches the Queue, if this Agent is assigned to the Queue with sales_follow_up (=1) feature enabled then:

  • Case 1: If the Queue has must_account_manager_serve (=1) enabled, the call must be answered by the specific Agent, if the Agent is currently busy or doesn’t pick up then the call will not be directed to another Agent.
  • Case 2: If the Queue has must_account_manager_serve (=0) off, the call will be directed to said Agent if he/she is free, if not, it will be directed to other Agents. If said Agent doesn’t pick up in 15 seconds, the call will also be directed to other Agents.

account_manager

If the Queue has sales_follow_up (=0) off, the mentioned features will not work and the Account Manager will act as a normal Agent.

4. Skill-based distribution

Agents are put into different Groups based on their skills. E.g: English-speaking Group, Sales Group, etc. One or more Groups will then be assigned to specific Queues with priority levels predetermined:

  • Primary Groups: one or more
  • Secondary Groups: one or more

Calls will be directed to Primary Groups first if there is at least one free Agent from those Groups. Calls will only be directed to Agents in Secondary Groups if all Agents from Primary Groups are busy.

agent_skill

5. Extension number to specific Agent

If the customer knows the exact extension number of a certain Agent and just want to reach that one, the customer can enter such number while in the IVR and at the node that allows extension dial ( Admin can set this up). If the Agent is busy, the call will not be directed to another Agent but stead the system will try to ring again until the Agent pick up ( or the customer hangs up).

The customer will hear “on hold” music just like when they’re in a Queue.

6. Circle call distribution

If there is one or more Agent Groups assigned to a Queue, when a call reaches the Queue, Stringee ACD will find a Group of Agents who are free and direct the call toward them in a circle, based on the following conditions:

  • 1st step: Look for the Agent who was previously assigned to the customer, if this Agent is free, the call will go there.
  • 2nd step: Look for the Agent who last serviced the customer, if this Agent is free, direct call there.
  • 3rd step: Direct the call towards the Agent who had been free for the longest time ( no call received).
  • 4th step: The Agent has a maximum of 15 seconds to pick up ( can be changed), the call would be directed to the next agent if the previous on doesn’t pick up or deny the call. This goes on until the customer gets to see an Agent, the customer hangs up or time in queue runs out. This guarantees that customers get services as soon as possible, avoiding the case of a call keep being directed toward an Agent who is busy or not at their desk.

7. After Call Work

After listening to the customer, the Agent has a maximum of 10 seconds (configurable) to enter more data about that call, that Customer. In 10 seconds, the Agent will switch to "Process after call" status and no call will be directed to he/she because ACD understands that the Agent is busy. The agent can actively switch to any other status, or after a maximum of 10 seconds the system will switch to "Available" status.

ACW

8. Direct calls to voice-mail

Each Queue can be configured with a maximum wait time for customers. After such amount of time, if the customer is still not served by any Agent, the Queue can be set up to do one of the following things:

  • Disconnect the customer’s call
  • Direct the customer to voice-mail, where the customer can leave a message. The message will then be converted into a ticket and can be listened to by an Agent or Manager and reply at a later time.

9. Act according to business hours

“Business Hours” feature can be turned on for each Queue. If a call reached the call center during business hours, it will be directed to an Agent normally. If it’s not during business hours, a message will be played to notice the customer before disconnecting the call. “Business Hours” can be flexibly configured to include hours in a day and days in a week.

business_hour

10. Set specific Agent Groups for each customer (get_list_agent API)

Each Queue can be set up with a webhook, when a call reaches the Queue, Stringee ACD will send HTTP POST to this URL and retrieve a set of Agents who can answer the call. Afterwards, the ACD will direct the call in circle to each free Agent from this Group.

agent_list

11. Redirect a call toward a designated cellphone

Calls can be configured to be directed to an Agent’s cellphone or his/her Web/App/SIP Phone.

redirect_phone

12. Direct calls toward backup Groups

When a customer reaches a Queue, a time limit can be configured, for example route_to_backup_groups_after = 60 seconds:

  • Customer wait time <= 60s - the call will only be directed to main groups
  • Customer wait time > 60s - the call will only be directed to backup groups.

Primary and secondary groups will still work normally before and after 60s. Default option is route_to_backup_groups_after = 0, which means calls will only be directed toward main groups.

13. Prioritize VIP customers

Customers can be categorized into different ranks, customers with higher rank will be prioritized when they reach a Queue.

customer_rank

VIP customers can be configured to go straight to a Queue without entering through the IVR.

14. A few configurable features of a Queue:

  • Agent_wrap_up_after_calls: toggle the time given to an Agent to finish up filling in data after making a call ( After call work - ACW)
  • Wrap_up_time_limit: maximum ACW time
  • Enable_voicemail: toggle voicemail ( leaving messages if no Agent is available after maximum_queue_wait_time.
  • Schedule: toggle business hour
  • Wait_greeting: hold music in queue (file WAV/MP3)
  • Wait_agent_answer_timeout: maximum wait time for an agent to pick up a call, if not, the call will be directed to another agent afterwards.
  • Record_calls: toggle calls recording
  • Maximum_queue_wait_time: the maximum amount of time that is given to an Agent to pick up the call, directed toward the next agent afterward.
  • Get_list_agents_url: webhook (API) allows setting a specific set of Agents to answer specific customers’ calls
  • From_number_callout_to_agent: SIP number redirects calls to agents’ cellphones.
  • Cond_routing: see 1.
  • Find_lasted_agent: toggle looking for the Agent who last served the customer.
  • Notify_ring_agent_time: Notify the supervisor if an Agent doesn’t pick up in the amount of time (seconds) set.
  • Notify_queue_time: notify the supervisor if a customer waits in queue pass the amount of time (seconds) set.
  • Notify_answer_time: notify the supervisor if a call last longer than the amount of time ( seconds) set.
  • Sla_target_percent: the chance of the call getting picked up in X seconds (X=sla_answered_within) to be considered satisfying SLA.
  • Sla_answered_within: a customer’s call needs to be answered in this amount of time to be considered satisfying SLA.
  • Sales_follow_up_enable: toggle allowing customers to see their Account Manager
  • Must_account_manager_serve: toggle forcing the Account Manager to answer the call of their customers’ calls without directing these calls to other Agents ( Sales_follow_up_enable must be turned on first)
  • Route_to_backup_groups_after: direct the call to backup Groups after the amount of time ( seconds) set.