Batch & Campaign Calling

Batch calling lets you run an outbound campaign to a list of recipients. Each recipient gets a personalized call based on the dynamic variables you supply (name, service, main goal, etc.), and you can run the batch sequentially (one at a time) or in parallel.

Getting here

In NZ Leads, go to Voice AgentBatch Calls.

You’ll need a Batch Calling Agent configured first. See Agent Configuration.

Creating a batch

Click New Batch

In Batch Calls, click New Batch.

Pick the agent and origin number

  • Agent — select the Batch Calling Agent that will handle all calls in this batch.
  • Origin phone number — a phone number assigned to the agent with Use for outbound enabled. The country code of this number must match the country code of every recipient in the batch.

Name the batch

Any descriptive label (e.g., “Q2 Maintenance Reminders — California”). Shown in the Batch Calls list.

Add recipients

Each recipient is one row with:

  • to_number — the phone number to call, in E.164 format (e.g., +19095551234).
  • main_goal (dynamic variable) — the personalized goal for this specific call. Replaces the agent’s default main goal for this recipient.
  • Any custom variables — add your own keys/values to personalize further. For example, service_title, last_visit_date, discount_code. Reference them in the Main Goal using {{your_key}} placeholders.
ℹ️

Trial plans are limited to 100 recipients per batch. Upgrade for larger campaigns.

Example recipient:

to_number:        +19095551234
main_goal:        Confirm the customer still has the water heater we installed in 2023 and offer a maintenance visit.
service_title:    Water Heater Maintenance
last_visit_date:  2023-08-14

(Optional) Set agent override per task

You can override the agent for individual tasks inside the batch if you need a different voice or a tweaked prompt for a subset of recipients.

Calling Mode

Pick one of two sending modes:

  • Standard (default) — all calls are dispatched at once, up to the limits of the agent’s outbound capacity. Use Standard when you want to burn through a list quickly and there’s no coordination needed between calls.
  • Sequential — one call at a time. Each call only starts after the previous one ends. Use Sequential when the call outcome often produces a scheduling or bridging action your team needs to handle before the next call.

When Sequential is selected, an extra field appears:

  • Hold after human transfer (minutes) — how long to pause before calling the next recipient if the previous call was transferred to a human. Default 10 minutes. Minimum 0. This only applies after transfers — when a call ends normally, the next one starts immediately.

Review and launch

Click Start to launch the batch. The status changes to ongoing.

Statuses

Managing a running batch

From the Batch Calls list you can:

⚠️

Stopping a sequential batch leaves partial progress — some recipients will have been called, others won’t. Review the individual call logs before deciding whether to resume or start a fresh batch.

Dynamic variables in prompts

Every recipient row can include any number of custom variables. Reference them anywhere in the agent’s Main Goal, Closing Sentences, or Custom Rules using {{key_name}} syntax.

Example Main Goal (per recipient): Remind {{customer_name}} that their annual tune-up is due, reference the service done on {{last_visit_date}}, and offer a slot in the next 10 days.

Example recipient row:

to_number:       +19095551234
customer_name:   John
last_visit_date: August 2024

The agent says “Hi John, we did your annual tune-up back in August 2024…”.

Call hours

Sequential batches respect the agent’s Timing (call hours). If the transfer hold pushes the next call outside call hours, it waits until call hours resume.

Standard (parallel) batches are constrained by capacity but also respect call hours — calls won’t be placed outside configured windows.

Reviewing results

Every call in the batch appears in Call Logs, filterable by the batch name. For each call you get:

See Call Logs & Analytics for filters, marking, and export.

Best practices

Troubleshooting

The batch won’t start.

The batch is paused automatically. The batch pauses if it hits the configured time outside call hours and resumes when call hours begin again.

Some recipients were skipped. Check the Call Logs for that batch — the skipped recipients will have a status (failed, busy, no-answer, invalid-number) explaining what happened.

Personalization isn’t showing up. The placeholder keys in the Main Goal must match the variable keys in the recipient rows exactly (case-sensitive). {{customer_name}} in the goal requires customer_name in the recipient, not name or CustomerName.


Questions? Email support@nzleads.com.

Start 7 Days Free Trial