Skip to contentSkip to navigationSkip to topbar

Studio Flow and Widget JSON Schemas


Official JSON Schemas(link takes you to an external page) for Studio Flow definitions and widgets are available in the list below. Flow definitions must adhere to these schemas when creating or updating via the Flows REST API.

These schemas can be used for reference or for client-side validation in your local development environment. For sample Flow definitions to use in your applications, use the JSON snippets from Studio Flow Definition.

Flow Definition Schema

flow-definition-schema page anchor
1
{
2
"$schema": "http://json-schema.org/draft-07/schema#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/flow-definition",
4
"title": "Definition schema for twilio studio flow ",
5
"type": "object",
6
"definitions": {
7
"Flags": {
8
"type": "object",
9
"properties": {
10
"allow_concurrent_calls": {
11
"type": "boolean"
12
}
13
},
14
"required": [
15
"allow_concurrent_calls"
16
]
17
}
18
},
19
"properties": {
20
"description": {
21
"type": "string"
22
},
23
"$schema": {
24
"type": "string",
25
"enum": [
26
"https://schemas.twilio.com/studio/draft/2019-09/flow-definition"
27
],
28
"default": "https://schemas.twilio.com/studio/draft/2019-09/flow-definition"
29
},
30
"flags": {
31
"$ref": "#/definitions/Flags"
32
},
33
"initial_state": {
34
"type": "string",
35
"minLength": 1
36
},
37
"states": {
38
"type": "array",
39
"additionalItems": false,
40
"minItems": 1,
41
"maxItems": 1000,
42
"items": {
43
"properties": {
44
"type": {
45
"type": "string",
46
"enum": [
47
"add-member-to-chat-channel",
48
"add-twiml-redirect",
49
"capture-payments",
50
"connect-call-to",
51
"create-chat-channel",
52
"create-task",
53
"enqueue-call",
54
"fork-stream",
55
"gather-input-on-call",
56
"make-http-request",
57
"make-outgoing-call-v1",
58
"make-outgoing-call-v2",
59
"record-call",
60
"record-voicemail",
61
"run-function",
62
"run-function-v2",
63
"say-play",
64
"send-and-wait-for-reply",
65
"send-message",
66
"send-to-flex",
67
"set-variables",
68
"split-based-on",
69
"run-subflow",
70
"trigger",
71
"understand",
72
"update-sync-object",
73
"connect-virtual-agent",
74
"connect-virtual-agent-v2"
75
]
76
}
77
},
78
"required": [
79
"type"
80
],
81
"allOf": [
82
{
83
"if": {
84
"properties": {
85
"type": {
86
"const": "add-member-to-chat-channel"
87
}
88
}
89
},
90
"then": {
91
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/add-member-to-chat-channel"
92
}
93
},
94
{
95
"if": {
96
"properties": {
97
"type": {
98
"const": "connect-call-to"
99
}
100
}
101
},
102
"then": {
103
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/connect-call-to"
104
}
105
},
106
{
107
"if": {
108
"properties": {
109
"type": {
110
"const": "create-chat-channel"
111
}
112
}
113
},
114
"then": {
115
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/create-chat-channel"
116
}
117
},
118
{
119
"if": {
120
"properties": {
121
"type": {
122
"const": "create-task"
123
}
124
}
125
},
126
"then": {
127
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/create-task"
128
}
129
},
130
{
131
"if": {
132
"properties": {
133
"type": {
134
"const": "make-outgoing-call-v1"
135
}
136
}
137
},
138
"then": {
139
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/2/make-outgoing-call-v1"
140
}
141
},
142
{
143
"if": {
144
"properties": {
145
"type": {
146
"const": "make-outgoing-call-v2"
147
}
148
}
149
},
150
"then": {
151
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/2/make-outgoing-call-v2"
152
}
153
},
154
{
155
"if": {
156
"properties": {
157
"type": {
158
"const": "enqueue-call"
159
}
160
}
161
},
162
"then": {
163
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/enqueue-call"
164
}
165
},
166
{
167
"if": {
168
"properties": {
169
"type": {
170
"const": "fork-stream"
171
}
172
}
173
},
174
"then": {
175
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/fork-stream"
176
}
177
},
178
{
179
"if": {
180
"properties": {
181
"type": {
182
"const": "gather-input-on-call"
183
}
184
}
185
},
186
"then": {
187
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/gather-input-on-call"
188
}
189
},
190
{
191
"if": {
192
"properties": {
193
"type": {
194
"const": "make-http-request"
195
}
196
}
197
},
198
"then": {
199
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/make-http-request"
200
}
201
},
202
{
203
"if": {
204
"properties": {
205
"type": {
206
"const": "capture-payments"
207
}
208
}
209
},
210
"then": {
211
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/capture-payments"
212
}
213
},
214
{
215
"if": {
216
"properties": {
217
"type": {
218
"const": "record-call"
219
}
220
}
221
},
222
"then": {
223
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/record-call"
224
}
225
},
226
{
227
"if": {
228
"properties": {
229
"type": {
230
"const": "record-voicemail"
231
}
232
}
233
},
234
"then": {
235
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/record-voicemail"
236
}
237
},
238
{
239
"if": {
240
"properties": {
241
"type": {
242
"const": "add-twiml-redirect"
243
}
244
}
245
},
246
"then": {
247
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/add-twiml-redirect"
248
}
249
},
250
{
251
"if": {
252
"properties": {
253
"type": {
254
"const": "run-function"
255
}
256
}
257
},
258
"then": {
259
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/run-function"
260
}
261
},
262
{
263
"if": {
264
"properties": {
265
"type": {
266
"const": "run-function-v2"
267
}
268
}
269
},
270
"then": {
271
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/run-function-v2"
272
}
273
},
274
{
275
"if": {
276
"properties": {
277
"type": {
278
"const": "say-play"
279
}
280
}
281
},
282
"then": {
283
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/say-play"
284
}
285
},
286
{
287
"if": {
288
"properties": {
289
"type": {
290
"const": "send-and-wait-for-reply"
291
}
292
}
293
},
294
"then": {
295
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/send-and-wait-for-reply"
296
}
297
},
298
{
299
"if": {
300
"properties": {
301
"type": {
302
"const": "send-message"
303
}
304
}
305
},
306
"then": {
307
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/send-message"
308
}
309
},
310
{
311
"if": {
312
"properties": {
313
"type": {
314
"const": "send-to-flex"
315
}
316
}
317
},
318
"then": {
319
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/send-to-flex"
320
}
321
},
322
{
323
"if": {
324
"properties": {
325
"type": {
326
"const": "set-variables"
327
}
328
}
329
},
330
"then": {
331
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/set-variables"
332
}
333
},
334
{
335
"if": {
336
"properties": {
337
"type": {
338
"const": "split-based-on"
339
}
340
}
341
},
342
"then": {
343
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/split-based-on"
344
}
345
},
346
{
347
"if": {
348
"properties": {
349
"type": {
350
"const": "run-subflow"
351
}
352
}
353
},
354
"then": {
355
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/run-subflow"
356
}
357
},
358
{
359
"if": {
360
"properties": {
361
"type": {
362
"const": "trigger"
363
}
364
}
365
},
366
"then": {
367
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/trigger"
368
}
369
},
370
{
371
"if": {
372
"properties": {
373
"type": {
374
"const": "understand"
375
}
376
}
377
},
378
"then": {
379
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/understand"
380
}
381
},
382
{
383
"if": {
384
"properties": {
385
"type": {
386
"const": "update-sync-object"
387
}
388
}
389
},
390
"then": {
391
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/update-sync-object"
392
}
393
},
394
{
395
"if": {
396
"properties": {
397
"type": {
398
"const": "connect-virtual-agent"
399
}
400
}
401
},
402
"then": {
403
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/connect-virtual-agent"
404
}
405
},
406
407
{
408
"if": {
409
"properties": {
410
"type": {
411
"const": "connect-virtual-agent-v2"
412
}
413
}
414
},
415
"then": {
416
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/connect-virtual-agent-v2"
417
}
418
}
419
]
420
}
421
}
422
},
423
"required": [
424
"description",
425
"initial_state",
426
"states"
427
],
428
"schema_revision": 1
429
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/trigger",
4
"title": "Trigger",
5
"description": "The trigger widget",
6
"definitions": {
7
"IncomingCall": {
8
"type": "object",
9
"title": "Incoming Call",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "incomingCall"
19
}
20
},
21
"required": [
22
"event"
23
]
24
}
25
]
26
},
27
"IncomingMessage": {
28
"type": "object",
29
"title": "Incoming Message (SMS or Chat)",
30
"allOf": [
31
{
32
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
33
},
34
{
35
"properties": {
36
"event": {
37
"type": "string",
38
"const": "incomingMessage"
39
}
40
},
41
"required": [
42
"event"
43
]
44
}
45
]
46
},
47
"IncomingRequest": {
48
"type": "object",
49
"title": "REST API",
50
"allOf": [
51
{
52
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
53
},
54
{
55
"properties": {
56
"event": {
57
"type": "string",
58
"const": "incomingRequest"
59
}
60
},
61
"required": [
62
"event"
63
]
64
}
65
]
66
},
67
"IncomingParent": {
68
"type": "object",
69
"title": "Incoming Parent",
70
"allOf": [
71
{
72
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
73
},
74
{
75
"properties": {
76
"event": {
77
"type": "string",
78
"const": "incomingParent"
79
}
80
},
81
"required": [
82
"event"
83
]
84
}
85
]
86
},
87
"IncomingConversation": {
88
"type": "object",
89
"title": "Incoming Conversation",
90
"allOf": [
91
{
92
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
93
},
94
{
95
"properties": {
96
"event": {
97
"type": "string",
98
"const": "incomingConversationMessage"
99
}
100
},
101
"required": [
102
"event"
103
]
104
}
105
]
106
}
107
},
108
"type": "object",
109
"properties": {
110
"type": {
111
"type": "string",
112
"const": "trigger"
113
},
114
"name": {
115
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
116
},
117
"transitions": {
118
"type": "array",
119
"additionalItems": false,
120
"minLength": 1,
121
"items": {
122
"anyOf": [
123
{
124
"$ref": "#/definitions/IncomingCall"
125
},
126
{
127
"$ref": "#/definitions/IncomingMessage"
128
},
129
{
130
"$ref": "#/definitions/IncomingRequest"
131
},
132
{
133
"$ref": "#/definitions/IncomingParent"
134
},
135
{
136
"$ref": "#/definitions/IncomingConversation"
137
}
138
]
139
}
140
},
141
"properties": {
142
"type": "object"
143
}
144
},
145
"required": [
146
"type",
147
"transitions"
148
],
149
"maturity": "ga",
150
"schema_revision": 2
151
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/capture-payments",
4
"type": "object",
5
"title": "Capture Payments",
6
"definitions": {
7
"MaxFailedAttempts": {
8
"type": "object",
9
"allOf": [
10
{
11
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
12
},
13
{
14
"properties": {
15
"event": {
16
"type": "string",
17
"const": "maxFailedAttempts"
18
}
19
}
20
}
21
]
22
},
23
"ProviderError": {
24
"type": "object",
25
"allOf": [
26
{
27
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
28
},
29
{
30
"properties": {
31
"event": {
32
"type": "string",
33
"const": "providerError"
34
}
35
}
36
}
37
]
38
},
39
"ValidationError": {
40
"type": "object",
41
"allOf": [
42
{
43
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
44
},
45
{
46
"properties": {
47
"event": {
48
"type": "string",
49
"const": "validationError"
50
}
51
}
52
}
53
]
54
},
55
"PayInterrupted": {
56
"type": "object",
57
"allOf": [
58
{
59
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
60
},
61
{
62
"properties": {
63
"event": {
64
"type": "string",
65
"const": "payInterrupted"
66
}
67
}
68
}
69
]
70
}
71
},
72
"properties": {
73
"type": {
74
"type": "string",
75
"const": "capture-payments"
76
},
77
"name": {
78
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
79
},
80
"properties": {
81
"type": "object",
82
"properties": {
83
"timeout": {
84
"type": "integer",
85
"minimum": 1,
86
"maximum": 30,
87
"default": 5
88
},
89
"max_attempts": {
90
"type": "integer",
91
"minimum": 1,
92
"maximum": 3,
93
"default": 2
94
},
95
"security_code": {
96
"type": "boolean"
97
},
98
"postal_code": {
99
"type": "string"
100
},
101
"payment_connector": {
102
"type": "string"
103
},
104
"payment_token_type": {
105
"type": "string",
106
"enum": [
107
"one-time",
108
"reusable"
109
],
110
"default": "reusable"
111
},
112
"payment_amount": {
113
"type": "string"
114
},
115
"currency": {
116
"type": "string",
117
"enum": [
118
"eur",
119
"gbp",
120
"usd"
121
],
122
"default": "usd"
123
},
124
"description": {
125
"type": "string"
126
},
127
"valid_card_types": {
128
"type": "array",
129
"additionalItems": false,
130
"items": {
131
"anyOf": [
132
{
133
"type": "string",
134
"enum": [
135
"amex",
136
"diners-club",
137
"discover",
138
"enroute",
139
"jcb",
140
"maestro",
141
"master-card",
142
"mastercard",
143
"optima",
144
"visa"
145
]
146
}
147
]
148
}
149
},
150
"language": {
151
"type": "string"
152
},
153
"min_postal_code_length": {
154
"type": "integer"
155
},
156
"payment_method": {
157
"type": "string",
158
"enum": [
159
"ACH_DEBIT",
160
"CREDIT_CARD"
161
]
162
},
163
"bank_account_type": {
164
"type": "string",
165
"enum": [
166
"COMMERCIAL_CHECKING",
167
"COMMERCIAL_SAVINGS",
168
"CONSUMER_CHECKING",
169
"CONSUMER_SAVINGS"
170
]
171
},
172
"parameters": {
173
"type": "array",
174
"additionalItems": false,
175
"items": {
176
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
177
}
178
}
179
}
180
},
181
"transitions": {
182
"type": "array",
183
"additionalItems": false,
184
"items": {
185
"anyOf": [
186
{
187
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Hangup"
188
},
189
{
190
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Success"
191
},
192
{
193
"$ref": "#/definitions/MaxFailedAttempts"
194
},
195
{
196
"$ref": "#/definitions/ProviderError"
197
},
198
{
199
"$ref": "#/definitions/ValidationError"
200
},
201
{
202
"$ref": "#/definitions/PayInterrupted"
203
}
204
]
205
}
206
}
207
},
208
"required": [
209
"type",
210
"name",
211
"properties",
212
"transitions"
213
],
214
"maturity": "ga",
215
"schema_revision": 1
216
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/connect-call-to",
4
"type": "object",
5
"title": "Connect Call To",
6
"definitions": {
7
"CallEnded": {
8
"type": "object",
9
"title": "Connected Call Ended",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "callCompleted"
19
}
20
}
21
}
22
]
23
},
24
"Hangup": {
25
"type": "object",
26
"title": "Caller Hung up",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "hangup"
36
}
37
}
38
}
39
]
40
}
41
},
42
"properties": {
43
"type": {
44
"type": "string",
45
"const": "connect-call-to"
46
},
47
"name": {
48
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
49
},
50
"properties": {
51
"type": "object",
52
"properties": {
53
"to": {
54
"type": "string"
55
},
56
"caller_id": {
57
"type": "string"
58
},
59
"record": {
60
"type": "boolean"
61
},
62
"noun": {
63
"type": "string",
64
"enum": [
65
"client",
66
"conference",
67
"number",
68
"number-multi",
69
"sim",
70
"sip"
71
]
72
},
73
"sip_endpoint": {
74
"type": "string"
75
},
76
"sip_username": {
77
"type": "string"
78
},
79
"sip_password": {
80
"type": "string"
81
},
82
"timeout": {
83
"type": "integer"
84
},
85
"time_limit": {
86
"type": "string"
87
}
88
},
89
"required": [
90
"noun"
91
]
92
},
93
"transitions": {
94
"type": "array",
95
"additionalItems": false,
96
"items": {
97
"anyOf": [
98
{
99
"$ref": "#/definitions/CallEnded"
100
},
101
{
102
"$ref": "#/definitions/Hangup"
103
}
104
]
105
}
106
}
107
},
108
"required": [
109
"type",
110
"name",
111
"properties",
112
"transitions"
113
],
114
"maturity": "ga",
115
"schema_revision": 1
116
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/enqueue-call",
4
"title": "Enqueue Call",
5
"type": "object",
6
"definitions": {
7
"FailedToEnqueue": {
8
"type": "object",
9
"title": "Failed to Enqueue",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "failedToEnqueue"
19
}
20
}
21
}
22
]
23
},
24
"CallFailure": {
25
"type": "object",
26
"title": "Call Failed",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "callFailure"
36
}
37
}
38
}
39
]
40
}
41
},
42
"properties": {
43
"type": {
44
"type": "string",
45
"const": "enqueue-call"
46
},
47
"name": {
48
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
49
},
50
"properties": {
51
"type": "object",
52
"properties": {
53
"workflow_sid": {
54
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WorkflowSid"
55
},
56
"queue_name": {
57
"type": "string"
58
},
59
"priority": {
60
"type": "integer"
61
},
62
"timeout": {
63
"type": "integer"
64
},
65
"task_attributes": {
66
"type": "string"
67
},
68
"wait_url": {
69
"type": "string"
70
},
71
"wait_url_method": {
72
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/HttpMethod"
73
}
74
}
75
},
76
"transitions": {
77
"type": "array",
78
"additionalItems": false,
79
"items": {
80
"anyOf": [
81
{
82
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/CallComplete"
83
},
84
{
85
"$ref": "#/definitions/FailedToEnqueue"
86
},
87
{
88
"$ref": "#/definitions/CallFailure"
89
}
90
]
91
}
92
}
93
},
94
"required": [
95
"type",
96
"name",
97
"properties",
98
"transitions"
99
],
100
"maturity": "ga",
101
"schema_revision": 1
102
}

