Add Predefined System Messages to the Call Transcripts During a Phone Call

To add a join or leave message you'll need to set the type of system message to one values shown in the following table:

Also replace the <name> property with the actual user name.

Messages

Type Format
WorkJoin <name> joined the call.
WorkLeave <name> left the call.
WorkJoin_Monitor The supervisor <name> is now observing the call.
WorkLeave_Monitor The supervisor <name> has stopped observing the call.
WorkJoin_Conferee The supervisor <name> has joined the call.
WorkLeave_Conferee The supervisor <name> has left the call.
Here's a Typescript example:
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('test', 'v1');
const mcaContext: IMultiChannelAdaptorContext = await frameworkProvider.getMultiChannelAdaptorContext();
const phoneContext: IPhoneContext = await mcaContext.getCommunicationChannelContext('PHONE');
const engagementContext = getEngagementContext(); //Engagement context received on startcomm response
const feedSystemMessageActionRequest: IMcaFeedSystemMessageActionRequest = frameworkProvider.requestHelper.createPublishRequest('FeedSystemMessage') as IMcaFeedSystemMessageActionRequest;

feedSystemMessageActionRequest.setEventId(eventId);
feedSystemMessageActionRequest.setAppClassification(FusionHandler.appClassification);

feedSystemMessageActionRequest.setMessageId('1234);
feedSystemMessageActionRequest.setType('WorkJoin'); // Type of system messages can be any of the value mentioned in above table
feedSystemMessageActionRequest.setTime(Date.now());
feedSystemMessageActionRequest.setUserId(userId);
feedSystemMessageActionRequest.setUsername(username);

await engagementContext.publish(feedSystemMessageActionRequest);
Here's a JavaScript example:
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('test', 'v1');
const mcaContext = await frameworkProvider.getMultiChannelAdaptorContext();
const phoneContext = await mcaContext.getCommunicationChannelContext('PHONE');
const engagementContext = getEngagementContext(); //Engagement context received on startcomm response
const feedSystemMessageActionRequest = frameworkProvider.requestHelper.createPublishRequest('FeedSystemMessage');

feedSystemMessageActionRequest.setEventId(eventId);
feedSystemMessageActionRequest.setAppClassification(FusionHandler.appClassification);

feedSystemMessageActionRequest.setMessageId('1234);
feedSystemMessageActionRequest.setType('WorkJoin'); // Type of system messages can be any of the value mentioned in above table
feedSystemMessageActionRequest.setTime(Date.now());
feedSystemMessageActionRequest.setUserId(userId);
feedSystemMessageActionRequest.setUsername(username);

await engagementContext.publish(feedSystemMessageActionRequest);