Batch Campaign Calling
Upload a CSV file with customer contact information and let your AI agent call hundreds or thousands of leads automatically—perfect for reactivating old customers, seasonal campaigns, or bulk outreach.
What Is Batch Calling?
Batch calling lets you:
- Upload a CSV with names, phone numbers, and service details
- AI calls everyone automatically (pacing calls appropriately)
- Each call is personalized based on CSV data
- Track campaign performance in real-time
- Review all call logs and book appointments at scale
Use cases:
- 🔄 Reactivation campaigns - Call customers from last year to book maintenance
- 📅 Seasonal outreach - Pre-winter furnace checks, spring AC tune-ups
- 📞 Follow-up on quotes - Call everyone who requested a quote but didn’t book
- 🎯 Targeted promotions - Offer discounts to specific customer segments
Performance:
- Calls per hour: 20-60 (depending on configuration)
- Connection rate: 50-70%
- Booking rate: 15-30% (varies by campaign quality)
How It Works
Upload CSV File
Prepare a CSV file with customer data:
Required columns:
name- Customer’s full namephone- Phone number (any format:909-555-1234,+19095551234, etc.)
Optional columns:
service_title- Service to mention (e.g., “AC Maintenance”)service_description- Context about the serviceaddress- Customer’s address (useful for context)last_service_date- When they last used your servicecustom_field_1,custom_field_2, etc. - Any additional context
Example CSV:
name,phone,service_title,service_description,last_service_date
John Smith,909-555-1234,AC Maintenance,Annual tune-up reminder,2023-05-15
Sarah Johnson,818-555-5678,Garage Door Repair,Spring replacement last year,2023-03-22
Mike Davis,310-555-9012,Plumbing,Water heater installation,2022-11-10Configure Campaign
Set up your batch call campaign:
Campaign Name
e.g., “Spring 2024 AC Tune-Up Campaign”
Agent Selection
Choose which calling agent to use (or create a new one)
Main Goal
What should the AI accomplish on each call?
Example:
You're calling to offer our annual AC maintenance special.
The customer had service with us last year. Offer to schedule
their tune-up before summer and mention the $20 discount.Calling Schedule
- Start immediately - Begin calling as soon as you upload
- Schedule for later - Start at a specific date/time
- Business hours only - Only call during configured hours
Call Pacing
- Slow: 10-15 calls/hour (gives you time to handle bookings)
- Medium: 30-40 calls/hour (recommended)
- Fast: 50-60 calls/hour (for large campaigns)
Important: Faster pacing means more simultaneous calls. Make sure your calendar can handle multiple bookings in a short time window.
Launch Campaign
- Review campaign settings
- Upload CSV file
- Click “Start Campaign”
- AI begins calling immediately (or at scheduled time)
Monitor Progress
Track campaign in real-time:
- Calls made - Total calls attempted
- Calls connected - Number of people who answered
- Voicemails left - Calls that went to voicemail
- Appointments booked - Successful conversions
- Callbacks requested - Leads who want you to call back
- Not interested - Leads who declined
Review Results
After campaign completes:
- Download full call logs (CSV export)
- Listen to call recordings
- Review transcripts
- Export booked appointments
- Follow up on callback requests
CSV Format & Best Practices
Required Columns
name
- Full name works best: “John Smith”
- First name only is acceptable: “John”
- Avoid: “Mr. Smith” or initials “J.S.”
phone
- Any format accepted:
909-555-1234,+19095551234,(909) 555-1234 - US numbers only (for now)
- Mobile numbers have higher connection rates than landlines
Optional But Recommended
service_title
Helps the AI personalize the opening:
- “AC Maintenance”
- “Garage Door Repair”
- “Water Heater Replacement”
service_description
Add context for better conversations:
- “Customer had spring replacement last March”
- “Annual tune-up - customer is on our maintenance plan”
- “Emergency service in 2023 - water heater failure”
last_service_date
When they last used your service:
- Format:
YYYY-MM-DD(e.g.,2023-05-15) - AI can reference: “It’s been about a year since we serviced your AC…”
Custom Variables
You can add any custom columns and reference them in your campaign goal:
Example CSV:
name,phone,service_title,discount_code,preferred_day
John Smith,909-555-1234,AC Tune-Up,SPRING20,Saturday
Sarah Johnson,818-555-5678,AC Tune-Up,SPRING20,Any weekdayCampaign goal using custom variables:
Call to offer AC tune-up with discount code {{discount_code}}.
Customer prefers appointments on {{preferred_day}}.Pro tip: Use custom variables for personalization - customers are more likely to book when the call feels tailored to them.
Call PersonalizationEach call is personalized based on CSV data.
Generic opening (no data):
“Hi, this is Sarah from ABC HVAC. How are you today?”
Personalized opening (with CSV data):
“Hi John, this is Sarah from ABC HVAC. I’m calling because it’s been about a year since we did your AC maintenance, and I wanted to see if you’d like to schedule your tune-up before summer.”
What makes personalized calls convert better:
- ✅ Uses customer’s name
- ✅ References past service
- ✅ Provides context for why you’re calling
- ✅ Feels like a thoughtful reminder, not a cold call
Campaign Types & Examples
1. Annual Maintenance Reminders
Goal: Reactivate customers who had service last year
CSV columns needed:
name,phone,service_title,last_service_date
Campaign goal:
You're calling customers who had AC maintenance last year.
Remind them it's time for their annual tune-up and offer to
schedule before the summer rush. Mention we have availability
this week with a $20 discount for repeat customers.Expected results:
- Connection rate: 60-70%
- Booking rate: 25-35%
2. Seasonal Promotions
Goal: Offer limited-time discount to past customers
CSV columns needed:
name,phone,service_title,discount_code
Campaign goal:
You're calling to offer our Spring Special: $50 off any garage
door service. Customer's discount code is {{discount_code}}.
If interested, schedule an appointment within the next 2 weeks.Expected results:
- Connection rate: 55-65%
- Booking rate: 15-25%
3. Quote Follow-Up
Goal: Convert quotes into bookings
CSV columns needed:
name,phone,service_title,quote_amount,quote_date
Campaign goal:
You're following up on a quote for {{service_title}} provided
on {{quote_date}} for ${{quote_amount}}. Ask if they have any
questions and if they'd like to schedule the work.Expected results:
- Connection rate: 70-80% (they requested the quote)
- Booking rate: 30-40%
4. Referral Outreach
Goal: Thank customers for referrals and offer discount
CSV columns needed:
name,phone,referred_by,discount_amount
Campaign goal:
You're calling to thank the customer for being referred by
{{referred_by}}. Offer a ${{discount_amount}} new customer
discount and ask if they'd like to schedule service.Expected results:
- Connection rate: 65-75%
- Booking rate: 35-45% (warm leads from referrals)
Real-Time Campaign Monitoring
Dashboard Metrics
While your campaign is running, view:
Call Status Breakdown:
- ✅ Connected - AI spoke with customer (60%)
- 📞 Voicemail - Left message (25%)
- ❌ No Answer - Rings but no pickup (10%)
- 🚫 Invalid Number - Number disconnected or wrong (5%)
Outcome Tracking:
- 📅 Appointments Booked - Successful bookings
- 📝 Callback Requested - Customer wants callback
- 🔔 Interested but No Commitment - Positive response, no booking yet
- ⛔ Not Interested - Customer declined
- ❓ Wrong Number / Wrong Person - Bad data
Live Updates:
- Calls are logged in real-time
- See transcripts as calls complete
- Appointments sync to calendar immediately
Handling Results
Appointments Booked
What happens:
- AI books appointment during call
- Syncs to your calendar (Cal.com, FieldPulse, GoHighLevel)
- Customer receives confirmation text/email
- You see booking in dashboard
Action needed: None! Show up to the appointment.
Callback Requested
What happens:
- Customer says “call me back later” or “I have to check my schedule”
- AI logs the request
- Lead marked as “Callback Requested”
Action needed:
- Review callback list in dashboard
- Manually call customer back
- Or: Create a follow-up campaign 48 hours later
Voicemails Left
What happens:
- AI detects voicemail
- Leaves configured message
- Marked as “Voicemail” in call log
Action needed:
- Wait 24-48 hours for customer to call back
- Or: Create follow-up campaign with 2nd attempt
Not Interested
What happens:
- Customer declines or says “not interested”
- AI politely ends call
- Lead marked as “Not Interested”
Action needed:
- Add to “Do Not Call” list
- Remove from future campaigns
Campaign Analytics
After campaign completes, download detailed reports:
Call Summary Report (CSV)
Columns include:
- Name, Phone, Call Status, Call Duration
- Outcome (booked, callback, not interested, etc.)
- Appointment Date/Time (if booked)
- Transcript Summary
- Customer Sentiment
Performance Metrics
Connection Rate:
Connected Calls / Total Calls × 100
Example: 300 connected / 500 total = 60% connection rateBooking Rate:
Appointments Booked / Connected Calls × 100
Example: 75 booked / 300 connected = 25% booking rateROI Calculation:
Revenue from Bookings / Campaign Cost
Example: 75 bookings × $200 avg = $15,000 revenue
Campaign cost: $200 (calling fees) = 75x ROIBest Practices
✅ Do This
- Clean your data - Remove duplicates, invalid numbers
- Segment your list - Don’t call everyone the same way
- Personalize with variables - Use custom CSV columns
- Test with small batch first - 50-100 leads before scaling
- Call during business hours - 10 AM - 6 PM, Mon-Fri
- Review first 10-20 calls - Make sure AI is performing well
- Follow up on callbacks - Don’t let warm leads go cold
❌ Avoid This
- Don’t upload bad data - Verify phone numbers first
- Don’t spam customers - Limit campaigns to 1-2 per year per customer
- Don’t call outside business hours - Respect customers’ time
- Don’t use generic goals - Personalize the campaign message
- Don’t ignore voicemails - Consider 2nd attempt after 48 hours
- Don’t skip testing - Always test with small batch first
Compliance & Ethics
Do Not Call (DNC) Registry
Your responsibility:
- Only call customers you have an existing business relationship with
- Honor DNC requests immediately
- Maintain your own “Do Not Call” list
NZ Leads provides:
- Ability to upload DNC list (customers are automatically skipped)
- One-click “Add to DNC” from call logs
Call Recording Disclosure
All calls include automatic disclosure where required by law:
“This call may be recorded for quality assurance.”
Recording compliance:
- Calls are recorded in states that allow one-party consent
- Two-party consent states receive disclosure at start of call
TCPA Compliance
Best practices to stay compliant:
- Only call customers with prior business relationship
- Call during reasonable hours (8 AM - 9 PM local time)
- Honor opt-out requests immediately
- Maintain accurate DNC list
Disclaimer: You are responsible for ensuring your campaigns comply with federal and state regulations. Consult with legal counsel if you’re unsure.
Pricing
Batch calling costs:
- Per-minute rate: $1/minute for all calls
- Phone number: $10/month (if you need a dedicated outbound number)
Example campaign cost:
- 500 leads
- 60% connection rate = 300 calls connected
- 40% voicemail rate = 200 voicemails (shorter calls)
- Average 3 min per connected call, 30 sec per voicemail
- Total minutes: (300 × 3) + (200 × 0.5) = 1,000 minutes
- Cost: 1,000 min × $1/min = $1,000 for 500-lead campaign
ROI if you book 75 appointments at $200 avg value:
- Revenue: $15,000
- Cost: $1,000
- ROI: 15x return
Troubleshooting
Low Connection Rate (Under 40%)
Common causes:
- Calling outside business hours
- Old/stale phone numbers
- Landlines instead of mobile numbers
Solutions:
- ✅ Call 10 AM - 6 PM, Tue-Thu (best days)
- ✅ Clean your list (remove disconnected numbers)
- ✅ Use mobile numbers when available
Low Booking Rate (Under 10%)
Common causes:
- Generic/impersonal campaign goal
- Calling wrong audience
- Offer not compelling
Solutions:
- ✅ Personalize with CSV variables
- ✅ Segment list by service type
- ✅ Add urgency or discount to offer
- ✅ Review call transcripts to see objections
High “Not Interested” Rate
Common causes:
- Too salesy approach
- Calling too frequently
- Wrong audience
Solutions:
- ✅ Adjust campaign goal to be more helpful, less salesy
- ✅ Only call customers with recent/relevant service
- ✅ Add value (discount, seasonal tip, reminder)
Next Steps
- Prepare your CSV - Download template
- Create a calling agent - Getting Started →
- Launch test campaign - Start with 50-100 leads
- Review call logs - Call Logs & Analytics →
- Scale up - Run larger campaigns after testing
Questions? Contact support at support@nzleads.com or use the in-app chat for batch calling assistance.