Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

Brand your calls using CNAM


(new)

Public Beta

Caller ID (CNAM) is in Public Beta. The information in this document could change. We might add or update features before the product becomes Generally Available. Beta products don't have a Service Level Agreement (SLA). Learn more about beta product support(link takes you to an external page).

Learn how to configure Caller ID Name (CNAM), a feature that displays your business name on a recipient's phone during outbound calls to associate your business identity with your Twilio-powered numbers. You can use this guide to send voice notifications, create an outbound call center, use AI agents, create a sales dialer, and for PSTN connectivity.

See Related reference documentation to learn more about the REST API calls used in this guide.


Eligibility

eligibility page anchor
  • Looking up or changing CNAM is available only for US phone numbers.
  • Your Business Profile must be associated with an Employer Identification Number (EIN) or a Data Universal Numbering System (DUNS) number.
  • CNAM is displayed only if the recipient has enabled the CNAM feature on their phone through their carrier.
    • For landlines, CNAM is enabled by default.
    • For mobile phones, most US carriers offer CNAM as an opt-in feature. If the recipient doesn't enable CNAM for their mobile phone, CNAM won't be displayed even if a CNAM is properly set for the number.
(information)

CNAM display depends on the recipient's carrier

CNAM display depends on the recipient's carrier. Twilio keeps its CNAM Line Information Databases (LIDB) up to date with the correct CNAM values. However, not all carriers subscribe to every CNAM database, and Twilio can't control how carriers or database providers manage or update their records.


There are two different options for enabling CNAM on your phone number(s):

  1. Using the Twilio Console
  2. Twilio's Trust Hub REST API.

CNAM conditions

cnam-conditions page anchor
  • Can be a maximum of 15 characters.
  • Must be a unique name or value, cannot be a generic value such as a City/State.
  • Should begin with a letter and can only contain letters, numbers, periods, commas and spaces
  • If no Caller Name (CNAM) is set for the number, the City and State of the number is the default display along with phone number.

Note: At this time, you're unable to update Toll-Free numbers CNAM using the the Twilio Console or API. To update the CNAM on a Toll-Free number, please contact support(link takes you to an external page).

(warning)

Additional charges apply

CNAM lookups incur additional charges. See Lookup pricing(link takes you to an external page) for details.


CNAM Onboarding in the Twilio Console

cnam-onboarding-in-the-twilio-console page anchor
  1. Create a Business Profile in the Trust Hub and submit for vetting. You can do this in Twilio Console(link takes you to an external page) or the legacy Console(link takes you to an external page).

    • If you are an ISV, then you would need to create a Secondary Business Profile for your customer(s).
  2. Assign phone numbers in your account to the Business Profile.

    • This associates a single identity with the phone numbers.
  3. Create a CNAM Trust Product instance that is associated with your Business Profile in the Trust Hub and submit for vetting. You can do this in Twilio Console(link takes you to an external page) or the legacy Console(link takes you to an external page).

  4. After Twilio approves the CNAM Trust Product, you register your phone numbers for CNAM.

    • Only US standard long code phone numbers which are already assigned to your Business Profile are eligible for assignment to the CNAM profile.
    • CA numbers cannot be assigned to CNAM profiles.
    • US and CA Toll Free numbers cannot be assigned to CNAM profiles. For help updating CNAM on Toll Free numbers, engage Support.
  5. Click Save

    • When the CNAM Trust Product reaches Twilio-Approved status, Twilio will register CNAM display name for your numbers with the CNAM authoritative databases in the United States.
  6. Enable Caller Name Lookup for the phone number.

  7. Go to Phone Numbers > Active Numbers in Twilio Console(link takes you to an external page) or the legacy Console(link takes you to an external page).

  8. Click the phone number you want to enable Caller Name Lookup for.

  9. In the Voice and emergency calling section, click Edit.

  10. From the Caller Name Lookup dropdown, select Enabled.

  11. Click Save Configuration.

Note: You can remove CNAM by unassigning Phone Number from CNAM Trust Product or by deleting the CNAM Trust Product.

That's it. No coding required.


CNAM Onboarding with the Trust Hub REST API

cnam-onboarding-with-the-trust-hub-rest-api page anchor

Please refer to Trust Hub Rest API Docs for more details.

  1. Create a Business Profile in the Console's Trust Hub and submit for vetting.
  1. Assign phone numbers in your account to the Business Profile. This associates a single identity with the phone numbers.
  • You'll need your Phone Number SID(s)

    • To find your Phone Number SIDs in the Console, go to your Dashboard. In the Project Info section, click on See all phone numbers, then click on a phone number to find the SID.
    • To find your Phone Number SIDs using the API, see the Additional API Calls section below.
    • Phone Number SIDs begin with "PN".
    • In the API Call below, don't change the ChannelEndpointType. It needs to be phone-number to add a phone number to your Business Profile.
Assign Phone Numbers to Your Business ProfileLink to code sample: Assign Phone Numbers to Your Business Profile
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createCustomerProfileChannelEndpointAssignment() {
11
const customerProfilesChannelEndpointAssignment = await client.trusthub.v1
12
.customerProfiles("YOUR_BUSINESS_PROFILE_SID")
13
.customerProfilesChannelEndpointAssignment.create({
14
channelEndpointSid: "YOUR_PHONE_NUMBER_SID",
15
channelEndpointType: "phone-number",
16
});
17
18
console.log(customerProfilesChannelEndpointAssignment.sid);
19
}
20
21
createCustomerProfileChannelEndpointAssignment();

Response

Note about this response
1
{
2
"sid": "RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"customer_profile_sid": "YOUR_BUSINESS_PROFILE_SID",
4
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"channel_endpoint_sid": "YOUR_PHONE_NUMBER_SID",
6
"channel_endpoint_type": "phone-number",
7
"date_created": "2019-07-31T02:34:41Z",
8
"url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments/RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
9
}
  1. Create CNAM Trust Product
  • Note: Do not change the policy_sid from the example below. This is a static value that will stay the same across all accounts.
  • The response will contain the SID for your Trust Product. You'll need this for several other API calls.
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createTrustProduct() {
11
const trustProduct = await client.trusthub.v1.trustProducts.create({
12
email: "EMAIL@EXAMPLE.COM",
13
friendlyName: "FRIENDLY_NAME_FOR_YOUR_TRUST_PRODUCT",
14
policySid: "RNf3db3cd1fe25fcfd3c3ded065c8fea53",
15
});
16
17
console.log(trustProduct.sid);
18
}
19
20
createTrustProduct();

Response

Note about this response
1
{
2
"sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"policy_sid": "RNf3db3cd1fe25fcfd3c3ded065c8fea53",
5
"friendly_name": "FRIENDLY_NAME_FOR_YOUR_TRUST_PRODUCT",
6
"status": "draft",
7
"email": "EMAIL@EXAMPLE.COM",
8
"status_callback": "http://www.example.com",
9
"valid_until": null,
10
"date_created": "2019-07-30T22:29:24Z",
11
"date_updated": "2019-07-31T01:09:00Z",
12
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
13
"links": {
14
"trust_products_entity_assignments": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/EntityAssignments",
15
"trust_products_evaluations": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Evaluations",
16
"trust_products_channel_endpoint_assignment": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments"
17
},
18
"errors": null
19
}
  1. Connect your CNAM Trust Product to your Business Profile
Connect your CNAM Trust Product to your Business ProfileLink to code sample: Connect your CNAM Trust Product to your Business Profile
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createTrustProductEntityAssignment() {
11
const trustProductsEntityAssignment = await client.trusthub.v1
12
.trustProducts("YOUR_CNAM_TRUST_PRODUCT_SID")
13
.trustProductsEntityAssignments.create({
14
objectSid: "YOUR_BUSINESS_PROFILE_SID",
15
});
16
17
console.log(trustProductsEntityAssignment.sid);
18
}
19
20
createTrustProductEntityAssignment();

