Virtual Agent scripts
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.myvarondemyvaré 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.myvarondemyvaré 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, useVaInputs.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 myvarcorresponde 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, enquantoMeuVar.getDisplayValue()Retornaria Apple, Laranja ou Pêra.Figura 1. Lista de seleção de exemplo 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.
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
- 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.
| Método | Descrição |
|---|---|
| VaVars.global_utterance | Atualiza quando o seletor de habilidades renderiza e um enunciado é digitado. |
Métodos do vaSystem
- 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.
| 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:
|
| 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. .
|
| 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 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 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:
|
| Método | Descrição |
|---|---|
| sn_cs.VASystemObject.getTranscriptById(<conversation sysId>) | Obtém a transcrição do atual Virtual Agent conversa. |