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.
{
"lead_id": "lead_501"
}- Na filaorçamento de $0.03 reservado
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- Conexãocrm GET /leads/lead_501
- Arquivo
read icp.md - Resultado
crm GET → 200 - Conexãocrm GET /accounts/acct_91
- Resultado
crm GET → 200 - MicroVMmicroVM destroyed
- Concluída3 chamadas ao modelo, 4,687 tokensSaída gravada (em inglês)
{ "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." } - Worker destruído$0.0036 cobrados, $0.0264 liberados
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ção | Permitido |
|---|---|
| Conexões | crm: somente GET, em ephemer.al/api/samples/crm-api |
| Web | Desativado |
| Shell | Desativado |
| Arquivos | icp.md (somente leitura) |
| Retenção zero de dados | Desativada: o registro é mantido por 30 dias |
| Orçamento | $0.03, um limite rígido |
| Tempo limite | 60 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.jsonArquivos na requisição
Enviados inline, então nada é carregado antes. O agente vê cada um como um arquivo somente leitura.
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.
{
"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
}