Vicidial Management & others,Campaign Management

How to Create a Specific Campaign for Group on VICIdial

October 7, 2025
How to Create a Specific Campaign for Group on VICIdial
How to Create a Specific Campaign for Group on VICIdial

Introduction

how to create a specific campaign for group on vicidial is a common admin task for call-center engineers and administrators. This guide walks you through every step — from user groups and ingroups to campaign settings and list overrides — so your campaign will route correctly and agents only handle the intended group.

Who this is for: VoIP engineers, call center admins, and technical users managing VICIdial.

Quick disclaimer: This guide is purely technical configuration guidance. It is not legal, financial, or medical advice. Always test changes in a staging environment before production deployment.

Prerequisites checklist

  • Admin account (admin level ≥ 8).
  • Server access for uploads and optional SQL changes.
  • Phone(s) and SIP/IAx configuration ready for agents.
  • CSV lead lists prepared (with unique lead IDs) for upload.
  • A backup or snapshot of your VICIdial database/config.
  • A test agent login and at least one test DID (for inbound tests).

Key VICIdial concepts (brief)

  • Campaign: Main object that groups dialing behavior, lists, scripts, and agent permissions.
  • Ingroup: An inbound queue. Calls routed into an ingroup can be handled by agents configured to service that ingroup.
  • User Group: Logical grouping for organizational separation (permissions, limits, call quotas).
  • List: A CSV dataset of leads tied to a campaign. Lists can have overrides (status group override, ingroup override).

Overview: Two ways to handle group-specific routing

  1. Separate campaign per group (recommended for strict separation): Create an independent campaign for each group. Assign only that group's users, lists, and ingroups.
  2. One campaign + multiple lists with overrides (recommended for scale): Use a single "umbrella" campaign and rely on list overrides (ingroup override, status group override) to direct calls to the correct ingroup and agents.

Step-by-step: Create the user group and users

  1. Login to VICIdial admin with an admin account.
  2. Go to Admin → User Groups → Add A New User Group. Provide a short name and descriptive comments. Save. (How to Copy a Campaign in Vicidial)
  3. Go to Admin → Users. Create users (agents) and set user_level appropriate for agents (0–1 for agents, higher for supervisors). Link each user to the new user group.
  4. Create or confirm Inbound Permissions and allowed campaigns for each user in the user's settings.
Step by step Create ingroup inbound group
Create ingroup for the campaign

Step-by-step: Create ingroup (inbound group) for the campaign

  1. Admin → Ingroups → Add A New InGroup.
  2. Set InGroup ID (e.g., sales_north_ingroup), queue priority, music on hold, max queue size.
  3. Linked campaign(s): add the campaign (can add later).
  4. Save and note ID. Route DID to this ingroup via Admin → DID → Route DID to IN_GROUP.

Create the campaign (UI steps)

  1. Admin → Campaigns → Add A New Campaign.
  2. Campaign ID short unique (e.g., CAMP_SALES_NORTH), Campaign Name, set Active=Y.
  3. Configure Dial Statuses, Campaign Statuses, Dial Method (MANUAL/PREDICTIVE/RATIO/BLENDED).
  4. Set Auto Dial Level (start low for testing).
  5. Save the campaign.

Assign the user group and users to the campaign

  1. Admin → Campaigns → Modify your campaign → User Group or Agents.
  2. Add the user_group or individual users that will serve this campaign.

Assign lists and configure list overrides

Option A — Dedicated list per group

Option B — Shared list + list overrides

  • Use drop inbound group override or status group override to control routing.
UPDATE vicidial_lists SET campaign_id='CAMP_SALES_NORTH' WHERE list_id IN (101,102);
Configure campaign routing
Configure campaign routing & dial options

Configure campaign routing & dial options for group behavior

  • Dial Method: PREDICTIVE / RATIO / MANUAL / BLENDED.
  • Auto Dial Level: Start low when testing.
  • Drop Seconds / Drop Inbound Group Override: Control dropped inbound calls.
  • Agent Pause Codes and Wrapup: Ensure correct pause codes.
  • Campaign Time Zone / Call Time Restrictions: Configure call_time_id.
  • Recording / Monitoring Options: Set recording and live_monitor policies.

Mapping DID and Inbound routing to a group-specific campaign

  1. Admin → DIDs → Add/Modify DID. Point DID route to IN_GROUP and select the ingroup created earlier.
  2. Confirm Asterisk dialplan routes are loading. Test by dialing the DID. (How to Install Asterisk in VICIdial)

Testing checklist (do not skip)

  1. Agent login test — confirm agent sees only assigned campaign.
  2. Outbound call test — place test leads and verify dispositions/recordings.
  3. Inbound call test — dial test DID and confirm call lands in correct ingroup and agent.
  4. Blended test — if BLENDED, confirm inbound/outbound priorities.
  5. Overflow and queue test — ensure queue timeouts correct.
  6. Reporting test — run reports and confirm calls map to expected campaign/ingroup.
Agent training quality assurance
Agent training & Quality Assurance

Common pitfalls and how to fix them

  • Agents receiving calls from other campaigns: Check campaign user assignments and user_group memberships.
  • Inbound calls not ringing agents: Check DID routing, ingroup configuration, agent campaign membership.
  • Wrong dispositions/statuses in reports: Verify list status group overrides and campaign statuses.
  • High drop rates after changing dial method: Rollback to previous dial levels, reduce auto dial level.

Advanced: shared campaigns, API, and automation

  • Shared campaign dialing: Use list-level ingroup overrides and status overrides.
  • API automation: VICIdial has APIs to automate campaign creation, list uploads, and user assignments.
  • Automation example: scripted CSV upload → list create → assign list to campaign → set list overrides.
-- Assign list 101 to campaign
UPDATE vicidial_lists SET campaign_id='CAMP_SALES_NORTH' WHERE list_id=101;
-- Add a user to campaign
INSERT INTO vicidial_campaign_agents (campaign_id, user, user_level) VALUES ('CAMP_SALES_NORTH','agent123',0);
-- Set list status group override
UPDATE vicidial_lists SET status_group='SG_SALES_NORTH' WHERE list_id=101;

FAQs

1: Can I run multiple groups inside the same campaign?

Yes. Use lists with ingroup or status group overrides to route leads to different ingroups or status sets.

2: Should I use BLENDED or separate inbound/outbound campaigns?

Use BLENDED only if agents need to handle both inbound and outbound calls. For strict separation, separate campaigns are simpler to manage.

Q3: How do I reduce drop rate after increasing Auto Dial Level?

Lower the Auto Dial Level, increase agent count, or reduce lead pacing. Monitor drop metric.

Q4: Can I automate campaign creation?

Yes — via API or scripted SQL operations. Test every script in staging before production.

Q5: How do I audit which agents handled which group?

Use vicidial_log and vicidial_agent_log reports filtered by campaign_id, user, or ingroup.

Q6: My campaign shows wrong statuses in reports — why?

Check list status group overrides and campaign status configuration. Mismatched status groups scatter dispositions.

Q7: Is there an official VICIdial manual?

The community maintains documentation and the "VICIdial for Dummies" PDF is a practical starting point.

Q8: How do I keep agents from accessing PII?

Limit permissions, use access controls on recordings, and consider redaction/masking tools where required by law.

Conclusion

Implementing a group-specific campaign in VICIdial is primarily a configuration exercise, but its success depends on careful planning, testing, and operational discipline. Choose the model that fits your operations: many small campaigns for strict separation, or a single umbrella campaign with list overrides for scale. Document changes, test thoroughly, and monitor KPIs after go-live.

Talk to us