Skip to contentSkip to navigationSkip to topbar

Intelligence API (v3) - Configurations endpoints


(information)

Legal information

Conversation Intelligence, including the APIs, may use artificial intelligence or machine learning technologies and is subject to the terms of the Predictive and Generative AI/ML Features Addendum(link takes you to an external page). For more details on AI usage and data, see AI Nutrition Facts for Conversation Intelligence.

Conversation Intelligence is not PCI compliant or a HIPAA Eligible Service and should not be used in workflows that are subject to HIPAA or PCI.

Overview

overview page anchor

Define and manage intelligence configuration. The Configurations resource defines how and when language operators execute on conversations via rules that encapsulate triggers, context, and actions.

An intelligence configuration is a container for one or more rules. Each rule specifies:

  • Which language operators to execute
  • Which conversation lifecycle event triggers the rule
  • Which contextual data language operators can access at runtime
  • Which action to take on the results

Configurations are evaluated automatically as conversation activity occurs, providing consistent, reusable intelligence logic across channels and over time.

Endpoints


Create an Intelligence Configuration

create-configuration page anchor

POST/v3/ControlPlane/Configurations

Base url: https://intelligence.twilio.com (Twilio Intelligence API)

Create an Intelligence Configuration to control how and when language operators analyze conversations.

You must include the rules field in the request. You can pass an empty array ("rules": []), but an Intelligence Configuration with an empty rules array doesn't execute any language operators. To add rules later, make a PUT /v3/ControlPlane/Configurations/{id} request.

After creating an Intelligence Configuration, you must attach it to a Conversations Configuration by using the Conversations API.

Request

create-configuration-request page anchor

Request body

create-configuration-request-body page anchor
Encoding type:application/json
SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
displayNamestring
required
Not PII

The display name of the Intelligence Configuration describing its purpose.

Min length: 1Max length: 128

descriptionstring

Optional

The description of the Intelligence Configuration further explaining its purpose.


rulesarray[object]
required

List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.

To create an Intelligence Configuration without any Rules configured yet, pass an empty array ("rules": []). The Configuration will not execute any Language Operators until at least one Rule has been added.

Max items: 5
201400429500

Intelligence Configuration resource created.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
accountIdstring

Optional

The ID of the Account that created the Intelligence Configuration.

Example: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

idstring

Optional

The unique identifier for the Intelligence Configuration. Assigned by Twilio (TTID).


displayNamestring

Optional

The display name of the Intelligence Configuration describing its purpose.

Min length: 1Max length: 128

descriptionstring

Optional

The description of the Intelligence Configuration further explaining its purpose.


versioninteger

Optional

The numeric version of the Intelligence Configuration. Automatically incremented with each update on the resource, used to ensure integrity when updating the Configuration.


rulesarray[object]

Optional

List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.

Max items: 5

dateCreatedstring<date-time>

Optional

Timestamp of when the Intelligence Configuration was created.


dateUpdatedstring<date-time>

Optional

Timestamp of when the Intelligence Configuration was last updated.

Create an Intelligence ConfigurationLink to code sample: Create an Intelligence Configuration
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 createConfiguration() {
11
const configuration = await client.intelligence.v3.configurations.create({
12
displayName: "displayName",
13
rules: [
14
{
15
operators: [
16
{
17
id: "id",
18
version: 42,
19
parameters: {},
20
},
21
],
22
triggers: [
23
{
24
on: "COMMUNICATION",
25
parameters: {
26
count: 1,
27
},
28
},
29
],
30
actions: [
31
{
32
type: "WEBHOOK",
33
method: "POST",
34
url: "https://www.example.com",
35
},
36
],
37
context: {
38
memory: {
39
enabled: false,
40
},
41
knowledge: {
42
bases: ["bases"],
43
},
44
},
45
},
46
],
47
});
48
49
console.log(configuration.accountId);
50
}
51
52
createConfiguration();

Response

