Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Display Node.js and Twilio Helper Library versions


Sometimes, such as when you are migrating to the latest version of Node.js, you want to verify what version of Node.js your Functions are running on. The same can apply to the version of the Twilio Node.js Helper Library(link takes you to an external page) that you are using, since its version determines what functionality is available via the context.getTwilioClient helper.

The following code sample shows some helpful values that you can return or log for verification. To get started, follow the instructions below to create a Service and Function to host and execute the example.


Create and host a Function

create-and-host-a-function page anchor

In order to run any of the following examples, you will first need to create a Function into which you can paste the example code. You can create a Function using the Twilio Console or the Serverless Toolkit as explained below:

ConsoleServerless Toolkit

If you prefer a UI-driven approach, creating and deploying a Function can be done entirely using the Twilio Console and the following steps:

  1. Log in to the Twilio Console and navigate to the Functions tab(link takes you to an external page) . If you need an account, you can sign up for a free Twilio account here(link takes you to an external page) !
  2. Functions are contained within Services . Create a Service by clicking the Create Service(link takes you to an external page) button and providing a name such as test-function .
  3. Once you've been redirected to the new Service, click the Add + button and select Add Function from the dropdown.
  4. This will create a new Protected Function for you with the option to rename it. The name of the file will be path it is accessed from.
  5. Copy any one of the example code snippets from this page that you want to experiment with, and paste the code into your newly created Function. You can quickly switch examples by using the dropdown menu of the code rail.
  6. Click Save to save your Function's contents.
  7. Click Deploy All to build and deploy the Function. After a short delay, your Function will be accessible from: https://<service-name>-<random-characters>-<optional-domain-suffix>.twil.io/<function-path>
    For example: test-function-3548.twil.io/hello-world .

Your Function is now ready to be invoked by HTTP requests, set as the webhook of a Twilio phone number, invoked by a Twilio Studio Run Function Widget, and more!


Log and return version data

log-and-return-version-data page anchor

Copy and paste the following example code into your newly minted Function. Ensure that your Function is public, save your changes, and deploy the Service that contains this Function.

Log and return versions

log-and-return-versions page anchor

_18
exports.handler = (context, event, callback) => {
_18
// PATH represents the relative path of this function
_18
// This value does not include the domain name
_18
const path = context.PATH;
_18
const nodeVersion = process.version;
_18
const twilioVersion = require('twilio/package.json').version;
_18
_18
console.log(`Function path: ${path}`);
_18
console.log(`Node.js version: ${nodeVersion}`);
_18
console.log(`Twilio Helper Library version: ${twilioVersion}`);
_18
_18
return callback(null, {
_18
status: 'complete',
_18
path,
_18
nodeVersion,
_18
twilioVersion,
_18
});
_18
};

While running live logs (click Enable live logs in the Console), make a GET request to your Function using a tool such as curl(link takes you to an external page) or Postman(link takes you to an external page). You will then see logs displaying the Function's path, as well as the versions of Node.js and the Twilio Helper Library. Your HTTP client will also receive the same data as JSON.

For example, a public Function named /versions would log the following (with different versions, depending on when you're reading this):


_10
Function path: /versions
_10
Node.js version: v14.18.1
_10
Twilio Helper Library version: 3.72.0

It would also return the following JSON response:


_10
{
_10
"status": "complete",
_10
"path": "/versions",
_10
"nodeVersion": "v14.18.1",
_10
"twilioVersion": "3.72.0"
_10
}

(information)

Info

This sample uses context.PATH to log the relative path of this Function. There are several other helpful, built-in process variables that you may wish to log as well.


Rate this page: