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:
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.
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!
Now for Notify to use this Phone number, we need to add it to Messaging Service and associate it with Notify Service Instance.
Go to console Programmable SMS -> Messaging Service
Create a new 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
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.
In the console, create a Notify Service. Make note of the SID! You will use this later when you start writing code further down.
Now choose your new Messaging Service for this Notify Service Instance
Next, we will gather account information and start writing a bit of code.
Config Value | Description |
---|---|
Account SID | Used to authenticate REST API requests - find it in the console here. |
Auth Token | Used to authenticate REST API requests - like the Account SID, find it in the console here. |
Service Instance SID | A 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!
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:
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.+1651000000000
Here, we use the REST API to create a Binding
1// Download the Node helper library from www.twilio.com/docs/libraries/node#installation2// These identifiers are your accountSid and authToken from3// https://www.twilio.com/console4// To set up environmental variables, see http://twil.io/secure5const accountSid = process.env.TWILIO_ACCOUNT_SID;6const authToken = process.env.TWILIO_AUTH_TOKEN;7const client = require('twilio')(accountSid, authToken);89const bindingOpts = {10identity: '00000001', // We recommend using a GUID or other anonymized identifier for Identity.11bindingType: 'sms',12address: '+1651000000000',13};1415client.notify16.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')17.bindings.create(bindingOpts)18.then(binding => console.log(binding.sid))19.catch(error => console.log(error))20.done();
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!
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:
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#installation2// These identifiers are your accountSid and authToken from3// https://www.twilio.com/console4// To set up environmental variables, see http://twil.io/secure5const accountSid = process.env.TWILIO_ACCOUNT_SID;6const authToken = process.env.TWILIO_AUTH_TOKEN;7const client = require('twilio')(accountSid, authToken);89const notificationOpts = {10identity: '00000001', // We recommend using a GUID or other anonymized identifier for Identity.11body: 'Knok-Knok! This is your first Notify SMS',12};1314client.notify15.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#installation2// These identifiers are your accountSid and authToken from3// https://www.twilio.com/console4// To set up environmental variables, see http://twil.io/secure5const accountSid = process.env.TWILIO_ACCOUNT_SID;6const authToken = process.env.TWILIO_AUTH_TOKEN;7const client = require('twilio')(accountSid, authToken);89const notificationOpts = {10toBinding: JSON.stringify({11binding_type: 'sms',12address: '+1651000000000',13}),14body: 'Knock-Knock! This is your first Notify SMS',15};1617client.notify18.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.