We strive to make programmable communications available to as many people as possible, but until now if you wanted to build with the Nexmo API platform you really needed to write code. So, today we’re really excited to share something with you that will lower the barrier to entry.
Node-RED is an open source project enabling “flow-based programming for the Internet of Things.” While it has seen some good adoption in traditional IoT use cases such as sensor networks and smart homes, we think that the potential application is far wider. Flow-based programming lends itself very nicely to programmable communications because phones are just another “thing” connected to the Internet, so controlling the progress of a call or sending and receiving SMS are very similar to IoT activities.
We recently adopted the Nexmo Node-RED package that had been developed by the community. We've updated it to provide functionality (nodes) for all Nexmo products that are in general availability (SMS, Voice, Verify and Number Insight) and have published version 3 of
node-red-contrib-nexmo as a beta release.
You can now create flows for things such as sending SMS to multiple recipients, creating autoresponders, building phone call IVRs or running phone number verification (e.g. 2FA). The Nexmo Node-RED package is perfect for prototyping call flows, allowing you to rapidly make changes and visualise the sequence of events.
One of the great things about Node-RED is that there’s a thriving ecosystem of other nodes to connect to different services. If you want to combine Nexmo communications with Slack to get a notification of an SMS inquiry from a customer or use IBM Watson to run sentiment analysis on your voicemails, you can combine the nodes to create that. The possibilities are endless.
There are thousands of developers and builders working with Node-RED to create all kinds of interactions and you'll find plenty of sample flows in the Node-RED Library. You can also see a number of Nexmo Node-RED flows, such as the ones shown above, and we'll be adding more.
If you’d like to get started with Node-RED you’ll need to install the runtime and editor. There are all sorts of ways to do this, either on your local machine, on a device like a Raspberry Pi, or a number of cloud-hosted options. You can read how to get started in the offical Node-RED docs. If you’re running on your local machine you will need to use a local tunnel solution such as ngrok to expose your Node-RED server to the Internet so that the Nexmo platform can send webhooks. Check out our blog post on using ngrok and you can also find an ngrok package for Node-RED in the catalog.
If you're new to Node-RED but have some experience with programming you'll find some helpful examples of how to solve common problems in the Cookbook.
Finally, this 5-minute video shows you how to get started with the Nexmo Node-RED package and walks through creating your first voice application.