Tutte le comunicazioni tra un modulo dell'interfaccia utente di Agent Assist e il relativo connettore avvengono tramite eventi personalizzati. Il connettore del modulo dell'interfaccia utente facilita gli eventi tra il desktop dell'agente e i moduli dell'interfaccia utente.
Ad esempio, quando viene ricevuto un suggerimento di Agent Assist, un servizio di connettore del modulo dell'interfaccia utente invia un evento analyze-content-received ai moduli dell'interfaccia utente, a cui i moduli sono iscritti.
Dettagli degli eventi personalizzati
Per l'elenco completo degli eventi dei moduli dell'interfaccia utente e dei relativi payload, consulta la documentazione dell'API degli eventi dei moduli dell'interfaccia utente.
Per inviare manualmente un evento personalizzato, utilizza la seguente sintassi:
dispatchAgentAssistEvent('event_name', {
detail: event_payload,
});
L'esempio seguente mostra come inviare l'evento analyze-content-received:
if (newMessageFromHumanAgent) {
dispatchAgentAssistEvent('analyze-content-received', {
detail: {
participantRole: 'HUMAN_AGENT',
request: {
textInput: {text: newMessageFromHumanAgent},
messageSendTime: new Date().toISOString()
}
}
});
}
Dopo aver inviato un evento personalizzato, nel servizio di connettore del modulo dell'interfaccia utente vedrai quanto segue:
this.api.analyzeContent(...).then(function (response) {
dispatchAgentAssistEvent('analyze-content-response-received', {
detail: {response: response}});
});
E nel modulo vedrai quanto segue:
addAgentAssistEventListener('analyze-content-response-received', function (event) {
// Use the AnalyzeContent response to render suggestions in the UI.
});
Per abbonarti manualmente a un evento personalizzato, utilizza la seguente sintassi:
addAgentAssistEventListener('event_name', function (event) {
// `event.detail` contains the event payload.
});
L'esempio seguente mostra un abbonamento a un evento personalizzato:
addAgentAssistEventListener('smart-reply-selected', function (event) {
var chipContent = event.details;
// Populate the agent chat box with the selected Smart Reply chip.
});
Connettori di moduli dell'interfaccia utente personalizzati
Puoi anche utilizzare eventi personalizzati per creare i tuoi connettori di moduli dell'interfaccia utente personalizzati, che ti consentono di integrare i moduli dell'interfaccia utente in un desktop dell'agente non supportato da Agent Assist. Per saperne di più sull'implementazione di moduli e connettori, consulta la documentazione sull'implementazione.
Se stai integrando i moduli dell'interfaccia utente di Agent Assist in un desktop dell'agente senza un connettore di moduli dell'interfaccia utente predefinito, dovrai scriverne uno personalizzato. Dopo aver creato un connettore di moduli dell'interfaccia utente personalizzato, torna alla documentazione sull'implementazione dei moduli dell'interfaccia utente per i dettagli sulla configurazione dei connettori e sull'implementazione dei moduli. Puoi utilizzare un connettore di moduli dell'interfaccia utente personalizzato con un container gestito o con singoli moduli.
Un connettore di moduli dell'interfaccia utente personalizzato deve essere responsabile delle seguenti operazioni:
- Invio di un evento per selezionare la conversazione attiva. In questo modo, la conversazione e i relativi partecipanti verranno inizializzati.
Nome evento:
active-conversation-selected - Per le conversazioni in chat, invio di un evento ogni volta che viene registrata una nuova espressione dell'agente o del cliente.
Nome evento:
analyze-content-requested - Notifica al sistema dei moduli quando la "modalità scura" è stata attivata/disattivata nell'applicazione principale.
Nome evento:
dark-mode-toggled
Inoltre, un connettore di moduli dell'interfaccia utente personalizzato deve abbonarsi ai seguenti eventi per aggiornare l'interfaccia utente del desktop dell'agente, se applicabile:
- Per Risposta rapida, aggiorna il campo di immissione dell'agente ogni volta che viene selezionato un chip di Risposta rapida.
Nome evento:
smart-reply-selected. - Per l'assistenza knowledge base generativa, aggiorna il campo di immissione dell'agente ogni volta che una risposta dell'assistenza knowledge base viene incollata nella casella di immissione.
Nome evento:
knowledge-assist-v2-answer-pasted.
Inizializzare più istanze di moduli dell'interfaccia utente con namespace
Per caricare più istanze dei moduli dell'interfaccia utente sulla stessa pagina, i desktop degli agenti hanno bisogno di più istanze di inizializzazione. Per mantenerle separate, al momento dell'inizializzazione, trasmetti un'opzione di configurazione namespace ai moduli dell'interfaccia utente e a UIModulesConnector.
Utilizza questa opzione se noti messaggi e suggerimenti condivisi tra conversazioni distinte nel desktop dell'agente. Ad esempio:
const connector = new UiModulesConnector();
const config = {};
// ...other UI module connector config options
config.uiModuleEventOptions = { namespace: this.recordId }
const containerElement = document.createElement("agent-assist-ui-modules-v2");
// ...other UI modules HTML attributes
containerEl.setAttribute("namespace", this.recordId);