- 20 May 2024
- 3 Minutes to read
- Print
- DarkLight
12.2.1. Enabling Phone Events
- Updated on 20 May 2024
- 3 Minutes to read
- Print
- DarkLight
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.