All docs

How to set up inbound campaigns

VICIdial inbound — DIDs, in-groups, IVR, agent assignment, after-hours fallback.

VICIdial handles inbound calls through In-Groups. Calls land on a DID → route to an in-group → distributed to logged-in agents.

Wire your DID

Admin → Inbound DIDs → Add a New DID:

  • DID: the phone number (digits only, no formatting)
  • Active = Y
  • Route = INGROUP
  • In-Group: which queue handles this DID

The carrier-side configuration (their inbound webhook / SIP URI) needs to point at your VICIdial server's public IP on port 5060.

Create the in-group

Admin → In-Groups → Add a New In-Group:

  • Group ID: short name
  • Group Name: human-readable
  • Active = Y
  • Closer Campaign: optional, for warm-transfer flows
  • MOH (music on hold): pick one
  • Queue Priority: 1-99, higher = faster pickup

Assign agents to the in-group

Admin → User → [agent] → Closer Campaigns → check the in-group.

Agent must log in + select the in-group from their available campaigns dropdown.

IVR tree

For "press 1 for X" menus, use Asterisk dial-plan. Edit /etc/asterisk/extensions-vicidial.conf (or a custom context file):

[inbound-main]
exten => s,1,Answer()
exten => s,n,Background(welcome-press-1-or-2)
exten => 1,1,Goto(custom-sales,s,1)
exten => 2,1,Goto(custom-support,s,1)
exten => t,1,Goto(custom-sales,s,1)  ; timeout default

[custom-sales]
exten => s,1,Goto(default,8300,1)  ; in-group SALES (id 8300)

[custom-support]
exten => s,1,Goto(default,8400,1)  ; in-group SUPPORT

Reload: asterisk -rx "dialplan reload".

After-hours fallback

In the in-group config:

  • Drop Call URL: send to voicemail or external number when no agents are available
  • Drop Time: max wait before fallback fires
  • No-Answer URL: where calls go if no in-group agents are logged in

For 24/7 routing with after-hours to a different system, use the dial-plan's time-of-day branch:

exten => s,1,GotoIfTime(09:00-17:00|mon-fri|*|*?day-context|s|1:night-context|s|1)

Skill-based routing

Configure agent skills (Admin → Skills) + in-group required skill score. Calls route to agents whose skill matches.

Reports

Admin → Reports → In-Group Stats. Shows answered / abandoned / wait time per in-group.

Related