Discover how to easily build voice alerting

Share on twitter
Share on whatsapp
Share on linkedin
Share on reddit
Share on email

Are you looking up to increase user experience with smart notifications? Ever thought of synchronous channels perks like voice? Scared of the complexity of voice alerting? Let’s see that!

Using voice alerting guarantees your notification gets the attention it deserves. It enables quick escalation, immediate acknowledgment, and real-time statistics.

Voice alerting in the real world 

Imagine receiving:

“A new 5,000$ bank wire has been made to IBAN ending in **** ***** **** **** 8901 and located in the Virgin Islands. Press 1 to validate or 2 to reach the support team”.

This is the kind of notification you may want to interact with immediately. Leading potentially to an instant chat with your banker. In other words, you would like to leverage quick escalation to solve a security matter, eventually increasing brand loyalty.

Or even:

“Nuclear alert: a radioactive water leak from your local nuclear power plant has been detected. You are asked to apply the usual nuclear safety instruction. Stay home until further instructions. For more information, Press 1 to reach your local crisis unit”.

To cast critical health information to a large number of people, while smoothing peak of demand for a contact center.

Or just:

“Your medical appointment at Central Medical Center, Los Angeles, is booked tomorrow at 9 am. Press 1 to confirm or 2 to cancel. If you want to get more information please press 3”.

Just to low down your no show rate and increase your revenues.


What if you could automate alerts sending based on your own business logic triggers. What if you could allow your customers to synchronously interact with using a simple IVR? You could build an amazingly smooth user experience.

Enterprise Programmable Communication provides all the APIs to build such a use case and many other alerting scenarios. Using the free visual builder Node-Red, you could build your own flow answering your business issues. Everything in a couple of clicks, voice alerting made simple 🙂

Let’s dig in the banking example

Let’s imagine you would like to send alerts to every customer concerned by unusual operations.

Here is the workflow: 

In the first place, you will need your internal banking system to trigger an event regarding the suspicious operation. That event would include details about the operation and your customer. 

In our case, we choose to use a simple Google spreadsheet. However, you may choose any internal tool, your CRM or your database. 

Next, you might want to launch calls in a routine task. You could even set a button trigger on your own business software.

Then, when the campaign begins every customer will be called and will hear the message you recorded. You could also generate it dynamically through speech to text capabilities. It can include any personal customizations you may find pertinent, such as some details on the transaction.

To interact with this message, the customer has two choices :

  1. Acknowledge the call, meaning he understood and nothing is wrong with the bank wire.
  2. Speak to the customer service to learn more about the situation and eventually take action about it.

Using a simple IVR with DTMF, the user can trigger actions.

If he does not choose 1) ou 2) then we could choose to reiterate the call later on. We could also send the same message on another channel: Whatsapp, SMS or another service.

Every call is then subject to a report entry and could trigger another action in your internal systems. In our simple example, it sends information in a spreadsheet.

Programmable use case | Episode #1 – Voice Alerting (French & English subtitles)

Voice alerting from a technical standpoint

Now let’s go deeper in the technical aspect and describe the set up needed in Node-Red.

Visuel flow using Enterprise Programmable Communication & Node-red

We have built this call campaign using Wazo’s events and APIs requests.

Events are WebSocket based nodes, meaning that we are able to catch something happening in our platform in real-time.

Let’s start with call_initiated, this event reacts at every outgoing call initiated by this campaign. We also use call_DTMF_received, which will react to DTMF inputs and call_deleted which will react to hanged up calls.

Each of these events are triggering functions. We host few code lines to process the data or to script how the flow should react. For example, our function ‘call campaign ?” will operate for each outgoing call, storing datas of call in variables for later use and confirming this specific call is part of the campaign or not.

We also used direct APIs request such as “new call”, “playback” and “bridge call”

For example “new call” is used to dial an outgoing call. Some API must be fed with data to work correctly. You will find how to feed Wazo’s API and what it will send you back in our documentation: API Reference.

Another example: To connect the call with another extension you can use “bridge call” (you must have priorly set up your dial plan in your Wazo instance).

Voice alerting in Node-red

Now let’s look at the global logic, first this call campaign can be started either manually or using a CRON node to schedule start dates.

Phone numbers are stored in a google spreadsheet tab which we can request using it’s unique ID in accordance with our rights on the document. We process this data in order to split it in rows and format each row to feed the “New call’ API.

Each new call will generate an event “call_call initiated” which will be checked and its data (time, phone number…) stored. If it succeed its check we will play a message using the payback API, we will also wait 15 second to trigger a “call_dtmf_received” or will end the call using the “hang up” API.

If the event “call_dtmf_received” is triggered, we store the DTMF choice for further reports. Then according to the DTMF choice we will either play a message using the “playback” API or connect the call to an agent using the “bridge call” API.

Hangup phone calls will trigger the “call_deleted” event, then a report row will be generated using all previously stored data, and inject it in another tab of the spreadsheet.

Using node-red you can easily set up workflows combining Wazo’s with other software. It allows solving complex business challenges, without having to compromise on users’ needs.

If you want to explore voice alerting, feel free to reach out to us. If you are interested in discovering additional programmable use cases, have a look at the following posts:

  • “Build an audio conferencing solution” – Episode #2
  • “Increase the value of your voice channels” – Episode #3
  • “Turn your communication data into business analytics” – Episode #4

We hope to hear from you!

Stay tuned!
Subscribe to receive exclusive content and news.