Overview

Once Team Inbox is deployed and configured, you can invite team members to start collaborating on customer conversations.
Team Inbox supports unlimited team members at no additional cost. Add as many agents as you need!

User Roles

Team Inbox has three user roles with different permissions:

Admin

Full Access
  • All agent permissions
  • Add/remove users
  • Configure settings
  • View all conversations
  • Manage integrations
  • Access analytics

Agent

Customer Support
  • View assigned conversations
  • Reply to messages
  • Assign conversations
  • Add conversation notes
  • Access contacts
  • Basic settings only

Viewer

Read-Only
  • View conversations
  • View contacts
  • Cannot send messages
  • Cannot assign
  • No settings access
  • For monitoring only

Adding Team Members

Option 1: Direct Database Insert (For Initial Setup)

1

Generate Password Hash

In your backend service shell (Railway → Backend → Shell):
node -e "const bcrypt = require('bcrypt'); console.log(bcrypt.hashSync('temporary-password', 10))"
Copy the output hash
2

Open Database Query Interface

Railway → PostgreSQL → “Query” tab
3

Insert New User

INSERT INTO "User" (id, email, name, password, role, "createdAt", "updatedAt")
VALUES (
  gen_random_uuid(),
  'teammate@yourcompany.com',
  'Team Member Name',
  '<paste-hashed-password>',
  'AGENT',  -- or 'ADMIN' or 'VIEWER'
  NOW(),
  NOW()
);
4

Send Credentials

Email your team member:
  • Login URL: https://your-app.railway.app
  • Email: teammate@yourcompany.com
  • Temporary password: temporary-password
  • Ask them to change password immediately
Users should change their password on first login for security

Option 2: Using Admin Panel (If Implemented)

1

Go to Admin → Team

Click “Team Management” in settings
2

Click Add Team Member

Fill in the form:
  • Email
  • Full Name
  • Role (Admin/Agent/Viewer)
3

Send Invitation

System will:
  • Create user account
  • Generate temporary password
  • Send invitation email (if email configured)

Bulk Adding Team Members

For adding multiple team members at once:
1

Prepare SQL Script

Create file add-team-members.sql:
-- Generate hashes first, then replace in script

INSERT INTO "User" (id, email, name, password, role, "createdAt", "updatedAt")
VALUES
  (gen_random_uuid(), 'agent1@company.com', 'Agent One', '<hash1>', 'AGENT', NOW(), NOW()),
  (gen_random_uuid(), 'agent2@company.com', 'Agent Two', '<hash2>', 'AGENT', NOW(), NOW()),
  (gen_random_uuid(), 'manager@company.com', 'Manager Name', '<hash3>', 'ADMIN', NOW(), NOW());
2

Execute in Database

Run the script in Railway PostgreSQL Query tab
3

Share Credentials

Send each team member their login details

Configuring Team Member Permissions

Agent Permissions

Agents can:
  • ✅ View and reply to assigned conversations
  • ✅ View unassigned conversations in inbox
  • ✅ Assign conversations to themselves or others
  • ✅ Add notes to conversations
  • ✅ Access contact information
  • ✅ Update their own profile
Agents cannot:
  • ❌ Add or remove team members
  • ❌ Access system settings
  • ❌ View admin analytics
  • ❌ Configure integrations

Admin Permissions

Admins can do everything agents can, plus:
  • ✅ Add and remove team members
  • ✅ Configure system settings
  • ✅ Set up integrations
  • ✅ View all conversations (even if assigned to others)
  • ✅ Access analytics and reports
  • ✅ Manage webhooks and API access

Viewer Permissions

Viewers have read-only access:
  • ✅ View all conversations
  • ✅ View contact information
  • ✅ Search and filter
Viewers cannot:
  • ❌ Send messages
  • ❌ Assign conversations
  • ❌ Modify any data
Use Viewer role for managers or QA who need to monitor but not respond

Setting Up Team Workflows

Conversation Assignment Strategies

  • Manual Assignment
  • Round-Robin
  • Skills-Based
Best for: Small teams (2-5 people)How it works:
  1. New conversation appears in shared inbox
  2. Team member manually assigns to themselves
  3. They handle until resolved
Pros:
  • ✅ Simple and flexible
  • ✅ Team members choose based on availability
  • ✅ Works well with specialized knowledge
