Skip to content

Files

Latest commit

d997dfa · Apr 30, 2025

History

History

create-twilio-function

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 12, 2020
Apr 30, 2025
Jan 24, 2025
Mar 18, 2024
Aug 12, 2020
Apr 30, 2025
Apr 21, 2021
Aug 12, 2020
Aug 12, 2020
Apr 30, 2025

create-twilio-function

A command line tool to setup a new Twilio Function with local testing using twilio-run. Part of the Twilio Serverless Toolkit.

Read more about this tool in the post start a new Twilio Functions project the easy way

Usage

npm init

There are a number of ways to use this tool. The quickest and easiest is with npm init:

npm init twilio-function function-name
cd function-name
npm start

This will create a new directory named "function-name" and include all the files you need to write and run a Twilio Function locally. Starting the application will host the example function at localhost:3000/example.

Twilio CLI

Make sure you have the Twilio CLI installed with either:

npm install twilio-cli -g

or

brew tap twilio/brew && brew install twilio

Install the Twilio Serverless Toolkit plugin:

twilio plugins:install @twilio-labs/plugin-serverless

Then initialise a new Functions project with:

twilio serverless:init function-name

npx

You can also use npx to run create-twilio-function:

npx create-twilio-function function-name

Global installation

Or you can install the module globally:

npm install create-twilio-function -g
create-twilio-function function-name

Function Templates

create-twilio-function enables you to generate a new empty project or to build a project using any of the templates from the Function Templates repo. All you need to do is pass a --template option with the name of the template you want to download. Like this:

npm init twilio-function function-name --template blank

This works with any of the other ways of calling create-twilio-function. Check out the ever expanding list of function templates here.

TypeScript

If you want to build your Twilio Functions project in TypeScript you can. create-twilio-function supports generating a new project that is set up to use TypeScript too. To generate a TypeScript project, use the --typescript flag, like this:

npm init twilio-function function-name --typescript

Note: there are no Function templates written in TypeScript, so do not use the --template flag alongside the --typescript flag. The basic TypeScript project does come with some example files, but you can generate an empty project combining the --typescript and --empty flags.

Command line arguments

Creates a new Twilio Function project

Commands:
  create-twilio-function <name>          Creates a new Twilio Function project
                                                                       [default]
  create-twilio-function list-templates  Lists the available Twilio Function
                                         templates

Positionals:
  name  Name of your project.                                           [string]

Options:
  --account-sid, -a     The Account SID for your Twilio account         [string]
  --auth-token, -t      Your Twilio account Auth Token                  [string]
  --skip-credentials    Don't ask for Twilio account credentials or import them
                        from the environment          [boolean] [default: false]
  --import-credentials  Import credentials from the environment variables
                        TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN
                                                      [boolean] [default: false]
  --template            Initialize your new project with a template from
                        github.com/twilio-labs/function-templates       [string]
  --empty               Initialize your new project with empty functions and
                        assets directories            [boolean] [default: false]
  --typescript          Initialize your Serverless project with TypeScript
                                                      [boolean] [default: false]
  -h, --help            Show help                                      [boolean]
  -v, --version         Show version number                            [boolean]
  --path                                                        [default: (cwd)]

Contributing

This project welcomes contributions from the community. Please see the CONTRIBUTING.md file for more details.

LICENSE

MIT