Skip to content

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:

{
 "email": "user@example.com",
 "role": "AGENT",
 "organization_id": "org-uuid"
}

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:

{
 "permissions": {
 "can_access_crm": true,
 "can_access_broadcast": false,
 "can_access_pm": true
 }
}


Best Practices

  1. Team Organization
  2. Use appropriate roles
  3. Assign permissions carefully
  4. Review permissions regularly
  5. Remove inactive members

  6. Invitations

  7. Send invitations promptly
  8. Follow up on pending invitations
  9. Resend if needed
  10. Cancel unused invitations

  11. Permissions

  12. Follow principle of least privilege
  13. Grant only necessary permissions
  14. Review permissions periodically
  15. Document permission changes

  16. Availability

  17. Set accurate availability
  18. Update timezone correctly
  19. Configure realistic slots
  20. 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



Last Updated: January 2025