Sales Engagement Methods for Lightning Experience

Usage 

These two methods allow your CTI implementation to communicate with Sales Engagement to handle Sales Engagement work. The onWorkStart method lets you listen for when a Sales Engagement work item starts. You communicate back to Sales Engagement with the completeWork method when the work completes. These methods are available in API version 46.0 or later.

You can use this method with the Lightning web component lightning-click-to-dial. You can also use it with the Aura component lightning:clickToDial. Keep in mind that you can’t use either component in iFrames. This method can’t be used with the Visualforce component support:clickToDial.

Note

CallEnd is deprecated as of API version 48.0.

Note

Syntax 

The onWorkStart method lets you listen for when work starts. Sales Engagement calls your listener function when the work starts. In your listener, the completeWorkWhen parameter specifies whether to call Sales Engagement back when the task is saved (TaskSaved).

1sforce.opencti.hvs.onWorkStart({listener: FUNCTION});
2
3{ // Listener function payload
4  workId: STRING,            // Id of the current work
5  completeWorkWhen: STRING,  // 'TaskSaved'
6  attributes: {
7    to: STRING               // Used to match to click_to_call
8  }
9}

When the work completes (when the task is saved), call the completeWork method so that the Sales Engagement system can update its information.

1sforce.opencti.hvs.completeWork({
2  workId: STRING,          // Id from onWorkStart 
3  attributes: {
4    disposition: STRING,   // Only needed for task
5    taskId: STRING,
6    wasConnected: BOOLEAN, // Should be added, otherwise defaults to true
7  },
8  callback: FUNCTION
9});

Only call this method for outbound calls. Inbound calls aren’t started by Sales Engagement.

Note

Arguments 

Arguments for onWorkStart:

NameTypeDescription
listenerfunctionFunction that is called when the work is started. This function’s payload includes workId, completeWorkWhen, attributes, and to.
workIdstringID of the work item. Depending on the type of work, this value is either the step tracker ID or the my list ID.
completeWorkWhenstringDefines when to call the completeWork method. This value is TaskSaved.
attributesobjectAttributes object that contains the to field.
tostringThis field is used to link to the number in onClickToDial.

Arguments for completeWork:

NameTypeDescription
workIdstringID of the work item. Use the same value that you previously received in onWorkStart.
attributesobjectAttributes object that can contain the following fields: disposition, taskId, wasConnected.
dispositionstringValue of the disposition. Required when completeWorkWhen is TaskSaved.
taskIdstringID of the task. Required when completeWorkWhen is TaskSaved.
wasConnectedbooleanIndicates whether the call successfully connected. We recommend always passing this value. If not passed, the value defaults to true.
callbackfunctionFunction executed when the call completes.

Sample Code 

Listen for Sales Engagement work to start:

1sforce.opencti.hvs.onWorkStart({
2    listener: function(payload) {
3        var workId = payload.workId;             // Save the work ID
4        var whenVal = payload.completeWorkWhen;  // Save the completion requirement
5        var toVal = payload.attributes.to;       // Save the number to associate with onClickToDial
6    }
7});

Call Sales Engagement when a task is saved:

1sforce.opencti.hvs.completeWork({
2  workId: a07B0000006VFHrIAO,      // Id sent via onWorkStart
3  attributes: {
4      disposition: 'Completed',    // Disposition value
5      taskId: '00TR00000032yfVMAQ' // ID of task created
6      wasConnected: true           // Whether the call successfully connected
7  },
8  callback: function() { /* perform cleanup here */ }
9});