Menu

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Localization and UI templating

Full support for localization and localized language strings is coming for Flex UI.

However, it is possible to override current language strings within the context of the Flex.Manager.

Overriding language strings

You can override any string by editing the strings object on the Flex Manager instance:

flex.Manager.getInstance().strings.TaskLineCallAssigned = "I am a content string!";

Override Flex templated string 'TaskLineCallAssigned'

Language strings can technically contain any HTML tag like h1,h2, p or even iframe. Flex UI will not filter these values.

Templating support with Mustache style syntax

Flex uses Handlebars for templating and supports mustache style syntax and expressions within content strings. Learn more about Handlebars.

Example:

manager.strings.TaskInfoPanelContent = `
<h1>TASK CONTEXT</h1>
<h2>Task type</h2>
<p>1{{task.attributes.title}}</p>
<p>2{{task.title}}</p>
<h2>Task created on</h2>
<p>{{task.dateCreated}}</p>
<h2>Task priority</h2>
<p>{{task.priority}}</p>
<h2>Task queue</h2>
<p>{{task.taskQueueName}}</p>
<hr />
<h1>CUSTOMER CONTEXT</h1>
<h2>Customer name / phone number</h2>
<p>{{task.attributes.name}}</p>
`;

Within the context of each Component and string, additional dynamic content is available for example by accessing Task properties or attributes of each task.

The following strings support Task context.

  • TaskInfoPanelContent
  • TaskHeaderLine
  • TaskHeaderComplete
  • TaskHeaderWrapup
  • TaskExtraInfo
  • TaskLineCallReserved
  • TaskLineCallAssigned
  • TaskLineCallWrapup
  • TaskLineChatReserved
  • TaskLineChatAssigned
  • TaskLineSMSReserved
  • TaskLineSMSAssigned
  • LiveCommsMonitoringMessage
  • LiveCommsOngoingCallMessage
  • LiveCommsIncomingCallMessage
  • SupervisorTaskCardHeader
  • SupervisorTaskHeaderLine
  • SupervisorTaskViewContentHeader
  • SupervisorTaskInfoPanelContent

Accessing Task Context - Props and Attributes

Depending on channel type, TaskRouter Tasks may contain the following properties and attributes (with example content).

Task Attributes (voice)

  • account_sid: "ACxxxx"
  • api_version: "2010-04-01"
  • call_sid: "CAxxxx"
  • called: "+181xxxx"
  • called_city: "CITY"
  • called_country: "COUNTRY"
  • called_state: "STATE"
  • called_zip: "60xxxx"
  • caller: "+372xxxx"
  • caller_city: "CITY"
  • caller_country: "COUNTRY"
  • caller_state: "STATE"
  • caller_zip: "ZIP"
  • conference: {sid: "CFxxxx", participants: {customer: "CAxxxx", worker: "CAxxxx"}}
  • direction: "inbound"
  • from: "+372xxxx"
  • from_city: "CITY"
  • from_country: "COUNTRY"
  • from_state: "STATE"
  • from_zip: "ZIP"
  • name: "+372xxxx"
  • to: "+181xxxx"
  • to_city: "CITY"
  • to_country: "COUNTRY"
  • to_state: "STATE"
  • to_zip: "60xxxx"
  • type: "inbound"

Task Attributes (chat)

  • channelSid: "CHxxxx"
  • channelType: "sms"
  • name: "+372xxxx"

Task Properties

  • age: 3248
  • channelType: "voice"
  • dateCreated: "Mon Jun 10 2018 16:41:12 GMT+0100 (British Summer Time)"
  • dateUpdated: "Mon Jun 10 2018 16:43:12 GMT+0100 (British Summer Time)"
  • defaultFrom: "Anonymous"
  • priority: 0
  • queueName: "Sample Queue"
  • queueSid: "WQxxxx"
  • reason: null
  • sid: "WRxxxx"
  • source (Object)
  • sourceObject (Object)
  • status: "assigned"
  • taskChannelSid: "TCxxxx"
  • taskChannelUniqueName: "sms"
  • taskSid: "WTxxxx"
  • taskStatus: "reserved"
  • timeout: 3600
  • workerSid: "WKxxxx"
  • workflowName: "Default Fifo Workflow"
  • workflowSid: "WWxxxx"

