Skip to contentSkip to navigationSkip to topbar
On this page

User Guide to Troubleshooting the Flex UI


Depending on the situation, there are many ways to troubleshoot errors and other issues that you may encounter while using the Flex UI. Read on to learn more about various errors you might see, and how you can use the Status Report (formerly known as Debugger UI) to generate Error Reports to help get your problems solved.

Are you a developer looking to build customized error monitoring and reporting instead? Check out the Developer Documentation instead!


Types of errors

types-of-errors page anchor

As you use the Flex UI, you may encounter errors from:

  • 3rd party packages (e.g. React, Redux, Material UI) and Twilio packages (e.g., Chat SDK, Sync SDK) used by the Flex UI
  • Custom plugins that you've built
  • the Flex UI itself

Errors from all these sources can significantly degrade Flex functionality or lead to other unexpected behaviors.

Fortunately, some of these issues are quick fixes (for example, checking your network connection). Others will require help from admins, developers, or additional support. In each case, fixing an error starts by understanding its cause and getting any additional context about the issue.


Flex can notify you about errors in 3 different ways:

  • During Flex initialization with the error page
  • With an error notification
  • In the Status Report (introduced in Flex UI 1.32 )

Flex Initialization Errors

flex-initialization-errors page anchor
Initialize error message.

In most cases, if Flex is experiencing and issue, it will still be able to start up. If some of the services or components are not available during Flex initialization, it will start up in Degraded mode. However, some issues can also prevent Flex from initializing. These are mostly issues connected to connectivity or authentication or an ongoing incident with one of the Twilio services which is a critical component for Flex UI normal function.

If Flex UI fails to initialize, user will see the following error message and an option to retry or download a report with more details about the error.

Possible error messages:

  • "Log in failed. Please contact your administrator and try again later."
  • "We're not able to log you in right now - this might be due to an ongoing incident we're experiencing. Contact your administrator and try again later."

You can see a full list of all Twilio services, their statuses and ongoing incidents on Twilio Status Page(link takes you to an external page).

Flex platform relies on multiple Twilio services and components for it to function properly. Starting from Flex UI v 1.31 Flex UI will initialize with limited capabilities, even if some of the components like SDK's (TaskRouter, Conversations, Voice or Sync) are down. In case of disruptions in Twilio services, Flex User will be able to login to Flex and perform certain tasks that are still available. For example, in the case of Twilio Voice experiencing an incident, your agent will still be able to handle messaging tasks.

Users will see a notification informing them of a possible disruption in the normal work of Flex UI and they will be able to download a thorough report with error details and logs.

You can find the list of components that Flex UI relies on and can startup in degraded mode in our API reference(link takes you to an external page).

Plugin developers can also force degraded mode of each Flex UI component when developing and testing plugins, to make sure that plugins can handle disruptions gracefully. Check out our developer docs for error handling and debugging in Flex UI for more information.

Warning and Error notifications

warning-and-error-notifications page anchor

Flex handles a collection of common errors with custom, integrated error notifications. For these handled errors, like errors when dialing a phone number, Flex will display an error notification with an error code.

(information)

Enable the Status Report

In order to use the Status Report, you'll need to enable it on the Feature Settings page(link takes you to an external page) within the Flex Admin dashboard for Flex UI v1.32 or higher.

This feature was previously known as the Debugger UI and was available in Public Beta from v1.25.

All other errors (unhandled errors) will be shown in the Status Report. You can open it by clicking the Status Report icon in the Main Header. If an unhandled error occurs, the icon will show a red badge.

The Status Report has three sections. The top of the panel displays a summary of the status of the Flex UI. It condenses the data from all other areas into an message that can help users understand the impact of any issues on the performance of the Flex UI.

StatusDescription
No issues detectedFlex UI is working normally. A user can still download a report if they wish to share logs from their session.
Operational, issues detectedThe Status Report has detected errors in the Flex UI, or one or more platform services are reporting issues. The user can continue to work but may encounter issues.
Operational, status unavailableThe status of platform services could not be loaded.

Platform Services will display incidents reported by the services that Flex uses to operate. Note that this is refreshed periodically, so it may take some time for all users to be notified of status changes.

Your App displays any errors detected while the Flex UI has been running. You can open the preview to see the full details in the log. To help with debugging issues, you can clear the log to remove the issues displayed. You can download more details of the encountered error(s) into a report. See Error Report for more details.

If no errors have happened in the current session, you can still download a report, which will contain your session data and last 1000 log lines. This is particularly useful if Flex is experiencing some unexpected behavior, but you're not seeing any errors.


Error reports can be downloaded when an error has occurred during Flex initialization, or at any point while running Flex (with or without errors). They contain the following details:

  • Summary of the Status Report
  • Details of any Platform service incidents at the time the report was generated
  • Last 1000 debug level log lines
  • For each error detected:

    • Full error description
    • Stack trace
    • Source of the error
    • User session data
(warning)

Warning

Client-side logs or errors are allowed to contain PII (Personally Identifiable Information) because they are transient and are not saved beyond a user session. By exporting them, however, PII is also exported and saved to the file. Please take proper precautions to protect your customers' data when saving and sharing this file.

1
2
# Twilio Flex Error report
3
---
4
5
6
## Error: "Failed to init Flex SDK"
7
8
### LOG LINE
9
```
10
29/09/2022, 16:38:04 - initFlexSDK: Failed to init Flex SDK
11
12
Original error:
13
"FlexSDK Client is forced disabled. Failing initialisation"
14
```
15
16
### STACK TRACE
17
```
18
Error: Failed to init Flex SDK
19
at new n (https://private-assets.twilio.com/flex/dev-builds/releases/flex-ui/main-62e5ef568c695eb2e78a700b5958a35511eb3498/twilio-flex.min.js:157:17890)
20
at e.createAndProcessError (https://private-assets.twilio.com/flex/dev-builds/releases/flex-ui/main-62e5ef568c695eb2e78a700b5958a35511eb3498/twilio-flex.min.js:157:21065)
21
at https://private-assets.twilio.com/flex/dev-builds/releases/flex-ui/main-62e5ef568c695eb2e78a700b5958a35511eb3498/twilio-flex.min.js:1603:206918
22
```
23
24
### DETAILS
25
```
26
{
27
"message": "Failed to init Flex SDK",
28
"wrappedError": "FlexSDK Client is forced disabled. Failing initialization",
29
"context": "initFlexSDK",
30
"type": "flexSDK",
31
"severity": "normal",
32
"twilioErrorCode": 45600
33
}
34
```
35
36
<details>
37
<summary>WRAPPED ERROR</summary>
38
39
```
40
message: FlexSDK Client is forced disabled. Failing initialization
41
stack: Error: FlexSDK Client is forced disabled. Failing initialization
42
at https://private-assets.twilio.com/flex/dev-builds/releases/flex-ui/main-62e5ef568c695eb2e78a700b5958a35511eb3498/twilio-flex.min.js:1603:206386
43
```
44
45
</details>
46
---
47
48
### SESSION DATA
49
```
50
{
51
"config": {
52
"language": "en-US",
53
"colorTheme": {
54
"baseName": "FlexLight",
55
"light": true,
56
"preset": {
57
"id": "light-blue",
58
"name": "Light Blue"
59
},
60
"overrides": {
61
"MainHeader": {
62
"Container": {
63
"background": "#233659"
64
}
65
},
66
"SideNav": {
67
"Button": {
68
"background": "#4F5E7A"
69
},
70
"Container": {
71
"background": "#4F5E7A"
72
}
73
}
74
}
75
},
76
"pluginService": {
77
"enabled": true,
78
"url": "https://flex.twilio.com/plugins?hosted=true"
79
},
80
"logLevel": "debug",
81
"rejectPendingReservations": true,
82
"initialDeviceCheck": true,
83
"notifications": {
84
"browser": true,
85
"mode": "whenNotInFocus",
86
"enabled": true
87
},
88
"enableClientCalling": false,
89
"flexServiceUrl": "https://preview.twilio.com/Flex",
90
"warmTransfers": {
91
"enabled": true
92
},
93
"sdkOptions": {
94
"insights": {
95
"region": -us1",
96
"productId": "flex_insights",
97
"logLevel": "debug"
98
},
99
"voice": {
100
"eventgw": "eventgw.twilio.com",
101
"chunderw": "chunderw-vpc-gll.twilio.com",
102
"debug": true
103
},
104
"flex": {
105
"environmentConfig": {
106
"twilioServiceLoginUrl": "https://flex.twilio.com/admin",
107
"authServiceUrl": "https://iam.twilio.com/v1/Accounts",
108
"region": -us1",
109
"configServiceUrl": "https://flex-api.twilio.com/v1/Configuration"
110
},
111
"logger": {
112
"level": "debug"
113
}
114
},
115
"worker": {
116
"wsServer": "wss://event-bridge-us1.twilio.com/v1/wschannels",
117
"ebServer": "https://event-bridge-us1.twilio.com/v1/wschannels",
118
"logLevel": "debug"
119
},
120
"chat": {
121
"region": -us1",
122
"logLevel": "debug"
123
}
124
},
125
"chatOrchestrationServiceUrl": "https://preview.twilio.com/Flex/WebChannels",
126
"sessionUrl": "https://flex.twilio.com/api/v1/Session",
127
"baseQueueManagementUrl": "https://flex.twilio.com/api",
128
"showSupervisorDesktopView": true,
129
"debugMode": false,
130
"flexConfigServiceUrl": "https://flex-api.twilio.com/v1/Configuration",
131
"taskRouterUrl": "https://taskrouter.twilio.com",
132
"version_compatibility": "yes",
133
"theme": {},
134
"version_message": "",
135
"markdown": {
136
"enabled": false,
137
"mode": "readWrite"
138
}
139
}
140
}
141
```
142
143
<details>
144
<summary>LOGS</summary>
145
<pre>
146
16:37:56 | info | Flex UI logger decorated
147
16:37:57 | info | Manager: Creating manager. flex-ui version: 1.31.2 core-ui version: 0.57.0
148
16:37:57 | log | Manager: Flex UI bundle type - "cdnBundledReact"
149
16:37:57 | log | Manager: React version - "16.5.2"
150
16:37:58 | info | Manager: loginHandler created
151
16:37:58 | info | Manager: manager created
152
16:37:59 | info | Manager: remote config received
153
16:37:59 | log | Notification handler browser enabled=true
154
16:37:59 | log | SessionState: setting degraded to false
155
16:38:01 | info | Manager: features received
156
16:38:01 | info | SessionState: ssoLogin
157
16:38:01 | info | SessionState: initializing SDK clients
158
16:38:04 | log | [2022-09-29 16:38:04.312] Flex SDK → TelemetryProcessor (DEBUG): Sending 1 telemetry events
159
16:38:04 | log | [2022-09-29 16:38:04.313] Flex SDK → TelemetryClient (DEBUG): creating event group with name: rate_limiter
160
16:38:04 | log | [2022-09-29 16:38:04.613] Flex SDK → TelemetryProcessor (DEBUG): Telemetry sent successfully
161
16:38:04 | log | SessionState: setting degraded to true
162
16:38:04 | log | Executing "beforeAddNotification" listeners with {"id":"DegradedModeActive","content":"DegradedWarning","type":"error","timeout":0,"recurrenceTimeout":300000,"closeButton":true,"actions":[{"type":"[Function]","key":null,"ref":null,"props":{"label":"DegradedNotificationOpenStatusPanelAction","onClick":"[Function]","notification":"[Object]"},"_owner":null}]}
163
16:38:04 | log | Completed "beforeAddNotification" listeners with {"id":"DegradedModeActive","content":"DegradedWarning","type":"error","timeout":0,"recurrenceTimeout":300000,"closeButton":true,"actions":[{"type":"[Function]","key":null,"ref":null,"props":{"label":"DegradedNotificationOpenStatusPanelAction","onClick":"[Function]","notification":"[Object]"},"_owner":null}]}
164
16:38:04 | log | Emitting "notificationAdded" event for {"id":"DegradedModeActive","content":"DegradedWarning","type":"error","timeout":0,"recurrenceTimeout":300000,"closeButton":true,"actions":[{"type":"[Function]","key":null,"ref":null,"props":{"label":"DegradedNotificationOpenStatusPanelAction","onClick":"[Function]","notification":"[Object]"},"_owner":null}]}
165
16:38:04 | log | Received "notificationAdded" event with {"id":"DegradedModeActive","content":"DegradedWarning","type":"error","timeout":0,"recurrenceTimeout":300000,"closeButton":true,"actions":[{"type":"[Function]","key":null,"ref":null,"props":{"label":"DegradedNotificationOpenStatusPanelAction","onClick":"[Function]","notification":"[Object]"},"_owner":null}]}
166
16:38:04 | log | InAppNotificationHandler handling notitification and notifying of change {"id":"DegradedModeActive","content":"DegradedWarning","type":"error","timeout":0,"recurrenceTimeout":300000,"closeButton":true,"actions":[{"type":"[Function]","key":null,"ref":null,"props":{"label":"DegradedNotificationOpenStatusPanelAction","onClick":"[Function]","notification":"[Object]"},"_owner":null}]}
167
16:38:04 | log | Received "notificationAdded" event with {"id":"DegradedModeActive","content":"DegradedWarning","type":"error","timeout":0,"recurrenceTimeout":300000,"closeButton":true,"actions":[{"type":"[Function]","key":null,"ref":null,"props":{"label":"DegradedNotificationOpenStatusPanelAction","onClick":"[Function]","notification":"[Object]"},"_owner":null}]}
168
16:38:04 | log | Flex event emitter: flexError [{"getLogTime":"[Function]","content":{"context":"initFlexSDK","type":"flexSDK","wrappedError":"[Object]","severity":"normal","twilioErrorCode":45600},"time":{},"sessionData":{"config":"[Object]","reactVersion":"16.5.2","bundleType":"cdnBundledReact","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"},"logManagerTimestamp":"16:38:01"}]
169
</pre>
170
</details>
171
172
173
174
175
176
### APPLICATION STATUS
177
Ongoing incident
178
179
Our services are currently experiencing disruption, which might affect your work. We're aware and trying to fix the issues. Contact your support team if you're experiencing problems.
180
181
182
183
### DEGRADED CLIENT
184
FlexSDKClient is degraded
185
### PLATFORM SERVICES
186
No issues detected
187
188
189
190
191
192
193
## General Session Information
194
195
### SESSION DATA
196
```
197
{
198
"config": {
199
"language": "en-US",
200
"colorTheme": {
201
"baseName": "FlexLight",
202
"light": true,
203
"preset": {
204
"id": "light-blue",
205
"name": "Light Blue"
206
},
207
"overrides": {
208
"MainHeader": {
209
"Container": {
210
"background": "#233659"
211
}
212
},
213
"SideNav": {
214
"Button": {
215
"background": "#4F5E7A"
216
},
217
"Container": {
218
"background": "#4F5E7A"
219
}
220
}
221
}
222
},
223
"pluginService": {
224
"enabled": true,
225
"url": "https://flex.twilio.com/plugins?hosted=true"
226
},
227
"logLevel": "debug",
228
"rejectPendingReservations": true,
229
"initialDeviceCheck": true,
230
"notifications": {
231
"browser": true,
232
"mode": "whenNotInFocus",
233
"enabled": true
234
},
235
"enableClientCalling": false,
236
"flexServiceUrl": "https://preview.twilio.com/Flex",
237
"warmTransfers": {
238
"enabled": true
239
},
240
"sdkOptions": {
241
"insights": {
242
"region": -us1",
243
"productId": "flex_insights",
244
"logLevel": "debug"
245
},
246
"voice": {
247
"eventgw": "eventgw.twilio.com",
248
"chunderw": "chunderw-vpc-gll.twilio.com",
249
"debug": true
250
},
251
"flex": {
252
"environmentConfig": {
253
"twilioServiceLoginUrl": "https://flex.twilio.com/admin",
254
"authServiceUrl": "https://iam.twilio.com/v1/Accounts",
255
"region": -us1",
256
"configServiceUrl": "https://flex-api.twilio.com/v1/Configuration"
257
},
258
"logger": {
259
"level": "debug"
260
}
261
},
262
"worker": {
263
"wsServer": "wss://event-bridge-us1.twilio.com/v1/wschannels",
264
"ebServer": "https://event-bridge-us1.twilio.com/v1/wschannels",
265
"logLevel": "debug"
266
},
267
"chat": {
268
"region": -us1",
269
"logLevel": "debug"
270
}
271
},
272
"chatOrchestrationServiceUrl": "https://preview.twilio.com/Flex/WebChannels",
273
"sessionUrl": "https://flex.twilio.com/api/v1/Session",
274
"baseQueueManagementUrl": "https://flex.twilio.com/api",
275
"showSupervisorDesktopView": true,
276
"debugMode": false,
277
"flexConfigServiceUrl": "https://flex-api.twilio.com/v1/Configuration",
278
"taskRouterUrl": "https://taskrouter.twilio.com",
279
"version_compatibility": "yes",
280
"theme": {},
281
"version_message": "",
282
"markdown": {
283
"enabled": false,
284
"mode": "readWrite"
285
}
286
},
287
"reactVersion": "16.5.2"
288
}
289
```
290
291
<details>
292
<summary>LOGS</summary>
293
294
<pre>
295
16:37:56 | info | Flex UI logger decorated
296
16:37:57 | info | Manager: Creating manager. flex-ui version: 1.31.2 core-ui version: 0.57.0
297
16:37:57 | log | Manager: Flex UI bundle type - "cdnBundledReact"
298
16:37:57 | log | Manager: React version - "16.5.2"
299
16:37:58 | info | Manager: loginHandler created
300
16:37:58 | info | Manager: manager created
301
16:37:59 | info | Manager: remote config received
302
16:37:59 | log | Notification handler browser enabled=true
303
16:37:59 | log | SessionState: setting degraded to false
304
16:38:01 | info | Manager: features received
305
16:38:01 | info | SessionState: ssoLogin
306
16:38:01 | info | SessionState: initializing SDK clients
307
16:38:04 | error | 29/09/2022, 16:38:04 - initFlexSDK: Failed to init Flex SDK
308
309
Original error:
310
"FlexSDK Client is forced disabled. Failing initialisation"
311
16:38:04 | error | Flex SDK failed to initialize. Telemetry events won't be enabled for this session
312
16:38:04 | info | Subscribing to Signaling events ....
313
16:38:04 | log | SessionState: setting degraded to true
314
</pre>
315
316
</details>

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.