Cons:
  • ⚠️ Can lead to cherry-picking
  • ⚠️ May have uneven distribution

Team Collaboration Best Practices

Use Internal Notes

Leave context for teammates:
  • Customer history
  • Previous issues
  • Special instructions
  • Follow-up needed

Tag Conversations

Organize by:
  • Priority (Urgent, Normal, Low)
  • Type (Sales, Support, Billing)
  • Status (Waiting, In Progress, Resolved)

Set Status Updates

Keep team informed:
  • “Investigating issue”
  • “Waiting on customer”
  • “Escalated to tech team”
  • “Resolved - awaiting feedback”

Use Quick Replies

Create shared templates for:
  • Common questions
  • Policy explanations
  • Troubleshooting steps
  • Follow-up messages

Team Member Onboarding

Onboarding Checklist for New Team Members

1

Send Welcome Email

Include:
  • Login URL
  • Temporary password
  • Team Inbox user guide link
  • Team communication channels (Slack, etc.)
2

First Login Setup

Have them:
  • Change password
  • Update profile name
  • Enable push notifications
  • Set language preference
3

Review User Guide

Walk through:
  • Inbox navigation
  • How to reply to messages
  • Assigning conversations
  • Using quick replies
  • Adding notes
4

Shadow Experienced Agent

For first few hours:
  • Watch how conversations are handled
  • Ask questions
  • Practice with test conversations
5

Supervised Practice

Have them handle conversations with oversight:
  • Assign them easier conversations
  • Review their responses
  • Provide feedback
6

Independent Work

After 1-2 days, let them work independently:
  • Monitor quality
  • Check in regularly
  • Provide ongoing coaching

Training Resources

Create these for your team:

Team Inbox User Guide

  • How to use the interface
  • Keyboard shortcuts
  • Best practices
  • Common scenarios

Company Policies

  • Response time goals
  • Tone and voice guidelines
  • Escalation procedures
  • Privacy policies

FAQ Answers

  • Common customer questions
  • Approved responses
  • Where to find information
  • When to escalate

WhatsApp Guidelines

  • WhatsApp-specific etiquette
  • Formatting messages
  • Sending media
  • Template messages

Managing Team Performance

Set Clear Expectations

Define SLAs for your team:
  • First response: Within 5 minutes during business hours
  • Resolution: Within 24 hours for most issues
  • Complex issues: Within 48 hours
  • Friendly, professional tone
  • Complete sentences and proper grammar
  • Personalize responses (use customer name)
  • Verify issue is resolved before closing
  • Ask if customer needs anything else
  • Handle assigned conversations first
  • Check for unassigned conversations in shared inbox
  • Follow up on pending conversations
  • Update conversation notes
  • Keep conversations organized

Monitor Team Activity

Track these metrics:

Response Time

Average time to first response and resolution

Conversation Load

Number of active and closed conversations per agent

Customer Satisfaction

Feedback and ratings (if implemented)

Team Communication

Daily Team Practices

1

Morning Check-In

  • Review overnight messages
  • Assign urgent conversations
  • Set priorities for the day
2

Mid-Day Sync

  • Quick status update
  • Escalate any blockers
  • Redistribute workload if needed
3

End-of-Day Wrap

  • Resolve or hand off open conversations
  • Add notes for next shift
  • Flag anything urgent for tomorrow

Team Communication Channels

Besides Team Inbox, set up:

Slack/Discord Channel

For quick team questions and updates

Weekly Team Meeting

Review metrics, share learnings, discuss improvements

Knowledge Base

Document solutions to common issues

Escalation Process

Clear path for complex issues

Removing Team Members

When someone leaves the team:
1

Reassign Their Conversations

Before removing:
-- Find their conversations
SELECT * FROM "Conversation" WHERE "assignedToId" = '<user-id>';

-- Reassign to another team member
UPDATE "Conversation"
SET "assignedToId" = '<new-user-id>'
WHERE "assignedToId" = '<old-user-id>';
2

Disable or Delete Account

Option 1: Disable (recommended - preserves history)
UPDATE "User"
SET "isActive" = false
WHERE id = '<user-id>';
Option 2: Delete (removes all traces)
DELETE FROM "User" WHERE id = '<user-id>';
3

Revoke Access

They will no longer be able to log in

Next Steps