Campaigns
A campaign dials an audience for you. You upload a contact list, map personalization variables, set a schedule, and the campaign works through the list automatically — with retries, concurrency control, and live progress tracking.
Open Deploy → Campaigns.
Outbound vs. inbound. Campaigns are for outbound calling — your agent dials the audience (like appointment reminders or lead follow-ups). To answer incoming calls instead, use Inbounds. They’re separate flows: a campaign needs a contact list and a schedule, while an inbound deployment just routes incoming numbers to an agent.
Before you start
Set up telephony
Add a telephony connection and, ideally, a group so the campaign can rotate across numbers.
By default you can have 10 concurrent agent campaigns. Concurrent means campaigns that are Active or Scheduled. The limit is checked when you create an agent campaign and when you pause an agent campaign. Contact the Sarvam team if you need a higher limit.
The Campaigns page
The Campaigns page is your home base for outbound calling. When you open Deploy → Campaigns, the top of the page shows a Calls / Concurrency graph for the last 24 hours. Toggle between the two views and change the window with 1h, 12h, or 24h:
- Calls — the total number of calls placed across your campaigns over the period.
- Concurrency — how many calls ran simultaneously, with the peak concurrency called out above the chart.
Below the graph, your campaigns are split across two tabs:
- Active campaigns — everything currently running, paused, or scheduled. If you have no active campaigns, the page opens on Past campaigns instead.
- Past campaigns — campaigns that have ended or been cancelled.
Each row in either tab shows the same columns:
Use the search box to find a campaign by name, and the two dropdowns to filter by status and by time — All time, This week, This month, or a custom date range.
What you can do from here
From the Campaigns page you take one of two actions — create a new campaign, or open an existing one to view its details. The DND list button (top-right) opens your org-wide suppression list, which applies across every campaign.
Webhooks
A campaign can POST an event to your server as each call finishes — with the outcome, transcript, duration, and the agent variables collected during the call. Set the Webhook URL in the campaign wizard’s Advanced step (see Create a campaign).
- Payload — see the Campaigns webhook payload reference for every field, including
start_datetime/end_datetimeandoutput_agent_variables. - Delivery records — every POST attempt is recorded with a status (
running,completed, orfailed). List them with List webhook deliveries, filtered by status and time window. - Retries — if your endpoint was down, re-deliver up to 200 attempts per request with Retry webhook deliveries.
Webhook events fire per call attempt, whether or not the call connected — so you can track failures too. To fetch caller context before an inbound call begins, use an on-start hook on the inbound side instead.