Visão Geral
Ações de API personalizadas permitem que seus agentes de IA se integrem com sistemas externos durante conversas. Seus agentes podem recuperar dados de clientes, atualizar registros de CRM, verificar estoque, criar tickets e executar lógica de negócios - tudo em tempo real enquanto conversam com clientes.

- Configure o endpoint da API - Configure método HTTP, URL, autenticação, cabeçalhos e corpo da requisição
- Defina variáveis - Especifique quais informações o agente precisa coletar antes de chamar a API
- Agente utiliza - Durante a conversa, o agente coleta as variáveis e chama sua API
- API responde - Seu sistema retorna dados que o agente usa para continuar a conversa
Ações personalizadas são executadas sincronicamente durante conversas. Para operações que não precisam de respostas imediatas (registro, análise, processamento pós-chamada), use Webhooks em vez disso.
Exemplo de Fluxo
Exemplo Seguro com Verificação
Para consultas de dados sensíveis, verifique a identidade do cliente primeiro:- Primeira ação: “Verificar Cliente” - autentica usando ID do cliente + PIN/senha
- Segunda ação: “Consultar Pedido” - só executada se a verificação for bem-sucedida
Criando uma Ação Personalizada
Configure Informações Básicas
- Nome: Nome descritivo (ex: “Consultar Status do Pedido”)
- Descrição: Quando usar (10-200 caracteres)
Configuração
Aba Endpoint
Método HTTP (Obrigatório)- GET - Recuperar dados
- POST - Criar registros
- PUT - Substituir registros inteiros
- PATCH - Atualizar campos específicos
- DELETE - Remover registros
- URL completa da API:
https://api.empresa.com/clientes - Suporta variáveis de template:
https://api.empresa.com/pedidos/{{order_id}} - Adiciona automaticamente
https://se nenhum protocolo for especificado
Aba Autenticação
Escolha o tipo de autenticação:Nenhuma
Nenhuma
Nenhuma autenticação necessáriaUse para:
- APIs públicas
- Endpoints internos em rede privada
Token Bearer
Token Bearer
Mais comum para APIs modernasConfiguração:Use para:
- Token: Seu token de API/JWT
- Tokens de acesso OAuth 2.0
- Autenticação JWT
- APIs REST modernas
Autenticação Básica
Autenticação Básica
Autenticação com nome de usuário/senhaConfiguração:Use para:
- Nome de usuário: Nome de usuário da API
- Senha: Senha da API (mascarada com bullets ao editar)
- APIs legadas
- Autenticação simples
Cabeçalho
Cabeçalho
Autenticação personalizada baseada em cabeçalhoConfiguração:Use para:
- Nome do Cabeçalho: ex:
X-API-Key - Valor do Cabeçalho: Sua chave de API (mascarada ao editar)
- Autenticação com chave de API
- Esquemas de autenticação personalizados
Corpo
Corpo
Credenciais no corpo da requisiçãoConfiguração:Use para:
- Nome do Parâmetro: ex:
api_key - Valor do Parâmetro: Sua credencial (mascarada ao editar)
- Esquemas de autenticação não padrão
- Endpoints de login
Aba Parâmetros
Cabeçalhos- Adicione cabeçalhos HTTP personalizados (pares chave-valor)
- Exemplo:
Content-Type: application/json
- Adicione parâmetros de consulta de URL (pares chave-valor)
- Exemplo:
include=orders&limit=100
- Área de texto JSON com fonte estilo Monaco
- Suporta variáveis de template:
{{nome_variavel}} - Valida estrutura JSON permitindo placeholders de variáveis
Aba Variáveis
Esta é a parte mais importante. Variáveis definem quais informações seu agente precisa coletar antes de chamar a API. Cada variável cria um parâmetro de função que o LLM vê e coleta durante a conversa. Campos de Variável:- Nome: Nome da variável (ex:
numero_pedido,email_cliente) - Tipo: string, integer, float, boolean, date, email, phone
- Descrição: Para que serve esta variável (ajuda o LLM a entender)
- Exemplo: Valor de exemplo (orienta o LLM)
- Obrigatório: Toggle - se verdadeiro, LLM deve coletar antes de chamar API
- Valor Padrão: Usado se não for obrigatório e não for fornecido
Usando nas Instruções
Referencie a ação pelo nome e explique quando usá-la:Coleta de Variáveis
O agente coleta automaticamente variáveis obrigatórias antes de chamar a API:Usando Variáveis Opcionais
Variáveis de Template
Use sintaxe{{nome_variavel}} em URLs, cabeçalhos, parâmetros de consulta e corpo da requisição.
Variáveis de Ação
Variáveis que você definiu na aba Variáveis:Variáveis de Contexto
Disponíveis automaticamente a partir do registro de contato e contexto da chamada: Informações de Contato:Conversão de Tipo
Variáveis são automaticamente convertidas para seus tipos definidos:integer→ número em JSONfloat→ decimal em JSONboolean→ true/false em JSONstring→ string entre aspas em JSON
Testando
Teste Endpoint Independentemente
Use Postman ou cURL para verificar:
- Endpoint está acessível
- Autenticação funciona
- Formato da requisição está correto
- Resposta está como esperado
Comece com Valores Estáticos
Configure ação com valores fixos primeiro (sem variáveis)Verifique funcionalidade básica antes de adicionar complexidade
Adicione Variáveis
Substitua valores fixos por variáveisTeste com registro de contato que tenha campos obrigatórios
Teste no Agente
- Inicie chamada web
- Acione a ação através da conversa
- Verifique se o agente coleta variáveis corretamente
- Verifique se a API é chamada com dados corretos
- Confirme que o agente usa a resposta apropriadamente
Solução de Problemas
401 Não Autorizado
401 Não Autorizado
Causa: Credenciais inválidas ou tipo de autenticação erradoSolução:
- Verifique se as credenciais estão corretas
- Verifique se o tipo de autenticação corresponde aos requisitos da API
- Teste com Postman usando as mesmas credenciais
- Verifique se o token não expirou
404 Não Encontrado
404 Não Encontrado
Causa: URL incorreta ou recurso não existeSolução:
- Verifique se a URL do endpoint está correta
- Verifique se as variáveis de template são preenchidas corretamente
- Teste com valores estáticos primeiro
Agente Não Coleta Variáveis
Agente Não Coleta Variáveis
Causa: Variáveis não configuradas ou descrições pouco clarasSolução:
- Verifique se as variáveis estão definidas na aba Variáveis
- Adicione descrições e exemplos claros
- Defina required=true para variáveis essenciais
- Referencie a ação pelo nome exato nas instruções
Variáveis Não Estão Sendo Substituídas
Variáveis Não Estão Sendo Substituídas
Causa: Sintaxe incorreta ou variável não existeSolução:
- Use sintaxe exata:
{{nome_variavel}} - Verifique se a variável está definida na aba Variáveis
- Verifique se o registro de contato tem o campo preenchido
- Defina valor padrão na aba Variáveis para variáveis opcionais
Erros de Timeout
Erros de Timeout
Causa: API respondendo lentamente (>2 minutos)Solução:
- Otimize o tempo de resposta da API
- Considere usar webhooks para operações lentas
- Faça cache de dados frequentemente acessados
Agente Não Consegue Usar Dados de Resposta
Agente Não Consegue Usar Dados de Resposta
Causa: API retornando não-JSON ou JSON malformadoSolução:
- Verifique se a API retorna JSON válido
- Verifique cabeçalho Content-Type na resposta
- Teste resposta com validador JSON
Melhores Práticas de Segurança
Use Apenas HTTPS
Use Apenas HTTPS
Sempre use endpoints HTTPS para criptografar dados em trânsito✅
https://api.empresa.com/endpoint
❌ http://api.empresa.com/endpointProteja Credenciais
Proteja Credenciais
- Nunca codifique credenciais em URLs
- Use configuração de autenticação
- Rotacione chaves de API regularmente
- Use chaves separadas para teste vs produção
- Revogue credenciais comprometidas imediatamente
Limite Permissões
Limite Permissões
- Conceda permissões mínimas necessárias de API
- Use chaves somente leitura para ações de consulta
- Restrinja permissões de escrita a endpoints específicos
- Monitore atividades incomuns
Valide Entradas
Valide Entradas
Sua API deve validar todas as entradas:
- Verifique tentativas de injeção
- Valide tipos e formatos de dados
- Limite comprimentos de string
- Use consultas parametrizadas
Exemplos do Mundo Real
Consulta de Cliente em CRM
Consulta de Cliente em CRM
Cenário: Consultar cliente no SalesforceConfiguração:
- Método: GET
- URL:
https://api.salesforce.com/customers/{{customer_id}} - Autenticação: Token Bearer
- Variável:
customer_id(string, obrigatório)
Criar Ticket de Suporte
Criar Ticket de Suporte
Cenário: Criar ticket no ZendeskConfiguração:Instruções do Agente:
- Método: POST
- URL:
https://empresa.zendesk.com/api/v2/tickets - Autenticação: Básica (email/token)
- Variáveis:
descricao_problema(string),nivel_prioridade(string) - Corpo:
Verificar Estoque de Produto
Verificar Estoque de Produto
Cenário: Verificar disponibilidade de produtoConfiguração:
- Método: GET
- URL:
https://estoque.empresa.com/produtos/{{sku}}/disponibilidade - Autenticação: Cabeçalho (
X-API-Key) - Variável:
sku(string, obrigatório, exemplo: “PROD-12345”)