Skip to contentSkip to navigationSkip to topbar
On this page

Notify: SMS Notifications Quickstart


With this Quickstart, you will be able to send an SMS Notification from scratch (no previous code writing experience needed).

What we will do:

Before we get started, please, read the following note:

(warning)

Make sure you have consent from users to receive notifications

It is best practice, and also potentially required by law in certain jurisdictions, for you to have consent from your end users before sending messages to them, and you should respect your end users' choice to not receive messages from you. It is also important to make sure your database is up to date. This is particularly important for number-based communications like SMS because over time phone numbers may be reassigned to different individuals. If your database is out of date, you could inadvertently send a message to someone who did not consent but was reassigned a phone number that was previously subscribed to your service by another person. Check out the Twilio Marketplace for Add-ons from our partners that can help you keep your database up to date.

Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you transmit using Twilio.


Purchase a Twilio Phone Number

purchase-a-twilio-phone-number page anchor

The first thing you need in order to send an SMS notification is a Twilio-powered phone number. You can grab one to use in the console here by going to the Numbers tab to add a phone number. Make sure that it has SMS enabled!

Notify SMS Quickstart - buy a Twilio Phone Number.

Now for Notify to use this Phone number, we need to add it to Messaging Service and associate it with Notify Service Instance.


Create a Messaging Service

create-a-messaging-service page anchor

Go to console Programmable SMS -> Messaging Service

Create a new Messaging Service.

Notify SMS Quickstart - create Messaging Service.

Messaging Services allow you to organize your messages and enable specific features for groups of messages. It has a lot of cool features and you can read about them in the docs, but now we just need it to send SMS from your new Twilio Phone Number.

To do that, add your new Twilio Phone Number to the Messaging Service

Notify SMS Quickstart - add Twilio Phone Number to Messaging Service step 2.

Now that we have a Phone Number and a Messaging Service, we must create a Notify Service Instance that we'll use the new Twilio Phone Number to send SMS Notifications.


Set up Notify Service Instance

set-up-notify-service-instance page anchor

In the console, create a Notify Service. Make note of the SID! You will use this later when you start writing code further down.

Notify SMS Quickstart - set up Notify Service Instance.

Now choose your new Messaging Service for this Notify Service Instance

Notify SMS Quickstart - configure Messaging Service in Notify Service Instance.

Next, we will gather account information and start writing a bit of code.


Gather account information

gather-account-information page anchor

Config ValueDescription
Account SIDUsed to authenticate REST API requests - find it in the console here.
Auth TokenUsed to authenticate REST API requests - like the Account SID, find it in the console here.
Service Instance SIDA Notify Service instance where all the data for our application is stored and scoped. We created it in Twilio console in the previous paragraph.

Now we're ready to write some code!


(Optional) Create a binding for SMS

optional-create-a-binding-for-sms page anchor

This step is optional. If you do not want to store the phone numbers of your users in Notify to manage all contact information in one place, you can just skip ahead to Send an SMS Notification.

A Binding is a combination of a user and a device that can receive a notification. You can find out more about bindings and how to create, list, retrieve or delete them, under REST API - > Bindings menu.

In this example, we will create a binding with type 'sms'.

You will need:

  • Your account information (gathered above)
  • User Identity - this is a unique identifier of the user. In this example it's 00000001, but it's up to you, how you identify your users. The only requirement - it has to be unique and not Personally Identifiable Information.
  • User's phone number (parameter 'Address') - for testing purposes, let's create a binding with your mobile phone number so you can actually receive it. In the example, it's +1651000000000

Here, we use the REST API to create a Binding

Create a Binding for SMSLink to code sample: Create a Binding for SMS
1
// Download the Node helper library from www.twilio.com/docs/libraries/node#installation
2
// These identifiers are your accountSid and authToken from
3
// https://www.twilio.com/console
4
// To set up environmental variables, see http://twil.io/secure
5
const accountSid = process.env.TWILIO_ACCOUNT_SID;
6
const authToken = process.env.TWILIO_AUTH_TOKEN;
7
const client = require('twilio')(accountSid, authToken);
8
9
const bindingOpts = {
10
identity: '00000001', // We recommend using a GUID or other anonymized identifier for Identity.
11
bindingType: 'sms',
12
address: '+1651000000000',
13
};
14
15
client.notify
16
.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
17
.bindings.create(bindingOpts)
18
.then(binding => console.log(binding.sid))
19
.catch(error => console.log(error))
20
.done();
(error)

Do not use Personally Identifiable Information for Identity

Notify uses Identity as a unique identifier of a user. You should not use directly identifying information (aka personally identifiable information or PII) like a person's name, home address, email or phone number, as Identity because the systems that will process this attribute assume it is not directly identifying information.

Now that we have a binding, all we need to do is send an SMS notification!


Send an SMS Notification

send-an-sms-notification page anchor

In this step, we will send an SMS. If you created a Binding in the previous step we are going to use that if not you can just provide the phone number(s) you want to message directly in the request.

You will need:

  • Your account information (gathered above)
  • User's Identity or phone number, to whom you want to send the SMS (Note, if you are using Identity then a binding between the Identity and the phone number has to be created first. See an example at Create a Binding for SMS.)
  • Body - text of the message to be sent.

Here, we use the REST API to send an SMS Notification using Identity

1
// Download the Node helper library from www.twilio.com/docs/libraries/node#installation
2
// These identifiers are your accountSid and authToken from
3
// https://www.twilio.com/console
4
// To set up environmental variables, see http://twil.io/secure
5
const accountSid = process.env.TWILIO_ACCOUNT_SID;
6
const authToken = process.env.TWILIO_AUTH_TOKEN;
7
const client = require('twilio')(accountSid, authToken);
8
9
const notificationOpts = {
10
identity: '00000001', // We recommend using a GUID or other anonymized identifier for Identity.
11
body: 'Knok-Knok! This is your first Notify SMS',
12
};
13
14
client.notify
15
.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
16
.notifications.create(notificationOpts)
17
.then(notification => console.log(notification.sid))
18
.catch(error => console.log(error));

Alternatively, you can just provide the phone number directly. If you want to send an SMS to multiple phone numbers, just add more ToBinding parameters.

1
// Download the Node helper library from www.twilio.com/docs/libraries/node#installation
2
// These identifiers are your accountSid and authToken from
3
// https://www.twilio.com/console
4
// To set up environmental variables, see http://twil.io/secure
5
const accountSid = process.env.TWILIO_ACCOUNT_SID;
6
const authToken = process.env.TWILIO_AUTH_TOKEN;
7
const client = require('twilio')(accountSid, authToken);
8
9
const notificationOpts = {
10
toBinding: JSON.stringify({
11
binding_type: 'sms',
12
address: '+1651000000000',
13
}),
14
body: 'Knock-Knock! This is your first Notify SMS',
15
};
16
17
client.notify
18
.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
19
.notifications.create(notificationOpts)
20
.then(notification => console.log(notification.sid))
21
.catch(error => console.log(error));


There's much more you can do with Notify. Try our other Quickstarts to send:

Or learn how to send Notifications to a group of users.

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.