Connect Virtual Agent (CX)

connect-virtual-agent-cx page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/connect-virtual-agent",
4
"type": "object",
5
"title": "Connect Virtual Agent",
6
"definitions": {
7
"Return": {
8
"type": "object",
9
"title": "Return",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "return"
19
}
20
}
21
}
22
]
23
}
24
},
25
"properties": {
26
"type": {
27
"type": "string",
28
"const": "connect-virtual-agent"
29
},
30
"name": {
31
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
32
},
33
"properties": {
34
"type": "object",
35
"properties": {
36
"connector": {
37
"type": "string"
38
},
39
"language": {
40
"type": "string"
41
},
42
"sentiment_analysis": {
43
"type": "string"
44
},
45
"status_callback": {
46
"type": "string"
47
}
48
},
49
"required": [
50
"connector"
51
]
52
},
53
"transitions": {
54
"type": "array",
55
"additionalItems": false,
56
"items": {
57
"type": "object",
58
"anyOf": [
59
{
60
"$ref": "#/definitions/Return"
61
},
62
{
63
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Hangup"
64
}
65
]
66
}
67
}
68
},
69
"required": [
70
"type",
71
"name",
72
"properties",
73
"transitions"
74
],
75
"maturity": "end-of-life",
76
"schema_revision": 2
77
}

