Docs / N8N

Integrando com N8N

Nó nativo disponível. Arraste, configure a API key, escolha o validador. Pronto.

O que você vai precisar

  • 1. Uma conta NaLU AI — crie grátis. A API key fica no Painel, formato nalu-XXXXXXXXXX.
  • 2. N8N self-hosted ou cloud com Community Nodes habilitados.

1. Instalar o nó

No N8N, vá em Settings → Community Nodes → Install e cole o nome do pacote:

n8n-nodes-nalu-ai

Reinicie o N8N se pedido. O nó NaLU AI aparecerá no painel de nós.

2. Configurar a credencial

Na primeira vez que arrastar o nó, o N8N pedirá as credenciais:

1

Clique em Create new credential → NaLU AI API

2

Cole sua API key no campo API Key:

nalu-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
3

Clique em Save. Pronto — reutilize essa credencial em todos os nós NaLU.

3. Configurar o nó

Arraste o nó NaLU AI, conecte à saída do nó anterior e preencha:

Validator: Validate CPF ← escolha na lista
Agent Prompt: {{ $json.agent_input }} ← pergunta do bot
User Reply: {{ $json.user_input }} ← resposta do usuário
Language: Portuguese (Brazil)
validate_reply tem campos diferentes: Agent Message + User Reply. O nó ajusta automaticamente quando você selecionar esse validador.

4. Usar o resultado

Conecte um nó IF na saída do NaLU AI:

Condição: {{ $json.obtained }} igual a true
✓ TRUE — dado extraído

Use $json.extracted_value para prosseguir no fluxo.

✗ FALSE — não encontrou

Envie $json.suggestion_to_agent ao usuário e aguarde nova resposta.

Workflow de exemplo (importar)

No N8N, clique em Import workflow e cole o JSON abaixo. Substitua a credencial pela sua.

{"nodes":[{"parameters":{},"id":"faf0378d-853d-4d28-b436-fe0b492698ba","name":"When clicking 'Test workflow'","type":"n8n-nodes-base.manualTrigger","typeVersion":1,"position":[-496,-48]},{"parameters":{"fields":{"values":[{"name":"agent_input","stringValue":"Good morning! What is your name?"},{"name":"user_input","stringValue":"Good morning!"}]},"options":{}},"id":"525c03df-d299-4c93-abe3-d0cb3b974c92","name":"Test Data","type":"n8n-nodes-base.set","typeVersion":3,"position":[-272,-48]},{"parameters":{"agent_input":"={{ $json.agent_input }}","user_input":"={{ $json.user_input }}","language":"en"},"id":"de84d078-001c-4c5a-a46d-e898e521e9af","name":"NaLU AI","type":"n8n-nodes-nalu-ai.naluAi","typeVersion":1,"position":[-48,-48],"credentials":{"naluAiApi":{"id":"Un73vppDrR5VJlwl","name":"NaLU AI account"}}}],"connections":{"When clicking 'Test workflow'":{"main":[[{"node":"Test Data","type":"main","index":0}]]},"Test Data":{"main":[[{"node":"NaLU AI","type":"main","index":0}]]}},"pinData":{}}

Campos da resposta

Acessíveis como $json.campo no nó seguinte:

Campo O que contém
obtainedtrue/false — se o dado foi extraído
extracted_valueO dado limpo e normalizado (ex: "111.444.777-35")
certainfalse = pedir confirmação antes de salvar
confidencelow / medium / high
suggestion_to_agentFrase pronta para enviar ao usuário quando obtained=false
reply_typeSó validate_reply: confirmation, counter_proposal, handoff, rejection, cancel, unclear
Dicas para não errar
  • • Limite de tentativas: coloque um contador no N8N. Se o usuário errar 3 vezes, escale para humano.
  • • certain: false: quando obtained=true mas certain=false, confirme antes de salvar. Ex: "Encontrei João Silva, está correto?"
  • • CEP: além de extracted_value, retorna objeto com logradouro, bairro, cidade e estado separados.
  • • Erros 429: créditos esgotados. Trate com IF no status code antes do IF do obtained.