Example of using above properties or attributes in templates:

manager.strings.TaskExtraInfo = "My task {{task.attributes.name}} was created on {{task.dateCreated}}";

Helper functions

  • lastChatMessage - returns Twilio Chat SDK message object (learn more).
  • durationSinceUpdate - returns time in format MM:SS since last update of task.
  • durationSinceUpdateShort - returns the amount of major time unit since last update of the task, e.g. for a task lasting 0 days 3 hours 49 minutes 17 seconds the method will return ‘3h’.
  • jsonString - returns a string representation of a task.
  • isLiveCall - returns true if provided task is an accepted call task.
  • isCallOnHold - returns true if provided task is an accepted call task that belongs to a current worker and is currently on hold.
  • isLiveChat - returns true if the provided task is an accepted chat based task.
  • isIncomingCall - returns true if the provided task is a pending task waiting to b accepted.
  • isChatBasedTask - returns true if the provided task has chat capabilities.
  • isCallTask - returns true if the provided task supports call capability.
  • isVideoCallTask - returns true if the provided task supports video capability.
  • getTaskChatChannelSid - retrieve channel sid of the chat task.
  • isPending - returns true if the provided task is pending.
  • isInWrapupMode - returns true if provided task is in wrapup.
  • isCompleted - returns true if provided task is completed.
  • isMyTask - returns true if provided task assigned to a current user.
  • getTaskByTaskSid - retireves a task object by provided task sid.
  • isTaskAccepted - returns true if provided task is accepted by an agent, or is in wrapup or completed state.

Example of a helper function with dynamic updates:

manager.strings.TaskExtraInfo = "Time since last update: {{helper.durationSinceUpdate}}";

List of available content strings

Flex Agent and Supervisor Desktop

  • SetYourStatus - shown in the right top menu as a label to set your status
  • LogOut - shown in the menu for log out item
  • SessionExpired - notification for an expired session
  • SideNavTaskView - left side navigation, task view link
  • SideNavTeamsView - sidebar link that navigates to Teams view
  • TaskHeaderLine - shown in the task list on the first line
  • TaskExtraInfo - shown in the task list on separate section as bigger text
  • TaskLineCallReserved - describes an incoming call in the call canvas, task canvas and task list
  • TaskLineCallWrapup - describes a call in wrapup status in the call canvas, task canvas and task list
  • TaskLineChatReserved - describes an incoming chat in the task canvas and task list
  • TaskLineSmsReserved - describes an incoming SMS chat in the task canvas and task list
  • TaskLineChatLineReserved - describes an incoming Line chat in the task canvas and task list
  • TaskLineChatMessengerReserved - describes an incoming Facebook Messenger chat in task canvas and task list
  • TaskLineChatWhatsAppReserved - describes an incoming WhatsApp chat in task canvas and task list
  • TaskLineChatAssigned - describes an assigned chat task and a chat task in wrapup status at the task canvas and task list
  • TaskReserved - describes an incoming default generic task in the call canvas, task canvas and task list from the agent perspective
  • TaskAssigned - describes an assigned default generic task in task card and task list from the agent perspective
  • TaskWrapup - describes a default generic task in wrapup status in the call canvas, task canvas and task list
  • TaskCompleted - describes a completed default generic task in call canvas, task canvas and task list
  • TaskCanceled - describes a canceled default generic task in call canvas, task canvas and task list
  • TaskPending - describes a pending default generic task in call canvas, task canvas and task list
  • TaskFilterAll - shown in the task list filter to include all tasks
  • TaskFilterActive - shown in the task list filter to include only active tasks
  • TaskFilterWrapping - shown in the task list filter to include only tasks in wrap up state
  • TaskInfoPanelContent - task-related information displayed on a task information tab
  • NoTasks - main text on the "No Tasks" panel
  • NoTasksTitle - string to be shown on the placeholder view when there are no tasks for the agent
  • NoTasksHintNotAvailable - small hint on the "No Tasks" panel for not available worker
  • NoTasksHintAvailable - small hint on the "No Tasks" panel for available worker
  • NoCRMTitle - header shown on the placeholder view when there is no CRM configured
  • NoCRMConfigured - main text to be shown on the placeholder view when there is no CRM configured
  • NoCRMConfiguredAction - caption of the button on the "No CRM Configured" panel
  • NoCRMHint - small hint on the "No CRM Configured" panel
  • LoginLoading - Loading label in login view
  • LoginPassword - password label in login view
  • LoginUsername - username label in login view
  • LoginLogin - login button caption
  • TaskHeaderComplete - button caption to Complete a task in wrapup
  • TaskHeaderEndCall - button label on Task Header to end call
  • TaskHeaderWrapup - button to take a task to wrapup
  • TaskHeaderEndChat - button label on Task Header to end chat and move the task to wrapup
  • ColumnHeaderAgent - column name for "agents" column in Supervisor table in the Teams view
  • ColumnHeaderCalls - column name for "live calls" column in Supervisor table in the Teams view
  • ColumnHeaderTasks - column name for tasks different from calls in Supervisor table in the Teams view
  • SupervisorUserCardFirstLine - first line displayed for a user card in Supervisor table in the Teams view
  • SupervisorUserCardSecondLine - second line displayed for a user card in Supervisor table in the Teams view
  • SupervisorTaskHeaderLine - header of the task detail view in Supervisor UI in the Teams view
  • SupervisorTaskViewContentHeader - first line of inner content area of task detail view in Supervisor UI in the Teams view
  • SupervisorTaskLive - default string used by "helper" when calculating detail string for task in live state in the Teams view
  • SupervisorTaskWrapUp - default string used by "helper" when calculating detail string for task in wrapping up state in the Teams view
  • SupervisorTaskCompleted - default string used by "helper" when calculating detail string for task in completed state in the Teams view
  • SupervisorTaskCardHeader - first line of task details card in the Teams view
  • SupervisorTaskInfoPanelContent - task-related information displayed on a task information tab in the Teams view
  • LiveCommsMonitoringMessage - text used in Live Comms bar when monitoring a call
  • LiveCommsOngoingCallMessage - text used in Live Comms bar when on a call
  • LiveCommsBarReturnToCall - text in Live Comms bar button to return to a call
  • LiveCommsBarStopListening - text in Live Comms bar button to return to stop monitoring a call
  • LiveCommsBarHold - text in Live Comms bar button to return to hold a call
  • LiveCommsBarUnHold - text in Live Comms bar button to return to unhold a call
  • LiveCommsIncomingCallMessage - text used in Live Comms bar for incoming call task
  • LiveCommsBarAccept - text used in Live Comms bar to on button to accept incoming call task
  • LiveCommsBarDeny - text used in Live Comms bar to on button to reject incoming call task
  • WorkerDirectoryItemFirstLine - first line in an item of a Worker Directory
  • WorkerDirectoryItemSecondLine - second line in an item of a Worker Directory
  • WorkerDirectoryTitle - title of the Worker Directory popup
  • WorkerDirectoryAgentsTabLabel - label of the agents tab in the worker directory popup
  • WorkerDirectoryQueuesTabLabel - label of the queues tab in the worker directory popup
  • WorkerDirectoryQueueItemText - displayed info about a queue item in the list of queues on the queues tab in the worker directory popup
  • WorkerDirectorySearchPlaceholder - placeholder text for the search input
  • ChatInputDisabledText - text displayed inside a disabled chat input
  • WorkerCanvasHeader - header for the worker canvas in Supervisor UI in the Teams view
  • WorkerCanvasDetailsHeader - header for the Worker Details section of the worker canvas in Supervisor UI in the Teams view
  • WorkerCanvasSkillsHeader - header for the Skills section of the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillLevelInvalid - message displayed due to failed validation of a provided skill level of the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillPleaseSelect - text displayed as a placeholder in the skills dropdown menu of the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillsNoSkills - message displayed in case there are no skills specified within the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillsSchemaMismatch - message displayed in case skills couldn't be parsed due to schema mismatch within the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillsSaved - message indicating that the skills has been successfully saved at the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillsError - message indicating that saving changes to skills have failed at the worker canvas in Supervisor UI in the Teams view
  • WorkerSkillsReverted - message indicated that the skills were successfully reset
  • Save - label for a save button displayed in the worker skills section
  • Reset - label for a reset button displayed in the worker skills section
  • ChatWelcomeText - chat welcome text for agent
  • InputPlaceHolder - Text shown in the edit box when no content has been entered
  • TypingIndicator - Text used for typing indicator, user name is denoted by {0}. For example "{0} is typing"
  • Read - Text below last message that has been read by other party
  • MessageSendingDisabled - Text shown if sending messages has been disabled
  • Today - Text shown in message list to group messages from today's date
  • Yesterday - Text shown in message list to group messages from yesterday's date
  • UiVersionDeprecated - notification indicating that the current version of Flex is deprecated
  • RuntimeLoginLabel - header for the runtime login view
  • RuntimeLoginPlaceholder - placeholder for the runtime login view input field in the runtime login view
  • RuntimeLoginLaunch - label for the action button in the runtime login view
  • RuntimeLoginWithTwilio - label in the runtime login view for the link that leads to Twilio login page
  • RuntimeLoginIsAdmin - a text prepending `RuntimeLoginWithTwilio` link in the runtime login view
  • RuntimeLoginErrorDomain - an error displayed in case runtime domain couldn't be resolved in the runtime login view
  • RuntimeLoginErrorSso - an error displayed in the runtime login view in case SSO isn't properly configured for the Flex project within Twilio Console
  • TransferFailedNotification - a notification displayed in case of failed task transfer to another agent
  • SupervisorTaskCanvasHeader - a header for the task card in Supervisor UI in the Teams view
  • TaskTabSupervisorCallLabel - Call task tab label in Supervisor task canvas.
  • TaskTabSupervisorChatLabel - Chat task tab label in Supervisor task canvas.
  • TaskHeaderStatusPending - Describes task that is in pending state. It's used in TaskCanvasHeader.
  • TaskHeaderGroupCallAccepted - Describes conference call task that is in accepted state. It's used in TaskCanvasHeader.
  • TaskHeaderStatusAccepted - Describes task that is in accepted state. It's used in TaskCanvasHeader.
  • TaskHeaderStatusWrapup - Describes task that is in wrapup state. It's used in TaskCanvasHeader.
  • TaskHeaderStatusCompleted - Describes task that is in completed state. It's used in TaskCanvasHeader.

Current default values

{
infoPanelContent: "`
<h1>TASK CONTEXT</h1>
<h2>Task type</h2>
<p>{{task.channelType}}</p>
<h2>Task created on</h2>
<p>{{task.dateCreated}}</p>
<h2>Task priority</h2>
<p>{{task.priority}}</p>
<h2>Task queue</h2>
<p>{{task.queueName}}</p>
<h2>Task Sid</h2>
<p>{{task.taskSid}}</p>
<h2>Reservation Sid</h2>
<p>{{task.sid}}</p>
<hr />
<h1>CUSTOMER CONTEXT</h1>
<h2>Customer name / phone number</h2>
<p>{{task.defaultFrom}}</p>
<h2>Country</h2>
<p>{{task.attributes.caller_country}}</p>
<hr />
<h1>ADDONS</h1>
<p>
    No add-ons enabled.
    To expand your experience, visit
</p>
<a href="https://www.twilio.com/marketplace/add-ons" target="blank">Twilio Marketplace</a>`",

    SetYourStatus: "Set your status",
    LogOut: "Log out",
    SigningIn: "Signing in",
    SessionExpired:
        "Your session has expired. " + "<a href='#' onClick='window.location.reload()'>Click here to log in again</a>",
    NoTasksTitle: "Status",
    NoTasks: "No active tasks",
    NoTasksHintNotAvailable: "Change activity state to start receiving tasks.",
    NoTasksHintAvailable: "You are ready to start receiving tasks.",

    NoCRMConfigured: "No CRM configured",
    NoCRMConfiguredAction: "HOW TO CONFIGURE",
    NoCRMTitle: "CRM config",
    NoCRMHint: "Our docs can help you get started.",
    LoginUsername: "User Name",
    LoginPassword: "Password",
    LoginLoading: "Loading ...",
    LoginWelcome: "Hi there, welcome to Flex!",
    LoginLogin: "LOGIN",
    LoginContinue: "Continue anyway",
    LoginAgain: "Login again",
    LoginLaunch: "Launch",
    LoginTitle: "Twilio Flex",
    LoginErrorDomain: "Oops! Your runtime domain is incorrect.",
    LoginErrorDomainDetails:
        "Find your runtime domain " + "<a href='https://www.twilio.com/console/runtime/overview'>here</a>",
    LoginErrorSso: "Hmm, Single Sign-On has not been configured.",
    LoginErrorSsoDetails:
        "Find out how to configure Single Sign-On " +
        "<a href='https://www.twilio.com/console/flex/users/single-sign-on'>here</a>",
    LoginErrorPopupBlocked: "Sorry, pop-ups are blocked.",
    LoginErrorPopupBlockedDetails:
        "<a href='https://support.google.com/chrome/answer/95472'>" +
        "Find out how to enable pop-ups in your browser</a>",
    LoginErrorUntrustedDomain: "Trusted Login has not been enabled for this domain.",
    LoginErrorUntrustedDomainDetails:
        "Find out how to configure Single Sign-On " +
        "<a " +
        "href='https://www.twilio.com/docs/flex/configuring-single-sign-and-identity-provider-integration#how-do-i-login-to-a-self-hosted-domain'" +
        " target='_blank'" +
        ">" +
        "here" +
        "</a>",
    LoginErrorInvalidCertificate: "Invalid SSO Settings",
    LoginErrorInvalidCertificateDetails:
        "This may be caused by malformed urls or missing/invalid certificates.<br><br>Please reconfigure the " +
        "<a href='https://www.twilio.com/docs/api/errors/70251' target='_blank'>" +
        "SSO settings" +
        "</a>" +
        " and retry.",
    LoginErrorGeneric: "Oops! Well, that didn't work :( Please double check your configuration.",
    LoginIsAdmin: "Flex Admin?",
    LoginWithTwilio: "Login with Twilio.",
    TaskHeaderLeaveCall: "LEAVE CALL",
    TaskHeaderEndCall: "HANG UP",
    TaskHeaderWrapup: "WRAP UP",
    TaskHeaderComplete: "COMPLETE",
    TaskHeaderEndChat: "END CHAT",
    TaskHeaderStatusPending: "",
    TaskHeaderStatusAccepted: "Live | {{helper.durationSinceUpdate}}",
    TaskHeaderGroupCallAccepted:
        "Live | {{helper.durationSinceUpdate}} | {{{icon name='Participant'}}} " +
        "{{task.conference.liveParticipantCount}}",
    TaskHeaderStatusWrapup: "Wrap up | {{helper.durationSinceUpdate}}",
    TaskHeaderStatusCompleted: "Completed | {{helper.durationSinceUpdate}}",
    SideNavTaskView: "Agent Desktop",
    SideNavTeamsView: "Teams",
    SideNavAgentDashboard: "Agent Dashboard",
    SideNavSupervisorInspections: "Supervisor Inspections",
    SideNavSupervisorDashboard: "Supervisor Dashboard",
    SideNavSupervisorReports: "Supervisor Reports",
    SideNavSettings: "Settings",
    SideNavQueuesStatsView: "Queue Stats",
    TaskHeaderLine: "{{task.defaultFrom}}",
    TaskExtraInfo:
        "Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
        "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
        "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip " +
        "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit " +
        "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non " +
        "proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
    TaskLineCallIncomingTitle: "Incoming call",
    TaskLineCallTransferTitle: "Transfer request",
    TaskLineCallEndedTitle: "Call ended",
    TaskLineQueue: "Queue: {{task.queueName}}",
    TaskLineCallDuration: "{{helper.durationSinceUpdate}}",
    TaskLineCallReserved: "Incoming call from queue {{task.queueName}}",
    TaskLineCallAssigned: "Live | {{helper.durationSinceUpdate}}",
    TaskLineCallWrapup: "Wrap up | {{helper.durationSinceUpdate}}",
    TaskLineGroupCallAssigned:
        "Live | {{helper.durationSinceUpdate}} | {{{icon name='Participant'}}} " +
        "{{task.conference.liveParticipantCount}}",
    TaskLineCallTransferWorker: "Request from {{task.incomingTransferObject.worker.fullName}} (direct)",
    TaskLineCallTransferWorkerDetail:
        "From: {{task.incomingTransferObject.worker.fullName}} (direct)<br />" + "Queue: {{task.queueName}}",
    TaskLineCallTransferQueue:
        "Request from {{task.incomingTransferObject.worker.fullName}} ({{task.incomingTransferObject.queue.name}})",
    TaskLineCallTransferQueueDetail:
        "From: {{task.incomingTransferObject.worker.fullName}}<br />" + "Queue: {{task.queueName}}",
    TaskLineChatReserved: "Incoming chat request",
    TaskLineChatLineReserved: "Incoming Line request",
    TaskLineChatMessengerReserved: "Incoming Messenger request",
    TaskLineChatWhatsAppReserved: "Incoming WhatsApp request",
    TaskLineSmsReserved: "Incoming SMS request",
    TaskLineChatAssigned:
        "{{helper.durationSinceUpdate}} | {{#if helper.lastChatMessage}} " +
        "{{helper.lastChatMessage.authorName}}: {{helper.lastChatMessage.body}}" +
        "{{else}}No messages{{/if}}",
    TaskLineTitle: "",
    TaskReserved: "Reserved",
    TaskAssigned: "Assigned",
    TaskWrapup: "In wrap up",
    TaskCompleted: "Completed",
    TaskCanceled: "Canceled",
    TaskFilterAll: "ALL TASKS",
    TaskFilterActive: "ACTIVE TASKS",
    TaskFilterWrapping: "TASKS IN WRAP UP",
    TaskInfoPanelContent: infoPanelContent,
    ColumnHeaderAgent: "AGENT",
    ColumnHeaderCalls: "CALLS",
    ColumnHeaderTasks: "OTHER TASKS",
    SupervisorUserCardFirstLine: "{{worker.fullName}}",
    SupervisorUserCardSecondLine: "{{worker.activityName}} | {{worker.activityDuration}}",
    SupervisorTaskViewContentHeader: "{{worker.fullName}}, {{task.defaultFrom}}",
    SupervisorTaskHeaderLine: "{{task.defaultFrom}}",
    SupervisorTaskLive: "{{helper.durationSinceUpdateShort}}",
    SupervisorTaskGroupCall: "{{helper.durationSinceUpdateShort}} | ({{task.conference.liveParticipantCount}})",
    SupervisorTaskWrapUp: "Wrap up | {{helper.durationSinceUpdateShort}}",
    SupervisorTaskCompleted: "Completed | {{helper.durationSinceUpdateShort}}",
    SupervisorTaskCardHeader: "{{task.defaultFrom}}",
    SupervisorTaskInfoPanelContent: infoPanelContent,
    LiveCommsMonitoringMessage: "You are listening to a call with {{task.defaultFrom}} and {{worker.fullName}}",
    LiveCommsMonitoringMessageMoreWorkers:
        "You are listening to a call with {{task.defaultFrom}} and {{workers.length}} workers",
    LiveCommsMonitoringMessageNoWorkers: "You are listening to a call with {{task.defaultFrom}}",
    LiveCommsOngoingCallMessage: "You are on a call with {{task.defaultFrom}}",
    LiveCommsIncomingCallMessage: "Incoming call from {{task.defaultFrom}}",
    LiveCommsBarAccept: "accept",
    LiveCommsBarDeny: "reject",
    LiveCommsBarReturnToCall: "RETURN",
    LiveCommsBarStopListening: "STOP LISTENING",
    LiveCommsBarHold: "HOLD",
    LiveCommsBarUnHold: "UNHOLD",
    WorkerDirectoryTitle: "Transfer",
    WorkerDirectoryItemFirstLine: "{{worker.fullName}}",
    WorkerDirectoryItemSecondLine: "{{worker.activityName}}",
    WorkerDirectoryAgentsTabLabel: "AGENTS",
    WorkerDirectoryQueuesTabLabel: "QUEUES",
    WorkerDirectoryQueueItemText: "{{queue.name}}",
    WorkerDirectorySearchPlaceholder: "Search",
    ChatInputDisabledText: "Conversation ended",
    WorkerCanvasHeader: "Profile",
    WorkerCanvasDetailsHeader: "Agent Details",
    WorkerCanvasSkillsHeader: "Skills",
    WorkerSkillLevelInvalid: "Please select a skill level between {{min}} - {{max}}",
    WorkerSkillPleaseSelect: "Add skill",
    WorkerSkillsNoSkills: "No skills attributed",
    WorkerSkillsSchemaMismatch: "Worker skills schema mismatch",
    WorkerSkillsSaved: "Changes saved successfully",
    WorkerSkillsError: "Failed to save changes",
    WorkerSkillsReverted: "Changes reverted",
    ChatWelcomeText: "Conversation started with customer",
    UiVersionDeprecated: "{{message}}",
    RuntimeLoginLabel: "Runtime domain",
    RuntimeLoginPlaceholder: "Your Runtime Domain",
    RuntimeLoginLaunch: "Launch",
    RuntimeLoginWithTwilio: "Login with Twilio.",
    RuntimeLoginIsAdmin: "Flex Admin?",
    RuntimeLoginErrorDomain: "Oops! Well, that didn’t work :( Check your <b>domain</b>.",
    RuntimeLoginErrorSso: "Oops! Well, that didn’t work :( Check your <b>SSO</b> setup.",
    TransferFailedNotification: "Agent unavailable",
    TaskCannotBeTransferredNotification: "Task cannot be transferred",
    SupervisorTaskCanvasHeader: "TASK DETAILS",
    TaskTabAgentIncomingLabel: "Incoming",
    TaskTabAgentCallLabel: "Call",
    TaskTabAgentChatLabel: "Chat",
    TaskTabAgentInfoLabel: "Info",
    TaskTabSupervisorOverviewLabel: "Overview",
    TaskTabSupervisorCallLabel: "Call",
    TaskTabSupervisorChatLabel: "Chat",
    TaskTabSupervisorInfoLabel: "Info",
    MicNotAvailableNotification: "Unable to access microphone, please check browser settings.",
    BrowserVoiceDisabledNotification: "Call cannot be accepted. Twilio Voice SDK has been disabled.",
    MessageSizeExceeded: "The entered character number exceeds the limit - {{currentCharCount}}/{{maxCharCount}}",
    UserControlWorkerSecondLine: "{{worker.activityName}} | {{worker.activityDuration}}",
    UserLoggedOutSuccess: "You have logged out successfully!",
    CannotChangeOtherWorkerActivity:
        "You cannot change an agent’s activity while they have a pending task/reservation.",
    CallCanvasWorkerOnHold: "You are on hold",
    CallCanvasUnholdWorker: "Unhold",
    CallParticipantStatusOnHold: "On Hold",
    CallParticipantStatusLive: "Live",
    CallParticipantStatusConnecting: "Calling...",
    CallParticipantStatusLeft: "Caller left",
    CallParticipantStatusTransferFailed: "No Answer",
    CallParticipantStatusKickConfirmation: "Remove from call?",
    LiveCommsIncomingDirectCallTransfer: "Request from {{task.incomingTransferObject.worker.fullName}} (direct)",
    LiveCommsIncomingQueueCallTransfer:
        "Request from {{task.incomingTransferObject.worker.fullName}} ({{task.incomingTransferObject.queue.name}})",
    CallParticipantCustomerName: "{{task.defaultFrom}}",
    MonitoringFailedNotification: "Monitoring attempt has failed",
    PredefinedChatMessageAuthorName: "Bot",
    PredefinedChatMessageBody: "Hi there! How can we help you today?",
    AgentStatusAvailable: "Available",
    AgentStatusBusy: "Busy",
    AgentStatusUnavailable: "Unavailable",
    AgentStatusOffline: "Offline",
    ActiveTasksTileTitle: "Active tasks",
    WaitingTasksTileTitle: "Waiting tasks",
    AgentsByActivityTileTitle: "Agents",
    LongestWaitTimeTileTitle: "Longest wait",
    QueuesNoDataHeading: "Queues",
    QueuesNoDataBodyForAdmin: "You have no Queues set up. Please configure your Queues.",
    QueuesNoDataBodyForSupervisor: "There are no Queues set up. Please contact your Administrator.",
    QueuesNoDataLinkLabelForAdmin: "Add Queue",
    PendingReservationsOnLogoutNotification: "You cannot logout while you have a pending task/reservation",
    PendingReservationsOnActivityStateChangeNotification:
        "You cannot update your activity while you have a pending task/reservation",
    AcceptTaskTooltip: "Accept",
    RejectTaskTooltip: "Reject",
    HangupCallTooltip: "Hang up",
    LeaveCallTooltip: "Leave",
    MuteCallTooltip: "Mute",
    HoldCustomerTooltip: "Hold Customer",
    UnholdCustomerTooltip: "Unhold Customer",
    HoldAgentTooltip: "Hold {{worker.fullName}}",
    UnholdAgentTooltip: "Unhold {{worker.fullName}}",
    CancelTransferTooltip: "Cancel Consult",
    KickAgentTooltip: "Hang up {{worker.fullName}}",
    ColdTransferTooltip: "Transfer",
    WarmTransferTooltip: "Consult",
    MonitorCallTooltip: "Monitor Call",
    LogToFileStartLoggingText: `<div>
    <h2>Capture logs</h2>
    <ul>
        <li>When you enable logging, your browser will be refreshed and logs capturing will start.</li>
        <li>Once you are ready to finish - stop logging. All captured logs will be saved to a text file.</li>
    </ul>
  </div>`,
    LogToFileStartLoggingLabel: "Refresh and start",
    LogToFileStopLoggingText: `<div>
    <h2>Logging is active</h2>
    <p>
    If you've repeated your actions and reproduced the issue, stop logging to download the file with captured logs.
    </p>
  </div>`,
    LogToFileStopLoggingLabel: "Finish and download",
    ChatOrchestrationAddToChatChannelFailed: "Failed to add worker to the chat channel.",
    ChatOrchestrationDeactivateChatChannelFailed: "Failed to deactivate the chat channel.",
    ChatOrchestrationLeaveChatChannelFailed: "Failed to remove worker from the chat channel.",
    TeamsViewFilterAction: "Filter{{#if filterCount}} ({{filterCount}}){{/if}}",
    TeamsViewClearSearchAction: "Clear search result",
    TeamsViewClearSearchPlaceholder: "Search Agents",
    TeamsViewResultsSummaryNoWorkersDisplayed: "No agents matched your criteria. Refine results via search or filter.",
    TeamsViewResultsSummaryMaxWorkersDisplayed: "Showing maximum number of agents. Refine results via search or ",
    TeamsViewResultsSummaryFilterCTA: "filter",
    TeamFiltersPanelTitle: "Filters",
    TeamFiltersPanelSingularLabel: "Viewing <strong>{{number}}</strong> agent",
    TeamFiltersPanelPluralLabel: "Viewing <strong>{{number}}</strong> agents",
    TeamFiltersApply: "Apply",
    TeamFiltersReset: "Reset",
    InputPlaceHolder: "Type message",
    TypingIndicator: "{0} is typing ... ",
    Connecting: "Connecting ...",
    Disconnected: "Connection lost",
    Read: "Read",
    MessageSendingDisabled: "Message sending has been disabled",
    Today: "TODAY",
    Yesterday: "YESTERDAY",
    MessageCanvasTrayContent: `
        <h6>Complete</h6>
        <p>This chat is no longer active.</p>`,
    MessageCanvasTrayButton: "START NEW CHAT",
    WelcomeMessage: "Welcome to customer service",
    NotificationMessage: "Unable to perform action: {{message}}",
    Save: "SAVE",
    Reset: "RESET",
    MessageCharacterCountStatus: "{{currentCharCount}} / {{maxCharCount}}",
    MessageCharacterCountReached: "Character count reached - {{currentCharCount}} / {{maxCharCount}}",
    SendMessageTooltip: "Send Message",
    FieldValidationRequiredField: "Field required",
    FieldValidationInvalidEmail: "Please provide a valid email address",
    ChatInputUserNotMemberDisabledText: "You are not a participant of this chat",
    FilterItemAny: "Any",
    FilterItemAmountSelected: "{{amount}} selected",
    FilterItemOnly: "{{item.label}} only"
};
Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.