---
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


---

# Virtual Agent scripts

# Virtual Agent scripts {#ariaid-title1}

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

Uso ServiceNow® Virtual Agentvariá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 ServiceNowregistros.

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. ServiceNowvariáveis de registro {#virtual-agent-scripts__section_ssh_pxw_sdb}

Em Virtual Agent, as seguintes variáveis 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 <kbd class="ph userinput">Primeiro prompt </kbd>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úsculas.

ServiceNow variáveis de registro

:   Se você criar um script para um tópico que consulta um ServiceNowE, em seguida, o objeto de registro retornado (GlideRecord) estará 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 ServiceNowtabelas para retornar um objeto de registro, consulte [Consultando tabelas no script](https://www.servicenow.com/docs/access?context=c_UsingGlideRecordToQueryTables&version=yokohama&pubname=yokohama-api-reference&ft:locale=en-US).

    Use a referência com pontos em variáveis que contêm um ServiceNowregistro 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](https://www.servicenow.com/docs/access?context=dot-walking-examples&version=yokohama&pubname=yokohama-platform-user-interface&ft:locale=en-US).

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

:   Uso VaInputs objetos a serem acessados ServiceNowregistrar 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.  
    {#virtual-agent-scripts__table_uht_pzs_cpb__entry__2}

    | 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. * . Yokohamaa versão oferece suporte a tipos de dados adicionais. Para obter mais informações, consulte [Tipos de dados de entrada em Virtual Agenttópicos](https://servicenow-prod.fluidtopics.net/zJ1b4zZTs6CSWVO6pzSXAw "Você pode definir entradas do Glide comumente usado Virtual Agent(com.glide.cs.chatbot) tipos de dados em Designer do Virtual Agentsem escrever um script. Defina o tipo de dados de entrada no nó Iniciar de um bloco de tópico ou controle personalizado."). * Por padrão, a variável de usuário está disponível e é uma referência ao registro sys_user do usuário. {#virtual-agent-scripts__ul_dsz_rbt_cpb} |
    | VaInputs.myvar.getValue(); | Retorna o valor. |
    | VaInputs.myvar.getDisplayValue(); | Retorna o valor de exibição se o valor armazenado não for A. ServiceNowregistro. Para variáveis que contêm ServiceNoweste método retorna o valor de exibição, conforme definido pelo campo de exibição dessa tabela. O exemplo a seguir mostra os valores de rótulo e 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. Exemplo de lista de seleção |
    | 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 NLUslot 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 do Virtual Agent, selecione Propriedades para configurar NLU. Para obter informações sobre como definir NLUentidades, consulte [Entidades](https://www.servicenow.com/docs/access?context=entities&version=yokohama&pubname=yokohama-intelligent-experiences&ft:locale=en-US). |
    [Tabela 1. VaInputs]

    {#virtual-agent-scripts__table_uht_pzs_cpb}

## Variáveis do Script {#virtual-agent-scripts__section_kpv_qxj_12b}

Você pode definir variáveis de script para informações que não estão armazenadas em ServiceNowmas 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 em Designer do Virtual Agent.  
Figura 2. Barra lateral de variáveis  
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 `, em que `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](https://servicenow-prod.fluidtopics.net/jzglr6Ykqu7ENF0m3z8H3w "Use a barra lateral Variáveis para definir variáveis de script para um tópico. As variáveis de script podem armazenar informações que não são encontradas em ServiceNowtabelas. Essas informações podem ser compartilhadas em outro lugar em um tópico.").

## Variáveis de contexto {#virtual-agent-scripts__section_mc5_tvw_22b}

As variáveis de contexto funcionam em um escopo global, enquanto as variáveis do 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 Agentcom variáveis predefinidas.

O link de exemplo a seguir contém um parâmetro, `milão `. Além de abrir um Virtual Agentusar 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 Atendenteas variáveis estão disponíveis para uso em scripts de tópico. Essas variáveis incluem o seguinte:

* <var class="keyword varname">aplicação</var>
* <var class="keyword varname">idioma</var>
* <var class="keyword varname">portal</var>
* <var class="keyword varname">search_text</var>
* <var class="keyword varname">short_description</var>
{#virtual-agent-scripts__ul_nvm_krg_rwb}

A sintaxe da variável é `VaContext.LiveAgent_myvar `, em que `myvar `é um dos disponíveis [variáveis de contexto do atendente](https://servicenow-prod.fluidtopics.net/DjPm~H5WqO3EumyyMZAaJg "Use variáveis de contexto de bate-papo para passar determinadas informações do tópico para compartilhar com um atendente ou para controlar como as conversas de bot são roteadas para os atendentes. Virtual Agentinclui algumas variáveis padrão e você pode definir novas."). Acesse a variável usando `LiveAgent_myvar `.

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

Para obter informações sobre variáveis de contexto do atendente que estão incluídas com Virtual Agent, consulte [Variáveis de contexto do bate-papo do atendente](https://servicenow-prod.fluidtopics.net/DjPm~H5WqO3EumyyMZAaJg "Use variáveis de contexto de bate-papo para passar determinadas informações do tópico para compartilhar com um atendente ou para controlar como as conversas de bot são roteadas para os atendentes. Virtual Agentinclui algumas variáveis padrão e você pode definir novas.").

## Métodos do vaSystem {#virtual-agent-scripts__section_bdc_wtr_h2b}

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.
{#virtual-agent-scripts__ul_rgh_w31_fpb}  
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.
{#virtual-agent-scripts__table_xvn_c5r_h2b__entry__2}

| 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. |
| VaSystem.attachRecordToConversation(Cadeia de caracteres tablename, cadeia de caracteres SYSID) | Anexar ServiceNowRegistros para a lista de tarefas relacionadas em um Virtual Agentregistro de interação. Esses registros são atualizados ou criados durante um Virtual Agentconversa. |
| VaSystem.attachToRecord (cadeia de caracteres mediaid, cadeia de caracteres tablename, cadeia de caracteres SYSID) | Anexe uma imagem carregada a um ServiceNowregistro. O método usa os seguintes parâmetros: * `Mediaid `: O caminho da imagem a ser anexada. Para usar uma imagem inserida pelo cliente, use `GetValue() `em uma variável de entrada de imagem. Por exemplo, `VaInputs.image_input.getValue() `. * `Nome da tabela `: Uma cadeia de caracteres que contém o nome da tabela. * `SYSID `: O sys_id do registro. {#virtual-agent-scripts__ul_dlj_4yr_h2b} |
| VaSystem.connectToAgent() | Conecta o cliente a um atendente. Para obter mais informações sobre este método, consulte [Transferindo Virtual Agentconversas com um atendente](https://servicenow-prod.fluidtopics.net/ZZcx1qNnvaZzpixfojRlQg "Gerencie o suporte por bate-papo ao vivo, incluindo a interface de suporte por bate-papo usada quando um Virtual Agenta conversa é transferida para 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 Teamse. 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 ajudar você hoje." |
| VaSystem.getInteractionSysId() | Retorna o ID de interação da conversa atual. |
| VaSystem.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 Teamse. Slack). Este método é retornado da propriedade do sistema com.glide.cs.topic_picker_msg. |
| GetTransscript() | 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() `. |
| VaSystem.isLiveAgentConfigured() | Retorna se o bate-papo ao vivo está habilitado. |
| VaSystem.resetAllEntities() | Redefine todas as entidades registradas na conversa. |
| vaSystem.sendBatchedMessages() | Envia imediatamente mensagens na fila. |
| 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 "Mostrar tudo" do seletor de habilidades. O padrão é `falso `. * `MostraNoQualiçõ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 `. {#virtual-agent-scripts__ul_lwk_dgx_22c} |
| 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 Agentretoma o tópico de chamada. * Se resumeBehavior=skip, Virtual Agentignora o tópico de chamada. {#virtual-agent-scripts__ul_x2k_rxk_gtb} Se resumeBehaviornão foi especificado, o comportamento padrão da instância é usado. |
| VaSystem.switchTopicById(SYSID) | Este método é o SYSID de sys_cb_topicE 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 Agentretoma o tópico de chamada. * Se resumeBehavior=skip, Virtual Agentignora o tópico de chamada. {#virtual-agent-scripts__ul_hwt_21l_gtb} Se resumeBehaviornão foi especificado, o comportamento padrão da instância é usado. |
| VSystem.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. {#virtual-agent-scripts__ul_rq2_zst_ssb} |
[Tabela 2. Métodos usados em Virtual Agentscripts de tópico]

{#virtual-agent-scripts__table_xvn_c5r_h2b} {#virtual-agent-scripts__table_mqd_wqp_1jb__entry__2}

| Método | Descrição |
|-|-|
| sn_cs.VASystemObject.getTranscriptById(\<conversation sysId\>) | Obtém a transcrição do atual Virtual Agentconversa. |
[Tabela 3. Método que pode ser usado externamente Virtual Agenttópicos]

{#virtual-agent-scripts__table_mqd_wqp_1jb}
**Conceitos relacionados**   

* [Domain Separation e Virtual Agent](https://servicenow-prod.fluidtopics.net/GNrjIAghtAlR1fwjM3RdoA "Domain Separation é compatível com o aplicativo Virtual Agent. O Domain Separation permite separar dados, processos e tarefas administrativas em agrupamentos lógicos chamados de domínios. Você pode controlar vários aspectos dessa separação, incluindo quais usuários podem ver e acessar os dados.")
* [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.")  
**Referência relacionada**   

* [Tipos de dados de entrada em Virtual Agenttópicos](https://servicenow-prod.fluidtopics.net/zJ1b4zZTs6CSWVO6pzSXAw "Você pode definir entradas do Glide comumente usado Virtual Agent(com.glide.cs.chatbot) tipos de dados em Designer do Virtual Agentsem escrever um script. Defina o tipo de dados de entrada no nó Iniciar de um bloco de tópico ou controle personalizado.")
* [NLU entidades do sistema](https://servicenow-prod.fluidtopics.net/5jIbSl3L0YgPYRLse~eUAg "Usar definido globalmente NLUentidades para identificar informações do sistema que Virtual Agentpode extrair da conversa. Você pode definir entidades como variáveis de entrada \"sem nó\" para um tópico. Essas variáveis podem ser preenchidas com slot de NLUprevisões do provedor de serviços ou fornecidas fora do escopo do tópico.")
* [Virtual Agent Parâmetros de URL](https://servicenow-prod.fluidtopics.net/u8~2Q0fxKhiv20YzDazODg "Virtual Agent Fornece vários parâmetros do sistema que os administradores podem adicionar a uma URL de instância para controlar como o conteúdo da página é renderizado.")
* [Feedback de latência em Virtual Agent](https://servicenow-prod.fluidtopics.net/TwH2xk0U3ptB0S~BssqEqQ ". com.glide.cs.message.processing.enabledA propriedade do sistema notifica os solicitantes sempre que o modelo de linguagem grande de IA generativa (LLM) estiver processando sua solicitação no Virtual Agentwidget de bate-papo e. Now Assistpainel.")

