Product
Group Management
User collections for bulk permission assignment
TL;DR
User collections for bulk permission assignment. Groups assign permissions to multiple users at once.
Key Takeaways
- What are Groups?
- Create Group
- Group Hierarchy
- Manage Members
- Assign Resources
- Auto-Assignment Rules
User collections for bulk permission assignment.
What are Groups?
Groups assign permissions to multiple users at once.
Use cases:
- Department-based access (Sales, Support, Engineering)
- Role-based access (Managers, Agents, Viewers)
- Project-based access (Project Alpha team, Beta testers)
Benefits:
- Add user to group → inherits all group permissions
- Change group permissions → affects all members
- Remove user from group → removes all group permissions
Create Group
Location: Admin → Groups → Create New Group
Required fields:
- Name: e.g., "Customer Support Team" (unique per org)
- Description: e.g., "Tier 1 and 2 support agents"
Optional fields:
- Parent Group: For hierarchical permissions (dropdown)
- Auto-Assignment Rule: Regex for email matching (advanced)
Steps:
- Fill form fields
- Click Create Group
- Group appears in list (initially 0 members)
Expected result: Group ID generated (format: grp_abc123), status "Active"
API equivalent:
POST /api/v1/groups
{
"name": "Engineering Team",
"description": "All engineers",
"parent_group_id": null
}
Group Hierarchy
Parent-Child Relationships
Company
├─ Sales
│ ├─ Sales Reps
│ └─ Sales Managers
├─ Support
│ ├─ Tier 1 Support
│ ├─ Tier 2 Support
│ └─ Support Managers
└─ Engineering
├─ Frontend Team
└─ Backend Team
Benefits:
- Inherited permissions
- Logical organization
- Easier management
- Scalable structure
Permission Inheritance
Parent Group: "Support"
→ Access: "Basic Support Agent"
Child Group: "Tier 2 Support"
→ Inherits: "Basic Support Agent"
→ Additional: "Advanced Support Agent"
Manage Members
Add Members
Individual:
- Groups → [Group Name] → Members tab
- Click Add Member button
- Search by email or name
- Select user from dropdown
- Assign role: Member or Manager
- Click Add
Expected result: User appears in members list immediately, inherits group permissions on next login/refresh
Bulk (CSV import):
- Members tab → Import button
- Download template CSV
- Fill:
email,role(role:memberormanager) - Upload CSV
- Review preview (shows: added, skipped, errors)
- Confirm import
Max import: 1,000 users per CSV
Remove Members
- Members tab → find user
- Click × icon
- Confirm: "Remove [user] from [group]?"
Expected result: User immediately loses group permissions, but retains individual role permissions
Member Roles in Group
| Role | Can use group resources | Can add/remove members | Can modify group |
|---|---|---|---|
| Member | ✅ | ❌ | ❌ |
| Manager | ✅ | ✅ | ❌ |
Note: Group role separate from user's org-level role (ReadOnly/Train/Configure/Admin)
Assign Resources
Assign Agents to Group
Location: Groups → [Group Name] → Agents tab
- Click Add Agent button
- Select agents (checkboxes, multi-select)
- Choose permission level:
- View & Use: Query agent only
- Edit: Modify agent config
- Click Assign
Expected result: Group members can now access these agents
Bulk via API:
POST /api/v1/groups/grp_abc123/agents
{
"agent_ids": ["agent_1", "agent_2"],
"permission": "view_and_use"
}
Assign Data Sources
Location: Groups → [Group Name] → Data Sources tab
Same process as agents. Permissions:
- View: See data source details
- Use: Query uses this data
- Edit: Modify sync settings
Auto-Assignment Rules
Rule-Based Assignment
Automatically add users to groups based on attributes:
By Email Domain:
{
"rule": "user.email endsWith '@support.company.com'",
"action": "ADD_TO_GROUP",
"group": "Support Team"
}
By Department:
{
"rule": "user.department == 'Engineering'",
"action": "ADD_TO_GROUP",
"group": "Engineering Team"
}
By Title:
{
"rule": "user.title contains 'Manager'",
"action": "ADD_TO_GROUP",
"group": "Managers"
}
SSO Attribute Mapping
Map SSO groups to Twig groups:
{
"ssoGroupMapping": [
{
"ssoGroup": "Azure-Support-Team",
"twigGroup": "Support Team",
"role": "MEMBER"
},
{
"ssoGroup": "Azure-Support-Managers",
"twigGroup": "Support Managers",
"role": "MANAGER"
}
]
}
Users automatically added/removed as SSO groups change.
Group Analytics
Usage Metrics
Group: Support Team (45 members)
├─ Queries (30d): 12,450
├─ Avg per Member: 276
├─ Most Used Agent: Support Agent
├─ Accuracy Rate: 89%
└─ Response Time: 1.9s
Performance Comparison
| Group | Queries | Accuracy | Satisfaction |
|---|---|---|---|
| Tier 1 Support | 8,200 | 87% | 4.3 |
| Tier 2 Support | 4,250 | 92% | 4.6 |
Troubleshooting
Group Doesn't Appear When Assigning Agent
Symptom: Group missing from dropdown when assigning agent access
Diagnostic steps:
- Admin → Groups → verify group status "Active" (not "Archived")
- Check group has ≥1 member
- Verify you have Admin or Configure role
Fix: If group archived, click Unarchive. If no members, add at least 1 user.
User Doesn't Inherit Group Permissions
Symptom: User added to group but can't access group's agents
Diagnostic steps:
- Groups → [Group Name] → Members → verify user listed
- Groups → [Group Name] → Agents → verify agents assigned
- Have user log out and log back in (permissions cached for 5 minutes)
Fix: If user still can't access after re-login, remove and re-add user to group.
Auto-Assignment Rule Not Working
Symptom: New users with matching email not added to group (Enterprise SSO feature)
Diagnostic steps:
- Groups → [Group Name] → Settings → verify Auto-Assignment enabled
- Check rule syntax:
email.endsWith('@support.company.com')(exact format) - Admin → Logs → filter by "auto_assignment" → check error messages
Fix: Common syntax errors:
- Missing quotes around domain: Use
'@company.com'not@company.com - Wrong operator: Use
endsWithnotends_with
When This Doesn't Apply
Groups available on Pro and Enterprise plans only. Free plan users manage permissions per-user.
Next Steps
User Management - Add/remove users
User Permissions - Role definitions
Agent Instructions: Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on the current page URL with the ask query parameter:
GET /dev/product/administration/group-management.md?ask=<question>
The question should be specific, self-contained, and written in natural language. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
People also ask
Last updated January 26, 2026


