---
sourceDocument: Interfaces conversacionais do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/conversational-interfaces

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Interfaces conversacionais do Xanadu

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# Legado - Exemplo de substituição de fórmula

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

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Use o exemplo a seguir para criar suas próprias substituições de fórmula.
Importante:  
O Painel de análise de conversas está sendo preparado para futura descontinuação. Ele receberá suporte até a descontinuação, mas não estará mais disponível para instalação. Está disponível um novo painel de análise de conversas na experiência Análise da plataforma, que atende aos requisitos de conformidade do GCC (Government Community Cloud) e, portanto, é autorizado pelo FedRAMP. Consulte [Painel de análise de conversas na experiência Análise da plataforma](https://servicenow-prod.fluidtopics.net/DhBo9wYTXGbVidMoYhuxEQ "O painel de análise de conversas na experiência Análise da plataforma ajuda a melhorar as interações Virtual Agent (VA) com os usuários, fornecendo informações sobre dados de conversa. O painel ajuda a refinar os tópicos e melhorar a taxa de desvio do VA.").

Para saber mais sobre essa descontinuação, consulte o artigo [Deprecation Process (Processo de descontinuação) \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184) na Base de conhecimento do Now Support.

Se você já for um usuário deste painel e quiser migrar dados de análise para o novo painel, consulte [Como migrar dados para o painel de análise de conversas no Análise da plataforma experiência \[KB1651556\]](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1651556).

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

O estado final de uma conversa especifica como a conversa terminou. Por exemplo, isso pode terminar com o usuário não respondendo ou com o usuário fechando a janela de bate-papo. Existem 12 definições padrão de estado final. Para mais informações sobre estados finais de conversa, consulte [Registro de interação do Virtual Agent](https://servicenow-prod.fluidtopics.net/rjxD6tMxWvyqfKgnw3u4nQ "Sempre que uma conversa do Virtual Agent ocorre, um registro de interação captura toda a conversa como um tipo de registro de bate-papo na tabela Interações [interaction]. O registro inclui todos os elementos de tópico usados na conversa, bem como as transferências para o atendente."). O script a seguir os agrupa 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__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 sistema - Antes do compromisso do agente
  {#formula-override-examples__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
  * Usuário encerrou LA - antes do compromisso do agente
  {#formula-override-examples__ul_cbr_rhw_d4b}
{#formula-override-examples__ul_wrc_chw_d4b}

Para criar esses agrupamentos dos 12 estados finais, siga as instruções para [criar uma substituição de fórmula](https://servicenow-prod.fluidtopics.net/fusNlpjga07zB4uTIAIYNw "Use scripts para substituir as fórmulas padrão usadas para criar a análise no Painel de análise de conversas.") 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);