Note about this response
1
{
2
"accountId": "AC00000000000000000000000000000000",
3
"id": "intelligence_configuration_01kermhm82e5mr98nbeh1hpmbn",
4
"displayName": "real-time-intelligence-config",
5
"description": "Intelligence configuration to trigger real-time script adherence operator",
6
"version": 1,
7
"rules": [
8
{
9
"operators": [
10
{
11
"id": "id",
12
"version": 42,
13
"parameters": {}
14
}
15
],
16
"triggers": [
17
{
18
"on": "COMMUNICATION",
19
"parameters": {
20
"count": 1
21
}
22
}
23
],
24
"actions": [
25
{
26
"type": "WEBHOOK",
27
"method": "POST",
28
"url": "https://www.example.com"
29
}
30
],
31
"context": {
32
"memory": {
33
"enabled": false
34
},
35
"knowledge": {
36
"bases": [
37
"bases"
38
]
39
}
40
}
41
}
42
],
43
"dateCreated": "2026-01-12T08:18:17Z",
44
"dateUpdated": "2026-01-12T08:18:17Z"
45
}

Retrieve a list of Intelligence Configurations

list-configurations page anchor

GET/v3/ControlPlane/Configurations

Base url: https://intelligence.twilio.com (Twilio Intelligence API)

Property nameTypeRequiredPIIDescription
pageSizeinteger

Optional

The maximum number of resources to return

Default: 50Minimum: 1Maximum: 1000

pageTokenstring

Optional

Token for pagination

200429500

An array of Intelligence Configurations.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
itemsarray[object]

Optional

The list of Intelligence Configurations owned by this account.


metaobject

Optional

The metadata for Pagination

Retrieve a list of Intelligence ConfigurationsLink to code sample: Retrieve a list of Intelligence Configurations
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 listConfigurations() {
11
const configurations = await client.intelligence.v3.configurations.list({
12
limit: 20,
13
});
14
15
configurations.forEach((c) => console.log(c.accountId));
16
}
17
18
listConfigurations();

Response

Note about this response
1
{
2
"items": [
3
{
4
"accountId": "AC00000000000000000000000000000000",
5
"id": "intelligence_configuration_01kermhm82e5mr98nbeh1hpmbn",
6
"displayName": "real-time-intelligence-config",
7
"description": "Intelligence configuration to trigger real-time script adherence operator",
8
"version": 1,
9
"rules": [
10
{
11
"id": "intelligence_configurationrule_01kermhm81fwfvy7j0f7h7v5mr",
12
"operators": [
13
{
14
"id": "intelligence_operator_01kcgy1ew0e9x8re6jq542zt8b",
15
"version": 4,
16
"parameters": {
17
"scale": 2
18
}
19
}
20
],
21
"triggers": [
22
{
23
"on": "COMMUNICATION",
24
"parameters": {
25
"count": 3
26
}
27
}
28
],
29
"actions": [
30
{
31
"type": "WEBHOOK",
32
"method": "POST",
33
"url": "https://my-webhook-endpoint.com/rule-action"
34
}
35
],
36
"context": {
37
"memory": {
38
"enabled": true
39
},
40
"knowledge": {
41
"bases": [
42
"knowledge_base_id"
43
]
44
}
45
}
46
}
47
],
48
"dateCreated": "2026-01-12T08:18:17Z",
49
"dateUpdated": "2026-01-12T08:18:17Z"
50
},
51
{
52
"accountId": "AC00000000000000000000000000000000",
53
"id": "intelligence_configuration_01kermhm92e5mr98nbeh1hpmbz",
54
"displayName": "post-call-analytics-config",
55
"description": "Intelligence configuration for post-call analytics",
56
"version": 2,
57
"rules": [
58
{
59
"id": "intelligence_configurationrule_01kermhm91fwfvy7j0f7h7v5ms",
60
"operators": [
61
{
62
"id": "intelligence_operator_01kcgy1ew0e9x8re6jq542zt9c"
63
}
64
],
65
"triggers": [
66
{
67
"on": "CONVERSATION_END"
68
}
69
],
70
"actions": [
71
{
72
"type": "WEBHOOK",
73
"method": "POST",
74
"url": "https://my-webhook-endpoint.com/analytics"
75
}
76
],
77
"context": {
78
"memory": {
79
"enabled": false
80
}
81
}
82
}
83
],
84
"dateCreated": "2026-01-10T10:30:00Z",
85
"dateUpdated": "2026-01-11T14:22:00Z"
86
}
87
],
88
"meta": {
89
"key": "items",
90
"pageSize": 2,
91
"nextToken": "next_page_token_example"
92
}
93
}

