Virtual Agent scripts

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 10 min. de leitura
  • Uso ServiceNow® Virtual Agent variáveis e métodos de script para escrever scripts de bate-papo, como scripts de resposta, gatilho e fluxo. As variáveis também podem fornecer contexto para seus tópicos e conversas de suporte ao vivo.

    Virtual Agent os scripts podem fornecer contexto para tópicos, como reter informações sobre um usuário ou a entrada de um usuário. Você pode usar essas informações para personalizar uma conversa, como apresentar uma saudação ou confirmação com script. Os scripts também podem especificar determinadas ações a serem executadas em informações obtidas durante uma conversa. Essas ações podem ser usadas para criar ou atualizar ServiceNow registros.

    Os scripts são executados no servidor no escopo em que um tópico é definido. Todas as proteções de escopo se aplicam. Se você estiver desenvolvendo uma conversa para uma aplicação com escopo, use a API com escopo. Você pode usar a maioria das APIs executadas em scripts de servidor.

    Entrada do usuário e. ServiceNow variáveis de registro

    Em Virtual Agent, as variáveis a seguir estão disponíveis para uso em scripts que você cria para um tópico.

    Variáveis de entrada do usuário

    Quando você adiciona um controle de entrada a um tópico, o sistema cria automaticamente uma variável para armazenar a entrada do usuário (uma cadeia de caracteres, valor booliano etc.). A sintaxe é VaInputs.myvar onde myvar é o nome que você atribuiu ao nó de entrada.

    Por exemplo, um prompt de entrada de texto com o nome Primeiro prompt tem uma variável definida pelo sistema chamada VaInputs.first_prompt . Os espaços no nome são substituídos por um caractere de sublinhado e os caracteres maiúsculos são alterados para minúsculos.

    ServiceNow variáveis de registro

    Se você criar um script para um tópico que consulta um ServiceNow, em seguida, o objeto de registro (GlideRecord) retornado está automaticamente disponível para uso no tópico. A sintaxe da variável é VaInputs.myvar onde myvar é o objeto de registro. Para obter detalhes sobre a consulta ServiceNow tabelas para retornar um objeto de registro, consulte Consultando tabelas no script .

    Use a referência com pontos em variáveis que contêm um ServiceNow registro para especificar um campo específico na tabela. A sintaxe é VaInputs.myvar.campo . Para obter detalhes sobre referência com pontos em um script, consulte Exemplos de referência com pontos .

    Acessando a entrada do usuário e. ServiceNow variáveis de registro

    Uso VaInputs objetos a serem acessados ServiceNow registrar variáveis em scripts. Por exemplo, o. "Valor esperado" . Para acessar valores de entradas do usuário que não são registros, use VaInputs.myvar.getValue() .

    Os métodos a seguir estão disponíveis.

    Tabela 1. Métodos de vaInputs
    Método Descrição
    "Valor esperado" Avalia se myvar corresponde a um valor esperado.
    Nota:
    Os valores das variáveis de entrada do usuário são atribuídos usando controles de entrada do usuário. Esses valores não podem ser alterados em seus scripts.
    • . Austrália a versão oferece suporte a tipos de dados adicionais. Para obter mais informações, consulte Tipos de dados de entrada em Virtual Agent tópicos.
    • Por padrão, a variável de usuário está disponível e é uma referência ao registro sys_user do usuário.
    VaInputs.myvar.getValue(); Retorna o valor.
    VaInputs.myvar.getDisplayValue();

    Retorna o valor de exibição se o valor armazenado não for A. ServiceNow registro. Para variáveis que contêm ServiceNow, este método retorna o valor de exibição, conforme definido pelo campo de exibição dessa tabela.

    O exemplo a seguir mostra o rótulo e os valores de seleção de uma entrada do usuário. Nesse caso, Meuvar.getValue() retornaria um valor de 10, 20 ou 30, enquanto MeuVar.getDisplayValue() Retornaria Apple, Laranja ou Pêra.

    Figura 1. Lista de seleção de exemplo
    Os campos de rótulo incluem Maçã, Laranja e Pêra para as opções. Os valores de cada um são 10, 20 e 30.
    VaInputs.myvar.getDefaultValue(); Retorna o valor padrão em uma mensagem de confirmação.
    VaInputs.myvar.getDefaultDisplayValue(); Retorna o valor de exibição do valor padrão em uma mensagem de confirmação.
    VaInputs.myvar.unbindEntity(); Remove o valor das variáveis de entrada que NLU slot do serviço de previsão preenchido com entidades extraídas (desvincula-o do valor de entrada inicial).

    Por exemplo, se o usuário decidir mudar sua escolha em um prompt de confirmação, você poderá desvincular o valor da entidade da variável de entrada. O usuário será solicitado novamente quando retornar ao nó de entrada correspondente.

    Nota:
    NLU deve estar habilitado no tópico. Em Designer assistente, selecione Propriedades para configurar NLU. Para obter informações sobre como definir NLU entidades, consulte Entidades .

    Variáveis do Script

    Você pode definir variáveis de script para informações que não estão armazenadas em ServiceNow mas que podem ser usadas para compartilhar essas informações em outro lugar em um tópico. As variáveis de script são semelhantes às variáveis do bloco de anotações do fluxo de trabalho que armazenam primitivas, como inteiros, valores boolianos ou cadeias de caracteres. Um valor de cadeia de caracteres pode ser estático ou dinâmico com script. Use a barra lateral Variáveis para definir variáveis de script para um tópico no Designer assistente.

    Figura 2. Barra lateral de variáveis
    Barra lateral no Designer assistente tela para adicionar manualmente variáveis de script que são usadas em scripts de tópico.
    Nota:
    As variáveis de script são destinadas ao uso por autores de tópicos com habilidades avançadas de script.

    A sintaxe da variável é VaVars.myvar , onde myvar é o nome que você atribui à variável. Por exemplo, você pode atribuir um valor à variável usando Valor; . Ao contrário das variáveis de entrada do usuário, as variáveis de script podem receber valores atribuídos em um script.

    Para obter informações sobre como definir uma variável de script em um tópico, consulte Defina variáveis de script para um tópico.

    Variáveis de contexto

    As variáveis de contexto funcionam em um escopo global, enquanto as variáveis de sistema funcionam dentro do escopo do tópico. Você pode usar variáveis de contexto nos parâmetros do sistema no URL do cliente web. Essas variáveis podem ser usadas em qualquer lugar da conversa usando Context objeto. Use estas opções para criar links para Virtual Agent com variáveis predefinidas.

    O link de exemplo a seguir contém um parâmetro, milão . Para além de abrir um Virtual Agent usar este link cria uma variável chamada cidade com um valor de milão . Esta variável pode ser acessada em um script usando Context.cidade .

    https://<instance>.service-now.com/$sn-va-web-client-app.do?sysparm_city=milan
    Um número de Atendente as variáveis estão disponíveis para uso em scripts de tópico. Essas variáveis incluem o seguinte:
    • aplicação
    • idioma
    • portal
    • search_text
    • short_description

    A sintaxe da variável é VaContext.LiveAgent_myvar , onde myvar é um dos disponíveis variáveis de contexto do atendente . Acesse a variável usando Valor.LiveAgent_myVar; .

    Para usar Atendente em scripts de tópico, abra o tópico em Designer assistente. Em Propriedades selecione o ícone de lápis ao lado de Variáveis do atendente para adicioná-los ao tópico.

    Para informações sobre variáveis de contexto do atendente incluídas com Virtual Agent, consulte Variáveis de contexto do bate-papo do atendente.

    Tabela 2. Métodos vaVars
    Método Descrição
    VaVars.global_utterance Atualiza quando o seletor de habilidades renderiza e um enunciado é digitado.

    Métodos do vaSystem

    Você pode usar métodos no objeto vaSystem para executar várias tarefas. Algumas dessas tarefas incluem o seguinte:
    • Anexe imagens aos registros.
    • Acesse a cadeia de caracteres de pesquisa que foi usada para encontrar o tópico atual.
    • Verifique se um atendente está disponível para receber uma conversa.
    • Conecte o usuário a um atendente.
    Nota:
    O uso de métodos de sistema não documentados não é recomendado, pois eles não são compatíveis e podem ser descontinuados ou alterados a qualquer momento sem aviso prévio.
    Tabela 3. Métodos usados em Virtual Agent scripts de tópico
    Método Descrição
    VaSystem.applyLinkTemplate(cadeia de caracteres SYSID, cadeia de caracteres tablename, cadeia de caracteres actionName) Cria um link externo específico para um portal.
    AttachRecordToConversation(Cadeia de caracteres tablename, cadeia de caracteres SYSID)

    Anexar ServiceNow Registros para a lista de tarefas relacionadas em um Virtual Agent registro de interação. Esses registros são atualizados ou criados durante um Virtual Agent conversa.

    AttachToRecord (cadeia de caracteres Mediaid, cadeia de caracteres tablename, cadeia de caracteres SYSID)
    Anexe uma imagem carregada a um ServiceNow registro. O método usa os seguintes parâmetros:
    • Mediaid : O caminho da imagem a ser anexada. Para usar uma imagem inserida pelo cliente, use Valor() em uma variável de entrada de imagem. Por exemplo, Inputs.image_input.getValue() .
    • Nome da tabela : Uma cadeia de caracteres que contém o nome da tabela.
    • SYSID : O sys_id do registro.
    VaSystem.connectToAgent() Conecta o cliente a um atendente. Para obter mais informações sobre este método, consulte Transferindo Virtual Agent conversas com um atendente.
    VaSystem.didConnectToLiveAgent() Retorna um valor booliano (verdadeiro ou falso) se a conversa atual foi conectada a um atendente.
    GetClosingMessage() Retorna uma mensagem de encerramento para uma conversa da propriedade do sistema: com.glide.cs.general.closing_message. (A mensagem é diferente para apps de mensagens de terceiros, como Microsoft Teams e. Slack).
    VaSystem.getConversationId() Retorna o ID da conversa atual.
    GetGreetingMessage() Retorna uma mensagem de saudação da mensagem de IU com a chave "Olá, sou seu Virtual Agent. Diga-me como posso ajudá-lo hoje."
    VaSystem.getInteractionSysId() Retorna o ID de interação da conversa atual.
    GetSearchText() Retorna o último enunciado digitado pelo usuário.
    VaSystem.getTopicSelectionMessage() Retorna uma mensagem de IU com a chave "Qual é o seu problema ou solicitação? Ou dê uma olhada no que posso ajudar." (A mensagem é diferente para apps de mensagens de terceiros, como Microsoft Teams e. Slack). Este método é retornado da propriedade do sistema com.glide.cs.topic_picker_msg.
    GetTranscript() Obtém a transcrição da conversa.
    VaSystem.isLiveAgentAvailable() Verifica se um atendente está disponível para receber uma conversa transferida do bot. Para transferir uma conversa para um atendente, chame este método antes de usar VaSystem.connectToAgent() .
    IsLiveAgentConfigured() Retorna se o bate-papo ao vivo está habilitado.
    ResetAllEntities() Redefine todas as entidades registradas na conversa.
    vaSystem.sendBatchedMessages() Envia imediatamente mensagens enfileiradas.
    vaSystem.sendSeparatorMessage() Envia uma linha de mensagem separadora e retorna a mensagem de fechamento de GetClosingMessage() .
    vaSystem.sendSystemMessage(String mensagem, booliano showAvatar) Envia uma mensagem do sistema e retorna uma mensagem de saudações de GetGreetingMessage() .
    vaSystem.sendTopicPickerControl(String topicSelectionMessage, Cadeia de caracteres topicPickerButtonLabel) Envia um controle de seletor de tópicos com valores associados para a mensagem e o rótulo do botão "Mostrar tudo".
    vaSystem.sendSkillPickerControl(skillSelectionMessage, args)

    Envia o controle do seletor de habilidades para o usuário.

    . SkillSelectionMessage É a mensagem exibida antes de mostrar o seletor.o. args o parâmetro permite opções de configuração adicionais:

    • HideSkillDetails oculta a mensagem de seleção de habilidade. O padrão é falso .
    • HidePromotedTopics oculta tópicos promovidos do seletor de habilidades. O padrão é falso .
    • MostrarMeTudo Remove o botão "Mostre-me tudo" do seletor de habilidades. O padrão é falso .
    • MostroNoQualiçõesConfigurado Exibe uma mensagem "Nenhuma habilidade configurada" se não houver habilidades aplicáveis. O padrão é falso .
    • AppendPromotedSkillsToMsg anexa uma lista com marcadores de habilidades promovidas à mensagem de seleção de habilidade. O padrão é verdadeiro .
    VaSystem.switchTopicByName() Permite que o usuário pule do tópico de conversa atual para o nome do tópico especificado. . X o botão está disponível para que o usuário possa encerrar a conversa. Após o término do tópico, o usuário retoma o tópico global. Quando a conversa termina, o usuário pode selecionar Clique aqui para iniciar uma nova conversa na parte inferior da janela de bate-papo para reiniciar o tópico.
    O opcional resumeBehavioro parâmetro especifica como o fluxo de conversa é retomado, da seguinte forma:
    • Se resumeBehavior=resume, Virtual Agent retoma o tópico de chamada.
    • Se resumeBehavior=skip, Virtual Agent ignora o tópico de chamada.

    Se resumeBehaviornão foi especificado, o comportamento padrão da instância é usado.

    VaSystem.switchTopicById(SYSID) Este método é o SYSID de sys_cb_topic, E permite que o usuário pule do tópico de conversa atual para o ID do tópico especificado. . X o botão está disponível para que o usuário possa encerrar a conversa. Após o término do tópico, o usuário retoma o tópico global. Quando a conversa termina, o usuário pode selecionar Clique aqui para iniciar uma nova conversa na parte inferior da janela de bate-papo para reiniciar o tópico.
    O opcional resumeBehavioro parâmetro especifica como o fluxo de conversa é retomado, da seguinte forma:
    • Se resumeBehavior=resume, Virtual Agent retoma o tópico de chamada.
    • Se resumeBehavior=skip, Virtual Agent ignora o tópico de chamada.

    Se resumeBehaviornão foi especificado, o comportamento padrão da instância é usado.

    TopicDiscovery (cadeia de caracteres searchTextOverride, boolian keywordImpl) Executa a descoberta de tópicos com base no termo no searchTextOverrideparâmetro. O método usa os seguintes parâmetros:
    • SearchTextOverride : Uma cadeia de caracteres na qual executar a descoberta de tópicos.
    • KeywordImpl : Um booliano que determina se palavras-chave devem ser usadas.
    Tabela 4. Método que pode ser usado externamente Virtual Agent tópicos
    Método Descrição
    sn_cs.VASystemObject.getTranscriptById(<conversation sysId>)

    Obtém a transcrição do atual Virtual Agent conversa.