Response

Note about this response
1
{
2
"sid": "BVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"trust_product_sid": "YOUR_CNAM_TRUST_PRODUCT_SID",
4
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"object_sid": "YOUR_BUSINESS_PROFILE_SID",
6
"date_created": "2019-07-31T02:34:41Z",
7
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/EntityAssignments/BVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
8
}
  1. Create CNAM End User
  • Note: In the API Call below, don't change the Type. It needs to be cnam_information to create the proper CNAM End User resource.
  • This API call will return the SID for the End User. You will need this in the next step.
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createEndUser() {
11
const endUser = await client.trusthub.v1.endUsers.create({
12
attributes: {
13
cnam_display_name: "DISPLAY NAME",
14
},
15
friendlyName: "YOUR_END_USER_FRIENDLY_NAME",
16
type: "cnam_information",
17
});
18
19
console.log(endUser.sid);
20
}
21
22
createEndUser();

Response

Note about this response
1
{
2
"date_updated": "2021-02-16T20:40:57Z",
3
"sid": "ITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"friendly_name": "YOUR_END_USER_FRIENDLY_NAME",
5
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"url": "https://trusthub.twilio.com/v1/EndUsers/ITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"date_created": "2021-02-16T20:40:57Z",
8
"attributes": {
9
"cnam_display_name": "DISPLAY NAME"
10
},
11
"type": "cnam_information"
12
}
  1. Connect your CNAM Trust Product to your End User
  • You will need the End User SID from the previous step.

  • You will also need the CNAM Trust Product SID, returned from the API call in Step 3

Connect your CNAM Trust Product to your End UserLink to code sample: Connect your CNAM Trust Product to your End User
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createTrustProductEntityAssignment() {
11
const trustProductsEntityAssignment = await client.trusthub.v1
12
.trustProducts("YOUR_CNAM_TRUST_PRODUCT_SID")
13
.trustProductsEntityAssignments.create({
14
objectSid: "YOUR_CNAM_END_USER_SID",
15
});
16
17
console.log(trustProductsEntityAssignment.sid);
18
}
19
20
createTrustProductEntityAssignment();

Response

Note about this response
1
{
2
"sid": "BVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"trust_product_sid": "YOUR_CNAM_TRUST_PRODUCT_SID",
4
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"object_sid": "YOUR_CNAM_END_USER_SID",
6
"date_created": "2019-07-31T02:34:41Z",
7
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/EntityAssignments/BVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
8
}
  1. Add Phone Number to CNAM Trust Product
  • You'll need the CNAM Trust Product SID, returned from the API call in Step 3
  • You'll need the Phone Number SID(s) you assigned to your Business Profile earlier. (Note: Only those phone numbers already assigned to your Business Profile are eligible)
  • You'll need your Business Profile SID. It starts with "BU".
  • To retrieve any of these SIDs using the API, see the Additional API Calls section below.
  • Note: Don't change the ChannelEndpointType
Assign Phone Numbers to your CNAM Trust ProductLink to code sample: Assign Phone Numbers to your CNAM Trust Product
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createTrustProductChannelEndpointAssignment() {
11
const trustProductsChannelEndpointAssignment = await client.trusthub.v1
12
.trustProducts("YOUR_CNAM_TRUST_PRODUCT_SID")
13
.trustProductsChannelEndpointAssignment.create({
14
channelEndpointSid: "YOUR_PHONE_NUMBER_SID",
15
channelEndpointType: "phone-number",
16
});
17
18
console.log(trustProductsChannelEndpointAssignment.sid);
19
}
20
21
createTrustProductChannelEndpointAssignment();

Response

Note about this response
1
{
2
"sid": "RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"trust_product_sid": "YOUR_CNAM_TRUST_PRODUCT_SID",
4
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"channel_endpoint_sid": "YOUR_PHONE_NUMBER_SID",
6
"channel_endpoint_type": "phone-number",
7
"date_created": "2019-07-31T02:34:41Z",
8
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments/RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
9
}
  1. Submit CNAM Trust Product
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function updateTrustProduct() {
11
const trustProduct = await client.trusthub.v1
12
.trustProducts("YOUR_CNAM_TRUST_PRODUCT_SID")
13
.update({ status: "pending-review" });
14
15
console.log(trustProduct.sid);
16
}
17
18
updateTrustProduct();

