Enumeration TASK_EVENTS

Enumeration of all task-related events that can occur in the contact center system These events represent different states and actions in the task lifecycle

Enumeration Members

TASK_ASSIGNED: "task:assigned"

Triggered when a task is successfully assigned to an agent

Example

task.on(TASK_EVENTS.TASK_ASSIGNED, (task: ITask) => {
console.log('Task assigned:', task.data.interactionId);
// Begin handling the assigned task
});
TASK_AUTO_ANSWERED: "task:autoAnswered"

Triggered when a task has been successfully auto-answered This event is emitted after the SDK automatically accepts a task due to:

  • WebRTC calls with auto-answer enabled
  • Agent-initiated outdial calls
  • Other auto-answer scenarios

Example

task.on(TASK_EVENTS.TASK_AUTO_ANSWERED, (task: ITask) => {
console.log('Task auto-answered:', task.data.interactionId);
// Update UI - enable cancel button, etc.
});
TASK_CAMPAIGN_CONTACT_UPDATED: "task:campaignContactUpdated"

Triggered when a campaign contact is updated (e.g., after skip or remove, when the next contact is offered)

Example

task.on(TASK_EVENTS.TASK_CAMPAIGN_CONTACT_UPDATED, (task: ITask) => {
console.log('Campaign contact updated:', task.data.interactionId);
// Handle updated campaign contact (e.g., display next contact)
});
TASK_CAMPAIGN_PREVIEW_ACCEPT_FAILED: "task:campaignPreviewAcceptFailed"

Triggered when accepting a campaign preview contact fails

Example

task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_ACCEPT_FAILED, (task: ITask) => {
console.log('Campaign preview accept failed:', task.data.interactionId);
// Handle accept failure
});
TASK_CAMPAIGN_PREVIEW_REMOVE_FAILED: "task:campaignPreviewRemoveFailed"

Triggered when removing a campaign preview contact fails

Example

task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_REMOVE_FAILED, (task: ITask) => {
console.log('Campaign preview remove failed:', task.data.interactionId);
// Handle remove failure
});
TASK_CAMPAIGN_PREVIEW_RESERVATION: "task:campaignPreviewReservation"

Triggered when a campaign preview contact is offered to the agent

Example

task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_RESERVATION, (data: AgentContact) => {
console.log('Campaign preview contact received:', data.interactionId);
// Handle campaign preview reservation
});
TASK_CAMPAIGN_PREVIEW_SKIP_FAILED: "task:campaignPreviewSkipFailed"

Triggered when skipping a campaign preview contact fails

Example

task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_SKIP_FAILED, (task: ITask) => {
console.log('Campaign preview skip failed:', task.data.interactionId);
// Handle skip failure
});
TASK_CONFERENCE_ENDED: "task:conferenceEnded"

Triggered when a conference is ended successfully

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_ENDED, (task: ITask) => {
console.log('Conference ended:', task.data.interactionId);
// Handle conference end
});
TASK_CONFERENCE_END_FAILED: "task:conferenceEndFailed"

Triggered when ending a conference fails

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_END_FAILED, (task: ITask) => {
console.log('Conference end failed:', task.data.interactionId);
// Handle failed conference end
});
TASK_CONFERENCE_ESTABLISHING: "task:conferenceEstablishing"

Triggered when a conference is being established

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_ESTABLISHING, (task: ITask) => {
console.log('Conference establishing:', task.data.interactionId);
// Handle conference setup in progress
});
TASK_CONFERENCE_FAILED: "task:conferenceFailed"

Triggered when a conference fails to start

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_FAILED, (task: ITask) => {
console.log('Conference failed:', task.data.interactionId);
// Handle conference failure
});
TASK_CONFERENCE_STARTED: "task:conferenceStarted"

Triggered when a conference is started successfully

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_STARTED, (task: ITask) => {
console.log('Conference started:', task.data.interactionId);
// Handle conference start
});
TASK_CONFERENCE_TRANSFERRED: "task:conferenceTransferred"

Triggered when conference transfer is successful

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_TRANSFERRED, (task: ITask) => {
console.log('Conference transferred:', task.data.interactionId);
// Handle successful conference transfer
});
TASK_CONFERENCE_TRANSFER_FAILED: "task:conferenceTransferFailed"

Triggered when conference transfer fails

Example

task.on(TASK_EVENTS.TASK_CONFERENCE_TRANSFER_FAILED, (task: ITask) => {
console.log('Conference transfer failed:', task.data.interactionId);
// Handle failed conference transfer
});
TASK_CONSULTING: "task:consulting"

Triggered when consultation is in progress

Example

task.on(TASK_EVENTS.TASK_CONSULTING, (task: ITask) => {
console.log('Consulting in progress:', task.data.interactionId);
// Handle ongoing consultation
});
TASK_CONSULT_ACCEPTED: "task:consultAccepted"

Triggered when a consultation request is accepted

Example

task.on(TASK_EVENTS.TASK_CONSULT_ACCEPTED, (task: ITask) => {
console.log('Consultation accepted:', task.data.interactionId);
// Begin consultation
});
TASK_CONSULT_CREATED: "task:consultCreated"

