Bibliotecas blocos - Habilidades prontas 10 de março de 2026 12:02 Atualizado Índice: Introdução Conceitos básicos Visão macro A biblioteca Habilidades Agente Cadastro Caso de uso IntroduçãoA biblioteca de blocos foi criada para facilitar o dia a dia de quem precisa construir um contato inteligente sem ter um profundo domínio técnico e precisa de velocidade para publicar. Com ela, será possível aplicar tanto habilidades determinísticas básicas como Onboarding, LGPD, Inatividade, Cascata de validação, Algo mais, Finalização e CSAT quanto estruturas utilizando os agentes Studio. Conceitos básicosPara garantir o bom funcionamento, os blocos prontos são estruturados em uma arquitetura de roteador, com cada conjunto alocado em um Studio específico. Isso torna a manutenção e a evolução do fluxo muito mais fáceis.É possível utilizar os blocos prontos dentro de um único Studio? Sim, é possível, mas a alta interconexão entre os blocos torna a manutenção complexa. Editar uma parte específica exige entender e revisar toda a estrutura conectada, gerando um esforço e tempo alto para configuração. Visão macroAntes de utilizar a biblioteca, é importante definir a estrutura conversacional e a interação entre suas partes. Uma conversa deve ter início, meio e fim orientados a um objetivo principal. Na visão macro, muito semelhante aos fluxogramas BPMN, é necessário mapear os caminhos, os gatilhos de decisão e criar símbolos que representam cada evento do fluxo de conversa.A bibliotecaA biblioteca de blocos está organizada em Habilidades, Agentes e Casos de Uso: Habilidade: Conjunto de blocos padrão com uma finalidade específica dentro do fluxo do contato inteligente. Agente: Composto por um bloco de agente ou um conjunto de bloco de agente + blocos padrões. Os blocos de agente são fundamentais para atingir objetivos específicos no contato inteligente. Caso de Uso: Combinação de habilidades e agentes projetada para atender um objetivo especifico dentro da jornada do usuário. Cada recurso possui uma tag de identificação dentro da biblioteca e pode ser localizado rapidamente pela barra de busca, conforme ilustrado abaixo: Os blocos prontos Habilidades: Onboarding LGPD Inatividade Opt-In/Out Algo Mais Finalização CSAT Transbordo Dados Pessoais Cascata de Validação Agente: Caso de uso: Cadastro Qualificação de Leads HabilidadesOnboardingRecepciona o usuário com saudações de boas-vindas ou de retorno, verifica o status de consentimento da LGPD e orienta sobre como utilizar o serviço. Bloco | [LOGIC] A.1.0.0 Validação de entrada Utiliza-se a variável {isNewUser} nas condições de saída para identificar se é o primeiro contato do usuário, direcionando-o ao bloco correspondente. Há uma ação de registro de eventos para identificar a origem do usuário. Bloco | [MSG] A.2.0.0 Sim validação Exibe a mensagem de boas-vindas ao usuário e executa o registro de eventos (origem e exibição), além de definir a variável {isNewUser}. A condição de saída é ativada apenas se há resposta do usuário. Bloco | [MSG] A.3.0.0 Não validação Exibe mensagem de retorno para o usuário e executa o registro de eventos (origem e exibição). A condição de saída é ativada apenas se há resposta do usuário. Bloco | [LOGIC]LP.1.0.0 - LGPD Validação Verifica se o usuário já aceitou os termos da LGPD através da variável {userAceptedPrivacyPolicy}. O fluxo valida se a variável existe e se o valor corresponde ao aceite (Sim/Não). As ações incluem o registro de eventos de origem, o status da validação da LGPD. Bloco | REDIRECT SERVICE Executa o redirecionamento para outro serviço ou habilidade por meio de uma ação de saída. LGPD:Apresenta uma breve explicação sobre a LGPD e solicita o consentimento do usuário para o tratamento de dados sensíveis pelo Contato Inteligente. Bloco | [START] Gerencia a entrada na habilidade validando a variável {input.content@redirectId} e encaminhando o usuário ao bloco correspondente via ID. Bloco | [INPUT] LP.2.0.0 - LGPD Apresenta as informações sobre a LGPD, incluindo link para detalhes e um menu de opções para o usuário aceitar, recusar ou solicitar mais informações. Bloco | [LOGIC] LP.2.0.0 - [Não] Aceite LGPD Faz a validação através de um script da opção escolhida. Bloco | GOTO LP.2.0.0 - Service Name Executa o redirecionamento para outro serviço ou habilidade por meio de saída padrão caso o usuário tenha aceitado os termos. Bloco | [INPUT] LP.3.0.0 - Não concorda com LGPD Caso o usuário não aceite os termos, é exibida uma mensagem reforçando a necessidade do aceite para prosseguir. O bloco reapresenta as opções anteriores: "Aceitar", '"Não aceitar" e "Saber mais". Bloco | LP.4.0.0 - Saber Mais É exibido um detalhamento sobre a LGPD. Bloco | [LOGIC] LP.3.0.0 - Não concorda com LGPD Faz a validação através de um script da opção escolhida. Bloco | GOTO LP.3.0.0 - Service Name Executa o redirecionamento para outro serviço ou habilidade por meio de saída padrão caso o usuário tenha aceitado os termos. Bloco | REDIRECT SERVICE Executa o redirecionamento para outro serviço ou habilidade por meio de uma ação de saída. Bloco | Redirect Inatividade Realiza o redirecionamento para a habilidade de inatividade, garantindo o retorno ao ponto de espera de entrada do usuário. Inatividade: Manda uma mensagem para resgatar a conversa do usuário com o Contato Inteligente após período inativo. Bloco | [INPUT] I.1.0.0 - Inatividade Exibe uma mensagem para confirmar se o usuário deseja prosseguir com o atendimento. Bloco | [LOGIC] I.1.0.0 - Inatividade A variável {setValidation} é utilizada para validar a decisão do usuário e determinar a continuidade ou o encerramento do fluxo. Bloco | [INPUT] I.1.2.0 Encerramento Exibe o conteúdo da mensagem de finalização. Bloco | REDIRECT SERVICE Executa o redirecionamento para outro serviço ou habilidade por meio de uma ação de saída. Opt-In/Out:Controla o consentimento do usuário para o envio de comunicações. Bloco | [INPUT] I.1.0.0 - optin Conteúdo da mensagem de solicitação de consentimento para o envio de notificações. Bloco | [LOGIC] I.1.0.0 - OPT-IN Validação da opção escolhida através de um script. Bloco | OPT 1.0.1 - Aceite Opt-in Conteúdo de confirmação após adesão (opt-in) do usuário. Bloco | OPT 2.0.0 - Opt out Mensagem de confirmação de remoção da base de destinatários. Bloco | OPT.1.0.2 - Não aceite Conteúdo exibido após a recusa da permissão de notificações pelo usuário. Bloco | REDIRECT SERVICE Executa o redirecionamento para outro serviço ou habilidade por meio de uma ação de saída. Bloco | Redirect Inatividade Realiza o redirecionamento para a habilidade de inatividade, garantindo o retorno ao ponto de espera de entrada do usuário. Algo Mais:Verifica se a pessoa deseja acrescentar informações ou conversar sobre outro assunto. Bloco | [INPUT] AM.1.0.0 - Algo mais Mensagem de verificação de pendências ou suporte adicional. Bloco | [LOGIC] AM.1.0.0 - Algo mais Validação da opção escolhida por meio de um script. Bloco | REDIRECT SERVICE Executa o redirecionamento para outro serviço ou habilidade por meio de uma ação de saída. Bloco | Redirect Inatividade Realiza o redirecionamento para a habilidade de inatividade, garantindo o retorno ao ponto de espera de entrada do usuário. Finalização:Confirma a conclusão do atendimento e sinaliza disponibilidade para novas solicitações. Bloco | F.1.0.0 - Finalização Mensagem de encerramento com instruções para reabertura do contato. Bloco | REDIRECT SERVICE Executa o redirecionamento para outro serviço ou habilidade por meio de uma ação de saída. CSAT:Coleta a avaliação de satisfação do usuário após o atendimento. Bloco | [START] Controla o acesso à habilidade validando a variável {{input.content@redirectId}} para direcionar o usuário ao bloco de destino correspondente. Bloco | [MSG] C.1.0.0 Pergunta Resolutividade Mensagem de confirmação enviada ao usuário para validar se sua solicitação foi resolvida antes de encerrar o fluxo. Bloco | [LOGIC] C.1.0.0 Pergunta Resolutividade A validação da opção selecionada é realizada via script, utilizando a variável {{userInput}} diretamente nas condições de saída para determinar o próximo passo do fluxo. Bloco | [MSG] C.1.0.1 Resolutividade negativa Exibe o conteúdo da mensagem perguntando o que pode ser melhorado. Bloco | [MSG] C.1.1.1 Pergunta CSAT Exibe o conteúdo da mensagem perguntando a nota de avaliação. Bloco | [LOGIC] C.1.1.1 Pergunta CSAT Validação da nota de avaliação realizada via script utilizando a variável {{userInput}} para processar a pontuação recebida. Bloco | [MSG] C.1.1.2 Finaliza CSAT Exibe o conteúdo da mensagem de finalização. Bloco | Redirect Finish Redireciona o serviço para a habilidade de finalização. Bloco | Redirect Inatividade Realiza o redirecionamento para a habilidade de inatividade, garantindo o retorno ao ponto de espera de entrada do usuário. Transbordo:Encaminha o usuário para o atendimento humano sempre que a interação exigir suporte especializado. Bloco | Customer service Configura as regras de disponibilidade para gerenciar o fluxo quando não houver atendentes ou o contato ocorrer fora do horário de operação. Bloco | ATH.1.0.0 Nenhum atendente disponivel Mensagem de indisponibilidade que informa a ausência de atendentes e questiona se o usuário deseja aguardar na fila. Bloco | ATH 1.1.0 Aguarde Mensagem de espera orientando o usuário a aguardar o início do atendimento. Bloco | ATH 1.2.0 Despedida Mensagem de encerramento que instrui o usuário sobre qual termo ou ação utilizar para reiniciar a conversa. Bloco | ATH2.0.0 Fora do horário Mensagem informativa sobre o encerramento do expediente que apresenta os horários de funcionamento do canal. Bloco | REDIRECT SERVICE Redireciona o usuário para outro serviço ou habilidade utilizando uma ação de saída configurada no bloco. Bloco | Redirect Inatividade Realiza o redirecionamento para a habilidade de inatividade, garantindo o retorno ao ponto de espera de entrada do usuário. Dados pessoais:Solicita, valida e organiza informações pessoais do usuário com segurança. CPF - Nome - Email - Telefone. Bloco | [START] Gerencia a entrada na habilidade validando a variável {{input.content@redirectId}} e encaminhando o usuário ao bloco correspondente via ID. Bloco | [MSG] Mensagem intro Mensagem introdutória que comunica ao usuário o início da coleta de dados. Bloco | [LOGIC] DC.1.0.0 Pedir cpf? Nas ações de entrada, a variável {{dadosPessoais}} define quais informações serão coletadas e valida a necessidade de solicitar o CPF. Bloco | [MSG] DC.1.0.1 Pedir CPF Mensagem que solicita ao usuário o número do CPF para prosseguir com o cadastro. Bloco | [MSG] DC.1.0.1 Pedir CPF Validacao Validação do formato e da autenticidade do CPF via script, utilizando a variável {{isValidCpf}} para registrar o documento nos parâmetros do contato. Bloco | [LOGIC] DC.1.1.0 Pedir Nome? Verifica se a coleta do nome está habilitada na variável {{dadosPessoais}}. Bloco | [MSG] DC.1.1.1 Pedir Nome Mensagem que solicita ao usuário o preenchimento do nome completo. Bloco | [LOGIC] DC.1.1.1 Pedir Nome Validacao Validação do formato nominal via script utilizando a variável {{nameValidation}} para registrar o nome nos parâmetros do contato. Bloco | [LOGIC] DC.1.2.0 Pedir E-mail? Verifica se a coleta de e-mail está habilitada na variável {{dadosPessoais}}. Bloco | [MSG] DC.1.2.1 Pedir E-mail Mensagem que solicita ao usuário o endereço de e-mail para contato ou cadastro. Bloco | [LOGIC] DC.1.2.1 Pedir E-mail validacao Validação do formato e da autenticidade do e-mail via script utilizando a variável {{hasEmail}} para registrar o endereço nos parâmetros do contato. Bloco | [LOGIC] DC.1.3.0 Pedir Telefone? Verifica se a coleta de e-mail está habilitada na variável {{dadosPessoais}}. Bloco | [MSG] DC.1.3.1 Pedir Telefone Mensagem que solicita ao usuário o número de telefone para contato. Bloco | [MSG] DC.1.3.1 Pedir Telefone validacao Validação do formato e da autenticidade do telefone via script utilizando a variável {{phoneNumber}} para registrar o número nos parâmetros do contato. Bloco | [MSG] Mensagem transição Mensagem de confirmação que informa ao usuário a conclusão bem-sucedida da coleta de seus dados. Bloco | REDIRECT SERVICE Redireciona o usuário para outro serviço ou habilidade utilizando uma ação de saída configurada no bloco. Bloco | Redirect Inatividade Realiza o redirecionamento para a habilidade de inatividade, garantindo o retorno ao ponto de espera de entrada do usuário. Cascata de Validação:É o processo sequencial de verificação de dados. Cada etapa funciona como um "filtro": a informação só avança para o próximo nível se for validada com sucesso no anterior. Hierarquia de validação Atributos Descrição customized_errors Regras Específicas: Validações personalizadas que não se encaixam nos padrões globais (ex: formatos de dados exclusivos do bot). api_error Barreira de Sistema: Bloqueia o fluxo caso o usuário venha de uma falha de integração (HTTP), impedindo erros em cadeia. validation_media_error Filtro de Mídia: Identifica e trata erros relacionados ao envio de arquivos e mídias. audio_error Validação de áudio: Etapa dedicada a verificar a qualidade ou existência de áudio (ex: integração com Blip speech-to-Text). link_error Filtro de Links: Identifica se a mensagem contém apenas links. Se sim, barra o avanço; se houver texto junto, permite prosseguir. emoji_error Filtro de Emojis: Bloqueia mensagens compostas exclusivamente por emojis, exigindo texto para continuidade. botxbot_error Anti-Spam: Identifica se o usuário é outro robô através de repetições ou padrões automáticos (Regex), exigindo uma ação humana para continuar. non_talkables_error Tratativa para termos sensíveis. Devem ser definidas as variáveis: {{config.utilsApiUrl}}, {{config.utilsApiAuth}}, {{config.globalSheetsId}}, {{config.connectionTalksSheetsTabName}}, {{config.connectionTalksSheetsTabRange}}. clear_text Higienização: Limpa o texto (remove ruídos) antes que ele seja processado pela inteligência artificial (NLP). global_regex_error Padrões Globais: Validação de segurança e formato aplicada a entradas de texto no bot em qualquer momento da jornada long_message_error Limite de Tamanho: Barra mensagens excessivamente longas (atualmente > 100 caracteres) para não sobrecarregar o NLP. connection_talks_error Gestão de Smalltalks: Identifica conversas informais e define respostas automáticas ou redirecionamentos de bloco. Devem ser definidas as variáveis: {{config.utilsApiUrl}}, {{config.utilsApiAuth}}, {{config.globalSheetsId}}, {{config.nonTalkableSheetsTabName}}, {{config.nonTalkableSheetsTabRange}}. short_message Mensagem Mínima: Evita chamadas inúteis ao NLP para mensagens muito curtas (menos de 3 letras). nlp_error Integração IA: Valida a conexão e o processamento junto ao provedor de Inteligência Artificial. Devem ser definidas as variáveis de configuração: {{config.AuthorizationApiKeyIA}} e {{config.commandsUrl}} content_assistent Assistente de Conteúdo: Valida a integração final com o assistente de suporte ao conteúdo. Integrações e Configurações de APIOs atributos non_talkables_error e connection_talks_error dependem de conexões com sistemas externos. Eles realizam buscas dinâmicas para entregar respostas personalizadas, baseadas no contexto atual e na etapa específica da conversa.Como Configurar no StudioApós adicionar a cascata através da biblioteca, localize o bloco: [REQ] set variablesO controle do fluxo é feito na aba de Ações, dentro do script Proccess ExceptionHierarchy. Nele, você pode definir quais validações estarão vigentes na jornada: True: Validação ativa. False: Validação desativada. Por padrão, os atributos non_talkables_error e connection_talks_error iniciam desativados. Para Ativar: Altere o valor para true e salve as alterações. Atenção: Ao ativar, certifique-se de configurar as regras e variáveis dessas validações de acordo com o contexto específico da sua jornada. Configuração das HabilidadesPasso a passo:Criar um chatbotAcessar a bibliotecaAdicionando uma habilidadeInstruções Habilidades Cada habilidade importada para o Studio inclui um bloco instrutivo chamado "Comece Aqui". Como ativar: Siga as instruções contidas nesse bloco e aplique as configurações solicitadas para que a skill passe a operar corretamente. Limpeza do Fluxo: Após a importação e configuração, os blocos nativos de "Boas-vindas" e "Erro Padrão" (gerados automaticamente na criação do bot) podem ser excluídos para evitar duplicidade. Agente CadastroEste componente da biblioteca foi projetado para automatizar a coleta de dados essenciais: Coleta: Registra nome, e-mail e telefone do usuário. Direcionamento: Após a captura bem-sucedida, o fluxo é encaminhado automaticamente para um bloco padrão, onde a conversa prossegue. Imagem Prompt <objetivo>Coletar e validar NOME, EMAIL e TELEFONE do usuário em pt-BR.</objetivo> <diretrizes> <tons>educado, direto, uma pergunta por vez</tons> <regras> <regra>Nunca prossiga para o próximo campo se o atual estiver inválido.</regra> <regra>Sempre explique por que a entrada é inválida e mostre um exemplo válido.</regra> <regra>Ao final, confirme o resumo dos dados antes de encerrar.</regra> </regras> </diretrizes> <fluxo> <passo>Peça o NOME completo.</passo> <passo>Valide e normalize o NOME.</passo> <passo>Peça o EMAIL.</passo> <passo>Valide o EMAIL.</passo> <passo>Peça o TELEFONE (aceite BR e internacional).</passo> <passo>Valide e normalize o TELEFONE.</passo> <passo>Mostre o resumo e peça confirmação (Sim/Não).</passo> </fluxo> <campos> <campo id="nome"> <pergunta>Qual é seu nome completo? Pode ser apenas nome e sobrenome</pergunta> <validacao> <tipo>regex</tipo> <padrao>^(?=.{3,100}$)(?:[A-Za-zÀ-ÖØ-öø-ÿ]+(?:['\-][A-Za-zÀ-ÖØ-öø-ÿ]+)?\s+){1,}[A-Za-zÀ-ÖØ-öø-ÿ]+$</padrao> <falha>Informe nome e sobrenome, usando apenas letras, espaços e acentos. Ex.: "Fulano Silva".</falha> </validacao> <normalizacao> <acao>trim espaços; colapsar múltiplos espaços; Title Case.</acao> </normalizacao> </campo> <campo id="email"> <pergunta>Qual é seu e-mail?</pergunta> <validacao> <tipo>regex</tipo> <padrao>^[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,}$</padrao> <falha>E-mail inválido. Use o formato "usuario@dominio.com".</falha> </validacao> <normalizacao> <acao>trim; converter domínio para minúsculas.</acao> </normalizacao> </campo> <campo id="telefone"> <pergunta>Qual é seu telefone com DDD? (ex.: (DD) XXXXX-XXXX </pergunta> <validacao> <tipo>regex-multiplo</tipo> <padraoE164>^\+?[1-9]\d{7,14}$</padraoE164> <padraoBR>^(?:\+55\s?)?(?:\(?\d{2}\)?\s?)?(?:9?\d{4})-?\d{4}$</padraoBR> <falha>Telefone inválido. Exemplos: "(DD) XXXXX-XXXX".</falha> </validacao> <normalizacao> <acao>remover caracteres não numéricos (exceto +); se for BR sem +55, prefixar +55; formatar saída em E.164 (ex.: +5531912345678).</acao> </normalizacao> </campo> </campos> <mensagens> <inicial>Vamos prosseguir com um cadastro rápido. Começando pelo seu nome completo.</inicial> <resumo>Confira os dados: Nome: {nome} E-mail: {email} Telefone: {telefone}. Estão corretos?</resumo> <confirmado>Perfeito! Cadastro concluído.</confirmado> <correcao>Sem problemas, vamos ajustar. Qual campo deseja corrigir? (nome/email/telefone)</correcao> </mensagens> <handoff> Se usuário disser "sim" → redirecionar para "novo bloco". </handoff> <saida> <formatoJSON> { "nome": "{nome_normalizado}", "email": "{email_validado}", "telefone": "{telefone_E164}" } </formatoJSON> </saida> Caso de uso - Qualificação de LeadsPara o caso de uso, o conjunto completo de habilidades é centralizado em um único ambiente no Studio, conforme ilustrado abaixo: Centralizar todas as habilidades em um único ambiente do Studio facilita a gestão do espaço de trabalho. No entanto, o processo de evolução ou adição de novas funcionalidades exige atenção redobrada nas conexões entre os blocos para garantir a integridade da estrutura conversacional.Para orientações detalhadas e dicas práticas sobre o uso da biblioteca de blocos, consulte o AMA disponível em nosso canal no YouTube. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Studio: Primeiros Passos - Configurações Básicas O que é o WhatsApp Flows? Envio de Mensagens Ativas do WhatsApp no Blip Desk Como criar um bot router com 3 subbots Formato dos envios no webhook