Team Management Feature¶
Overview¶
Team Management enables businesses to manage team members, roles, permissions, invitations, and availability. The feature supports role-based access control (RBAC), team member invitations, permission management, and availability scheduling. Team members can be assigned to conversations, tasks, and deals, with availability-based auto-assignment capabilities.
Features¶
1. Team Management¶
Team Member Operations: - View all team members - Member details (name, email, role, status) - Active/inactive status - Invite new team members - Remove team members - Manage permissions - Manage availability
Invite Members: - Add new team members - Email input - Role selection (Admin, Agent, Project Manager, Team Admin) - Invitation sending - Invitation URL generation - Auto-copy invitation link
2. Member Roles¶
ConnectGain uses five roles for role-based access control.
Role Types: - Owner - Full access to all features and organization settings. - Admin - Manage users, settings, and team members. - Agent - Access to conversations, contacts, deals, and tasks. - Project Manager - Projects and project-management access. Excluded from agent auto-assignment and from agent-performance reports. - Team Admin - Manages a sub-team (its members) via the Teams tab.
Role Permissions: - Owners: Full organization access. - Admins: Manage users, settings, and team members. - Agents: Access conversations, contacts, deals, and tasks. - Project Managers: Access projects and PM features; not auto-assigned conversations/tasks and omitted from agent-performance reporting. - Team Admins: Manage the members of the sub-team they own.
3. Permissions¶
Permission Categories: - CRM Access - Access to contacts, companies, deals - Broadcast Access - Access to campaigns - PM Access - Access to projects - Custom Permissions - Feature-specific permissions
Permission Management: - Granular permission control - Permission assignment per user - Permission inheritance from roles - Custom permission sets
3. Pending Invitations¶
Invitation Management: - View pending invitations - Resend invitation email - Copy invitation link - Cancel invitation - Invitation expiration tracking
Invitation Features: - Email-based invitations - Invitation tokens - Invitation expiration (time-limited) - Resend invitations - Cancel invitations - Copy invitation links - Auto-copy functionality
Invitation Flow: 1. Admin/Owner creates invitation 2. Invitation email sent automatically 3. User receives email with invitation link 4. User clicks invitation link 5. User accepts invitation and sets password 6. User joins organization 7. User can access platform based on role
5. Availability Management¶
Availability Features: - Set availability slots - Timezone support - Day-of-week selection - Time range configuration - Multiple availability slots - Availability-based auto-assignment
6. User Profiles¶
Profile Information: - First name and last name - Email address - Profile picture (avatar) - Role assignment - Permission settings - Activity status
7. Team Statistics¶
Statistics Display: - Total team members - Active members - Pending invitations - Role distribution - Permission overview
Use Cases¶
Use Case 1: Invite Team Member¶
Scenario: Admin wants to invite new team member.
Steps: 1. Go to Settings → Team Members 2. Enter email address 3. Select role (Admin, Agent, Project Manager, or Team Admin) 4. Click "Invite" 5. Invitation email sent 6. User receives email 7. User clicks invitation link 8. User accepts invitation 9. User joins organization 10. Verify member appears in list
Expected Outcome: Team member invited and joined successfully.
Use Case 2: Set User Permissions¶
Scenario: Admin wants to customize user permissions.
Steps: 1. Go to Settings → Team Members 2. Find user 3. Click "Manage Permissions" 4. Configure permissions: - Enable CRM Access - Disable Broadcast Access - Enable PM Access 5. Save permissions 6. Verify permissions applied 7. User sees updated access
Expected Outcome: User permissions customized successfully.
Use Case 3: Set User Availability¶
Scenario: Admin wants to set agent availability for auto-assignment.
Steps: 1. Go to Settings → Team Members 2. Find agent 3. Click "Manage Availability" 4. Set availability slots: - Monday-Friday: 9:00 AM - 5:00 PM - Timezone: America/New_York 5. Save availability 6. Verify availability set 7. Test auto-assignment
Expected Outcome: Agent availability configured for auto-assignment.
Use Case 4: Remove Team Member¶
Scenario: Admin wants to remove inactive team member.
Steps: 1. Go to Settings → Team Members 2. Find member to remove 3. Verify member not owner 4. Click "Remove" 5. Confirm removal 6. Verify member removed 7. Check member deactivated
Expected Outcome: Team member removed successfully.
Test Cases¶
Test Case 1: Invite Team Member¶
Test: Verify invitation process
Steps: 1. Go to Settings → Team Members 2. Enter email: "newuser@example.com" 3. Select role: Agent 4. Click "Invite" 5. Verify invitation created 6. Verify invitation email sent 7. Check invitation in pending list 8. Copy invitation link 9. Open link in new browser 10. Verify invitation accepted
Expected Result: Invitation process works correctly
Test Case 2: Accept Invitation¶
Test: Verify invitation acceptance
Steps: 1. Receive invitation email 2. Click invitation link 3. Verify invitation page loads 4. Create account or login 5. Accept invitation 6. Verify organization joined 7. Verify role assigned 8. Verify access granted
Expected Result: Invitation accepted successfully
Test Case 3: Manage Permissions¶
Test: Verify permission management
Steps: 1. Open user permissions dialog 2. Enable CRM Access 3. Disable Broadcast Access 4. Save permissions 5. Verify permissions saved 6. Login as user 7. Verify CRM accessible 8. Verify Broadcast not accessible
Expected Result: Permissions managed correctly
Test Case 4: Set Availability¶
Test: Verify availability configuration
Steps: 1. Open availability dialog 2. Set timezone 3. Add availability slot 4. Select days of week 5. Set time range 6. Save availability 7. Verify availability saved 8. Test auto-assignment
Expected Result: Availability configured correctly
Test Case 5: Remove Member¶
Test: Verify member removal
Steps: 1. Find team member 2. Verify not owner 3. Click remove 4. Confirm removal 5. Verify member removed 6. Verify member deactivated 7. Check member cannot login
Expected Result: Member removed successfully
API Integration¶
Create Invitation¶
Endpoint: POST /functions/v1/send-invitation-email
Request:
Get Team Members¶
Endpoint: GET /rest/v1/profiles
Query Parameters:
- organization_id - Filter by organization
- is_active - Filter by status
Update Permissions¶
Endpoint: PATCH /rest/v1/profiles/{id}
Request:
Best Practices¶
- Team Organization
- Use appropriate roles
- Assign permissions carefully
- Review permissions regularly
-
Remove inactive members
-
Invitations
- Send invitations promptly
- Follow up on pending invitations
- Resend if needed
-
Cancel unused invitations
-
Permissions
- Follow principle of least privilege
- Grant only necessary permissions
- Review permissions periodically
-
Document permission changes
-
Availability
- Set accurate availability
- Update timezone correctly
- Configure realistic slots
- Review availability regularly
Troubleshooting¶
Invitation Not Received¶
Issue: User not receiving invitation email
Solutions: - Check email address correct - Verify email not in spam - Resend invitation - Check email server logs
Permission Not Working¶
Issue: User cannot access feature
Solutions: - Verify permission enabled - Check role permissions - Review permission settings - Refresh user session
Invitation Expired¶
Issue: Invitation link expired
Solutions: - Resend invitation - Generate new invitation - Check expiration date - Create new invitation
Related Documentation¶
Last Updated: January 2025