--- title: "Enabling Missed Call Reporting for Call Queues" slug: "enabling-missed-call-reporting-for-call-queues" tags: ["Call Queue Management", "Enabling Phone Events", "Missed Call Alerts", "Missed Call Reporting", "Phone Events"] updated: 2026-07-08T11:06:50Z published: 2026-07-08T11:06:50Z canonical: "docs.natterbox.com/enabling-missed-call-reporting-for-call-queues" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.natterbox.com/llms.txt > Use this file to discover all available pages before exploring further. # Enabling Missed Call Reporting for Call Queues Natterbox can log a record in the **Phone Events** object every time a call attempts to ring an agent's device but is not answered — often called *missed call reporting*. This is enabled by default for most call types, but **not** for call queues. This guide explains how to switch it on for call queues using a short script in your routing policy. Enabling this feature lets you monitor when agents fail to answer a call — including calls that another agent may answer later — so you can see every agent a call attempted to ring, and exactly how it failed to connect. ## Before you begin - You are running version 1.79 or higher of the Natterbox App. - You have administrator access to Salesforce Setup and to the Policy Builder. - You have an inbound routing policy that routes calls through a call queue. ## Step 1: Enable Phone Events reporting in Salesforce The Phone Event object is not available for reports by default, so enable it first. 1. In Salesforce, go to **Setup** > **Object Manager** > **Phone Event**. 2. Click **Edit**. 3. Under **Optional Features**, tick **Allow Reports**. 4. Click **Save**. ## Step 2: Add the script to your routing policies The following process activates missed call reporting for future call queue calls. 1. Open your inbound routing policy in the Policy Builder. 2. Add an Action container to hold a Script Engine app, positioned **before** the Call Queue app (if one is used). 3. Within the Script Engine app, insert the following script, adjusting the numbers to your desired settings (see the bit-string reference below). This script sets both the CTI missed call notifications and the reporting records: ```lua session.modify('MISSED_CALL_EVENTS', '63') session.modify('MISSED_CALL_LOGS', '63') ``` Add this script to **all** relevant inbound policies so that every call passes through it. To make sure all calls are caught, place it directly after the Start block. For larger policies with multiple entry points, you may need to repeat this in a few places. ![](https://cdn.document360.io/c81c490c-daaa-4ebd-a3c3-1a2dee8b7617/Images/Documentation/image(529).png?sv=2026-02-06&spr=https&st=2026-10-12T06%3A07%3A17Z&se=2026-10-12T07%3A07%3A17Z&sr=c&sp=r&sig=SZcAMkna8Z56BKbHv%2BWrcdLDupOPBYSXO00a77TOWro%3D) ### What the two properties control The `session.modify()` method controls two separate behaviours: - **MISSED_CALL_EVENTS** — controls CTI missed call notifications (what the agent sees in the softphone). - **MISSED_CALL_LOGS** — controls the reporting records written to the Phone Event object. You can use this script to modify phone event and CTI notification generation however you need — including turning either off entirely. ## Choosing the bit-string value The number inside the script is a *bit string* determined by the table below. Add the values together to activate the combination of features you need. | Bit | Feature | Description | | --- | --- | --- | | 1 | Call Queue | Missed calls when the user is dialled via a call queue. | | 2 | DDI | Notifications when the user's extension is dialled via a DDI. | | 4 | Group | Notifications when the user is dialled as part of a group dial request. | | 8 | User | Notifications when the user's extension is dialled directly, the user name is referenced directly in a Number or Numbers policy, or the Lua `session.connect()` method is set to USER. | | 16 | Number | Notifications when the user is dialled via a policy that isn't a DDI or a direct extension hook. | | 32 | Unknown | Notifications for all other scenarios. | | 64 | Call Queue All | As well as normal missed calls routed through a call queue, includes any attempt to dial a user when no devices are registered. By default, using just Call Queue (1) logs only the first attempt to dial a user when devices are unregistered or unavailable. | | 128 | Divert | Notifications when the user is dialled via a DDI that has been diverted to the divert number associated with the DDI Number. | > [!CAUTION] > 🚨 > > **Caution:** The Call Queue All (64) setting can generate a significant amount of traffic in poorly managed queues. Enable it only when you specifically need to capture attempts to dial users with no registered devices. ### Common configurations Choose the value that best matches your scenario. Some examples: - **Agent sees a notification when they miss a call:** set `MISSED_CALL_EVENTS` to `63` and `MISSED_CALL_LOGS` to `63`. - **Agents are not notified when they miss a call** (for example, to stop them calling a number back while it is still in the queue or being handled by another agent): set `MISSED_CALL_EVENTS` to `62` and `MISSED_CALL_LOGS` to `63`. - **Capture all instances where a call is missed:** set `MISSED_CALL_EVENTS` to `127` and `MISSED_CALL_LOGS` to `127`. ## Creating Phone Events reports Once records are being logged, you can build Salesforce reports on the Phone Event object. See [**Reports with the Phone Event Object**](/v1/docs/reports-with-the-phone-event-object) for detailed examples of the reports you can create. ## Related - [Reports with the Phone Event Object](/reports-with-the-phone-event-object.md) - [Phone Event Object](/phone-events.md)