Qualificação e pontuação de leads com IA a partir do seu CRM

Um agente lê um lead e sua empresa em um CRM somente leitura, pontua o lead de acordo com o seu perfil de cliente ideal e propõe a próxima ação.

  • Arquivos
  • Conexão somente leitura
  • Callback
  • Limite de orçamento

Veja uma execução real

Uma execução real em 7 de out. de 2026, reproduzida. Modelo: openai/gpt-6-luna.

Entrada
{
  "lead_id": "lead_501"
}
Concluídarun_6635489edcf97c044f218cc28b041a6d$0.0036 de $0.03
  1. Na filaorçamento de $0.03 reservado
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell off · web off
  4. Conexãocrm GET /leads/lead_501
  5. Arquivoread icp.md
  6. Resultadocrm GET → 200
  7. Conexãocrm GET /accounts/acct_91
  8. Resultadocrm GET → 200
  9. MicroVMmicroVM destroyed
  10. Concluída3 chamadas ao modelo, 4,687 tokensSaída gravada (em inglês)
    json
    {
      "score": 95,
      "tier": "A",
      "reasons": [
        "Company has 1,200 employees, within the 100–5,000 employee ICP range.",
        "VP of Engineering wants to run agents over carrier APIs and requested a demo for 8 engineers.",
        "Lead mentioned a security review and a Q4 budget."
      ],
      "risks": [],
      "next_action": "Contact within a day to follow up on the demo request and discuss the security review."
    }
  11. Worker destruído$0.0036 cobrados, $0.0264 liberados
Modelo $0.0004 · Web $0.00 · Computação $0.0032

Execute você mesmo

Abra o exemplo no playground com a requisição inteira preenchida. Ele roda na sua própria conta, dentro do orçamento indicado, contra os mesmos sistemas de exemplo somente leitura.

Orçamento deste exemplo: $0.03

Como funciona

O perfil de cliente ideal é um arquivo que sua equipe de vendas pode editar. O agente lê o lead e a conta por uma conexão com o CRM que só permite GET, devolve uma pontuação com motivos e riscos e nunca escreve de volta no CRM.

O que o agente pode e não pode fazer

As permissões fazem parte da requisição. Tudo o que não está listado aqui não está disponível para a execução.

ConfiguraçãoPermitido
Conexões
crm: somente GET, em ephemer.al/api/samples/crm-api
WebDesativado
ShellDesativado
Arquivosicp.md (somente leitura)
Retenção zero de dadosDesativada: o registro é mantido por 30 dias
Orçamento$0.03, um limite rígido
Tempo limite60 segundos

As credenciais nunca entram na máquina: um broker as adiciona a cada chamada e aplica os métodos acima.

O código

Esta é a requisição exata que o exemplo envia. Defina EPHEMERAL_API_KEY com uma chave de membro da sua organização.

curl -X POST $EPHEMERAL_URL/v1/runs \
  -H "Authorization: Bearer $EPHEMERAL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @request.json

Arquivos na requisição

Enviados inline, então nada é carregado antes. O agente vê cada um como um arquivo somente leitura.

icp.md
icp.md
# Ideal customer profile

Good fit (score up):
- Engineering or operations teams at companies with 100 to 5,000 employees.
- Wants to automate work over its own APIs (support, finance operations, monitoring).
- Mentions a security review, data retention needs, a budget or a timeline.
- Role: VP or head of engineering, operations, support or finance; or a founder with budget.

Poor fit (score down):
- Students, hobby projects, no budget or timeline.
- Individuals evaluating for someone else.
- Procurement cycles longer than 6 months for a first purchase.

Score 0 to 100. Tier A (70+): contact within a day. Tier B (40 to 69): nurture. Tier C (below 40): no sales time.
Corpo completo da requisição request.json

O mesmo corpo, com os arquivos inline.

request.json
{
  "prompt": "Qualify the CRM lead in input.lead_id. Read the lead with GET /leads/{id} and its company with GET /accounts/{account_id}, then score it against icp.md. Reply with one JSON object and nothing else: {\"score\": number, \"tier\": \"A\"|\"B\"|\"C\", \"reasons\": string[] (max 3), \"risks\": string[] (max 2), \"next_action\": string}. Use only what the data returns and never guess; if a call fails or a field is missing, say so.",
  "input": {
    "lead_id": "lead_501"
  },
  "files": [
    {
      "path": "icp.md",
      "content": "# Ideal customer profile\n\nGood fit (score up):\n- Engineering or operations teams at companies with 100 to 5,000 employees.\n- Wants to automate work over its own APIs (support, finance operations, monitoring).\n- Mentions a security review, data retention needs, a budget or a timeline.\n- Role: VP or head of engineering, operations, support or finance; or a founder with budget.\n\nPoor fit (score down):\n- Students, hobby projects, no budget or timeline.\n- Individuals evaluating for someone else.\n- Procurement cycles longer than 6 months for a first purchase.\n\nScore 0 to 100. Tier A (70+): contact within a day. Tier B (40 to 69): nurture. Tier C (below 40): no sales time.\n"
    }
  ],
  "connections": {
    "crm": {
      "type": "http",
      "url": "https://ephemer.al/api/samples/crm-api",
      "auth": {
        "type": "bearer",
        "token": "sample_read_key"
      },
      "allowed_methods": [
        "GET"
      ],
      "instructions": "A CRM. GET /leads lists leads. GET /leads/{id} returns a lead with notes and activity. GET /accounts/{id} returns the company (industry, employees, country, revenue, tech, customer, open_deals)."
    }
  },
  "shell": false,
  "timeout_seconds": 60,
  "max_cost_micros": 30000
}

Saiba mais

Exemplos relacionados

esc

Nada corresponde a “”.