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


---

# Integrar controles personalizados

# Integrar controles personalizados {#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

Implemente e aproveite controles personalizados criados usando a estrutura de controle personalizado em sua integração.

## Antes de Iniciar

Função necessária: virtual_agent_admin ou admin.

## Por Que e Quando Desempenhar Esta Tarefa

Mapeie controles personalizados para um canal de provedor.

Implemente controles personalizados criados em Workflow Studio.
:   Use o script de exemplo para implementar controles personalizados criados em Workflow Studio.  
    Exemplo: suporte a controles personalizados

        {
            uiType: "CustomControl",
            group: "DefaultCustomControl",
            name: "The name of the Custom Control (sys_cs_custom_control.name)",
            required: true/false,
            uxComponentDefinitionSysId: "seismicComponentId" // or null if not
            isInput: true/false, // whether to wait for a response value or if just output
            serializedControlData: "User defined JSON from generateControlData function";    
        }


    Exemplo: script de controles personalizados

        (function execute(inputs, outputs) {
            var rich_controls = inputs.rich_control;
            //this is the data returned from the 'serialized control data function' defind in designer
            var serializedControlData = rich_control['serializedControlData'];
            // if this rich control will require a response to move forward in topic flow
            var isInput = rich_control['isInput'];
            // if the component is suggesting using a Seismic control (web) that handles this
            var uxComponentDefinitionId = rich_control['uxComponentDefinitionSysId'];
            // the name of the custom control
            var name - rich_control['name'];

            // 1) now perform some logic to transform this data into a custom ui (slack/facebook/sms ascii art/html/etc)
            // 2) attach to outputs, i.e. outputs.text_message='foo :)'; for sms twillio

            // basic flow is to take the serializedControlData/Name/compId(optional) and create a custom UI component here
            // that your client understands (i.e. a slack rich form payload)
        })(inputs, outputs);

Implemente uma transformação específica do provedor de um controle personalizado.
:   Você pode implementar uma transformação específica do provedor para cada controle personalizado usando o campo Subtipo da tabela Configuração do adaptador personalizado \[sys_cs_custom_adapter_config\]. Você pode publicar uma versão mais recente de um controle personalizado ou de um controle personalizado ServiceNow pré-criado, também conhecido como controle personalizado padrão, se necessário. Isso envolve a publicação dos scripts de ação de entrada e de saída Workflow Studio apropriados e a atualização da configuração na tabela Configuração do adaptador personalizado \[sys_cs_custom_adapter_config\].

    * Se você estiver publicando sua própria versão de um controle personalizado da ServiceNow, substitua o registro de controle personalizado na tabela de Configuração do adaptador personalizado pelos seus próprios nomes de script de ação de entrada e saída.
    * Somente um registro com o mesmo subtipo é permitido. Se o mesmo controle personalizado for implementado por duas partes diferentes, somente uma delas poderá atualizar o registro existente com novos transformadores de entrada e de saída.

    {#ccif-integrate-custom-controls__ul_z22_lcx_fqb}  
    Nota:  
    Depois que você substituir um registro de controle personalizado, o sistema usará a nova versão do controle personalizado. Por exemplo, os scripts de transformação podem transformar vários controles personalizados, como Seletor de Tempo e Autenticação. Se você adicionar um controle Seletor de tempo com diferentes transformações de entrada e saída, o controle Seletor de tempo mais recente será usado. Não é possível reverter para a versão original do controle personalizado.

## Procedimento

1. Navegue até Todos e, em seguida, digite <kbd class="ph userinput">sys_cs_custom_adapter_config.list</kbd> no filtro.
2. Selecione Novo.
3. No formulário, preencha os campos.  
   {#ccif-integrate-custom-controls__table_zbd_nsp_b4b__entry__2}

   | Campo | Descrição |
   |-|-|
   | Provedor | Nome do identificador de canal para sua integração de bate-papo personalizada. Para obter detalhes, consulte [Criar um identificador de canal para a integração de bate-papo personalizada.](https://servicenow-prod.fluidtopics.net/HguRf3BC12AKwaeAqbuDng "Crie um identificador de canal para a integração de bate-papo personalizada na tabela identidades de canal do provedor [sys_cs_provider_application]."). |
   | Tipo de controle. | Selecione o controle personalizado projetado por você. Para controles personalizados, o tipo é sempre DefaultCustomControl. Para saber mais sobre controles personalizados, consulte [Como personalizar Virtual Agent com controles personalizados](https://servicenow-prod.fluidtopics.net/K1haXz8hPFQ0M1F7UaJ6~A "Controles personalizados são componentes que ServiceNow os desenvolvedores podem criar para uso em tópicos do Virtual Agent ou blocos de tópicos. Esses controles incluem controles deslizantes ou reprodutores de vídeo. Controles personalizados complementam os controles fornecidos em Designer do Virtual Agent."). |
   | Subtipo | Nome do controle personalizado. |
   | Ação do transformador de entrada. | Nome do script de ação do transformador de entrada para este controle avançado, como sn_va_sms_twilio.va_sms_twilio_adapter_input_text_inbound_transformer. |
   | Ação de transformação de saída | Nome do script de ação do transformador de saída para este controle avançado, como sn_va_sms_twilio.va_sms_twilio_adapter_input_text_outbound_transformer. |
   [Tabela 1. Formulário Configurações do adaptador personalizado]

   {#ccif-integrate-custom-controls__table_zbd_nsp_b4b}
4. Selecione Enviar.

