Configure your prerequisites

There are a few prerequisites that you need to complete before you can work through this tutorial. If you've already completed any of them, feel free to skip that step.


You can create a Nexmo account via the Nexmo Dashboard.

Within the Dashboard you can create applications and purchase Nexmo numbers. You can also perform these tasks using the Nexmo CLI.

If you want to carry out tasks such as creating applications, purchasing Nexmo numbers and so on, you will need to install the Nexmo CLI. As the Nexmo CLI requires node.js you will need to install node.js first.

If you are planning to use JavaScript to develop your application, you'll need to install (or update) the latest version of the Nexmo Client SDK.

Create a new project directory and change into it. Then run the following command:

$ npm init
$ npm install nexmo-client --save

This will install the Client SDK into the node_modules directory within your project folder.

If you already have the Client SDK installed the above command will upgrade your Client SDK to the latest version.

The Nexmo CLI allows you to carry out many operations on the command line. Examples include creating applications, purchasing numbers, and linking a number to an application.

To install the Beta version of the CLI with NPM you can use:

npm install nexmo-cli@beta -g

Set up the Nexmo CLI to use your Nexmo API Key and API Secret. You can get these from the settings page in the Nexmo Dashboard.

Run the following command in a terminal, while replacing api_key and api_secret with your own:

nexmo setup api_key api_secret

The webhook servers used in this series of tutorials use the Express framework. You will need to install the Express framework in order for the webhook servers to work.

If you've not already done so initialize your project directory with:

npm init

or, to initialize your project with default values, use:

npm init --y

Then, install Express with:

npm install express --save

You must make your webhook accessible to Nexmo’s APIs over the public Internet. An easy way to achieve this during development without standing up your own server is to use Ngrok. To learn more, read our documentation on Ngrok.

Download and install ngrok, then execute the following command to expose your application on port 3000 to the public Internet:

./ngrok http 3000

If you are a paid subscriber you could type:

./ngrok http 3000 -subdomain=your_domain

NOTE: In this example Ngrok will divert the Nexmo webhooks you specified when you created your Nexmo application to localhost:3000. Although port 3000 is shown here, you can use any free port that is convenient.