Modules
Modules are feature areas of the platform that can be controlled through permissions. Each module represents a distinct functional area (Dashboard, Contacts, Campaigns, Billing, etc.) and has associated permissions that determine what actions users can perform within that module. Understanding modules helps you configure access control effectively by organizing permissions by feature area.
Understanding Modules
Modules organize the platform into logical feature areas, each with its own set of permissions.
Feature Organization
Modules represent major feature areas like Contacts, Campaigns, Billing, etc. Each module groups related functionality together for easier access control.
Permission Control
Each module has associated permissions (view, create, edit, delete, export) that control access to its features. Users need appropriate permissions to access modules.
Common Modules
The platform includes numerous modules covering different functional areas:
Dashboard
Analytics, metrics, and overview data. Permissions: view
Templates
Message and content templates. Permissions: view, create, edit, delete
Contacts
Contact management and lists. Permissions: view, create, edit, delete, export
Calls
Call history and records. Permissions: view, edit, export
Campaigns
Outbound calling campaigns. Permissions: view, create, edit, delete
Flags
Contact segmentation flags. Permissions: view, create, edit, delete
Prompts
AI assistant prompts. Permissions: view, create, edit, delete
Numbers
Phone number management. Permissions: view, create, edit, delete
Appointments
Scheduling and appointments. Permissions: view, create, edit, delete
Billing & Plans
Billing, wallet, subscriptions. Permissions: view, edit, refill (wallet), create (subscriptions)
Settings
Platform configuration. Permissions: view, edit (restricted to admins)
Teams
Team management. Permissions: view, create, edit, delete
Module Access Control
Access to modules is controlled through permissions assigned to roles.
Access Requirements
To access a module, users must have:
- A Role Assigned: Users must have at least one role assigned. Users without roles cannot access any modules.
- Module Permission: The user's role(s) must include at least one permission for the module (typically "view" permission).
- Workspace Access (if applicable): If using workspaces, the user must have the role assigned in the correct workspace context.
Super Admin Exception: Super Admins bypass all permission checks and have access to all modules regardless of role assignments.
Permission Hierarchy
Permissions typically follow a hierarchy:
Common Permission Patterns
- View is Required: Most modules require "view" permission before other permissions can be used. You typically can't create or edit without being able to view.
- Create Often Requires View: To create records, users usually need both "view" and "create" permissions.
- Edit Requires View: To edit records, users need "view" and "edit" permissions. You can't edit what you can't see.
- Delete is Independent: Delete permission can be granted independently, but it's typically restricted to senior roles.
- Export May Require View: Export permission often requires view permission, as you need to see data to export it.
Module Access Guidelines
Follow these guidelines when configuring module access:
Least Privilege Principle
- Grant Only What's Needed: Only grant access to modules that users need for their day-to-day tasks. Don't grant access "just in case".
- Start with View: When granting module access, start with view permissions only. Add create/edit permissions only when necessary.
- Review Regularly: Periodically review module access to ensure users still need access to all modules they can currently access.
Restrictive Access
- Restrict Destructive Actions: Delete and export permissions should be limited to senior roles. These actions can have significant consequences.
- Protect Sensitive Modules: Modules like Billing, Settings, and Role Management should have restricted access. Only grant to trusted administrators.
- Separate Concerns: Don't grant billing access to sales teams, or campaign delete permissions to analysts. Keep access aligned with job functions.
Workspace Scoping
- Combine with Workspaces: Use workspace scoping to further restrict module access. Users can have different module access in different workspaces.
- Workspace-Specific Roles: Create roles tailored to specific workspaces. A user might need full access in one workspace but read-only in another.
- Isolated Access: Module access in one workspace doesn't affect access in another workspace. This provides precise control.
Best Practices
Module Organization
- Group by Function: When creating roles, group module permissions by job function. Sales teams need Contacts and Campaigns, not Billing.
- Consistent Patterns: Follow consistent permission patterns across modules. If a role needs to edit contacts, it probably needs to edit campaigns too.
- Document Access: Document why certain roles have access to specific modules. This helps with audits and future reviews.
Security
- Protect Sensitive Modules: Modules containing sensitive data (Billing, Settings) should have restricted access. Only grant to trusted administrators.
- Regular Audits: Conduct regular audits of module access to ensure users only have access to modules they need.
- Monitor Usage: Track which modules are actually being used. Remove access to unused modules to reduce attack surface.