Response

Note about this response
1
{
2
"sid": "YOUR_CNAM_TRUST_PRODUCT_SID",
3
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"policy_sid": "RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"friendly_name": "friendly_name",
6
"status": "pending-review",
7
"email": "notification@email.com",
8
"status_callback": "http://www.example.com",
9
"valid_until": null,
10
"date_created": "2019-07-30T22:29:24Z",
11
"date_updated": "2019-07-31T01:09:00Z",
12
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
13
"links": {
14
"trust_products_entity_assignments": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/EntityAssignments",
15
"trust_products_evaluations": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Evaluations",
16
"trust_products_channel_endpoint_assignment": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments"
17
},
18
"errors": null
19
}

Learn more about Business Profiles and other Trust Products in the Trust Hub Docs.

(information)

Info

After your CNAM Trust Product reaches "Twilio-Approved", the display name may take 48-72 hours to propagate to all carriers in the United States.


1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listIncomingPhoneNumber() {
11
const incomingPhoneNumbers = await client.incomingPhoneNumbers.list({
12
limit: 20,
13
});
14
15
incomingPhoneNumbers.forEach((i) => console.log(i.end));
16
}
17
18
listIncomingPhoneNumber();

Response

Note about this response
1
{
2
"end": 0,
3
"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=50&Page=0",
4
"incoming_phone_numbers": [
5
{
6
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"address_requirements": "none",
8
"address_sid": "ADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
9
"api_version": "2010-04-01",
10
"beta": null,
11
"capabilities": {
12
"voice": true,
13
"sms": false,
14
"mms": true,
15
"fax": false
16
},
17
"date_created": "Thu, 30 Jul 2015 23:19:04 +0000",
18
"date_updated": "Thu, 30 Jul 2015 23:19:04 +0000",
19
"emergency_status": "Active",
20
"emergency_address_sid": "ADaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
21
"emergency_address_status": "registered",
22
"friendly_name": "(808) 925-5327",
23
"identity_sid": "RIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
24
"origin": "origin",
25
"phone_number": "+18089255327",
26
"sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
27
"sms_application_sid": "",
28
"sms_fallback_method": "POST",
29
"sms_fallback_url": "",
30
"sms_method": "POST",
31
"sms_url": "",
32
"status_callback": "",
33
"status_callback_method": "POST",
34
"trunk_sid": null,
35
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
36
"voice_application_sid": "",
37
"voice_caller_id_lookup": false,
38
"voice_fallback_method": "POST",
39
"voice_fallback_url": null,
40
"voice_method": "POST",
41
"voice_url": null,
42
"bundle_sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
43
"voice_receive_mode": "voice",
44
"status": "in-use",
45
"type": "local"
46
}
47
],
48
"next_page_uri": null,
49
"page": 0,
50
"page_size": 50,
51
"previous_page_uri": null,
52
"start": 0,
53
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=50&Page=0"
54
}
Check Business Profile Phone Number AssignmentsLink to code sample: Check Business Profile Phone Number Assignments
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listCustomerProfileChannelEndpointAssignment() {
11
const customerProfilesChannelEndpointAssignments = await client.trusthub.v1
12
.customerProfiles("YOUR_BUSINESS_PROFILE_SID")
13
.customerProfilesChannelEndpointAssignment.list({ limit: 20 });
14
15
customerProfilesChannelEndpointAssignments.forEach((c) => console.log(c.sid));
16
}
17
18
listCustomerProfileChannelEndpointAssignment();

Response

