---
sourceDocument: Interfaces conversacionais de Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/conversational-interfaces

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Interfaces conversacionais de Yokohama

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# Exemplo de substituição de fórmula

# Exemplo de substituição de fórmula {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Use o exemplo de substituição de fórmula a seguir para criar suas próprias substituições de fórmula.

## Definições de estado final do grupo {#formula-override-examples-pae__section_i43_xfh_f4b}

O estado final de uma conversa especifica como uma conversa terminou. Por exemplo, isso pode terminar com o usuário não respondendo ou o usuário fechou a janela de bate-papo. Há 12 definições padrão de estado final. Para obter mais informações sobre estados de término da conversa, consulte [Virtual Agent registros de interação](https://servicenow-prod.fluidtopics.net/K~yNP_mtcLEJQCsiQOqRaQ "Cada vez que um Virtual AgentA conversa ocorre, um registro de interação captura toda a conversa na tabela Interações [Interação]. O registro inclui todos os elementos de tópico usados na conversa, bem como transferências do atendente."). O script a seguir agrupa-os da seguinte forma:

* O VA encerrou a sessão de bate-papo
  * VA encerrado pelo sistema - Usuário sem resposta
  * VA encerrado pelo sistema - Tópico concluído
  * VA encerrado pelo sistema - Saiu com a Pesquisa com IA
  * VA encerrado pelo sistema - Encerrado automaticamente
  * VA encerrado pelo sistema - Usuário nunca interagiu
  {#formula-override-examples-pae__ul_nr5_4hw_d4b}
* O atendente encerrou a sessão de bate-papo
  * LA encerrado pelo sistema - Usuário sem resposta
  * LA encerrado pelo sistema - Chat concluído
  * LA encerrado pelo agente - Clicou em Encerrar/X
  * LA encerrado pelo sistemas - Antes da participação do agente
  {#formula-override-examples-pae__ul_dzn_qhw_d4b}
* O usuário encerrou a sessão de bate-papo
  * LA encerrado pelo usuário - Clicou em Encerrar/X
  * VA encerrado pelo usuário - Clicou em Encerrar/X
  * LA encerrado pelo usuário - Antes da participação do agente
  {#formula-override-examples-pae__ul_cbr_rhw_d4b}
{#formula-override-examples-pae__ul_wrc_chw_d4b}

Para criar esses agrupamentos dos 12 estados finais, siga as instruções para [criando uma substituição de fórmula](https://servicenow-prod.fluidtopics.net/OvNbYJAN5R97zUEk~qnETw "Use scripts para substituir as fórmulas padrão usadas para criar a análise no Painel de análise conversacional.")e use o script a seguir.  

    (function calc(convGr) {
        // Returns 'System Closed VA', 'System Closed LA', 'User Closed' states.
        function getFinalEndState(state) {
            var arrayUtil = new global.ArrayUtil();
            VA_END_STATE = ['System Closed VA -- User No Response',
                'System Closed VA -- Topic Complete',
                'System Closed VA -- Left With AI Search',
                'System closed VA -- Auto Closed',
                'System Closed VA -- User Never Engaged'
            ];
            LA_END_STATE = ['System Closed LA -- User No Response',
                'System Closed LA -- Chat Complete',
                'Agent Closed LA -- Clicked End/X',
                'System Closed LA -- Before Agent Engagement'
            ];
            USER_CLOSED_END_STATE = ['User Closed LA -- Clicked End/X',
                'User Closed VA -- Clicked End/X',
                'User Closed LA - Before Agent Engagement'
            ];
            if (state) {
                if (arrayUtil.contains(VA_END_STATE, state))
                    return 'System Closed VA';

                if (arrayUtil.contains(LA_END_STATE, state))
                    return 'System Closed LA';

                if (arrayUtil.contains(USER_CLOSED_END_STATE, state))
                    return 'User Closed';
            }
            return state;
        }

        var conversationId = convGr.getValue('sys_id');
        var interactionGr = new GlideRecord('interaction');
        interactionGr.addQuery('channel_metadata_document', conversationId);
        interactionGr.addQuery('channel_metadata_table', 'sys_cs_conversation');
        interactionGr.query();
        if (interactionGr.next()) {
            var state = interactionGr.getValue('state');
            var reason = interactionGr.getValue('state_reason');
            var isVAChat = interactionGr.getValue('virtual_agent');
            var isLAChat = interactionGr.getValue('agent_chat');
            var endState = new CAUtil().getEndState(state, reason, isVAChat, isLAChat);
            return getFinalEndState(endState);
        }
    })(convGr);