Connect Virtual Agent V2 (CX)

connect-virtual-agent-v2-cx page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/connect-virtual-agent-v2",
4
"type": "object",
5
"title": "Connect Virtual Agent",
6
"definitions": {
7
"LiveAgentHandoff": {
8
"type": "object",
9
"title": "LiveAgentHandoff",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "live-agent-handoff"
19
}
20
}
21
}
22
]
23
},
24
"Completed": {
25
"type": "object",
26
"title": "Completed",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "completed"
36
}
37
}
38
}
39
]
40
},
41
"Paused": {
42
"type": "object",
43
"title": "Paused",
44
"allOf": [
45
{
46
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
47
},
48
{
49
"properties": {
50
"event": {
51
"type": "string",
52
"const": "paused"
53
}
54
}
55
}
56
]
57
}
58
},
59
"properties": {
60
"type": {
61
"type": "string",
62
"const": "connect-virtual-agent-v2"
63
},
64
"name": {
65
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
66
},
67
"properties": {
68
"type": "object",
69
"properties": {
70
"configurations": {
71
"type": "array",
72
"additionalItems": false,
73
"items": {
74
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
75
}
76
},
77
"connector_name": {
78
"type": "string"
79
},
80
"connector_details": {
81
"type": "object",
82
"properties": {
83
"addon_sid": {
84
"type": "string"
85
},
86
"installed_addon_sid": {
87
"type": "string"
88
},
89
"name": {
90
"type": "string"
91
}
92
},
93
"required": [
94
"addon_sid",
95
"installed_addon_sid",
96
"name"
97
]
98
},
99
"channel": {
100
"type": "string",
101
"default": "voice",
102
"enum": [
103
"voice",
104
"conversations"
105
]
106
},
107
"parameters": {
108
"type": "array",
109
"additionalItems": false,
110
"items": {
111
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
112
}
113
},
114
"status_callback": {
115
"type": "string"
116
},
117
"status_callback_method": {
118
"type": "string",
119
"default": "POST"
120
},
121
"timeout": {
122
"type": "integer",
123
"default": 172800
124
},
125
"session_behavior": {
126
"type": "string",
127
"default": "new_session",
128
"enum": [
129
"new_session",
130
"resume_paused_session"
131
]
132
},
133
"resume_session_identification_method": {
134
"type": "string",
135
"default": "widget",
136
"enum": [
137
"widget",
138
"manual"
139
]
140
},
141
"resume_session_identification_value": {
142
"$comment": "This will either reference a ConnectVirtualAgent's unique widget name or liquid for a ConnectVirtualAgent's EndUserId",
143
"type": "string"
144
},
145
"resume_session_event_name": {
146
"type": "string"
147
}
148
},
149
"required": []
150
},
151
"transitions": {
152
"type": "array",
153
"additionalItems": false,
154
"items": {
155
"type": "object",
156
"anyOf": [
157
{
158
"$ref": "#/definitions/Completed"
159
},
160
{
161
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Hangup"
162
},
163
{
164
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Timeout"
165
},
166
{
167
"$ref": "#/definitions/LiveAgentHandoff"
168
},
169
{
170
"$ref": "#/definitions/Paused"
171
},
172
{
173
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
174
}
175
]
176
}
177
}
178
},
179
"required": [
180
"type",
181
"name",
182
"properties",
183
"transitions"
184
],
185
"maturity": "ga",
186
"schema_revision": 2
187
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/fork-stream",
4
"type": "object",
5
"title": "Fork Stream",
6
"properties": {
7
"type": {
8
"type": "string",
9
"const": "fork-stream"
10
},
11
"name": {
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
13
},
14
"properties": {
15
"type": "object",
16
"properties": {
17
"stream_action": {
18
"type": "string",
19
"enum": [
20
"start",
21
"stop"
22
],
23
"default": "start"
24
},
25
"stream_name": {
26
"type": "string"
27
},
28
"stream_transport_type": {
29
"type": "string",
30
"enum": [
31
"siprec",
32
"websocket"
33
],
34
"default": "webSocket"
35
},
36
"stream_connector": {
37
"type": "string"
38
},
39
"stream_url": {
40
"type": "string"
41
},
42
"stream_track": {
43
"type": "string",
44
"enum": [
45
"both_tracks",
46
"inbound_track",
47
"outbound_track"
48
],
49
"default": "inbound_track"
50
},
51
"stream_parameters": {
52
"type": "array",
53
"additionalItems": false,
54
"items": {
55
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
56
}
57
}
58
},
59
"transitions": {
60
"type": "array",
61
"additionalItems": false,
62
"items": {
63
"type": "object",
64
"allOf": [
65
{
66
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
67
},
68
{
69
"properties": {
70
"event": {
71
"type": "string",
72
"const": "next"
73
}
74
}
75
}
76
]
77
}
78
}
79
},
80
"transitions": {
81
"type": "array",
82
"additionalItems": false,
83
"items": {
84
"type": "object",
85
"allOf": [
86
{
87
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
88
},
89
{
90
"properties": {
91
"event": {
92
"type": "string",
93
"const": "next"
94
}
95
}
96
}
97
]
98
}
99
}
100
},
101
"required": [
102
"type",
103
"name",
104
"properties",
105
"transitions"
106
],
107
"maturity": "ga",
108
"schema_revision": 1
109
}

