Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Twilio Add-ons


Add-ons are pre-integrated partner technologies that let developers do more with the Twilio API. They make it possible to quickly build rich communications experiences by combining Twilio and 3rd-party capabilities, giving you the ability to choose the right technology for your needs without having to learn, test, and manage different platforms.

Add-ons are available through the Twilio Marketplace; you can choose from a list of verified Add-ons and install them in a single click. Once installed, they enhance Twilio APIs to deliver the capabilities of the installed Add-on. Examples of Add-ons include Phone number based queries for demographic & marketing data, Number fraud/spam blocking, Recordings Transcription, Message sentiment analysis, etc.


Supported Products

supported-products page anchor

Add-ons are currently available for Programmable SMS, Calls and Recordings for Programmable Voice, and Lookups.

These Add-ons process the content that Twilio provides by tapping into the Add-on Provider's data sources or using their technology to analyze it, and provide their results back to you as a JSON dictionary, added to the existing Twilio APIs that you use today.

The following Twilio content is available for Add-ons to enhance: Phone Numbers, Incoming Message body, Call recordings.

ProductSupported Add-on TypeWhen is the Add-on invokedData available to Add-onConsumption Mode
LookupsPhone Number Add-onFor every Lookup that specifics Add-on parameterPhone NumbersSynchronous
Programmable SMSPhone Number Add-onFor every Incoming SMS. Outbound SMS is not supported.Phone NumbersSynchronous
Programmable SMSMessage Analysis Add-onFor every Incoming SMS. Outbound SMS is not supported.Phone Numbers, Message BodySynchronous
Programmable VoicePhone Number Add-onFor every Incoming Call. Outbound Calls are not supported.Phone NumbersSynchronous
Programmable VoiceRecording Analysis Add-onFor every Incoming Call that is recorded.Audio File (single & dual channel)Asynchronous

Terms of Service & Data Storage

terms-of-service page anchor

Add-ons are provided and supported by Add-on providers in the Twilio Marketplace. As a part of the Add-on installation process, you will be required to accept the Add-on provider's Terms of Service. Note that the Add-on is provided under the Partner's Terms of Service & Privacy policy.


Configuration & Identifiers

configuration--identifiers page anchor

Installing an Add-on creates an Instance of that Add-on that is tied to your account. The Add-on Instance holds the configuration information required to operate the Add-on. This includes the following:

Configuration Information (available in Console)What is itUser Configurable
Enabled Twilio ProductsA list of Twilio products that this Add-on supports and is enabled on.Yes
Configuration ParametersAdd-on specific configuration parameters.Yes
Add-on Unique NameHuman readable unique identifier used to invoke specific Add-ons and consume their results in the Twilio APIs. Example: twilio_caller_identityYes (Suffix only)
Add-on Install SidUnique Identifier for this Add-on Instance. Used for debugging and billing queries, and required for support requests when you are communicating with the Add-on provider. Example: MC000003333333333345678901234566No

For Add-ons that support Configuration Parameters, you can create additional Instances, each with a different set of Enabled Twilio Products and Configuration Parameters. This allows you to create & invoke different configurations of an Add-on, for example, to analyze English and French language text. Refer to the specific Add-on's documentation for information about the Twilio Products & Configuration Parameters it supports.

(warning)

Warning

Add-ons are currently installed and enabled at an Account level. In other words, when you enable an Add-on for a specific product such as Incoming SMS, it will be invoked for every incoming SMS. Some Twilio products (such as Lookups) may require that you specify the Add-on's unique name to invoke that Add-on, in addition to enabling them for that product via the Console.


Consuming Add-On Data

using page anchor

See Using Add-ons


The Marketplace allows Partners to set their own pricing for their Add-ons and invokes the Twilio Billing system for usage-based billing. Use of an Add-on will be metered by Twilio and deducted from the developers account.

The following billing models are supported by the Marketplace for an Add-on:

  • Pay-per-use
  • Pay-per-minute : For Recording Analysis Add-ons
  • Subscription (coming soon)
  • Installation (coming soon)

You can check pricing for Add-ons in the Marketplace catalog, and usage inside the Usage page in the Console.


Add-On Support

support page anchor

Add-ons are provided and supported by Add-on Partners in the Twilio Marketplace. Support information for Add-on Partners (Phone numbers, support email, expected resolution times and process) varies from Add-on to Add-on, and is documented in the Add-on detail page.

The following table outlines when to contact Twilio for Add-on related issues and when you need to reach out to the Add-on Partner.

IssueSupport provided by
I don't see AddOns parameter in my callbacksTwilio
Error Codes 61000, 61003, 61006, 61009Twilio
Error Codes 61001, 61002, 61004, 61005, 61007, 61008,Add-on Partner
Error Codes other than those specified aboveTwilio
Add-on results are not accurate or as per expectations specified in the Add-ons documentationAdd-on Partner

When you contact Twilio or an Add-on Partner to request support for an Add-on, you should provide the following information to help identify and resolve your issue.

