Triggered when a task is successfully assigned to an agent
task.on(TASK_EVENTS.TASK_ASSIGNED, (task: ITask) => {
console.log('Task assigned:', task.data.interactionId);
// Begin handling the assigned task
});
Triggered when a task has been successfully auto-answered This event is emitted after the SDK automatically accepts a task due to:
task.on(TASK_EVENTS.TASK_AUTO_ANSWERED, (task: ITask) => {
console.log('Task auto-answered:', task.data.interactionId);
// Update UI - enable cancel button, etc.
});
Triggered when a campaign contact is updated (e.g., after skip or remove, when the next contact is offered)
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)
});
Triggered when accepting a campaign preview contact fails
task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_ACCEPT_FAILED, (task: ITask) => {
console.log('Campaign preview accept failed:', task.data.interactionId);
// Handle accept failure
});
Triggered when removing a campaign preview contact fails
task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_REMOVE_FAILED, (task: ITask) => {
console.log('Campaign preview remove failed:', task.data.interactionId);
// Handle remove failure
});
Triggered when a campaign preview contact is offered to the agent
task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_RESERVATION, (data: AgentContact) => {
console.log('Campaign preview contact received:', data.interactionId);
// Handle campaign preview reservation
});
Triggered when skipping a campaign preview contact fails
task.on(TASK_EVENTS.TASK_CAMPAIGN_PREVIEW_SKIP_FAILED, (task: ITask) => {
console.log('Campaign preview skip failed:', task.data.interactionId);
// Handle skip failure
});
Triggered when a conference is ended successfully
task.on(TASK_EVENTS.TASK_CONFERENCE_ENDED, (task: ITask) => {
console.log('Conference ended:', task.data.interactionId);
// Handle conference end
});
Triggered when ending a conference fails
task.on(TASK_EVENTS.TASK_CONFERENCE_END_FAILED, (task: ITask) => {
console.log('Conference end failed:', task.data.interactionId);
// Handle failed conference end
});
Triggered when a conference is being established
task.on(TASK_EVENTS.TASK_CONFERENCE_ESTABLISHING, (task: ITask) => {
console.log('Conference establishing:', task.data.interactionId);
// Handle conference setup in progress
});
Triggered when a conference fails to start
task.on(TASK_EVENTS.TASK_CONFERENCE_FAILED, (task: ITask) => {
console.log('Conference failed:', task.data.interactionId);
// Handle conference failure
});
Triggered when a conference is started successfully
task.on(TASK_EVENTS.TASK_CONFERENCE_STARTED, (task: ITask) => {
console.log('Conference started:', task.data.interactionId);
// Handle conference start
});
Triggered when conference transfer is successful
task.on(TASK_EVENTS.TASK_CONFERENCE_TRANSFERRED, (task: ITask) => {
console.log('Conference transferred:', task.data.interactionId);
// Handle successful conference transfer
});
Triggered when conference transfer fails
task.on(TASK_EVENTS.TASK_CONFERENCE_TRANSFER_FAILED, (task: ITask) => {
console.log('Conference transfer failed:', task.data.interactionId);
// Handle failed conference transfer
});
Triggered when consultation is in progress
task.on(TASK_EVENTS.TASK_CONSULTING, (task: ITask) => {
console.log('Consulting in progress:', task.data.interactionId);
// Handle ongoing consultation
});
Triggered when a consultation request is accepted
task.on(TASK_EVENTS.TASK_CONSULT_ACCEPTED, (task: ITask) => {
console.log('Consultation accepted:', task.data.interactionId);
// Begin consultation
});
Triggered when a new consultation is created
task.on(TASK_EVENTS.TASK_CONSULT_CREATED, (task: ITask) => {
console.log('Consultation created:', task.data.interactionId);
// Initialize consultation
});
Triggered when a consultation session ends
task.on(TASK_EVENTS.TASK_CONSULT_END, (task: ITask) => {
console.log('Consultation ended:', task.data.interactionId);
// Clean up consultation resources
});
Triggered when a queue consultation is cancelled
task.on(TASK_EVENTS.TASK_CONSULT_QUEUE_CANCELLED, (task: ITask) => {
console.log('Queue consultation cancelled:', task.data.interactionId);
// Handle consultation cancellation
});
Triggered when a queue consultation fails
task.on(TASK_EVENTS.TASK_CONSULT_QUEUE_FAILED, (task: ITask) => {
console.log('Queue consultation failed:', task.data.interactionId);
// Handle consultation failure
});
Triggered when a task is completed/terminated
task.on(TASK_EVENTS.TASK_END, (task: ITask) => {
console.log('Task ended:', task.data.interactionId);
// Clean up and finalize task
});
Triggered when agent initiates exit from conference
task.on(TASK_EVENTS.TASK_EXIT_CONFERENCE, (task: ITask) => {
console.log('Exiting conference:', task.data.interactionId);
// Handle conference exit initiation
});
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.
task.on(TASK_EVENTS.TASK_FEATURE_ENABLEMENT, (enablement: AISummaryFeatureEnablement) => {
const { midCallEnabled, postCallEnabled } = enablement;
// gate summary UI on these flags
});
Triggered when a task is placed on hold
task.on(TASK_EVENTS.TASK_HOLD, (task: ITask) => {
console.log('Task placed on hold:', task.data.interactionId);
// Update UI to show hold state
});
Triggered when a task is populated with data
task.on(TASK_EVENTS.TASK_HYDRATE, (task: ITask) => {
console.log('Task hydrated:', task.data.interactionId);
// Process task data
});
Triggered when a new task is received by the system
task.on(TASK_EVENTS.TASK_INCOMING, (task: ITask) => {
console.log('New task received:', task.data.interactionId);
// Handle incoming task
});
Triggered when the media state of a task changes
task.on(TASK_EVENTS.TASK_MEDIA, (track: MediaStreamTrack) => {
// Handle media track updates
});
Triggered when a contact is merged
task.on(TASK_EVENTS.TASK_MERGED, (task: ITask) => {
console.log('Contact merged:', task.data.interactionId);
// Handle contact merge
});
Triggered when a mid-call summary is received for the task.
Triggered when a multi-login task update should hydrate SDK instances without Mobius registration.
task.on(TASK_EVENTS.TASK_MULTI_LOGIN_HYDRATE, (task: ITask) => {
console.log('Multi-login hydrate:', task.data.interactionId);
});
Triggered when a consultation is offered
task.on(TASK_EVENTS.TASK_OFFER_CONSULT, (task: ITask) => {
console.log('Consultation offered:', task.data.interactionId);
// Handle consultation offer
});
Triggered when a new contact is offered
task.on(TASK_EVENTS.TASK_OFFER_CONTACT, (task: ITask) => {
console.log('Contact offered:', task.data.interactionId);
// Handle contact offer
});
Triggered when an outdial call fails
task.on(TASK_EVENTS.TASK_OUTDIAL_FAILED, (reason: string) => {
console.log('Outdial failed:', reason);
// Handle outdial failure
});
Triggered when a participant joins the conference
task.on(TASK_EVENTS.TASK_PARTICIPANT_JOINED, (task: ITask) => {
console.log('Participant joined conference:', task.data.interactionId);
// Handle participant joining
});
Triggered when a participant leaves the conference
task.on(TASK_EVENTS.TASK_PARTICIPANT_LEFT, (task: ITask) => {
console.log('Participant left conference:', task.data.interactionId);
// Handle participant leaving
});
Triggered when participant exit from conference fails
task.on(TASK_EVENTS.TASK_PARTICIPANT_LEFT_FAILED, (task: ITask) => {
console.log('Participant failed to leave conference:', task.data.interactionId);
// Handle failed participant exit
});
Triggered when a participant enters post-call activity state
task.on(TASK_EVENTS.TASK_POST_CALL_ACTIVITY, (task: ITask) => {
console.log('Participant in post-call activity:', task.data.interactionId);
// Handle post-call activity
});
Triggered when recording is paused
task.on(TASK_EVENTS.TASK_RECORDING_PAUSED, (task: ITask) => {
console.log('Recording paused:', task.data.interactionId);
// Update recording state
});
Triggered when recording pause attempt fails
task.on(TASK_EVENTS.TASK_RECORDING_PAUSE_FAILED, (task: ITask) => {
console.log('Recording pause failed:', task.data.interactionId);
// Handle pause failure
});
Triggered when recording is resumed
task.on(TASK_EVENTS.TASK_RECORDING_RESUMED, (task: ITask) => {
console.log('Recording resumed:', task.data.interactionId);
// Update recording state
});
Triggered when recording resume attempt fails
task.on(TASK_EVENTS.TASK_RECORDING_RESUME_FAILED, (task: ITask) => {
console.log('Recording resume failed:', task.data.interactionId);
// Handle resume failure
});
Triggered when recording is started
task.on(TASK_EVENTS.TASK_RECORDING_STARTED, (task: ITask) => {
console.log('Recording started:', task.data.interactionId);
});
Triggered when a task is rejected/unanswered
task.on(TASK_EVENTS.TASK_REJECT, (task: ITask) => {
console.log('Task rejected:', task.data.interactionId);
// Handle task rejection
});
Triggered when a task is resumed from hold
task.on(TASK_EVENTS.TASK_RESUME, (task: ITask) => {
console.log('Task resumed from hold:', task.data.interactionId);
// Update UI to show active state
});
Triggered when agent switches between consult call and main call. Use task.uiControls to determine current state and button visibility.
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
});
Triggered when agent initiates conference transfer
task.on(TASK_EVENTS.TASK_TRANSFER_CONFERENCE, (task: ITask) => {
console.log('Transferring conference:', task.data.interactionId);
// Handle conference transfer initiation
});
Triggered whenever task UI controls are recalculated
Triggered when a task is removed from an agent
task.on(TASK_EVENTS.TASK_UNASSIGNED, (task: ITask) => {
console.log('Task unassigned:', task.data.interactionId);
// Clean up task resources
});
Triggered when task wrap-up is completed
task.on(TASK_EVENTS.TASK_WRAPPEDUP, (task: ITask) => {
console.log('Task wrapped up:', task.data.interactionId);
// Finalize task completion
});
Triggered when a task enters wrap-up state
task.on(TASK_EVENTS.TASK_WRAPUP, (task: ITask) => {
console.log('Task in wrap-up:', task.data.interactionId);
// Begin wrap-up process
});
Triggered when wxApp mute state changes from Webex App (Mercury sync or call details).
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