Gather Input On Call Schema

gather-input-on-call-schema page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/gather-input-on-call",
4
"type": "object",
5
"title": "Gather Input On Call",
6
"definitions": {
7
"KeyPress": {
8
"type": "object",
9
"title": "User Pressed Keys",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "keypress"
19
}
20
}
21
}
22
]
23
},
24
"Speech": {
25
"type": "object",
26
"title": "User Said Something",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "speech"
36
}
37
}
38
}
39
]
40
}
41
},
42
"properties": {
43
"type": {
44
"type": "string",
45
"const": "gather-input-on-call"
46
},
47
"name": {
48
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
49
},
50
"properties": {
51
"type": "object",
52
"properties": {
53
"timeout": {
54
"type": "integer"
55
},
56
"finish_on_key": {
57
"type": "string"
58
},
59
"stop_gather": {
60
"type": "boolean"
61
},
62
"number_of_digits": {
63
"type": "integer"
64
},
65
"save_response_as": {
66
"type": "string"
67
},
68
"say": {
69
"type": "string"
70
},
71
"play": {
72
"type": "string"
73
},
74
"voice": {
75
"type": "string"
76
},
77
"language": {
78
"type": "string"
79
},
80
"loop": {
81
"type": "integer"
82
},
83
"hints": {
84
"type": "string"
85
},
86
"gather_language": {
87
"type": "string"
88
},
89
"speech_timeout": {
90
"type": "string"
91
},
92
"speech_model": {
93
"type": "string"
94
},
95
"profanity_filter": {
96
"type": "string"
97
}
98
},
99
"oneOf": [
100
{
101
"required": [
102
"say"
103
]
104
},
105
{
106
"required": [
107
"play"
108
]
109
}
110
]
111
},
112
"transitions": {
113
"type": "array",
114
"additionalItems": false,
115
"items": {
116
"anyOf": [
117
{
118
"$ref": "#/definitions/KeyPress"
119
},
120
{
121
"$ref": "#/definitions/Speech"
122
},
123
{
124
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Timeout"
125
},
126
{
127
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Hangup"
128
}
129
]
130
}
131
}
132
},
133
"required": [
134
"type",
135
"name",
136
"properties",
137
"transitions"
138
],
139
"maturity": "ga",
140
"schema_revision": 1
141
}

Make HTTP Request Schema