IdentifierWhat is itWhere to find it
Add-on Unique NameHuman readable unique identifier used to invoke specific Add-ons and consume their results in the Twilio APIs. Example: twilio_caller_identityAvailable in the Console, under the Installed Add-ons section.
Request SidThe unique identifier of a particular Add-on request. Used for billing and debugging. Example: XR000009775bb6d43d1cabc4955723fae1This is available in the API response or callback you receive from Twilio that contains the Add-on results.
Add-on Install SidA unique identifier for a developers install of an Add-on. Example: MC000003333333333345678901234566Available in the Console, under the Installed Add-ons section.

Examples of Add-on Usage

examples-of-add-on-usage page anchor

There are a variety of ways to leverage Add-ons and consume the data they return. In this section, we have an example utilizing the Prove TCPA Compliance Add-on, along with an example of a modified SMS Webhook having a new POST parameter containing data returned from the Add-on. For more information on how to install and begin working with Add-ons, visit Add-ons Quickstart.

(warning)

Warning

Add-ons are only supported by the most recent major version of the Twilio Helper Libraries.

Deterministic TCPA Compliance with the Prove Add-on

deterministic-tcpa-compliance-with-the-prove-add-on page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_12
// Download the helper library from https://www.twilio.com/docs/node/install
_12
// Find your Account SID and Auth Token at twilio.com/console
_12
// and set the environment variables. See http://twil.io/secure
_12
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_12
const authToken = process.env.TWILIO_AUTH_TOKEN;
_12
const client = require('twilio')(accountSid, authToken);
_12
_12
client.lookups.v1.phoneNumbers('phone_number')
_12
.fetch({addOns: ['prove_tcpa_compliance'], addOnsData: {
_12
'prove_tcpa_compliance.RightPartyContactedDate': '20220101'
_12
}})
_12
.then(phone_number => console.log(phone_number.addOns));

Output

_37
{
_37
"caller_name": null,
_37
"country_code": "US",
_37
"phone_number": "+16502530000",
_37
"national_format": "(650) 253-0000",
_37
"carrier": {
_37
"mobile_country_code": null,
_37
"mobile_network_code": null,
_37
"name": "Level 3 Communications, LLC",
_37
"type": "landline",
_37
"error_code": null
_37
},
_37
"add_ons": {
_37
"status": "successful",
_37
"message": null,
_37
"code": null,
_37
"results": {
_37
"payfone_tcpa_compliance": {
_37
"status": "successful",
_37
"request_sid": "XRd3a2991c9108bde3ca9589ed84d31463",
_37
"message": null,
_37
"code": null,
_37
"result": {
_37
"Status": 0,
_37
"Response": {
_37
"MSISDNType": "NonFixedVoIP",
_37
"NumberMatch": "I",
_37
"VerifyNumberTransactionId": "2019459819"
_37
},
_37
"RequestId": "XRd3a2991c9108bde3ca9589ed84d31463",
_37
"Description": "Success."
_37
}
_37
}
_37
}
_37
},
_37
"url": "https://lookups.twilio.com/v1/PhoneNumbers/+16502530000"
_37
}

Webhook JSON of Add-on Enabled Incoming SMS

webhook-json-of-add-on-enabled-incoming-sms page anchor

With add-ons enabled, SMS webhooks will receive a new POST parameter, a JSON-encoded string called 'AddOns' - this is an example of formatted JSON you'd receive in that webhook request.


_72
{
_72
"status":"successful",
_72
"message":null,
_72
"code":null,
_72
"results":{
_72
"provider1_natural_tcpa_optout_detection":{
_72
"request_sid":"XR7b57f17eeae56053f034a8a819577e89",
_72
"status":"successful",
_72
"message":null,
_72
"code":null,
_72
"result":{
_72
"probability":0
_72
}
_72
},
_72
"provider2_language_insights":{
_72
"request_sid":"XR424628481f74b64b709950f1311b2235",
_72
"status":"successful",
_72
"message":null,
_72
"code":null,
_72
"result":{
_72
"status":"OK",
_72
"language":"english",
_72
"keywords":[
_72
{
_72
"text":"Hi",
_72
"relevance":"0.976891",
_72
"sentiment":{
_72
"type":"positive",
_72
"score":"0.57102"
_72
}
_72
},
_72
{
_72
"text":"new add-ons",
_72
"relevance":"0.935276",
_72
"sentiment":{
_72
"type":"positive",
_72
"score":"0.415215"
_72
}
_72
},
_72
{
_72
"text":"Twilio",
_72
"relevance":"0.728652",
_72
"sentiment":{
_72
"type":"positive",
_72
"score":"0.415215"
_72
}
_72
}
_72
],
_72
"concepts":[
_72
_72
],
_72
"entities":[
_72
{
_72
"type":"Company",
_72
"relevance":"0.77978",
_72
"sentiment":{
_72
"type":"positive",
_72
"score":"0.415215"
_72
},
_72
"count":"1",
_72
"text":"Twilio",
_72
"disambiguated":{
_72
"name":"Twilio",
_72
"dbpedia":"http://dbpedia.org/resource/Twilio",
_72
"freebase":"http://rdf.freebase.com/ns/m.0h1bs6j"
_72
}
_72
}
_72
]
_72
}
_72
}
_72
}
_72
}


Rate this page: