Flex SDK methods (public beta)
Public Beta
The Flex SDK is currently available as a Public Beta product and the information contained in this document is subject to change. This means that some features are not yet implemented and others may be changed before the product is declared as Generally Available. Public Beta products are not covered by a SLA.
Not a HIPAA Eligible Service or PCI Compliant
The Flex SDK is not a HIPAA Eligible Service or PCI compliant and should not be used in workflows that are subject to HIPAA or PCI.
The following methods are available in the Flex SDK:
Set the activity of the user.
1import { createClient, SetCurrentActivity } from "@twilio/flex-sdk";23async function setCurrentActivity() {4const client = await createClient("SDK_TOKEN");5const worker = await client.getWorker();67// Activities are accessible via Worker.activities property (Map of activitySID to Activity)8const activities = Array.from(worker.activities.values());9const targetActivity = activities.find(activity => activity.name === "Available") || activities[0];1011console.log(`Setting worker activity to "${targetActivity.name}" (${targetActivity.sid})`);1213const setCurrentActivityAction = new SetCurrentActivity(targetActivity.sid);14await client.execute(setCurrentActivityAction);15}
Set worker attributes.
1import { createClient } from "@twilio/flex-sdk";2import { SetAttributes } from "@twilio/flex-sdk/actions/Worker";34async function setWorkerAttributes() {5const client = await createClient("SDK_TOKEN");6const setAttributesAction = new SetAttributes({ key: "value" });7await client.execute(setAttributesAction);8}
Accept a task.
Note: For voice tasks, you must first register a VoiceClientEvent listener using AddVoiceEventListener before calling this action. If you don't do this, accepting the task may fail or result in a missing call context.
1import { createClient } from "@twilio/flex-sdk";2import { AcceptTask } from "@twilio/flex-sdk/actions/Task";34async function acceptTask() {5const client = await createClient("SDK_TOKEN");6const acceptTask = new AcceptTask("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const { task, reservation } = await client.execute(acceptTask);8return { task, reservation };9}
Reject a task.
1import { createClient } from "@twilio/flex-sdk";2import { RejectTask } from "@twilio/flex-sdk/actions/Task";34async function rejectTask() {5const client = await createClient("SDK_TOKEN");6const rejectTask = new RejectTask("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const { task, reservation } = await client.execute(rejectTask);8return { task, reservation };9}
Complete a task that's either pending or assigned. If applicable, will result in wrapUpTask being called.
1import { createClient } from "@twilio/flex-sdk";2import { CompleteTask } from "@twilio/flex-sdk/actions/Task";34async function completeTask() {5const client = await createClient("SDK_TOKEN");67const completeTask = new CompleteTask("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");8const completedTask = await client.execute(completeTask);9return completedTask;10}
Wrap up a task.
1import { createClient } from "@twilio/flex-sdk";2import { WrapUpTask } from "@twilio/flex-sdk/actions/Task";34async function wrapUpTask() {5const client = await createClient("SDK_TOKEN");6const wrapUpTask = new WrapUpTask("TSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const { task, reservation } = await client.execute(wrapUpTask);8return { task, reservation };9}
Clear the task. Hang up a voice call by invoking the HangupCall action. If there isn't a voice call to hang up, this method proceeds to invoke the CompleteTask or wrapUpTask actions, depending on the task status and the taskChannel capabilities.
1import { createClient } from "@twilio/flex-sdk";2import { EndTask } from "@twilio/flex-sdk/actions/Task";34async function endTask() {5const client = await createClient("SDK_TOKEN");6const endTask = new EndTask("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const { task, reservation } = await client.execute(endTask);8return { task, reservation };9}
Get all participants attached to a task.
1import { createClient } from "@twilio/flex-sdk";2import { GetTaskParticipants } from "@twilio/flex-sdk/actions/Task";34async function getTaskParticipants() {5const client = await createClient("SDK_TOKEN");6const getTaskParticipants = new GetTaskParticipants("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const participants = await client.execute(getTaskParticipants);8return participants;9}
Add a task participant event listener.
1import { createClient } from "@twilio/flex-sdk";2import { AddTaskParticipantListener } from "@twilio/flex-sdk/actions/Task";34async function addTaskParticipantListener() {5const client = await createClient("SDK_TOKEN");67const addTaskParticipantListener = new AddTaskParticipantListener(8"WTxxx",9"participantAdded",10(task, participant) => {11console.log(`Participant added: ${participant.sid} to task ${task.sid}`);12}13);14const { unsubscribe } = await client.execute(addTaskParticipantListener);15return unsubscribe;16}
Update task attributes.
1import { createClient } from "@twilio/flex-sdk";2import { SetTaskAttributes } from "@twilio/flex-sdk/actions/Task";34async function setTaskAttributes() {5const client = await createClient("SDK_TOKEN");6const setTaskAttributesAction = new SetTaskAttributes(7"WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",8{ key: "value" }9);10const updatedTask = await client.execute(setTaskAttributesAction);11return updatedTask;12}
Start an outbound voice call.
1import { createClient, Reservation } from "@twilio/flex-sdk";2import { StartOutboundCall, StartOutboundCallOptions } from "@twilio/flex-sdk/actions/Voice";34async function startOutboundCall() {5const client = await createClient("SDK_TOKEN");6const reservationCanceledHandler = (reservation: Reservation) => {7console.log(8`Reservation canceled with reason https://www.twilio.com/docs/api/errors/${reservation.canceledReasonCode}`9);10reservation.off("canceled", reservationCanceledHandler);11};12const startOutboundCallOptions: StartOutboundCallOptions = {13reservationEventListeners: {14canceled: reservationCanceledHandler15}16};17const startOutboundCallAction = new StartOutboundCall("+15555555555", startOutboundCallOptions);18const call = await client.execute(startOutboundCallAction);19}
Add a voice event listener to the client.
1import { createClient } from "@twilio/flex-sdk";2import { AddVoiceEventListener, VoiceClientEvent } from "@twilio/flex-sdk/actions/Voice";34const client = await createClient("SDK_TOKEN");56const addVoiceEventListener = new AddVoiceEventListener(VoiceClientEvent.Incoming, (call) => {7// Handle incoming call8});9const { unsubscribe } = await client.execute(addVoiceEventListener);1011// call unsubscribe if defined to remove the listener when needed12unsubscribe();
Monitor a provided ongoing call of another agent.
1import { createClient } from "@twilio/flex-sdk";2import { MonitorCall } from "@twilio/flex-sdk/actions/Voice";34async function example() {5const client = await createClient("SDK_TOKEN");6const monitorCall = new MonitorCall("WTXXXXXXXXXXXXXXXXXXXXXXXXX", "WRXXXXXXXXXXXXXXXXXXXXXXXXX");7const call = await client.execute(monitorCall);8}
Mute current call.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const startOutboundCall = new StartOutboundCall("+1XXX", { fromNumber: "+1XXX", workflowSid: "WWXXX", taskQueueSid: "WQXXX"});56const voiceCall = await client.execute(startOutboundCall);7voiceCall.mute();89const isMuted: boolean = voiceCall.isMuted();10console.log(`Call ${isMuted ? "is muted" : "is not muted"}`)
Unmute current call.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const startOutboundCall = new StartOutboundCall("+1XXX", { fromNumber: "+1XXX", workflowSid: "WWXXX", taskQueueSid: "WQXXX"});56const voiceCall = await client.execute(startOutboundCall);7voiceCall.unmute();89const isMuted: boolean = voiceCall.isMuted();10console.log(`Call ${isMuted ? "is muted" : "is not muted"}`)
Checks if the current call is muted.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const startOutboundCall = new StartOutboundCall("+1XXX", { fromNumber: "+1XXX", workflowSid: "WWXXX", taskQueueSid: "WQXXX"});56const voiceCall = await client.execute(startOutboundCall);78const isMuted: boolean = voiceCall.isMuted();9console.log(`Call ${isMuted ? "is muted" : "is not muted"}`)
Instance of the call.
Instance of the device.
Hang up the current call.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const startOutboundCall = new StartOutboundCall("+1XXX", { fromNumber: "+1XXX", workflowSid: "WWXXX", taskQueueSid: "WQXXX"});56const voiceCall = await client.execute(startOutboundCall);78await voiceCall.disconnect();
Hold the current call.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const voiceCall = await client.execute(5new StartOutboundCall("+1XXX")6);7await voiceCall.hold("holdMusicUrl", "GET");
Unhold the current call.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const startOutboundCall = new StartOutboundCall("+1XXX", { fromNumber: "+1XXX", workflowSid: "WWXXX", taskQueueSid: "WQXXX"});56const voiceCall = await client.execute(startOutboundCall);78// Call is not on hold by default so to unhold, it is needed to hold first9await call.hold("holdMusicUrl", "GET");10await call.unhold();
Check if the current call is on hold.
1import { createClient, StartOutboundCall } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const startOutboundCall = new StartOutboundCall("+1XXX", { fromNumber: "+1XXX", workflowSid: "WWXXX", taskQueueSid: "WQXXX"});56const voiceCall = await client.execute(startOutboundCall);78const isOnHold: boolean = await voiceCall.isOnHold();9console.log(`Call ${isOnHold ? "is on hold" : "is not on hold"}`)
Returns the VoiceCall object associated with the provided task.
1import { createClient } from "@twilio/flex-sdk";2import { GetCallByTask } from "@twilio/flex-sdk/actions/Voice";34async function getCallByTask() {5const client = await createClient("SDK_TOKEN");6const getCallByTask = new GetCallByTask("WTXXX");7const voiceCall = await client.execute(getCallByTask);8return voiceCall;9}
Put a call participant on hold.
1import { createClient } from "@twilio/flex-sdk";2import { HoldVoiceParticipant } from "@twilio/flex-sdk/actions/Voice";34async function holdVoiceParticipant() {5const client = await createClient("SDK_TOKEN");6const holdVoiceParticipantAction = new HoldVoiceParticipant(7"WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",8"WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"9);10await client.execute(holdVoiceParticipantAction);11}
Unhold a call participant.
1import { createClient } from "@twilio/flex-sdk";2import { UnholdVoiceParticipant } from "@twilio/flex-sdk/actions/Voice";34const client = await createClient("SDK_TOKEN");5const unholdVoiceParticipant = new UnholdVoiceParticipant("WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");6await client.execute(unholdVoiceParticipant);
Remove a participant from a call.
1import { createClient } from "@twilio/flex-sdk";2import { KickVoiceParticipant } from "@twilio/flex-sdk/actions/Voice";34const client = await createClient("SDK_TOKEN");5const kickVoiceParticipant = new KickVoiceParticipant("UTXXX", "WTXXX");6await client.execute(kickVoiceParticipant);
Add a participant to a voice task.
1import { createClient } from "@twilio/flex-sdk";2import { AddExternalVoiceParticipant } from "@twilio/flex-sdk/actions/Voice";34async function addExternalVoiceParticipant() {5const client = await createClient("SDK_TOKEN");6const addParticipant = new AddExternalVoiceParticipant(7"WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",8"+1234567890"9);10const { pendingParticipantResponse, waitForParticipantToSettle } = await client.execute(addParticipant);11return { pendingParticipantResponse, waitForParticipantToSettle };12}
End a conference for all participants in a task.
1import { createClient } from "@twilio/flex-sdk";2import { EndVoiceCallForAll } from "@twilio/flex-sdk/actions/Voice";34async function endVoiceCallForAll() {5const client = await createClient("SDK_TOKEN");6const endVoiceCallForAll = new EndVoiceCallForAll("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const endedTask = await client.execute(endVoiceCallForAll);8return endedTask;9}
Transfer a provided task to a target worker.
1import { createClient } from "@twilio/flex-sdk";2import { StartVoiceTaskTransfer } from "@twilio/flex-sdk/actions/Voice";34async function transferVoiceTask() {5const client = await createClient("SDK_TOKEN");6const startVoiceTaskTransfer = new StartVoiceTaskTransfer("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const transferredTask = await client.execute(startVoiceTaskTransfer);8return transferredTask;9}
Cancel a task that was being transferred to a target worker.
1import { createClient } from "@twilio/flex-sdk";2import { CancelVoiceTaskTransfer } from "@twilio/flex-sdk/actions/Voice";34async function cancelVoiceTaskTransfer() {5const client = await createClient("SDK_TOKEN");6const cancelVoiceTaskTransfer = new CancelVoiceTaskTransfer("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7const canceledTask = await client.execute(cancelVoiceTaskTransfer);8return canceledTask;9}
Get conversation for a task.
1import { createClient } from "@twilio/flex-sdk";2import { GetConversationByTask } from "@twilio/flex-sdk/actions/Conversation";34async function getConversationByTask() {5const client = await createClient("SDK_TOKEN");6const getConversationByTask = new GetConversationByTask(7"WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"8);9const conversation = await client.execute(getConversationByTask);10return conversation;11}
Pause the conversation channel of a task.
1import { createClient } from "@twilio/flex-sdk";2import { PauseConversation } from "@twilio/flex-sdk/actions/Conversation";34async function pauseConversation() {5const client = await createClient("SDK_TOKEN");6const pauseConversationAction = new PauseConversation("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7await client.execute(pauseConversationAction);8}
Leave the conversation channel of a task.
1import { createClient } from "@twilio/flex-sdk";2import { LeaveConversation } from "@twilio/flex-sdk/actions/Conversation";34async function leaveConversation() {5const client = await createClient("SDK_TOKEN");6const leaveConversationAction = new LeaveConversation("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");7await client.execute(leaveConversationAction);8}
Transfer a conversation channel.
1import { createClient } from "@twilio/flex-sdk";2import { StartConversationTransfer } from "@twilio/flex-sdk/actions/Conversation";34async function startConversationTransfer() {5const client = await createClient("SDK_TOKEN");6const startConversationTransferAction = new StartConversationTransfer(7"WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",8"WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"9);10await client.execute(startConversationTransferAction);11}
Get channel transfers.
1import { createClient } from "@twilio/flex-sdk";2import { GetConversationTransfers } from "@twilio/flex-sdk/actions/Conversation";34async function getConversationTransfers() {5const client = await createClient("SDK_TOKEN");6const getConversationTransfersAction = new GetConversationTransfers(7"WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"8);9const transfers = await client.execute(getConversationTransfersAction);10return transfers;11}
Send a message to an existing conversation. Must be called from a conversation object which can be obtained after adding the event listener for a conversation event: AddConversationEventListener.
1import { createClient, AddConversationEventListener } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");45const addConversationEventListener = new AddConversationEventListener("conversationAdded", (conversation) => {6conversation.sendMessage({body: "hello world!"});7})8client.execute(addConversationEventListener)
Get a conversation's messages.
1import { createClient, AddConversationEventListener } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");45const addConversationEventListener = new AddConversationEventListener("conversationAdded", (conversation) => {6conversation.getMessages();7})8client.execute(addConversationEventListener)
Start an outbound email task.
1import { createClient } from "@twilio/flex-sdk";2import { StartOutboundEmailTask } from "@twilio/flex-sdk/actions/Conversation";34async function startOutboundEmailTask() {5const client = await createClient("SDK_TOKEN");6const startOutboundEmailTask = new StartOutboundEmailTask("name@email.com");7const { task, conversation } = await client.execute(startOutboundEmailTask);8return { task, conversation };9}
Add a participant to an email task.
1import { createClient } from "@twilio/flex-sdk";2import { AddEmailParticipant, ParticipantLevel } from "@twilio/flex-sdk/actions/Conversation";34async function addEmailParticipant() {5const client = await createClient("SDK_TOKEN");6const addEmailParticipant = new AddEmailParticipant("WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "test.user@gmail.com", ParticipantLevel.To, { name: "Test User" });7await client.execute(addEmailParticipant);8}
Remove a participant from an email task.
1import { createClient } from "@twilio/flex-sdk";2import { RemoveEmailParticipant } from "@twilio/flex-sdk/actions/Conversation";34async function removeEmailParticipant() {5const client = await createClient("SDK_TOKEN");6const removeEmailParticipant = new RemoveEmailParticipant(7"WTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",8"UTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"9);10const removedParticipant = await client.execute(removeEmailParticipant);11return removedParticipant;12}
Get paused email conversations.
1import { createClient } from "@twilio/flex-sdk";2import { GetPausedConversations } from "@twilio/flex-sdk/actions/Conversation";34async function getPausedConversations() {5const client = await createClient("SDK_TOKEN");6const getPausedConversations = new GetPausedConversations();7const result = await client.execute(getPausedConversations);8return result;9}
Get a Conversations user.
1import { createClient } from "@twilio/flex-sdk";2import { GetConversationsUser } from "@twilio/flex-sdk/actions/Conversation";34async function getConversationsUser() {5const client = await createClient("SDK_TOKEN");6const getConversationsUser = new GetConversationsUser("user_identity");7const user = await client.execute(getConversationsUser);8return user;9}
Resume a Conversations channel.
1import { createClient } from "@twilio/flex-sdk";2import { ResumeConversation, GetPausedConversations } from "@twilio/flex-sdk/actions/Conversation";34async function resumeConversation() {5const client = await createClient("SDK_TOKEN");67// Retrieves paused conversations8const getPausedConversations = new GetPausedConversations();9const pausedConversations = await client.execute(getPausedConversations);1011// Select the paused conversation12const pausedConversation = pausedConversations.items[0];1314// Resume the conversation15const resumeConversation = new ResumeConversation(pausedConversation);16const { task, conversation } = await client.execute(resumeConversation);17return { task, conversation };18}
Supervisor changing a worker status.
1import { createClient, SetWorkerActivity } from "@twilio/flex-sdk";23async function setWorkerActivity() {4const client = await createClient("SDK_TOKEN");5const workspace = await client.getWorkspace();6const worker = await client.getWorker();78// Get workers from the workspace9const workerInfos = Array.from((await workspace.fetchWorkersInfo()).values());10const targetWorkerInfo = workerInfos.find(workerInfo => workerInfo.name === "John Doe") || workerInfos[0];1112// Activities are accessible via Worker.activities property (Map of activitySID to Activity)13const activities = Array.from(worker.activities.values());14const targetActivity = activities.find(activity => activity.name === "Break") || activities[0];1516console.log(`Setting worker "${targetWorkerInfo.name}" activity to "${targetActivity.name}" (${targetActivity.sid})`);1718const setWorkerActivityAction = new SetWorkerActivity(targetWorkerInfo.sid, targetActivity.sid);19await client.execute(setWorkerActivityAction);20}
Supervisor changing the worker attributes/skills.
1import { createClient } from "@twilio/flex-sdk";2import { SetWorkerAttributes } from "@twilio/flex-sdk/actions/Supervisor";34async function setWorkerAttributes() {5const client = await createClient("SDK_TOKEN");6const setWorkerAttributesAction = new SetWorkerAttributes(7"WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",8{ key: "value" }9);10await client.execute(setWorkerAttributesAction);11}
Generate PKCE codes and login URL for the client to sign in with their IdP.
1import { getLoginDetails } from "@twilio/flex-sdk";23const {4loginUrl,5codeChallenge,6nonce,7state,8codeVerifier9} = await getLoginDetails({10clientId: "XVOxxxxxxxxxxxxx",11ssoProfileSid: "JQxxxxxxxxxxx",12redirectUrl: "https://example.com/callback"13});1415console.log("Login URL: ", loginUrl);16console.log("Code Challenge: ", codeChallenge);17console.log("Nonce: ", nonce);18console.log("State: ", state);19console.log("Code Verifier: ", codeVerifier);
Refresh token used by the SDK.
1import { refreshToken } from "@twilio/flex-sdk";23const tokenData = await refreshToken({ refreshToken: "TOKEN", ssoProfileSid: "SSO_PROFILE_SID" });
Validate a given token.
1import { validateToken } from "@twilio/flex-sdk";23const tokenData = await validateToken("ACXXX", "TOKEN");
API to retrieve the Flex OAuth configuration.
1import { getAuthenticationConfig } from "@twilio/flex-sdk";23const authConfig = await getAuthenticationConfig({4runtimeDomain: "test-runtime-domain",5appType: "web"6});
Exchange Auth0 for Flex JWE token.
1import { exchangeToken } from "@twilio/flex-sdk";23const tokenData = await exchangeToken({4ssoProfileSid: "SSO_PROFILE_SID",5code: "AUTH_CODE",6codeVerifier: "CODE_VERIFIER",7nonce: "NONCE"8});
Update the token for the current session.
1import { createClient } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");45await client.updateToken("NEW_TOKEN");
Destroy the client, removing all event listeners.
1import { createClient } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");45await client.destroy();
Return the Worker object representing the current user.
1import { createClient } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const worker = await client.getWorker();
Return the Workspace object.
1import { createClient } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN");4const workspace = await client.getWorkspace();
Create a new Flex SDK Client instance.
1import { createClient } from "@twilio/flex-sdk";23const client = await createClient("SDK_TOKEN", {4logger: {5level: "debug"6}7});
Retrieve public configuration from the Flex Configuration Service.
1import { getPublicConfig } from "@twilio/flex-sdk";23const publicConfig = await getPublicConfig({ accountSid: "AC123456789009876543210" });
Retrieve the features config for the provided session token.
1import { getFeaturesConfig } from "@twilio/flex-sdk";23const featuresConfig = await getFeaturesConfig("token123456789009876543210");
Get account configuration data.
1import { getAccountConfig } from "@twilio/flex-sdk";23const accountConfig = await getAccountConfig("token123456789009876543210");
Set the log level for the SDK.
1import { setLogLevel } from "@twilio/flex-sdk";23setLogLevel("debug");
Error thrown by the Flex SDK.
Error code used by the Flex SDK.
Error severity level.
Current version of the SDK in use.