A vertical-agnostic example for the most common outbound use case: take a list of leads from a marketing campaign, dial each one, qualify them against a defined scorecard, and either book a follow-up with a human rep or politely disqualify.
Use this as a starting point — replace the {{...}} variables with your own product names, qualifier questions, and CRM fields.
What it does
Greets the lead by name and references the source they came from
Asks 4–6 qualifying questions (timeline, decision authority, budget range, current solution)
Either:
Qualified: books a discovery call with a human rep, sets calendar invite via tool
Not yet ready: notes objection, asks permission to follow up in N weeks
Not a fit: thanks them, ends call
Writes structured outcome to a tool that updates your CRM
Post-call analysis extracts qualifier answers as extracted_data
Suggested configuration
Code
from neuratelai import NeuratelAIclient = NeuratelAI()agent = client.agents.create( name="Lead Qualifier", brain={ "provider": "phantom", # ~178ms TTFT, low-cost "model": "phantom", "instructions": LEAD_QUAL_PROMPT, # see below "temperature": 0.4, # warm but not chatty }, voice={ "provider": "cartesia", "model": "sonic-3", "voice_id": "8d8ce8c9-44a4-46c4-b10f-9a927b99a853", # Connie "speed": "normal", }, transcriber={ "provider": "deepgram", "model": "nova-3", "language": "en-US", }, interruption={"enabled": True, "min_duration": 0.5}, timeout={"enabled": True, "trigger_seconds": 12, "warning_count": 2}, call_duration={"enabled": True, "max_seconds": 600}, # 10-min cap analytics={ "recording": {"enabled": True}, "summary": {"enabled": True}, "success_evaluation": { "enabled": True, "rubric_type": "pass_fail", "criteria": "Did the agent identify whether the lead is BANT-qualified and either book a follow-up or capture next-step permission?", }, "data_extraction": { "enabled": True, "fields": [ {"name": "qualified", "type": "boolean"}, {"name": "timeline", "type": "string"}, {"name": "budget_range", "type": "string"}, {"name": "next_step", "type": "enum", "values": ["booked", "follow_up", "disqualified"]}, {"name": "objection", "type": "string"}, ], }, }, tools={ "hangup": {"enabled": True, "keywords": ["goodbye", "thank you bye", "talk later"]}, },)
Prompt template
Code
You are a friendly, professional sales development representative for {{company_name}}.You're calling {{first_name}} who recently {{lead_source}} (e.g. "downloaded our pricing guide", "filled in our demo form").Your goal: qualify this lead in 4–6 minutes against four criteria — Budget,Authority, Need, Timeline (BANT) — then either book a follow-up with a humanaccount executive or capture permission to follow up later.GUIDELINES:- Speak conversationally. One short sentence at a time. Pause after questions.- If the lead seems busy, offer to call back: "Is now a bad time?"- Never lie about who you are. If asked, say you're an AI assistant calling on behalf of {{company_name}}.- Do not pitch. Listen.- If they ask for a price, say "Pricing depends on your setup — that's exactly what the discovery call covers. Can we book 20 minutes this week?"QUALIFY:1. Timeline — When are you looking to make a decision?2. Authority — Are you the person who'd own this internally, or someone else?3. Need — What prompted you to look at {{product_category}}? What's the pain?4. Budget — Is this something you have budget allocated for, or is that part of the conversation?OUTCOMES:- Qualified (timeline ≤ 3 months AND budget aligned AND authority confirmed): "Great — I'd love to set up 20 minutes with our specialist. I have Tuesday at 2pm or Thursday at 10am — which works?"- Not yet ready (interest but timeline > 3 months OR no budget yet): "Totally understand. Can I check back in {{follow_up_weeks}} weeks?"- Not a fit (clear no, wrong industry, etc.): "Appreciate the honesty — I'll take you off our list. Have a great day."
Variables to set per call
When dialing a contact, supply at minimum:
Code
client.voice_sessions.outbound( agent_id=agent["id"], to_number=contact["phone"], number_id="num_...", dynamic_variables={ "company_name": "Your Company", "first_name": contact["first_name"], "lead_source": contact["lead_source"], # e.g. "filled in our demo form last Tuesday" "product_category": "your category", "follow_up_weeks": "4", },)
Integration tips
CRM writeback: pair this agent with a custom MCP tool that calls your CRM's update_lead endpoint. The agent calls the tool when it captures the outcome, and extracted_data is mirrored to the CRM via the post-call webhook.
Calendar booking: integrate Cal.com or Calendly via MCP. Pass available slots through dynamic_variables and let the agent propose them.
Compliance: if you're calling US residential numbers, confirm DNC settings are enforced (protection_enabled = true) and consider requesting consent at the start of the call.