⚡ AutomationsAI|Portal de Cursos →

Verificando acesso...

MÓDULO 2.3

🎫 Custom fields e contexto do cliente

Injetar nome, cidade, lead score e histórico direto no prompt sem refatorar. O agente para de tratar todo mundo igual — e a LGPD continua respeitada.

6
Tópicos
40
Minutos
Médio
Nível
Prático
Tipo

Conteúdo detalhado

1

🏷️ O que é custom field

Custom field é um placeholder no prompt que é preenchido em runtime com dado do CRM, da sessão ou de um webhook. O mesmo prompt vira personalizado por cliente sem refatoração.

// System prompt com custom fields
# Contexto do cliente atual
Nome: {{nome}}
Cidade: {{cidade}}
Plano: {{plano}}
Lead score (0-100): {{lead_score}}
Última interação: {{ultima_interacao}}

# Comportamento baseado em contexto
- Se lead_score > 70: trate com prioridade, ofereça contato direto
- Se plano == "trial": destaque benefícios do plano pago
- Se ultima_interacao < 24h: refira sem repetir o que já foi dito
2

📥 De onde vem o dado

Custom field só é útil se o dado chega certo. As fontes típicas: CRM (Hubspot, RD, Salesforce), banco interno, payload do webhook que iniciou a sessão, cookie ou JWT da sessão web.

CRM

Dado de identidade, plano, histórico de compra. Source of truth.

Webhook

Carrega dado do evento que disparou a sessão (carrinho, ticket).

Sessão

Cookie, JWT, query string. Dado leve e volátil.

Computado

Lead score, segmento, lifetime value. Calculado periodicamente.

3

🧬 Campos úteis típicos

Não jogue 50 campos no prompt. Escolha os 5-8 que realmente mudam o comportamento. Cada campo é uma alavanca; campo demais é ruído que custa token.

📊 Top 8 custom fields para um bot de vendas

  • nome — personaliza saudação e cria conexão
  • cidade — adapta sugestões geográficas
  • plano — define o que pode oferecer
  • lead_score — define urgência e tom
  • ultima_interacao — evita repetir
  • preferencias — atalho para recomendação
  • idioma — pt/en/es
  • canal — wpp/web/voz (muda formato)
4

🧪 Tratar campo vazio

Campo nem sempre vem preenchido. "{{nome}}" cru no chat é o bug que mais viraliza no Twitter. Defina default e regra de uso para cada campo crítico.

// Tratamento de fallback no prompt
# Regras para campos vazios
- Se {{nome}} vazio: chame de "você" (nunca de "{{nome}}")
- Se {{cidade}} vazia: pergunte na primeira interação relevante
- Se {{lead_score}} vazio: trate como score=50 (neutro)
- Se {{plano}} vazio: assuma plano gratuito

# Sanitização (no backend, antes de injetar)
- Remova chaves curly se valor é null
- Escape caracteres especiais (" \ <)
- Trunque strings > 200 chars

⚠️ Prompt injection via custom field

Bug clássico: pessoa se cadastra com nome "Maria;DROP TABLE users" e o prompt injeta literal. Sanitize sempre. Vale para nome, telefone, mensagem de campo livre.

5

🧠 Memória de sessão

Custom field captura o "perfil". Memória de sessão captura o "agora": preferências aprendidas na conversa atual, decisões tomadas, status da tarefa em andamento.

1

Início da sessão

Carrega custom fields do CRM. Memória de sessão vazia.

2

Durante a conversa

A cada turn, agente atualiza um state {imovel_em_foco: 1108, slot_proposto: ...}.

3

A cada 8 turns

Sumariza histórico em 3 frases. Joga as 8 últimas no contexto + resumo do resto.

4

Fim da sessão

Persiste o que importa de volta no CRM (lead score atualizado, imóvel preferido).

6

🔐 Privacidade e LGPD

Custom field carrega dado pessoal direto para o prompt — e o prompt vai para o provedor do LLM. LGPD multa pesado. Provedor pode (e às vezes loga) o prompt para abuse detection.

✓ O que pode injetar

  • Nome (mascarado ou primeiro nome)
  • Cidade/estado
  • Plano e segmento
  • Lead score (número anônimo)
  • Preferências declaradas

✗ O que NÃO injetar

  • CPF, RG, CNH
  • Cartão de crédito ou meio de pagamento
  • Endereço completo
  • Dados de saúde
  • Senha, token, chave de API

💡 Padrão de segurança

Para ações que precisam de dado sensível (gerar boleto com CPF), envie o dado para a tool — nunca via prompt. Tool roda no seu backend, dado nunca atravessa o provedor.

📌 Resumo do módulo

O que é custom field — placeholder + dado em runtime = personalização sem refator
De onde vem o dado — saber a fonte é saber confiar (ou não)
Campos úteis típicos — 5-8 campos focados > 50 campos genéricos
Tratar campo vazio — campo vazio é o bug que vai pra Twitter
Memória de sessão — perfil (CRM) + agora (sessão) = personalização real
Privacidade e LGPD — dado sensível vai por tool, nunca por prompt

Próximo:

Trilha 3 — Operação (Módulo 3.1)