Triggered when a new consultation is created

Example

task.on(TASK_EVENTS.TASK_CONSULT_CREATED, (task: ITask) => {
console.log('Consultation created:', task.data.interactionId);
// Initialize consultation
});
TASK_CONSULT_END: "task:consultEnd"

Triggered when a consultation session ends

Example

task.on(TASK_EVENTS.TASK_CONSULT_END, (task: ITask) => {
console.log('Consultation ended:', task.data.interactionId);
// Clean up consultation resources
});
TASK_CONSULT_QUEUE_CANCELLED: "task:consultQueueCancelled"

Triggered when a queue consultation is cancelled

Example

task.on(TASK_EVENTS.TASK_CONSULT_QUEUE_CANCELLED, (task: ITask) => {
console.log('Queue consultation cancelled:', task.data.interactionId);
// Handle consultation cancellation
});
TASK_CONSULT_QUEUE_FAILED: "task:consultQueueFailed"

Triggered when a queue consultation fails

Example

task.on(TASK_EVENTS.TASK_CONSULT_QUEUE_FAILED, (task: ITask) => {
console.log('Queue consultation failed:', task.data.interactionId);
// Handle consultation failure
});
TASK_END: "task:end"

Triggered when a task is completed/terminated

Example

task.on(TASK_EVENTS.TASK_END, (task: ITask) => {
console.log('Task ended:', task.data.interactionId);
// Clean up and finalize task
});
TASK_EXIT_CONFERENCE: "task:exitConference"

Triggered when agent initiates exit from conference

Example

task.on(TASK_EVENTS.TASK_EXIT_CONFERENCE, (task: ITask) => {
console.log('Exiting conference:', task.data.interactionId);
// Handle conference exit initiation
});
TASK_FEATURE_ENABLEMENT: "task:featureEnablement"

Triggered on the task object when AI feature enablement flags arrive for that task's interaction. Fires immediately if the frame arrived after the task was registered, or at registration time if the frame arrived before the task (orphan retention). Consumers should use this event instead of the cc-level FEATURE_ENABLEMENT event so they do not need to maintain an interactionId → flags map manually.

Example

task.on(TASK_EVENTS.TASK_FEATURE_ENABLEMENT, (enablement: AISummaryFeatureEnablement) => {
const { midCallEnabled, postCallEnabled } = enablement;
// gate summary UI on these flags
});
TASK_HOLD: "task:hold"

Triggered when a task is placed on hold

Example

task.on(TASK_EVENTS.TASK_HOLD, (task: ITask) => {
console.log('Task placed on hold:', task.data.interactionId);
// Update UI to show hold state
});
TASK_HYDRATE: "task:hydrate"

Triggered when a task is populated with data

Example

task.on(TASK_EVENTS.TASK_HYDRATE, (task: ITask) => {
console.log('Task hydrated:', task.data.interactionId);
// Process task data
});
TASK_INCOMING: "task:incoming"

Triggered when a new task is received by the system

Example

task.on(TASK_EVENTS.TASK_INCOMING, (task: ITask) => {
console.log('New task received:', task.data.interactionId);
// Handle incoming task
});
TASK_MEDIA: "task:media"

Triggered when the media state of a task changes

Example

task.on(TASK_EVENTS.TASK_MEDIA, (track: MediaStreamTrack) => {
// Handle media track updates
});
TASK_MERGED: "task:merged"

Triggered when a contact is merged

Example

task.on(TASK_EVENTS.TASK_MERGED, (task: ITask) => {
console.log('Contact merged:', task.data.interactionId);
// Handle contact merge
});
TASK_MID_CALL_SUMMARY_RECEIVED: "task:midCallSummaryReceived"

Triggered when a mid-call summary is received for the task.

TASK_MULTI_LOGIN_HYDRATE: "task:multiLoginHydrate"

Triggered when a multi-login task update should hydrate SDK instances without Mobius registration.

Example

task.on(TASK_EVENTS.TASK_MULTI_LOGIN_HYDRATE, (task: ITask) => {
console.log('Multi-login hydrate:', task.data.interactionId);
});
TASK_OFFER_CONSULT: "task:offerConsult"

Triggered when a consultation is offered

Example

task.on(TASK_EVENTS.TASK_OFFER_CONSULT, (task: ITask) => {
console.log('Consultation offered:', task.data.interactionId);
// Handle consultation offer
});
TASK_OFFER_CONTACT: "task:offerContact"

Triggered when a new contact is offered

Example

task.on(TASK_EVENTS.TASK_OFFER_CONTACT, (task: ITask) => {
console.log('Contact offered:', task.data.interactionId);
// Handle contact offer
});
TASK_OUTDIAL_FAILED: "task:outdialFailed"

Triggered when an outdial call fails

Example

task.on(TASK_EVENTS.TASK_OUTDIAL_FAILED, (reason: string) => {
console.log('Outdial failed:', reason);
// Handle outdial failure
});
TASK_PARTICIPANT_JOINED: "task:participantJoined"