Retrieve an Intelligence Configuration

fetch-configuration page anchor

GET/v3/ControlPlane/Configurations/{id}

Base url: https://intelligence.twilio.com (Twilio Intelligence API)

Property nameTypeRequiredPIIDescription
idstring
required

The unique identifier of the Intelligence Configuration.

Example: intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5Pattern: ^intelligence_configuration_[0-7][0-9a-z]{25}$
200404500

A single Intelligence Configuration resource.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
accountIdstring

Optional

The ID of the Account that created the Intelligence Configuration.

Example: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

idstring

Optional

The unique identifier for the Intelligence Configuration. Assigned by Twilio (TTID).


displayNamestring

Optional

The display name of the Intelligence Configuration describing its purpose.

Min length: 1Max length: 128

descriptionstring

Optional

The description of the Intelligence Configuration further explaining its purpose.


versioninteger

Optional

The numeric version of the Intelligence Configuration. Automatically incremented with each update on the resource, used to ensure integrity when updating the Configuration.


rulesarray[object]

Optional

List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.

Max items: 5

dateCreatedstring<date-time>

Optional

Timestamp of when the Intelligence Configuration was created.


dateUpdatedstring<date-time>

Optional

Timestamp of when the Intelligence Configuration was last updated.

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 fetchConfiguration() {
11
const configuration = await client.intelligence.v3
12
.configurations("intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5")
13
.fetch();
14
15
console.log(configuration.accountId);
16
}
17
18
fetchConfiguration();

Response

Note about this response
1
{
2
"accountId": "AC00000000000000000000000000000000",
3
"id": "intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5",
4
"displayName": "real-time-intelligence-config",
5
"description": "Intelligence configuration to trigger real-time script adherence operator",
6
"version": 1,
7
"rules": [
8
{
9
"id": "intelligence_configurationrule_01kermhm81fwfvy7j0f7h7v5mr",
10
"operators": [
11
{
12
"id": "intelligence_operator_01kcgy1ew0e9x8re6jq542zt8b",
13
"version": 4,
14
"parameters": {
15
"scale": 2
16
}
17
}
18
],
19
"triggers": [
20
{
21
"on": "COMMUNICATION",
22
"parameters": {
23
"count": 3
24
}
25
}
26
],
27
"actions": [
28
{
29
"type": "WEBHOOK",
30
"method": "POST",
31
"url": "https://my-webhook-endpoint.com/rule-action"
32
}
33
],
34
"context": {
35
"memory": {
36
"enabled": true
37
},
38
"knowledge": {
39
"bases": [
40
"knowledge_base_id"
41
]
42
}
43
}
44
}
45
],
46
"dateCreated": "2026-01-12T08:18:17Z",
47
"dateUpdated": "2026-01-12T08:18:17Z"
48
}

Update an Intelligence Configuration

update-configuration page anchor

PUT/v3/ControlPlane/Configurations/{id}

Base url: https://intelligence.twilio.com (Twilio Intelligence API)

Update an Intelligence Configuration, including its metadata and rules. The request must include all required fields.

Property nameTypeRequiredPIIDescription
idstring
required

The unique identifier of the Intelligence Configuration.

Example: intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5Pattern: ^intelligence_configuration_[0-7][0-9a-z]{25}$
Encoding type:application/json
SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
displayNamestring
required

The display name of the Intelligence Configuration describing its purpose.