make-http-request-schema page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/make-http-request",
4
"title": "Make HTTP Request",
5
"type": "object",
6
"properties": {
7
"type": {
8
"type": "string",
9
"const": "make-http-request"
10
},
11
"name": {
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
13
},
14
"properties": {
15
"type": "object",
16
"properties": {
17
"method": {
18
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/HttpMethod",
19
"default": "GET"
20
},
21
"url": {
22
"type": "string",
23
"minLength": 1
24
},
25
"body": {
26
"type": "string"
27
},
28
"parameters": {
29
"type": "array",
30
"additionalItems": false,
31
"items": {
32
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
33
}
34
},
35
"content_type": {
36
"type": "string",
37
"default": "application/x-www-form-urlencoded"
38
},
39
"add_twilio_auth": {
40
"type": "boolean",
41
"default": false
42
}
43
},
44
"required": [
45
"url"
46
]
47
},
48
"transitions": {
49
"type": "array",
50
"additionalItems": false,
51
"items": {
52
"anyOf": [
53
{
54
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Success"
55
},
56
{
57
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
58
}
59
]
60
}
61
}
62
},
63
"required": [
64
"type",
65
"name",
66
"properties",
67
"transitions"
68
],
69
"maturity": "ga"
70
}

Make Outgoing Call v1 Schema (Deprecated)

make-outgoing-call-v1-schema-deprecated page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/2/make-outgoing-call-v1",
4
"title": "Make Outgoing Call",
5
"type": "object",
6
"definitions": {
7
"AnsweredByMachine": {
8
"type": "object",
9
"allOf": [
10
{
11
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
12
},
13
{
14
"properties": {
15
"event": {
16
"type": "string",
17
"const": "answeredByMachine"
18
}
19
}
20
}
21
]
22
},
23
"Answered": {
24
"type": "object",
25
"allOf": [
26
{
27
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
28
},
29
{
30
"properties": {
31
"event": {
32
"type": "string",
33
"const": "answered"
34
}
35
}
36
}
37
]
38
},
39
"Busy": {
40
"type": "object",
41
"allOf": [
42
{
43
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
44
},
45
{
46
"properties": {
47
"event": {
48
"type": "string",
49
"const": "busy"
50
}
51
}
52
}
53
]
54
},
55
"NoAnswer": {
56
"type": "object",
57
"allOf": [
58
{
59
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
60
},
61
{
62
"properties": {
63
"event": {
64
"type": "string",
65
"const": "noAnswer"
66
}
67
}
68
}
69
]
70
},
71
"Hangup": {
72
"type": "object",
73
"allOf": [
74
{
75
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
76
},
77
{
78
"properties": {
79
"event": {
80
"type": "string",
81
"const": "hangup"
82
}
83
}
84
}
85
]
86
}
87
},
88
"properties": {
89
"type": {
90
"type": "string",
91
"const": "make-outgoing-call-v1"
92
},
93
"name": {
94
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
95
},
96
"properties": {
97
"type": "object",
98
"properties": {
99
"from": {
100
"type": "string",
101
"title": "Number to make call from",
102
"default": "{{contact.channel.address}}"
103
},
104
"to": {
105
"type": "string",
106
"title": "Number to call",
107
"default": "{{flow.channel.address}}"
108
},
109
"record": {
110
"type": "boolean"
111
},
112
"timeout": {
113
"type": "integer"
114
}
115
},
116
"required": [
117
"from",
118
"to"
119
]
120
},
121
"transitions": {
122
"type": "array",
123
"additionalItems": false,
124
"items": {
125
"anyOf": [
126
{
127
"$ref": "#/definitions/Answered"
128
},
129
{
130
"$ref": "#/definitions/Busy"
131
},
132
{
133
"$ref": "#/definitions/NoAnswer"
134
},
135
{
136
"$ref": "#/definitions/AnsweredByMachine"
137
},
138
{
139
"$ref": "#/definitions/Hangup"
140
},
141
{
142
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
143
}
144
]
145
}
146
}
147
},
148
"required": [
149
"properties",
150
"transitions"
151
],
152
"maturity": "ga",
153
"schema_revision": 1
154
}

Make Outgoing Call v2 Schema

make-outgoing-call-v2-schema page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/2/make-outgoing-call-v2",
4
"title": "Make Outgoing Call",
5
"type": "object",
6
"definitions": {
7
"Answered": {
8
"type": "object",
9
"allOf": [
10
{
11
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
12
},
13
{
14
"properties": {
15
"event": {
16
"type": "string",
17
"const": "answered"
18
}
19
}
20
}
21
]
22
},
23
"Busy": {
24
"type": "object",
25
"allOf": [
26
{
27
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
28
},
29
{
30
"properties": {
31
"event": {
32
"type": "string",
33
"const": "busy"
34
}
35
}
36
}
37
]
38
},
39
"NoAnswer": {
40
"type": "object",
41
"allOf": [
42
{
43
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
44
},
45
{
46
"properties": {
47
"event": {
48
"type": "string",
49
"const": "noAnswer"
50
}
51
}
52
}
53
]
54
}
55
},
56
"properties": {
57
"type": {
58
"type": "string",
59
"const": "make-outgoing-call-v2"
60
},
61
"name": {
62
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
63
},
64
"properties": {
65
"type": "object",
66
"properties": {
67
"from": {
68
"type": "string",
69
"title": "Number to make call from",
70
"default": "{{contact.channel.address}}"
71
},
72
"to": {
73
"type": "string",
74
"title": "Number to call",
75
"default": "{{flow.channel.address}}"
76
},
77
"record": {
78
"type": "boolean"
79
},
80
"recording_channels": {
81
"type": "string"
82
},
83
"recording_status_callback": {
84
"type": "string"
85
},
86
"trim": {
87
"type": "string"
88
},
89
"detect_answering_machine": {
90
"type": "boolean"
91
},
92
"machine_detection": {
93
"type": "string"
94
},
95
"machine_detection_timeout": {
96
"type": "string"
97
},
98
"machine_detection_speech_threshold": {
99
"type": "string"
100
},
101
"machine_detection_speech_end_threshold": {
102
"type": "string"
103
},
104
"machine_detection_silence_timeout": {
105
"type": "string"
106
},
107
"send_digits": {
108
"type": "string"
109
},
110
"timeout": {
111
"type": "integer",
112
"minimum": 0,
113
"maximum": 600
114
},
115
"sip_auth_username": {
116
"type": "string"
117
},
118
"sip_auth_password": {
119
"type": "string"
120
}
121
},
122
"required": [
123
"from",
124
"to"
125
]
126
},
127
"transitions": {
128
"type": "array",
129
"additionalItems": false,
130
"items": {
131
"anyOf": [
132
{
133
"$ref": "#/definitions/Answered"
134
},
135
{
136
"$ref": "#/definitions/Busy"
137
},
138
{
139
"$ref": "#/definitions/NoAnswer"
140
},
141
{
142
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
143
}
144
]
145
}
146
}
147
},
148
"required": [
149
"properties",
150
"transitions"
151
],
152
"maturity": "ga",
153
"schema_revision": 1
154
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/update-profile-traits",
4
"type": "object",
5
"title": "Update Profile Traits",
6
"description": "Update a profile's traits in a connected CDP",
7
"definitions": {
8
"ProfileUpdated": {
9
"$id": "profileUpdated",
10
"type": "object",
11
"title": "Profile Updated",
12
"allOf": [
13
{
14
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
15
},
16
{
17
"properties": {
18
"event": {
19
"type": "string",
20
"const": "profileUpdated"
21
}
22
}
23
}
24
]
25
},
26
"ProfileNotFound": {
27
"$id": "profileNotFound",
28
"type": "object",
29
"title": "Profile was not found",
30
"allOf": [
31
{
32
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
33
},
34
{
35
"properties": {
36
"event": {
37
"type": "string",
38
"const": "profileNotFound"
39
}
40
}
41
}
42
]
43
}
44
},
45
"properties": {
46
"type": {
47
"type": "string",
48
"const": "update-profile-traits"
49
},
50
"name": {
51
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
52
},
53
"properties": {
54
"type": "object",
55
"properties": {
56
"profile_connect_sid": {
57
"type": "string"
58
},
59
"traits": {
60
"type": "array",
61
"additionalItems": false,
62
"items": {
63
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
64
}
65
},
66
"context": {
67
"type": "string"
68
}
69
}
70
},
71
"transitions": {
72
"type": "array",
73
"additionalItems": false,
74
"minItems": 0,
75
"items": {
76
"anyOf": [
77
{
78
"$ref": "#/definitions/ProfileUpdated"
79
},
80
{
81
"$ref": "#/definitions/ProfileNotFound"
82
},
83
{
84
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
85
}
86
]
87
}
88
}
89
},
90
"required": [
91
"type",
92
"name",
93
"properties",
94
"transitions"
95
],
96
"maturity": "beta",
97
"schema_revision": 1
98
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/record-call",
4
"type": "object",
5
"title": "Record Call",
6
"properties": {
7
"type": {
8
"type": "string",
9
"const": "record-call"
10
},
11
"name": {
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
13
},
14
"properties": {
15
"type": "object",
16
"properties": {
17
"record_call": {
18
"type": "boolean"
19
},
20
"recording_status_callback": {
21
"type": "string"
22
},
23
"recording_status_callback_method": {
24
"type": "string"
25
},
26
"recording_status_callback_events": {
27
"type": "string"
28
},
29
"recording_channels": {
30
"type": "string"
31
},
32
"trim": {
33
"type": "string"
34
}
35
}
36
},
37
"transitions": {
38
"type": "array",
39
"additionalItems": false,
40
"items": {
41
"anyOf": [
42
{
43
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Success"
44
},
45
{
46
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
47
}
48
]
49
}
50
}
51
},
52
"required": [
53
"properties",
54
"transitions"
55
],
56
"maturity": "ga",
57
"schema_revision": 1
58
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/record-voicemail",
4
"type": "object",
5
"title": "Record Voicemail",
6
"definitions": {
7
"RecordingComplete": {
8
"type": "object",
9
"title": "On Reply",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "recordingComplete"
19
}
20
}
21
}
22
]
23
},
24
"NoAudio": {
25
"type": "object",
26
"title": "On Reply",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "noAudio"
36
}
37
}
38
}
39
]
40
}
41
},
42
"properties": {
43
"type": {
44
"type": "string",
45
"const": "record-voicemail"
46
},
47
"name": {
48
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
49
},
50
"properties": {
51
"type": "object",
52
"properties": {
53
"timeout": {
54
"title": "Stop recording after (in seconds)",
55
"type": "integer"
56
},
57
"finish_on_key": {
58
"type": "string"
59
},
60
"max_length": {
61
"type": "integer",
62
"default": 3600
63
},
64
"transcribe": {
65
"type": "boolean"
66
},
67
"transcription_callback_url": {
68
"type": "string"
69
},
70
"trim": {
71
"type": "string"
72
},
73
"play_beep": {
74
"type": "string"
75
},
76
"recording_status_callback_url": {
77
"type": "string"
78
}
79
}
80
},
81
"transitions": {
82
"type": "array",
83
"additionalItems": false,
84
"items": {
85
"anyOf": [
86
{
87
"$ref": "#/definitions/RecordingComplete"
88
},
89
{
90
"$ref": "#/definitions/NoAudio"
91
},
92
{
93
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Hangup"
94
}
95
]
96
}
97
}
98
},
99
"required": [
100
"type",
101
"name",
102
"properties",
103
"transitions"
104
],
105
"maturity": "ga",
106
"schema_revision": 1
107
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/run-function",
4
"type": "object",
5
"title": "Run Function",
6
"definitions": {
7
"Fail": {
8
"type": "object",
9
"title": "Fail",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "fail"
19
}
20
}
21
}
22
]
23
}
24
},
25
"properties": {
26
"type": {
27
"type": "string",
28
"const": "run-function"
29
},
30
"name": {
31
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
32
},
33
"properties": {
34
"type": "object",
35
"properties": {
36
"url": {
37
"type": "string"
38
},
39
"parameters": {
40
"type": "array",
41
"minLength": 1,
42
"items": {
43
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
44
}
45
}
46
},
47
"required": [
48
"url"
49
]
50
},
51
"transitions": {
52
"type": "array",
53
"items": {
54
"anyOf": [
55
{
56
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Success"
57
},
58
{
59
"$ref": "#/definitions/Fail"
60
}
61
]
62
}
63
}
64
},
65
"required": [
66
"type",
67
"name",
68
"properties",
69
"transitions"
70
],
71
"maturity": "ga",
72
"schema_revision": 1
73
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/say-play",
4
"type": "object",
5
"title": "Say Play",
6
"definitions": {
7
"AudioComplete": {
8
"type": "object",
9
"title": "Audio Complete",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "audioComplete"
19
}
20
}
21
}
22
]
23
}
24
},
25
"properties": {
26
"type": {
27
"type": "string",
28
"const": "say-play"
29
},
30
"name": {
31
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
32
},
33
"properties": {
34
"type": "object",
35
"properties": {
36
"say": {
37
"type": "string"
38
},
39
"play": {
40
"type": "string"
41
},
42
"voice": {
43
"type": "string"
44
},
45
"language": {
46
"type": "string"
47
},
48
"loop": {
49
"type": "integer"
50
},
51
"digits": {
52
"type": "string"
53
}
54
},
55
"oneOf": [
56
{
57
"required": [
58
"say"
59
]
60
},
61
{
62
"required": [
63
"play"
64
]
65
},
66
{
67
"required": [
68
"digits"
69
]
70
}
71
]
72
},
73
"transitions": {
74
"type": "array",
75
"additionalItems": false,
76
"items": {
77
"anyOf": [
78
{
79
"$ref": "#/definitions/AudioComplete"
80
},
81
{
82
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Hangup"
83
}
84
]
85
}
86
}
87
},
88
"required": [
89
"type",
90
"name",
91
"properties",
92
"transitions"
93
],
94
"maturity": "ga",
95
"schema_revision": 1
96
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/look-up-profile",
4
"type": "object",
5
"title": "Look Up Profile",
6
"description": "Look up a profile from a connected CDP based on identifier",
7
"definitions": {
8
"ProfileFound": {
9
"$id": "profileFound",
10
"type": "object",
11
"title": "Profile Found",
12
"allOf": [
13
{
14
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
15
},
16
{
17
"properties": {
18
"event": {
19
"type": "string",
20
"const": "profileFound"
21
}
22
}
23
}
24
]
25
},
26
"NoProfileFound": {
27
"$id": "noProfileFound",
28
"type": "object",
29
"title": "No Profile Found",
30
"allOf": [
31
{
32
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
33
},
34
{
35
"properties": {
36
"event": {
37
"type": "string",
38
"const": "noProfileFound"
39
}
40
}
41
}
42
]
43
}
44
},
45
"properties": {
46
"type": {
47
"type": "string",
48
"const": "look-up-profile"
49
},
50
"name": {
51
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
52
},
53
"properties": {
54
"type": "object",
55
"properties": {
56
"connector_instance_name": {
57
"type": "string"
58
},
59
"profile_connector_instance": {
60
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/ProfileConnectorInstance"
61
},
62
"identifiers": {
63
"type": "array",
64
"minLength": 1,
65
"items": {
66
"type": "string"
67
}
68
},
69
"identifier": {
70
"type": "string"
71
},
72
"contact_identifier_value": {
73
"type": "string"
74
},
75
"context": {
76
"type": "string"
77
}
78
},
79
"required": [
80
"contact_identifier_value"
81
]
82
},
83
"transitions": {
84
"type": "array",
85
"additionalItems": false,
86
"minItems": 0,
87
"items": {
88
"anyOf": [
89
{
90
"$ref": "#/definitions/ProfileFound"
91
},
92
{
93
"$ref": "#/definitions/NoProfileFound"
94
},
95
{
96
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Failed"
97
}
98
]
99
}
100
}
101
},
102
"required": [
103
"type",
104
"name",
105
"properties",
106
"transitions"
107
],
108
"maturity": "ga",
109
"schema_revision": 1
110
}

