Natterbox Alternative Callback Method

Prev Next

These guides are intended for advanced Salesforce admins. For Salesforce education, contact Salesforce directly or use trailheads for specific knowledge.

This solution allows more customisation to the callback process than the standard Natterbox callback method currently allows. You can customise how to handle callback requests and they are not automatically sent to users. There is also the ability to offer callers a time frame in which they want to be called back.

Setup

  1. Start a new call policy. This is best practice so this callback process can be managed within one call policy. You can route in and out of this policy using the From Policy and To Policy containers so it only be applied for the queues that require callbacks, e.g. the US queues. Alternatively, the following can be added to any existing policy.

  2. Set a key to leave. Create or edit the existing call queue. Do not enable callbacks via the toggle but make sure a key is selected to leave the queue. This can be found within the Properties tab > Key to exit the queue. Any digit from 0 to 9, * or #, or null to disable.
     

  3. Create an announcement. Once there is a key to leave, you will need to set up an announcement message to let the caller know that they can choose to do this. Go to the Announcements tab > Click to switch to Rules Based Announcements > Now the announcements settings…

    1. Play Sound: Once / Loop - if you want to repeat the announcement, select loop

    2. Seconds wait before playing sound: Usually around 60-90 - this is in seconds and is after how long you want them to know about requesting a callback

    3. Format: Either upload a sound file or use text to speech. For different languages, you can use the audio file option. A typical callback message would be:
      “Press 1 to request a callback.”

    4. You could also add in a rule so the announcement to offer a callback only plays after the caller gets to a certain position in the queue, for example: callbacks only get announced when a caller gets position 10 and they have been waiting for 30 seconds
       

  4. Offer different time frames for callback and alternative options. Add a new switchboard container. There are a couple of different ways to configure the amount of switch items in this container:

    1. If you want to offer different time frames for the callbacks, add as many options as time frames. If not, just 1 switch option for a callback.

    2. We would recommend adding a voicemail option. Make sure you add a voicemail container to follow on from this switch option.

    3. Also, the option to return to the call queue. Make sure to connect this switch option back to the beginning of the call queue. This will reset the From Call Queue Last Wait Seconds so From Call Queue Total Wait Seconds would be needed to report on that caller's total wait time in queue.

    4. Alternatively, we could look at building a solution where the caller can enter the time frame. Something like ”Please enter the time you would like to be called back. Enter the time in the following format. 24 hour clock with 4 digits. For example half past 9 in the morning would be 0930 and quarter to 6 in the evening would be 1745. Then once you have entered that, please enter a second time which is the end of the time range using the same format.”
      Note: This would mean agents would have to look more closely when deciding to do a callback and callers may not enter this correctly.

    5. Here is an example of how to configure the switch options:
      Press 1 for 9am to 1pm
      Press 2 for 1pm to 5pm
      Press 3 to return to the call queue
      Press 4 to leave a voicemail

       

      Top tip: If the switch items are being read too fast, add in a break between each one.

      For example:
      In the ‘Speak a phrase to identify this item’ box enter this:

Press 1 for between 9am - 1pm
<break time="1s"/>

  1. Add this time frame to the call reporting record. First, create a new field.

    1. Setup > Object Manager > Call Reporting > Fields & Relationships > New

    2. Data Type = Text

    3. Name =  Callback Time (api name is auto populated)

    4. Length =  25 (this should be enough, max is 255 but you won’t need that many)

    5. Then go back to the routing policy.  

    6. Add a Manage Properties app and choose Custom Properties.

    7. Add in the field name (note: this does not include the ‘__c’. For example the field with the api name Callback_Time__c would be entered as Callback_Time.) Do this for all the time options on the switchboard.

  2. Now, create a callback task/case. You will need an action container with the Create a Record app. Make sure to Name this Item something so you will be able to understand it easily from a glance at the policy. Name the Result Set as well so you will be able to differentiate if you need to use any of the values. Trigger When = Record created. Fill in the following options:

    1. Record Type = task for example

    2. Owner ID =  *Case queue id*

    3. Description = “This caller has requested a callback between 9am - 1pm”

    4. Subject = ‘Callback request for the number $(CalledNumber)”

    5. Phone =

      1. You will need to create this field on the task object but a phone field already exists on the case object.

      2. To create the field on the task, create a new field with the phone number type and leave the rest of the options as default.

    6. Task Subtype = Callback

      1. You can choose to add in options within the picklists for this

    7. Task Record Type = *id of record type*

      1. You may choose to add in a new record type to more easily distinguish between callbacks.

      2. You can make record types available to certain salesforce profiles

      3. For more best practices on record types see this salesforce guide:

    8. You will need to do this for all of the time frame options.

      How to decide which object to use for callbacks:

      Task
      Pros = Natterbox is already linked to tasks and callback tasks can be created from the CTI
      Cons = Less flexibility than other objects

      Case
      Pros = More flexibility than task, type and phone field already exist
      Cons = You might already use cases for other processes

      Custom object
      Pros = Able to customise entirely as you want
      Cons = More work, another object to setup and manage
       

  3. Set an error notification. For the error returned option, this will drop out of the bottom of the container. To avoid this being missed in case, set the following options. Drag and add an action container with a notify app.

    1. Configure this item: Email

    2. Send email: Now

    3. To address: *insert admin/team leads email address*

    4. Subject: Example “A callback request task failed to be created”

    5. Email body: Example: “A task failed to be created to callback the number: $(CallerNumber)”
      This means if the callback case/task isn’t created then the callback request isn’t lost and it can be created manually.

  4. Finish with a speech container. Use the action container with the Speak app to end the call with a message something like “Thank you for requesting a callback. We will be in touch soon.”

How to use and manage

  1. When a callback request is made a task/case is made. This is populated with the time of day and phone number.

  2. The team lead then allocates the agents with the callbacks as they see fit (depending on shifts for example)

  3. The agents can then look at when the callback is requested and decide when to complete the callback

  4. You can create a list view or report to manage and monitor callbacks. Examples:
     

  5. To report on the call reporting data, you would want to build a report with the following:

    1. Report type = Call Reporting

    2. Filter on From Call Queue Last Disposition = ABANDONED

    3. Filter on Callback Time = *time frames*

    4. Add in the fields: Callback Time, From Call Queue Total Wait Seconds, Time Hunting, Time Ringing, From Call Queue Last Queue, From Dialled Number, From Number, etc…