publishEvent
Publishes an event to Salesforce. The event payload is verified to ensure that it’s the correct type before it’s published. Use this method to publish an event from a desk phone or directly from the partner connector.
Parameters
| Field | Type | Description |
|---|---|---|
| param | object | Contains an event type and a payload. |
| param.eventType | string | Event type to publish. If the rep status is offline, you shouldn’t publish the following events: MESSAGE, CALL_CONNECTED, CALL_STARTED, HANGUP, MUTE_TOGGLE, HOLD_TOGGLE, RECORDING_TOGGLE, UPDATE_AUDIO_STATS, PARTICIPANT_ADDED, PARTICIPANT_CONNECTED, PARTICIPANTS_CONFERENCED, PARTICIPANTS_SWAPPED, QUEUED_CALL_STARTED, CALL_UPDATED. If you publish one of these events when a rep is offline, they’re notified regardless of their status. As of Winter ‘24 and later, reps can change their Omni-Channel presence status after AgentWork is assigned but before they accept or decline the call. Partners should handle the SET_AGENT_STATUS event during this period between CALL_STARTED and CALL_CONNECTED. |
| param.payload | object | Payload for the event. The payload must be an object with the payload class associated with the EVENT_TYPE if specified. Otherwise, the event isn’t dispatched. |
Possible values for param.eventType
SHARED_EVENT_TYPE.AFTER_CONVERSATION_WORK_ENDEDSHARED_EVENT_TYPE.AFTER_CONVERSATION_WORK_STARTEDSHARED_EVENT_TYPE.ERRORSHARED_EVENT_TYPE.GET_AGENT_STATUSSHARED_EVENT_TYPE.GET_AGENT_STATUS_RESULTSHARED_EVENT_TYPE.GET_CONTACTS_RESULTSHARED_EVENT_TYPE.INFOSHARED_EVENT_TYPE.LOGIN_RESULTSHARED_EVENT_TYPE.LOGOUT_RESULTSHARED_EVENT_TYPE.LOGIN_STARTEDSHARED_EVENT_TYPE.MESSAGESHARED_EVENT_TYPE.REMOTE_CONTROLLERSHARED_EVENT_TYPE.SET_AGENT_STATUSSHARED_EVENT_TYPE.SET_AGENT_STATUS_RESULTSHARED_EVENT_TYPE.SHOW_LOGINSHARED_EVENT_TYPE.SHOW_STORAGE_ACCESSSHARED_EVENT_TYPE.STATE_CHANGESHARED_EVENT_TYPE.STORAGE_ACCESS_RESULTSHARED_EVENT_TYPE.WARNINGVOICE_EVENT_TYPE.AFTER_CALL_WORK_STARTEDVOICE_EVENT_TYPE.AGENT_CONFIG_UPDATEDVOICE_EVENT_TYPE.AGENT_ERRORVOICE_EVENT_TYPE.CALL_BARGED_INVOICE_EVENT_TYPE.CALL_CONNECTEDVOICE_EVENT_TYPE.CALL_FAILEDVOICE_EVENT_TYPE.CALL_STARTEDVOICE_EVENT_TYPE.CALL_UPDATEDVOICE_EVENT_TYPE.GET_AUDIO_DEVICESVOICE_EVENT_TYPE.HANGUPVOICE_EVENT_TYPE.HOLD_TOGGLEVOICE_EVENT_TYPE.MUTE_TOGGLEVOICE_EVENT_TYPE.PARTICIPANT_ADDEDVOICE_EVENT_TYPE.PARTICIPANT_CONNECTEDVOICE_EVENT_TYPE.PARTICIPANTS_CONFERENCEDVOICE_EVENT_TYPE.PARTICIPANTS_SWAPPEDVOICE_EVENT_TYPE.PHONE_CONTACTSVOICE_EVENT_TYPE.QUEUED_CALL_STARTEDVOICE_EVENT_TYPE.RECORDING_TOGGLEVOICE_EVENT_TYPE.SHOW_TRANSFER_VIEWVOICE_EVENT_TYPE.SIGNED_RECORDING_URLVOICE_EVENT_TYPE.SOFTPHONE_ERRORVOICE_EVENT_TYPE.SUPERVISOR_BARGED_INVOICE_EVENT_TYPE.SUPERVISOR_CALL_CONNECTEDVOICE_EVENT_TYPE.SUPERVISOR_CALL_STARTEDVOICE_EVENT_TYPE.SUPERVISOR_HANGUPVOICE_EVENT_TYPE.UPDATE_AUDIO_STATSVOICE_EVENT_TYPE.UPDATE_AUDIO_STATS_COMPLETEDVOICE_EVENT_TYPE.WRAP_UP_ENDED
Payload types for param.payload
| Event Type | Payload Class |
|---|---|
SHARED_EVENT_TYPE.LOGIN_RESULT | GenericResult |
SHARED_EVENT_TYPE.LOGOUT_RESULT | LogoutResult |
SHARED_EVENT_TYPE.MESSAGE | object |
SHARED_EVENT_TYPE.SET_AGENT_STATUS | AgentStatusInfo |
VOICE_EVENT_TYPE.CALL_BARGED_IN | SuperviseCallResult |
VOICE_EVENT_TYPE.CALL_CONNECTED | CallResult |
VOICE_EVENT_TYPE.CALL_STARTED | CallResult |
VOICE_EVENT_TYPE.CALL_UPDATED | CallResult |
VOICE_EVENT_TYPE.HANGUP | HangupResult |
VOICE_EVENT_TYPE.HOLD_TOGGLE | HoldToggleResult |
VOICE_EVENT_TYPE.MUTE_TOGGLE | MuteToggleResult |
VOICE_EVENT_TYPE.PARTICIPANT_ADDED | ParticipantResult |
VOICE_EVENT_TYPE.PARTICIPANT_CONNECTED | ParticipantResult |
VOICE_EVENT_TYPE.PARTICIPANTS_CONFERENCED | HoldToggleResult |
VOICE_EVENT_TYPE.PARTICIPANTS_SWAPPED | HoldToggleResult |
VOICE_EVENT_TYPE.QUEUED_CALL_STARTED | CallResult |
VOICE_EVENT_TYPE.RECORDING_TOGGLE | RecordingToggleResult |
VOICE_EVENT_TYPE.SUPERVISOR_CALL_CONNECTED | SuperviseCallResult |
VOICE_EVENT_TYPE.SUPERVISOR_CALL_STARTED | SuperviseCallResult |
VOICE_EVENT_TYPE.SUPERVISOR_HANGUP | SuperviseCallResult |
VOICE_EVENT_TYPE.UPDATE_AUDIO_STATS | AudioStats |
Example
1publishEvent({
2 eventType: Constants.VOICE_EVENT_TYPE.CALL_CONNECTED,
3 payload: new CallResult({ call }), // "call" contain the PhoneCall object
4});DID THIS ARTICLE SOLVE YOUR ISSUE?
Let us know so we can improve!
Let us know so we can improve!