Send & Wait For Reply Schema

send--wait-for-reply-schema page anchor
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/send-and-wait-for-reply",
4
"title": "Send and wait for reply",
5
"type": "object",
6
"definitions": {
7
"Reply": {
8
"type": "object",
9
"title": "On Reply",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "incomingMessage"
19
}
20
}
21
}
22
]
23
},
24
"NoReply": {
25
"type": "object",
26
"title": "Failed to Send",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "timeout"
36
}
37
}
38
}
39
]
40
},
41
"DeliveryFails": {
42
"type": "object",
43
"title": "Failed to Send",
44
"allOf": [
45
{
46
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
47
},
48
{
49
"properties": {
50
"event": {
51
"type": "string",
52
"const": "deliveryFailure"
53
}
54
}
55
}
56
]
57
}
58
},
59
"properties": {
60
"type": {
61
"type": "string",
62
"const": "send-and-wait-for-reply"
63
},
64
"name": {
65
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
66
},
67
"properties": {
68
"type": "object",
69
"properties": {
70
"body": {
71
"type": "string"
72
},
73
"from": {
74
"type": "string",
75
"default": "{{flow.channel.address}}"
76
},
77
"timeout": {
78
"oneOf":[
79
{
80
"type": "string",
81
"default": "3600"
82
},
83
{
84
"type": "integer",
85
"default": 3600
86
}
87
]
88
},
89
"save_response_as": {
90
"type": "string"
91
},
92
"media_url": {
93
"type": "string"
94
},
95
"service": {
96
"title": "Programmable Chat Service",
97
"type": "string",
98
"default": "{{trigger.message.InstanceSid}}"
99
},
100
"channel": {
101
"type": "string",
102
"title": "Programmable Chat Channel",
103
"default": "{{trigger.message.ChannelSid}}"
104
},
105
"attributes": {
106
"type": "string",
107
"title": "Message Attributes"
108
},
109
"content_sid": {
110
"type": "string"
111
},
112
"content_variables": {
113
"type": "array",
114
"additionalItems": false,
115
"items": {
116
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
117
}
118
},
119
"message_type": {
120
"type": "string"
121
}
122
},
123
"required": [
124
"from"
125
]
126
},
127
"transitions": {
128
"type": "array",
129
"additionalItems": false,
130
"minItems": 1,
131
"items": {
132
"oneOf": [
133
{
134
"$ref": "#/definitions/Reply"
135
},
136
{
137
"$ref": "#/definitions/NoReply"
138
},
139
{
140
"$ref": "#/definitions/DeliveryFails"
141
}
142
]
143
}
144
}
145
},
146
"required": [
147
"type",
148
"name",
149
"properties",
150
"transitions"
151
],
152
"maturity": "ga",
153
"schema_revision": 1
154
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/send-message",
4
"type": "object",
5
"title": "Send Message",
6
"definitions": {
7
"Sent": {
8
"type": "object",
9
"title": "Message Sent",
10
"allOf": [
11
{
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
13
},
14
{
15
"properties": {
16
"event": {
17
"type": "string",
18
"const": "sent"
19
}
20
}
21
}
22
]
23
},
24
"Failed": {
25
"type": "object",
26
"title": "Failed to Send",
27
"allOf": [
28
{
29
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
30
},
31
{
32
"properties": {
33
"event": {
34
"type": "string",
35
"const": "failed"
36
}
37
}
38
}
39
]
40
}
41
},
42
"properties": {
43
"type": {
44
"type": "string",
45
"const": "send-message"
46
},
47
"name": {
48
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
49
},
50
"properties": {
51
"type": "object",
52
"properties": {
53
"body": {
54
"type": "string"
55
},
56
"from": {
57
"type": "string",
58
"default": "{{flow.channel.address}}"
59
},
60
"to": {
61
"type": "string",
62
"default": "{{contact.channel.address}}"
63
},
64
"media_url": {
65
"type": "string"
66
},
67
"service": {
68
"title": "Programmable Chat Service",
69
"type": "string",
70
"default": "{{trigger.message.InstanceSid}}"
71
},
72
"channel": {
73
"type": "string",
74
"title": "Programmable Chat Channel",
75
"default": "{{trigger.message.ChannelSid}}"
76
},
77
"attributes": {
78
"type": "string",
79
"title": "Message Attributes"
80
},
81
"content_sid": {
82
"type": "string"
83
},
84
"content_variables": {
85
"type": "array",
86
"additionalItems": false,
87
"items": {
88
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/Parameter"
89
}
90
},
91
"message_type": {
92
"type": "string"
93
}
94
},
95
"required": [
96
"from"
97
]
98
},
99
"transitions": {
100
"type": "array",
101
"additionalItems": false,
102
"items": {
103
"anyOf": [
104
{
105
"$ref": "#/definitions/Sent"
106
},
107
{
108
"$ref": "#/definitions/Failed"
109
}
110
]
111
}
112
}
113
},
114
"required": [
115
"type",
116
"name",
117
"properties",
118
"transitions"
119
],
120
"maturity": "ga",
121
"schema_revision": 1
122
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/send-to-flex",
4
"type": "object",
5
"title": "Send To Flex",
6
"description": "Sends the call or chat message to flex",
7
"definitions": {
8
"FailedToEnqueue": {
9
"$id": "failedToEnqueue",
10
"type": "object",
11
"title": "Task Creation Failed",
12
"allOf": [
13
{
14
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
15
},
16
{
17
"properties": {
18
"event": {
19
"type": "string",
20
"const": "failedToEnqueue"
21
}
22
}
23
}
24
]
25
},
26
"CallFailure": {
27
"$id": "CallFailure",
28
"type": "object",
29
"title": "Call Failed",
30
"description": "Call failed to enqueue",
31
"allOf": [
32
{
33
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
34
},
35
{
36
"properties": {
37
"event": {
38
"type": "string",
39
"const": "callFailure"
40
}
41
}
42
}
43
]
44
},
45
"ComposerStarted": {
46
"$id": "composerStarted",
47
"type": "object",
48
"title": "Composer Started",
49
"description": "Execution was started by Composer via Flow Inversion",
50
"allOf": [
51
{
52
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
53
},
54
{
55
"properties": {
56
"event": {
57
"type": "string",
58
"const": "composerStarted"
59
}
60
}
61
}
62
]
63
}
64
},
65
"properties": {
66
"type": {
67
"type": "string",
68
"const": "send-to-flex"
69
},
70
"name": {
71
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
72
},
73
"properties": {
74
"type": "object",
75
"properties": {
76
"workflow": {
77
"type": "string",
78
"pattern": "^.*\\S+.*$",
79
"minLength": 1
80
},
81
"channel": {
82
"type": "string",
83
"pattern": "^.*\\S+.*$",
84
"minLength": 1
85
},
86
"attributes": {
87
"type": "string"
88
},
89
"timeout": {
90
"oneOf": [
91
{"type": "string"},
92
{"type": "integer"}
93
]
94
},
95
"priority": {
96
"type": "string"
97
},
98
"waitUrl": {
99
"type": "string"
100
},
101
"waitUrlMethod": {
102
"type": "string"
103
}
104
},
105
"required": [
106
"workflow",
107
"channel"
108
]
109
},
110
"transitions": {
111
"type": "array",
112
"additionalItems": false,
113
"minItems": 0,
114
"items": {
115
"anyOf": [
116
{
117
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/CallComplete"
118
},
119
{
120
"$ref": "#/definitions/FailedToEnqueue"
121
},
122
{
123
"$ref": "#/definitions/CallFailure"
124
},
125
{
126
"$ref": "#/definitions/ComposerStarted"
127
}
128
]
129
}
130
}
131
},
132
"required": [
133
"type",
134
"name",
135
"properties",
136
"transitions"
137
],
138
"maturity": "ga",
139
"schema_revision": 1
140
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/set-variables",
4
"type": "object",
5
"title": "Set Variables",
6
"properties": {
7
"type": {
8
"type": "string",
9
"const": "set-variables"
10
},
11
"name": {
12
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
13
},
14
"properties": {
15
"variables": {
16
"type": "array",
17
"additionalItems": false,
18
"items": {
19
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/TypedParameter"
20
}
21
}
22
},
23
"transitions": {
24
"type": "array",
25
"additionalItems": false,
26
"items": {
27
"type": "object",
28
"allOf": [
29
{
30
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/NextLink"
31
},
32
{
33
"properties": {
34
"event": {
35
"type": "string",
36
"const": "next"
37
}
38
}
39
}
40
]
41
}
42
}
43
},
44
"required": [
45
"type",
46
"name",
47
"properties",
48
"transitions"
49
],
50
"maturity": "ga",
51
"schema_revision": 1
52
}
1
{
2
"$schema": "https://schemas.twilio.com/studio/draft/2019-09/core#",
3
"$id": "https://schemas.twilio.com/studio/draft/2019-09/split-based-on",
4
"type": "object",
5
"definitions": {
6
"Condition": {
7
"type": "object",
8
"properties": {
9
"friendly_name": {
10
"type": "string",
11
"minLength": 1
12
},
13
"type": {
14
"type": "string",
15
"enum": [
16
"contains",
17
"does_not_contain",
18
"does_not_match_any_of",
19
"does_not_start_with",
20
"equal_to",
21
"greater_than",
22
"is_after_date",
23
"is_after_time",
24
"is_before_date",
25
"is_before_time",
26
"is_blank",
27
"is_not_blank",
28
"less_than",
29
"matches_any_of",
30
"not_equal_to",
31
"regex",
32
"starts_with"
33
]
34
},
35
"arguments": {
36
"type": "array",
37
"additionalItems": false,
38
"minItems": 1,
39
"maxItems": 100,
40
"items": {
41
"type": "string"
42
}
43
},
44
"value": {
45
"type": "string",
46
"minLength": 1
47
}
48
},
49
"required": [
50
"friendly_name",
51
"type",
52
"arguments",
53
"value"
54
]
55
}
56
},
57
"properties": {
58
"type": {
59
"type": "string",
60
"const": "split-based-on"
61
},
62
"name": {
63
"$ref": "https://schemas.twilio.com/studio/draft/2019-09/commons#/definitions/WidgetName"
64
},
65
"properties": {
66
"type": "object",
67
"properties": {
68
"input": {
69
"title": "Variable to test",
70
"type": "string",
71
"minLength": 1
72
}
73
},
74
"required": [
75
"input"
76
]
77
},
78
"transitions": {
79
"type": "array",
80
"additionalItems": false,
81
"items": {
82
"type": "object",
83
"properties": {
84
"event": {
85
"type": "string",
86
"enum": [
87
"match",
88
"noMatch"
89
]
90
},
91
"next": {
92
"type": "string"
93
},
94
"condition": {
95
"type": "array",
96
"additionalItems": false,
97
"items": {
98
"$ref": "#/definitions/Condition"
99
}
100
}
101
}
102
}
103
}
104
},
105
"required": [
106
"type",
107
"name",
108
"properties",
109
"transitions"
110
],
111
"maturity": "ga",
112
"schema_revision": 1
113
}