Exemple de remplacement de formule

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Utilisez l’exemple de remplacement de formule suivant pour créer vos propres remplacements de formule.

    Définitions d’état de fin de groupe

    L’état final d’une conversation spécifie comment une conversation s’est terminée. Par exemple, l’utilisateur peut ne pas répondre ou fermer la fenêtre de messagerie instantanée. Il existe 12 définitions par défaut de l’état de fin. Pour en savoir plus sur les états de fin d’une conversation, reportez-vous à la section Agent virtuel Enregistrements d’interaction. Le script suivant les regroupe comme suit :
    • VA a fermé la session de messagerie instantanée
      • VA fermé par le système : pas de réponse de l'utilisateur
      • VA fermé par le système : rubrique terminée
      • VA fermé par le système : laissé avec la recherche IA
      • VA fermé par le système : fermeture automatique
      • VA fermé par le système : l'utilisateur ne s'est jamais engagé
    • L’agent actif a fermé la session de messagerie instantanée
      • LA fermé par le système : pas de réponse de l'utilisateur
      • LA fermé par le système : messagerie instantanée terminée
      • LA fermé par l'agent : cliqué sur Fin/X
      • LA fermé par le système : avant engagement de l'agent
    • L’utilisateur a fermé la session de messagerie instantanée
      • LA fermé par l'utilisateur : cliqué sur Fin/X
      • VA fermé par l'utilisateur : cliqué sur Fin/X
      • LA fermé par l'utilisateur : avant engagement de l'agent

    Pour créer ces regroupements des 12 états finaux, suivez les instructions de création d’un remplacement de formule et utilisez le script suivant.

    (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);