Note about this response
1
{
2
"results": [
3
{
4
"sid": "RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"customer_profile_sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"channel_endpoint_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
8
"channel_endpoint_type": "phone-number",
9
"date_created": "2019-07-31T02:34:41Z",
10
"url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments/RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
}
12
],
13
"meta": {
14
"page": 0,
15
"page_size": 50,
16
"first_page_url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments?ChannelEndpointSid=PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
17
"previous_page_url": null,
18
"url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments?ChannelEndpointSid=PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
19
"next_page_url": null,
20
"key": "results"
21
}
22
}
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listCustomerProfile() {
11
const customerProfiles = await client.trusthub.v1.customerProfiles.list({
12
limit: 20,
13
});
14
15
customerProfiles.forEach((c) => console.log(c.sid));
16
}
17
18
listCustomerProfile();

Response

Note about this response
1
{
2
"results": [
3
{
4
"sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"policy_sid": "RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"friendly_name": "friendly_name",
8
"status": "twilio-approved",
9
"email": "notification@email.com",
10
"status_callback": "http://www.example.com",
11
"valid_until": "2020-07-31T01:00:00Z",
12
"date_created": "2019-07-30T22:29:24Z",
13
"date_updated": "2019-07-31T01:09:00Z",
14
"url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
15
"links": {
16
"customer_profiles_entity_assignments": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/EntityAssignments",
17
"customer_profiles_evaluations": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Evaluations",
18
"customer_profiles_channel_endpoint_assignment": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments"
19
},
20
"errors": [
21
{
22
"code": 18601
23
}
24
]
25
}
26
],
27
"meta": {
28
"page": 0,
29
"page_size": 50,
30
"first_page_url": "https://trusthub.twilio.com/v1/CustomerProfiles?Status=draft&FriendlyName=friendly_name&PolicySid=RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
31
"previous_page_url": null,
32
"url": "https://trusthub.twilio.com/v1/CustomerProfiles?Status=draft&FriendlyName=friendly_name&PolicySid=RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
33
"next_page_url": null,
34
"key": "results"
35
}
36
}
Check Business Profile Phone Number AssignmentsLink to code sample: Check Business Profile Phone Number Assignments
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listCustomerProfileChannelEndpointAssignment() {
11
const customerProfilesChannelEndpointAssignments = await client.trusthub.v1
12
.customerProfiles("YOUR_BUSINESS_PROFILE_SID")
13
.customerProfilesChannelEndpointAssignment.list({ limit: 20 });
14
15
customerProfilesChannelEndpointAssignments.forEach((c) => console.log(c.sid));
16
}
17
18
listCustomerProfileChannelEndpointAssignment();

Response

Note about this response
1
{
2
"results": [
3
{
4
"sid": "RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"customer_profile_sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"channel_endpoint_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
8
"channel_endpoint_type": "phone-number",
9
"date_created": "2019-07-31T02:34:41Z",
10
"url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments/RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
}
12
],
13
"meta": {
14
"page": 0,
15
"page_size": 50,
16
"first_page_url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments?ChannelEndpointSid=PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
17
"previous_page_url": null,
18
"url": "https://trusthub.twilio.com/v1/CustomerProfiles/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments?ChannelEndpointSid=PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
19
"next_page_url": null,
20
"key": "results"
21
}
22
}
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listTrustProduct() {
11
const trustProducts = await client.trusthub.v1.trustProducts.list({
12
limit: 20,
13
});
14
15
trustProducts.forEach((t) => console.log(t.sid));
16
}
17
18
listTrustProduct();

Response

