Before you begin

What are building blocks?

Building blocks are short pieces of code you can reuse in your own applications. The building blocks utilise code from the Nexmo Node Quickstart  and Curl Building Block  repositories.

Please read this information carefully, so you can best use the building blocks.


  1. Create a Nexmo account
  2. Rent a Nexmo Number
  3. Install the Nexmo Command Line tools
  4. Create a Nexmo Application in the Dashboard 
  5. Install the Nexmo Node Client Library - if writing applications using Node.
  6. Set up Ngrok  - if testing locally.

Other resources:

Replaceable variables

Generic replaceable

The following replaceable information depends on the library and specific call:

Key Description
NEXMO_APPLICATION_ID The Nexmo Application ID.


All phone numbers are in E.164 format.

Key Description
NEXMO_NUMBER Replace with your Nexmo Number. E.g. 447700900000
FROM_NUMBER Replace with number you are sending from. E.g. 447700900002
TO_NUMBER Replace with the number you are sending to. E.g. 447700900001

Specific replaceable/variables

Some building blocks have more specialised variables, such as Facebook Page IDs, that will need to be replaced by actual values. Where required, these are specified on a per-building block basis.


The main ones you will meet here are:

If you are testing locally using Ngrok  you will set your webhook URLs in the Nexmo Application object using a format similar to the following examples:

Change demo in the above with whatever Ngrok generates for you, unless you have paid for a reusable URL.

Generate a JWT

TIP: You only need to do this step if you are testing with Curl, as the client libraries generate JWTs as needed for you.

Once you have created a Nexmo Application you can use the Nexmo Application ID and the private key file, private.key, to generate a JWT.

TIP: If you are using the client library for Node (or other languages when supported), the dynamic creation of JWTs is done for you.

If you're using the Nexmo CLI, the command to create the JWT is:

JWT="$(nexmo jwt:generate private.key exp=$(($(date +%s)+86400)) application_id=NEXMO_APPLICATION_ID)"

This JWT will be valid for one day. After that, you will need to generate a new one.

You can then view the JWT with:

echo $JWT

TIP: You can test your JWT at