Lead qualification assistant

Build an outbound sales assistant that qualifies leads and books meetings using tools

Overview

Create an outbound sales assistant that calls prospects, qualifies them using BANT signals, and books meetings. The assistant uses tools to look up leads, score qualification, update CRM, and schedule on a calendar.

Assistant Capabilities:

  • BANT data capture with structured outputs
  • Objection handling and call outcome logging
  • Calendar booking and follow-up creation
  • CRM updates with next steps

What You’ll Build:

  • Focused sales prompt with clear call flow
  • Tools for lead lookup, scoring, CRM update, and scheduling
  • Optional CSV knowledge bases for demo leads/products

Prerequisites

  • A Vapi account
  • CRM or spreadsheet data; Google Calendar or scheduling backend

1. Prepare sample data (optional)

2

Upload files (optional)

Upload leads.csv, products.csv, and call_outcomes.csv and note file IDs.


2. Create sales tools

Configure function tools or your CRM API for:

  • lookup_lead(leadId)
  • score_lead(budget, authority, need, timeline)
  • update_crm(leadId, callOutcome, nextSteps)
  • book_meeting(prospect, time)

See Custom Tools and Google Calendar.


3. Define the assistant

1

Create assistant

  • Name: Outbound SDR
  • First message: concise opener asking permission to talk
2

System prompt

System Prompt
You are an outbound SDR. Goals: get permission, qualify with BANT, schedule a meeting, and log the outcome. Keep answers ≤ 25 words and be respectful. Use tools when needed.
3

Structured outputs

Capture: permission_status, bant_budget, bant_authority, bant_need, bant_timeline, meeting_time, call_outcome. See Structured outputs.


4. Make calls

create web call
1import { VapiClient } from "@vapi-ai/server-sdk";
2const vapi = new VapiClient({ token: process.env.VAPI_API_KEY! });
3await vapi.calls.create({ transport: { type: "web" }, assistant: { assistantId: "your-assistant-id" } });
create phone call
1await vapi.calls.create({ phoneNumberId: "your-phone-number-id", customer: { number: "+15551234567" }, assistant: { assistantId: "your-assistant-id" } });

5. Test outbound calls

Create a phone number or trigger an outbound call. See Phone calls.

Next steps