Note about this response
1
{
2
"results": [
3
{
4
"sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"policy_sid": "RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"friendly_name": "friendly_name",
8
"status": "twilio-approved",
9
"email": "notification@email.com",
10
"status_callback": "http://www.example.com",
11
"valid_until": "2020-07-31T01:00:00Z",
12
"date_created": "2019-07-30T22:29:24Z",
13
"date_updated": "2019-07-31T01:09:00Z",
14
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
15
"links": {
16
"trust_products_entity_assignments": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/EntityAssignments",
17
"trust_products_evaluations": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Evaluations",
18
"trust_products_channel_endpoint_assignment": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments"
19
},
20
"errors": null
21
}
22
],
23
"meta": {
24
"page": 0,
25
"page_size": 50,
26
"first_page_url": "https://trusthub.twilio.com/v1/TrustProducts?Status=draft&FriendlyName=friendly_name&PolicySid=RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
27
"previous_page_url": null,
28
"url": "https://trusthub.twilio.com/v1/TrustProducts?Status=draft&FriendlyName=friendly_name&PolicySid=RNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
29
"next_page_url": null,
30
"key": "results"
31
}
32
}
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listTrustProductChannelEndpointAssignment() {
11
const trustProductsChannelEndpointAssignments = await client.trusthub.v1
12
.trustProducts("YOUR_CNAM_TRUST_PRODUCT_SID")
13
.trustProductsChannelEndpointAssignment.list({ limit: 20 });
14
15
trustProductsChannelEndpointAssignments.forEach((t) => console.log(t.sid));
16
}
17
18
listTrustProductChannelEndpointAssignment();

Response

Note about this response
1
{
2
"results": [
3
{
4
"sid": "RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"trust_product_sid": "BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
7
"channel_endpoint_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
8
"channel_endpoint_type": "phone-number",
9
"date_created": "2019-07-31T02:34:41Z",
10
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments/RAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
}
12
],
13
"meta": {
14
"page": 0,
15
"page_size": 50,
16
"first_page_url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments?ChannelEndpointSid=PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
17
"previous_page_url": null,
18
"url": "https://trusthub.twilio.com/v1/TrustProducts/BUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ChannelEndpointAssignments?ChannelEndpointSid=PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&PageSize=50&Page=0",
19
"next_page_url": null,
20
"key": "results"
21
}
22
}

Use cases for CNAM with Twilio Programmable Voice

use-cases-for-cnam-with-twilio-programmable-voice page anchor

This guide covers a feature that can support the following use cases:

Send voice notifications with Twilio Programmable Voice

send-voice-notifications-with-twilio-programmable-voice page anchor

You can use the feature in this guide to build trust and increase call answer rates whenever you send voice notifications using your app. For example, you can programmatically call customers to notify them of important updates, such as emergency weather closings, while clearly identifying your brand. To learn more advanced features that you can use with voice notifications, see Voice notifications.

Create an outbound call center with Twilio Programmable Voice

create-an-outbound-call-center-with-twilio-programmable-voice page anchor

You can use the feature in this guide to optimize connection rates for your programmatic outbound call center that dials customers for telemarketing by ensuring your verified business name appears on caller IDs. To learn more advanced features that you can use with outbound call centers, see Voice outbound call centers.

Use AI agents with Twilio Programmable Voice

use-ai-agents-with-twilio-programmable-voice page anchor

You can use the feature in this guide to build immediate credibility when your autonomous AI agents make outbound calls to interact with users. Displaying a verified business identity ensures customers feel secure engaging with your voice agents for automated scheduling, context-aware support, or dynamic follow-ups. To learn more advanced features that you can use with AI agents, see Voice AI agents.

Create a sales dialer with Twilio Programmable Voice

create-a-sales-dialer-with-twilio-programmable-voice page anchor

You can use the feature in this guide to maximize pitch opportunities for your inside sales teams using a programmatic sales dialer. Branded caller identification reduces the likelihood of recipients ignoring your sales calls or flagging them as spam, improving live-answer efficiency. To learn more advanced features that you can use with sales dialers, see Voice sales dialers.

Ensure PSTN connectivity with Twilio Programmable Voice

ensure-pstn-connectivity-with-twilio-programmable-voice page anchor

You can use the feature in this guide to properly inject authoritative business identity metadata across public switched telephone networks (PSTN). This helps maintain your brand integrity across diverse carrier infrastructures when routing calls globally to mobile and landline destinations. To learn more advanced features that you can use with PSTN connectivity, see Voice PSTN connectivity.


Explore the following guides to build on what you've learned in this guide: