Qualification et scoring de leads par IA depuis votre CRM
Un agent lit un lead et son entreprise dans un CRM en lecture seule, le note au regard de votre profil de client idéal et propose la prochaine action.
- Fichiers
- Connexion en lecture seule
- Callback
- Plafond de budget
Regardez une vraie exécution
Une vraie exécution du 7 oct. 2026, rejouée. Modèle : openai/gpt-6-luna.
{
"lead_id": "lead_501"
}- En file d'attentebudget de $0.03 réservé
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- Connexioncrm GET /leads/lead_501
- Fichier
read icp.md - Résultat
crm GET → 200 - Connexioncrm GET /accounts/acct_91
- Résultat
crm GET → 200 - MicroVMmicroVM destroyed
- Réussie3 appels au modèle, 4,687 jetonsSortie enregistrée (en anglais)
{ "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 détruit$0.0036 facturé, $0.0264 libéré
Lancez-le vous-même
Ouvrez l'exemple dans le playground avec toute la requête déjà remplie. Il s'exécute sur votre propre compte, dans le budget indiqué, sur les mêmes systèmes d'exemple en lecture seule.
Budget pour cet exemple : $0.03
Fonctionnement
Le profil de client idéal est un fichier que votre équipe commerciale peut modifier. L'agent lit le lead et le compte via une connexion CRM limitée à GET, renvoie un score avec les raisons et les risques, et n'écrit jamais dans le CRM.
Ce que l'agent peut et ne peut pas faire
Les permissions font partie de la requête. Tout ce qui n'est pas listé ici n'est pas disponible pour l'exécution.
| Paramètre | Autorisé |
|---|---|
| Connexions | crm : GET uniquement, sur ephemer.al/api/samples/crm-api |
| Web | Désactivé |
| Shell | Désactivé |
| Fichiers | icp.md (lecture seule) |
| Rétention zéro des données | Désactivée : l'historique est conservé 30 jours |
| Budget | $0.03, un plafond strict |
| Délai | 60 secondes |
Les identifiants n'entrent jamais dans la machine : un broker les ajoute à chaque appel et impose les méthodes ci-dessus.
Le code
Voici la requête exacte envoyée par l'exemple. Définissez EPHEMERAL_API_KEY avec une clé de membre de votre organisation.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.jsonFichiers de la requête
Transmis en ligne, rien n'est donc importé au préalable. L'agent voit chacun comme un fichier en lecture seule.
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.
Corps complet de la requête request.json
Le même corps, avec les fichiers en ligne.
{
"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
}