VICIfast
Glossary

User group

VICIdial's permission bucket - what a user can see, join and administer.

A user group is VICIdial's permission bucket. Every user belongs to exactly one, and the group decides what that user can reach. Groups are rows in vicidial_user_groups, and each user carries their group in vicidial_users.user_group.

What the group controls

  • Which campaigns appear in the agent screen's campaign picker
  • Which in-groups the user may take inbound calls from
  • Which other user groups they are allowed to see in reports - the lever that makes multi-tenant separation work
  • Which administrative sections and reports are reachable at all
  • Shift and hours restrictions, where you use them

The combination of user group and user_level is the whole access model. Level sets how far up the administration screens someone can go; group sets which slice of the system's data they see once they are there.

Why it matters more than it looks

Because reporting visibility is scoped by group, user groups are what let one VICIdial server carry several teams - or several clients - without each one seeing the others' campaigns, leads and statistics. An agency running three clients on one dialer gives each client its own user group, its own campaigns and its own in-groups, and supervisors on each side see only their own.

Get this wrong and the failure is quiet. Nothing errors; one client's supervisor simply finds another client's campaign in a report dropdown.

A sensible structure

For a single team, one group named for the team is enough - there is no benefit to splitting agents from supervisors, because user_level already does that.

Split into multiple groups when you have genuinely separate books of business: separate clients, separate departments that should not read each other's numbers, or contractors who should see one campaign and nothing else. Create the group before you create the users, since moving people later means re-checking every campaign and in-group they were attached to.

See also