- Node & Express
- Node & NestJS
- Node & Sails
- Node & Serverless
Get Started with Node.js Using Express
Start by signing up for a free trial account that you can use to experiment with and learn about our services. The free trial account comes with free credits, and you can add more as you go along. You can also add a phone number to your account to start testing the full range of our voice and SMS features. A page in our support portal walks you through the signup process.You can start making and receiving calls either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.- Using XML
Install Node.js, Express, and the Plivo Node.js SDK
You must set up and install Node.js, Express, and Plivo’s Node.js SDK before you make your first call.Install Node.js
You can check whether you have Node.js installed under macOS or Linux by running the commandnode --version in a terminal window. Under Windows, open a Windows command prompt or PowerShell and type node -v. If you don’t have Node.js installed or want a more current version, download and install it.Install Express and the Plivo Node.js SDK
Create a projects directory and change into it.Make your first outbound call

Code
Create a file calledMakecall.js and paste into it this code.Note:
We recommend that you store your credentials in the
auth_id and auth_token environment variables to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and Plivo will automatically fetch the values from the environment variables. You can use process.env to store environment variables and retrieve them when initializing the client.Test
Save the file and run it.Receive your first inbound call

Set up an Express server to handle incoming calls
Create a file namedreceive_call.js and paste into it this code.Expose your local server to the internet
To receive incoming calls, your local server must connect with Plivo API services. For that, we recommend using ngrok, which exposes local servers running behind NATs and firewalls to the public internet over secure tunnels. Using ngrok, you can set webhooks that can talk to the Plivo server.

Create a Plivo application to receive calls
Associate the controller you created with Plivo by creating a Plivo application. Visit Voice > Applications and click Add New Application. You can also use Plivo’s Application API.Give your application a name — we called oursReceive_call. Enter the server URL you want to use (for example https://<yourdomain>.com/receivecall/) in the Primary Answer URL field and set the method to POST. Click Create Application to save your application.
Assign a Plivo number to your application
Navigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, selectXML Application.From the Plivo Application drop-down, select Receive Call (the name we gave the application).Click Update Number to save.
Test
Make a call to your Plivo number using any phone.Forward an incoming call

Set up an Express application to forward calls
Create a file calledforward_call.js and paste into it this code.Create a Plivo application to forward calls
Associate the Express application you created with Plivo by creating a Plivo application. Visit Voice > Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API.Give your application a name — we called oursForward Call. Enter the server URL you want to use (for example https://<yourdomain>.com/forward_call/) in the Answer URL field and set the method to POST. Click Create Application to save your application.Assign a Plivo number to your application
Navigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, selectXML Application.From the Plivo Application drop-down, select Forward Call (the name we gave the application).Click Update Number to save.