Campaign Manager
Run outbound voice, SMS, and WhatsApp campaigns at scale. The AI dials your contacts, has a real conversation, detects whether each person is interested, and logs the outcome — automatically.
Creating a Campaign
Go to Campaigns → New Campaign. The setup wizard walks through 4 steps:
Step 1: Setup
- Name and optional description
- Channel type: Voice, SMS, or WhatsApp
Step 2: Target
- Agent or Flow: Choose which agent handles the conversation, or use a flow for more structured routing. Both are shown with their current status.
- Outgoing number: Select from your configured channels — the phone number or from-address that calls or messages come from. If you have multiple numbers, each is shown with its provider.
- Concurrent dials: How many contacts to call simultaneously (max 3). Start with 1 to test, increase for volume.
- Retries: How many times to retry contacts who don't answer, and how long to wait between retries.
- Call hours: Calls only go out during the hours you configure (e.g., 9am–6pm). The campaign pauses outside those hours automatically.
- Active days: Which days of the week calls are made.
- Interest keywords: Words that instantly mark a contact as "Interested" (e.g., "yes", "interested", "tell me more"). Leave empty to use AI classification for every call.
Step 3: Contacts
Add contacts by pasting numbers or uploading a CSV:
- Paste: One phone number per line. Optionally add name and custom fields:
+91XXXXXXXXXX, Rahul Kumar - CSV upload: Upload a CSV file. The required column is
phone(ormobile,number,tel). All other columns become custom data injected into the agent's context.
CSV column names
first_name, account_id, balance_due are automatically available to your agent as {{first_name}}, {{account_id}}, etc. This lets you personalize every call.Step 4: Review
Confirm all settings before launching. The campaign starts in Draft status — you control when to start it.
Running a Campaign
- Start: The campaign begins dialing contacts in order.
- Pause: The current call finishes, then dialing stops. Contacts in progress are not lost.
- Resume: Dialing continues from where it paused.
- Cancel: Stops immediately. Cannot be resumed, but results are preserved.
Adding contacts after creation
You can add more contacts to any campaign that isn't completed or cancelled. Use the + Contacts button on the campaign card to paste numbers or upload another CSV. New contacts are added to the end of the queue.
Outcomes & Results
After each call, the AI analyzes the transcript and classifies the outcome:
- Interested: Contact showed genuine interest, asked questions, or wants follow-up.
- Not interested: Contact politely declined.
- Callback requested: Contact asked to be called back at a different time.
- Voicemail: Reached voicemail.
- Do not call: Contact explicitly asked to be removed.
- Wrong number: Reached the wrong person.
- No answer / Busy / Failed: Call did not connect.
Click the Results button on any campaign card (or expand the card) to see:
- Answer rate, average call duration
- Outcome breakdown bars with percentages
- Full list of interested contacts with name, phone, and reason
- Contacts who requested a callback
- Export all results as CSV
Interest detection
The platform uses a two-stage approach:
Fast keyword check — if you configured interest keywords, any match immediately marks the contact as Interested.
Common opt-out detection — phrases like "do not call" or "wrong number" are detected automatically.
AI analysis — for all other calls, the full transcript is analyzed by the AI and classified into one of the outcome categories with a reason.
Retry logic
Contacts who don't answer (busy, no answer, failed) are moved to the end of the queue and retried up to the configured number of times, with the configured delay between attempts. Each attempt is tracked separately.
