O que é o Bloco Buscar Dados?
O bloco Buscar Dados permite que o agente consulte informações de forma automática e silenciosa — sem envolver a IA. Ele busca um dado específico (de uma API externa, de um atributo do contato ou da conversa) e armazena o resultado em uma variável, que pode ser usada em seguida por um bloco Condição para tomar decisões.
Por que usar?
| Benefício | Descrição |
|---|---|
| Decisões instantâneas | Sem esperar a IA processar — execução imediata |
| Sem custo de LLM | Não consome tokens de IA para buscar o dado |
| Resultados previsíveis | Sempre busca a mesma informação da mesma forma |
| Integração com Chatwoot | Acessa atributos de contato e conversa diretamente |
Como funciona?
Fontes de Dados
O bloco oferece três fontes de dados diferentes, dependendo de onde a informação está:1. Atributo do Contato
Busca um campo dos atributos personalizados do contato no Chatwoot. Ideal para identificar características do cliente que já estão cadastradas.| Campo | Descrição | Exemplo |
|---|---|---|
| Chave do Atributo | Nome do campo no Chatwoot | plano, segmento, cliente_habitue |
| Variável de Saída | Onde armazenar o resultado | fetched.plano |
- Exemplo: Plano do cliente
- Exemplo: Tipo de parceiro
Configuração:
- Fonte: Atributo do Contato
- Chave do Atributo:
plano - Variável de Saída:
fetched.plano
plano = "premium", a variável fetched.plano recebe "premium".Condição seguinte: Se fetched.plano igual a "premium" → caminho VIP.Os atributos disponíveis são os mesmos que você configura em Chatwoot > Configurações > Atributos Personalizados. Se o atributo não existir no contato, o valor retornado será vazio.
2. Atributo da Conversa
Busca um campo dos atributos personalizados da conversa no Chatwoot. Útil para informações que mudam de conversa para conversa.| Campo | Descrição | Exemplo |
|---|---|---|
| Chave do Atributo | Nome do campo na conversa | status_pagamento, origem_campanha |
| Variável de Saída | Onde armazenar o resultado | fetched.status_pagamento |
3. API Externa (HTTP)
Consulta uma API externa via HTTP para obter informações em tempo real. Útil para consultar sistemas internos (ERP, CRM, sistema de reservas, etc.).| Campo | Descrição | Exemplo |
|---|---|---|
| Método HTTP | GET, POST, PUT, etc. | GET |
| URL Base | Endereço da API | https://api.exemplo.com |
| Endpoint | Caminho do recurso | /api/v1/clientes/status |
| JSONPath | Caminho para extrair o valor | $.data.status |
| Variável de Saída | Onde armazenar o resultado | fetched.status |
O que é JSONPath?
O que é JSONPath?
JSONPath é uma forma de navegar dentro de uma resposta JSON para extrair um valor específico.Exemplo de resposta da API:
| JSONPath | Resultado |
|---|---|
$.data.status | "ativo" |
$.data.plano | "premium" |
$.data.cliente | "João" |
Autenticação da API
Autenticação da API
Se sua API exige autenticação, configure na seção Autenticação:
| Tipo | Quando usar |
|---|---|
| Nenhuma | API pública |
| API Key | Enviar chave via header |
| Bearer Token | Token de acesso |
| Basic Auth | Usuário e senha |
Variável de Saída
Toda informação buscada é armazenada em uma variável de saída que começa obrigatoriamente comfetched..
| Regra | Descrição |
|---|---|
| Prefixo obrigatório | Toda variável começa com fetched. |
| Nome livre | Após o prefixo, escolha um nome descritivo |
| Usado na Condição | O bloco Condição referencia esta variável |
| Fonte | Variável | Uso |
|---|---|---|
Contato: plano | fetched.plano | Verificar plano do cliente |
Contato: cliente_habitue | fetched.cliente_habitue | Identificar cliente VIP |
Conversa: status_pagamento | fetched.status_pagamento | Checar pagamento |
| API: retorno JSON | fetched.tem_reserva | Verificar reserva ativa |
Conectando ao Fluxo
O bloco Buscar Dados funciona como parte de uma cadeia de decisão automática:Adicione o bloco Buscar Dados
Arraste o bloco para o canvas e conecte-o ao bloco Início (ou a uma rota do Roteador).
Configure a fonte de dados
Escolha entre API Externa, Atributo do Contato ou Atributo da Conversa. Preencha os campos necessários.
Conecte ao bloco Condição
Arraste uma conexão da saída do Buscar Dados para um bloco Condição configurado no modo Determinístico.
Exemplos por Segmento
- Hotel - Cliente VIP
- SaaS - Verificar API
Objetivo: Identificar clientes habitués e transferir automaticamente.Fluxo:Configuração do Buscar Dados:
- Fonte: Atributo do Contato
- Chave:
cliente_habitue - Variável:
fetched.cliente_habitue
- Variável:
fetched.cliente_habitue - Operador: Igual a
- Valor:
true
Perguntas Frequentes
O cliente vê alguma mensagem enquanto o dado é buscado?
O cliente vê alguma mensagem enquanto o dado é buscado?
Não. O bloco Buscar Dados executa de forma totalmente silenciosa. O cliente não percebe que uma consulta foi feita — tudo acontece em milissegundos antes da IA responder.
Posso usar Buscar Dados sem o bloco Condição?
Posso usar Buscar Dados sem o bloco Condição?
Tecnicamente sim, mas o valor buscado não terá utilidade sem uma condição para avaliá-lo. O bloco foi projetado para funcionar em conjunto com o bloco Condição no modo Determinístico.
O que acontece se o atributo não existir no contato?
O que acontece se o atributo não existir no contato?
A variável de saída recebe um valor vazio. No bloco Condição, você pode usar o operador Está vazio para tratar esse caso.
Qual a diferença entre Buscar Dados e Integração API?
Qual a diferença entre Buscar Dados e Integração API?
São dois modos do mesmo bloco:
- Buscar Dados: Execução automática e silenciosa, sem IA. Armazena resultado em variável para uso em condições.
- Integração API (Tool): A IA decide quando chamar a API durante a conversa e usa o resultado para responder ao cliente.
Posso ter vários blocos Buscar Dados no fluxo?
Posso ter vários blocos Buscar Dados no fluxo?
Sim, mas cada cadeia (Buscar Dados → Condição) deve ser independente. Evite encadear múltiplos blocos Buscar Dados em sequência.