Notify: SMS Notifications Quickstart
We are no longer allowing customers to onboard to Notify. We intend to deprecate the Notify product on April 25, 2024. Learn more in our Notify API End of Life Notice. We prepared this Transition Guide to assist in supporting your push notification use cases.
With this Quickstart, you will be able to send an SMS Notification from scratch (no previous code writing experience needed).
What we will do:
- Purchase a Twilio Phone Number
- Create Messaging Service
- Set up Notify Service Instance
- Gather Twilio account information
- Create a Binding for SMS
- Send an SMS Notification
Before we get started, please, read the following note:
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.
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 here, 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.
Gather account information
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 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 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 its
00000001
, but its up to you, how you identify your users. 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 own mobile phone number so you could actually receive it. In the example its
+1651000000000
Here, we use the REST API to create a Binding
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!
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, whom you want to send the SMS to (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
Or 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.
What's next?
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?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.