12.2.1. Enabling Phone Events
  • 25 Apr 2024
  • 3 Minutes to read
  • Dark
    Light

12.2.1. Enabling Phone Events

  • Dark
    Light

Article Summary

Natterbox has a feature whereby it populates records in the object "Phone Events" every time a call attempts to ring an agent's device but for whatever reason that agent does not answer the call. This is sometimes reffered to as ‘Missed Call Reporting’.

By default, this feature is not enabled for call queues but it is enabled for almost all other types of calls and can be enabled for call queues with a basic script inside of the routing policy.

This allows you to monitor when your agents fail to answer a call that may or may not be answered by a different agent later on, potentially seeing everyone that call tried to ring, and in what specific way it failed to get answered.

Missed Call Reporting was released in version 1.79 of the Natterbox app, so make sure you are on this version or higher.

This script also where you can modify missed call notifications in the CTI. With regards to session.modify()

  • MISSED_CALL_EVENTS refers to CTI Missed Call Notifications

  • MISSED_CALL_LOGS refers to Reporting Records

You can use this guide to modify phone event and CTI missed call notification generation as you want, for example turning it off entirely.

Enable Phone Events Reporting

This Object is not enabled for reports by default, so first off, enable it in Salesforce:

  • go to Setup | Object Manager | Phone Event, click Edit, and under Optional Features check Allow Reports. Click Save.

Put the Script into your Routing Policies

The following process activates the feature for future call queue calls:

In the Inbound Routing Policy (before the call queue app if using) add an Action container to hold a Script Engine app. Within the app, insert the following script, modifying the numbers to the desired settings:
session.modify('MISSED_CALL_EVENTS', '63')

  • session.modify('MISSED_CALL_LOGS', '63')

The ' punctuation in this code must be apostrophes. If copying and pasting, make sure that the result has carried this across correctly.

The default value when you have not put in this script is 62 for both, which is everything except from CALL_QUEUE, CALL_QUEUE_ALL and DIVERT

This needs to be done in all relevant inbound policies so that all calls pass through it. In order to make sure all calls are caught, putting it directly after the Start block is recommended. This may need to be repeated a few times for larger policies with multiple entry-points.

What "Bit string" should you set the Events and Logs to

The number inside of the script is a "bit string" determined by the below table. By adding the numbers together, the desired features are activated:

MISSED_CALL_EVENTS bit string format

Bit

Feature

Description

1

Call Queue

Missed calls when user is dialled via a call queue.

2

DDI

Send notifications to CTI when the user's extension is dialled via a DDI.

4

Group

Send notifications to CTI when the user is dialled as part of a group dial request.

8

User

Send notifications to CTI when the user's extension is dialled directly or the user name referenced directly in Number or Numbers policy, or the Lua script engine session.connect() method is set to USER.

16

Number

Send notifications to CTI when user is dialled via a policy which isn't a DDI or a direct extension hook.

32

Unknown

Send notifications to CTI for all other scenarios.

64

Call Queue All

As well as including normal missed calls when routed through a call queue, if CALL_QUEUE_ALL is set, then any attempts to dial a user when there are no devices registered is also included. By default, when using just CALL_QUEUE, only the first attempt to dial a user when devices are un-registered or unavailable is logged. WARNING: This can generate a significant amount of traffic in poorly managed queues.

128

Divert

Send notifications to CTI when the user is dialled via a DDI that has been diverted to the configured divert number associated with the DDI Number.

 

The number that is most suitable for the scenario can be specified within the script, for example:

  • For the agent to see that they missed the call with a notification: session.modify('MISSED_CALL_EVENTS', '63') and session.modify('MISSED_CALL_LOGS', '63')

  • For agents not to be notified when they miss a call (incase they try to call the number back while the number is still in the queue, or speaking to another agent): session.modify('MISSED_CALL_EVENTS', '62') and session.modify('MISSED_CALL_LOGS', '63')

  • For all instances where a call is missed: session.modify('MISSED_CALL_EVENTS', '127') and session.modify('MISSED_CALL_LOGS', '127')

Creating a Basic Phone Events Report

There is another guide, Missed Call Reporting for Administrators that goes into details about the various fields and what they mean.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Eddy, a super-smart generative AI, opening up ways to have tailored queries and responses