Send Messages with Twilio

Twilio
Made by Twilio

Sends a message using the Twilio API based on the contents of a document written to a specified Cloud Firestore collection.

How this extension works

Use this extension to send messages (SMS or WhatsApp) using the Twilio Programmable Messaging API based on information from documents added to a specified Cloud Firestore collection. The extension will also record the delivery status of each message.

Adding a document triggers this extension to send a message built from the document's fields. The document's fields specify who to send the message to and the body of the message and can optionally define the number to send the message from.

Here's an example document that would trigger this extension:

admin.firestore().collection('messages').add({
  to: '+15551234567',
  body: 'Hello from Firebase!'
});

Required fields

Field Description
to The phone number or WhatsApp number you want to send the message to. Phone numbers should be in e.164 format .
body The body of the message

Optional fields

Field Description
from A Twilio phone number or Messaging Service you want to use to send the message. Overrides the from number or Messaging Service set in the extension settings
mediaUrls An array of URLs of media to send with the message. Only supported in US and Canada. See the Create a Message docs for more info.

Additional setup

Before installing this extension, make sure:

Sending SMS
Sending WhatsApp messages

Billing

To install an extension, your project must be on the Blaze (pay as you go) plan

  • You will be charged a small amount (typically around $0.01/month) for the Firebase resources required by this extension (even if it is not used).
  • This extension uses other Firebase and Google Cloud Platform services, which have associated charges if you exceed the service’s free tier:
  • Cloud Firestore
  • Cloud Functions (Node.js 10+ runtime. See FAQs )
  • Cloud Secret Manager

Usage of this extension also requires you to have a Twilio account and credentials in order to use the Twilio API for message delivery. You are responsible for any associated costs with your usage of Twilio.

How to install this extension

Using the Firebase console

To install and manage extensions, you can use the Firebase console.

Install using console

Using the Firebase CLI

To install and manage extensions, you can also use the Firebase CLI:

Step 1: Run the following npm command to install the CLI or update to the latest CLI version.

npm install -g firebase-tools
Doesn't work? Take a look at the Firebase CLI reference or change your npm permissions .

Step 2: Set up a new Firebase project directory or navigate to an existing one

Step 3: Add this extension to your extension manifest by running

firebase ext:install twilio/send-message --local --project=projectId_or_alias

Step 4 (Optional): Test this extension locally with the Firebase Emulator Suite

firebase emulators:start

Step 5: Deploy the extensions in your manifest to your project

firebase deploy --only extensions --project=projectId_or_alias
Supports
Cloud Firestore
Author
License
Apache-2.0
Version
0.2.1