Min length: 1Max length: 128

descriptionstring

Optional

The description of the Intelligence Configuration further explaining its purpose.


rulesarray[object]
required

List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.

Max items: 5
200400404500

Intelligence configuration resource updated.

SchemaExample
Property nameTypeRequiredPIIDescriptionChild properties
accountIdstring

Optional

The ID of the Account that created the Intelligence Configuration.

Example: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

idstring

Optional

The unique identifier for the Intelligence Configuration. Assigned by Twilio (TTID).


displayNamestring

Optional

The display name of the Intelligence Configuration describing its purpose.

Min length: 1Max length: 128

descriptionstring

Optional

The description of the Intelligence Configuration further explaining its purpose.


versioninteger

Optional

The numeric version of the Intelligence Configuration. Automatically incremented with each update on the resource, used to ensure integrity when updating the Configuration.


rulesarray[object]

Optional

List of Intelligence Configuration Rules that govern when and how Language Operators run. Each Rule represents a bundle of Operators, Triggers, Context, and Actions to be executed by the Intelligence Configuration on a Conversation. A maximum of five (5) Rules are allowed per Intelligence Configuration.

Max items: 5

dateCreatedstring<date-time>

Optional

Timestamp of when the Intelligence Configuration was created.


dateUpdatedstring<date-time>

Optional

Timestamp of when the Intelligence Configuration was last updated.

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 updateConfiguration() {
11
const configuration = await client.intelligence.v3
12
.configurations("intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5")
13
.update({
14
displayName: "displayName",
15
rules: [
16
{
17
id: "id",
18
operators: [
19
{
20
id: "id",
21
version: 42,
22
parameters: {},
23
},
24
],
25
triggers: [
26
{
27
on: "COMMUNICATION",
28
parameters: {
29
count: 1,
30
},
31
},
32
],
33
actions: [
34
{
35
type: "WEBHOOK",
36
method: "POST",
37
url: "https://www.example.com",
38
},
39
],
40
context: {
41
memory: {
42
enabled: false,
43
},
44
knowledge: {
45
bases: ["bases"],
46
},
47
},
48
},
49
],
50
});
51
52
console.log(configuration.accountId);
53
}
54
55
updateConfiguration();

Response

Note about this response
1
{
2
"accountId": "AC00000000000000000000000000000000",
3
"id": "intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5",
4
"displayName": "real-time-intelligence-config",
5
"description": "Intelligence configuration to trigger real-time script adherence operator",
6
"version": 1,
7
"rules": [
8
{
9
"id": "id",
10
"operators": [
11
{
12
"id": "id",
13
"version": 42,
14
"parameters": {}
15
}
16
],
17
"triggers": [
18
{
19
"on": "COMMUNICATION",
20
"parameters": {
21
"count": 1
22
}
23
}
24
],
25
"actions": [
26
{
27
"type": "WEBHOOK",
28
"method": "POST",
29
"url": "https://www.example.com"
30
}
31
],
32
"context": {
33
"memory": {
34
"enabled": false
35
},
36
"knowledge": {
37
"bases": [
38
"bases"
39
]
40
}
41
}
42
}
43
],
44
"dateCreated": "2026-01-12T08:18:17Z",
45
"dateUpdated": "2026-01-12T08:18:17Z"
46
}

Delete an Intelligence Configuration

delete-configuration page anchor

DELETE/v3/ControlPlane/Configurations/{id}

Base url: https://intelligence.twilio.com (Twilio Intelligence API)

Property nameTypeRequiredPIIDescription
idstring
required

The unique identifier of the Intelligence Configuration.

Example: intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5Pattern: ^intelligence_configuration_[0-7][0-9a-z]{25}$
204404500

Intelligence Configuration resource deleted.

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 deleteConfiguration() {
11
await client.intelligence.v3
12
.configurations("intelligence_configuration_01k6fc25s7epm9qtk8rszbv3q5")
13
.remove();
14
}
15
16
deleteConfiguration();