Triggered when a participant joins the conference

Example

task.on(TASK_EVENTS.TASK_PARTICIPANT_JOINED, (task: ITask) => {
console.log('Participant joined conference:', task.data.interactionId);
// Handle participant joining
});
TASK_PARTICIPANT_LEFT: "task:participantLeft"

Triggered when a participant leaves the conference

Example

task.on(TASK_EVENTS.TASK_PARTICIPANT_LEFT, (task: ITask) => {
console.log('Participant left conference:', task.data.interactionId);
// Handle participant leaving
});
TASK_PARTICIPANT_LEFT_FAILED: "task:participantLeftFailed"

Triggered when participant exit from conference fails

Example

task.on(TASK_EVENTS.TASK_PARTICIPANT_LEFT_FAILED, (task: ITask) => {
console.log('Participant failed to leave conference:', task.data.interactionId);
// Handle failed participant exit
});
TASK_POST_CALL_ACTIVITY: "task:postCallActivity"

Triggered when a participant enters post-call activity state

Example

task.on(TASK_EVENTS.TASK_POST_CALL_ACTIVITY, (task: ITask) => {
console.log('Participant in post-call activity:', task.data.interactionId);
// Handle post-call activity
});
TASK_RECORDING_PAUSED: "task:recordingPaused"

Triggered when recording is paused

Example

task.on(TASK_EVENTS.TASK_RECORDING_PAUSED, (task: ITask) => {
console.log('Recording paused:', task.data.interactionId);
// Update recording state
});
TASK_RECORDING_PAUSE_FAILED: "task:recordingPauseFailed"

Triggered when recording pause attempt fails

Example

task.on(TASK_EVENTS.TASK_RECORDING_PAUSE_FAILED, (task: ITask) => {
console.log('Recording pause failed:', task.data.interactionId);
// Handle pause failure
});
TASK_RECORDING_RESUMED: "task:recordingResumed"

Triggered when recording is resumed

Example

task.on(TASK_EVENTS.TASK_RECORDING_RESUMED, (task: ITask) => {
console.log('Recording resumed:', task.data.interactionId);
// Update recording state
});
TASK_RECORDING_RESUME_FAILED: "task:recordingResumeFailed"

Triggered when recording resume attempt fails

Example

task.on(TASK_EVENTS.TASK_RECORDING_RESUME_FAILED, (task: ITask) => {
console.log('Recording resume failed:', task.data.interactionId);
// Handle resume failure
});
TASK_RECORDING_STARTED: "task:recordingStarted"

Triggered when recording is started

Example

task.on(TASK_EVENTS.TASK_RECORDING_STARTED, (task: ITask) => {
console.log('Recording started:', task.data.interactionId);
});
TASK_REJECT: "task:rejected"

Triggered when a task is rejected/unanswered

Example

task.on(TASK_EVENTS.TASK_REJECT, (task: ITask) => {
console.log('Task rejected:', task.data.interactionId);
// Handle task rejection
});
TASK_RESUME: "task:resume"

Triggered when a task is resumed from hold

Example

task.on(TASK_EVENTS.TASK_RESUME, (task: ITask) => {
console.log('Task resumed from hold:', task.data.interactionId);
// Update UI to show active state
});
TASK_SWITCH_CALL: "task:switchCall"

Triggered when agent switches between consult call and main call. Use task.uiControls to determine current state and button visibility.

Example

task.on(TASK_EVENTS.TASK_SWITCH_CALL, (task: ITask) => {
console.log('Call switched:', task.data.interactionId);
// Update UI based on task.uiControls.main.switch / task.uiControls.consult.switch
});
TASK_TRANSFER_CONFERENCE: "task:transferConference"

Triggered when agent initiates conference transfer

Example

task.on(TASK_EVENTS.TASK_TRANSFER_CONFERENCE, (task: ITask) => {
console.log('Transferring conference:', task.data.interactionId);
// Handle conference transfer initiation
});
TASK_UI_CONTROLS_UPDATED: "task:ui-controls-updated"

Triggered whenever task UI controls are recalculated

TASK_UNASSIGNED: "task:unassigned"

Triggered when a task is removed from an agent

Example

task.on(TASK_EVENTS.TASK_UNASSIGNED, (task: ITask) => {
console.log('Task unassigned:', task.data.interactionId);
// Clean up task resources
});
TASK_WRAPPEDUP: "task:wrappedup"

Triggered when task wrap-up is completed

Example

task.on(TASK_EVENTS.TASK_WRAPPEDUP, (task: ITask) => {
console.log('Task wrapped up:', task.data.interactionId);
// Finalize task completion
});
TASK_WRAPUP: "task:wrapup"

Triggered when a task enters wrap-up state

Example

task.on(TASK_EVENTS.TASK_WRAPUP, (task: ITask) => {
console.log('Task in wrap-up:', task.data.interactionId);
// Begin wrap-up process
});
TASK_WXAPP_MUTE_STATE_UPDATED: "task:wxapp-mute-state-updated"

Triggered when wxApp mute state changes from Webex App (Mercury sync or call details).