Gestão de Usuários
Crie, edite e gerencie usuários do sistema pela página /admin/users, definindo papéis e permissões de filas para cada membro da equipe.
Lista de Usuários#
A página de gestão de usuários mostra todos os membros da equipe cadastrados no sistema, com busca, filtro por papel e filtro por status:
| Nome | Papel | Filas | Status | |
|---|---|---|---|---|
| Admin Endotech | admin@endotech.com.br | Administrador | Todas | Ativo |
| Carla Mendes | carla@endotech.com.br | Gestor | Faturamento, Exceções | Ativo |
| Pedro Santos | pedro@endotech.com.br | Coordenador | Faturamento, Remessa | Ativo |
| Lucas Ferreira | lucas@endotech.com.br | Operador | Faturamento | Ativo |
| Juliana Rocha | juliana@endotech.com.br | Operador | Remessa | Inativo |
Criando Novo Usuário#
Dados do Usuário
Permissões de Filas
Selecione quais filas este usuário pode acessar:
Acesso a Contas de E-mail
Selecione de quais contas este usuário pode enviar respostas:
Convite por E-mail
Acesse gestão de usuários
Avatar → Administração → Usuários
Clique em "Novo Usuário"
Botão no canto superior direito da lista de usuários.
Preencha dados básicos
- Nome: Nome completo do membro da equipe
- E-mail: E-mail corporativo (será usado para login)
- Papel: Operador, Coordenador, Gestor ou Administrador
- Avatar: Foto opcional para identificação visual
Defina permissões de filas
Selecione quais filas este usuário pode ver e atender. Defina também a fila padrão (onde o usuário cai ao abrir o sistema). Operadores só veem tickets das filas permitidas. Gestores e administradores podem ver mais.
Defina acesso a contas de e-mail
Selecione de quais contas de e-mail este usuário pode enviar respostas. Isso controla o "De:" (From) das mensagens enviadas.
Salve e convide
O sistema cria o perfil e, se marcado, envia um e-mail de convite com link para o usuário definir sua própria senha.
Papéis do Sistema#
🔑 Administrador
Acesso total ao sistema. Pode configurar filas, e-mail, agentes de IA, gerenciar todos os usuários e ver logs de auditoria. Deve ser reservado para poucas pessoas de confiança.
- Acessa todas as filas automaticamente
- Pode criar/editar outros administradores
- Pode ver logs de auditoria
- Pode executar migrations
- Pode gerenciar RLS e segurança
👔 Gestor (Manager)
Pode ver e gerenciar tickets de todas as filas que tem acesso. Reatribui tickets, gera relatórios e supervisiona operadores. Não pode alterar configurações do sistema.
- Vê tickets de todos os operadores nas suas filas
- Pode reatribuir tickets entre operadores
- Acessa dashboard gerencial e relatórios
- Revisa tickets da fila de Exceções
- Não pode criar usuários ou alterar configurações
🎯 Coordenador
Pode ver tickets de outros operadores nas suas filas e reatribuir tickets. Atua como líder de equipe, mas sem acesso ao dashboard gerencial completo.
- Vê tickets de outros operadores nas suas filas
- Pode reatribuir tickets entre operadores
- Pode alterar prioridade e status
- Não acessa dashboard gerencial
- Não pode criar usuários ou alterar configurações
💻 Operador
Atende tickets nas filas permitidas. Pode responder, assumir tickets e adicionar comentários internos. Não pode ver tickets de outros operadores nem alterar configurações.
- Vê apenas tickets das filas permitidas
- Pode assumir e responder tickets
- Pode adicionar comentários internos
- Não pode reatribuir tickets
- Não pode ver dashboard gerencial
Matriz de Permissões de Filas#
A tabela user_queue_access controla quais filas cada operador pode acessar:
| Usuário | 🟡 Triagem | 🔵 Faturamento | 🟢 Remessa | 🔴 Exceções |
|---|---|---|---|---|
| Admin Endotech | ✓ | ✓ | ✓ | ✓ |
| Carla Mendes (Gestor) | ✓ | ✓ | ✗ | ✓ |
| Pedro Santos (Coord.) | ✓ | ✓ | ✓ | ✗ |
| Lucas Ferreira (Op.) | ✗ | ✓ | ✗ | ✗ |
Como funciona
Quando um operador faz login, o sistema consulta esta tabela e a RLS no PostgreSQL garante que ele só enxergue tickets das filas permitidas. Mesmo que tente acessar via API, a RLS bloqueia o acesso.
Fila padrão
Cada usuário tem uma fila padrão definida. É a fila que aparece selecionada quando o usuário abre o sistema. Pode ser alterada pelo administrador a qualquer momento.
Administradores e gestores
Administradores veem todas as filas automaticamente, sem necessidade de registro na tabela. Gestores veem filas explicitamente permitidas, mas podem ver tickets de qualquer operador nessas filas.
Editando Usuário#
Ao editar um usuário, você pode alterar: nome, papel, filas, assinatura de e-mail, avatar e acesso a contas de e-mail.
- Acesse gestão de usuários
- Clique no nome do usuário na lista
- Altere os campos desejados (nome, papel, filas, assinatura)
- Clique em "Salvar alterações"
Alterando papel
Mudança de papel é imediata. Se promover operador a gestor, ele passa a ver dashboard e tickets de outros. Se rebaixar gestor a operador, perde acesso imediatamente.
Alterando assinatura de e-mail
A assinatura é incluída automaticamente no final de cada resposta enviada pelo operador. Suporta texto simples com quebras de linha.
Alterando permissões de filas
Mudança é imediata. Operador pode perder acesso a tickets que estava atendendo se a fila for removida de suas permissões. Considere reatribuir tickets antes.
Magic Link e Reset de Senha#
O sistema usa magic links para autenticação, sem senhas tradicionais. Você pode gerar um novo magic link para um usuário a qualquer momento:
🔑 Gerar novo link de acesso
Isso enviará um e-mail com link mágico para o usuário redefinir seu acesso. O link expira após 24 horas.
Botão Sincronizar Auth#
O botão "Sincronizar Auth" na página de usuários força a sincronização entre o sistema de autenticação do Supabase (auth.users) e a tabela de perfis (profiles). Use quando:
- Um usuário foi criado diretamente no Supabase Dashboard
- Há inconsistência entre auth.users e profiles
- Um usuário fez login mas não aparece na lista
Ativando e Desativando Usuários#
Ativar usuário
Usuário volta a fazer login e ver tickets. Permissões permanecem como estavam antes da desativação.
Desativar usuário
Usuário não pode mais fazer login. Tickets que ele atende continuam atribuídos a ele até serem reatribuídos manualmente. Perfil e histórico são preservados.
Como a RLS Determina Acesso#
O Row Level Security (RLS) no PostgreSQL garante que cada usuário só veja os dados permitidos, mesmo que haja bug no código:
Operador faz SELECT na tabela tickets
PostgreSQL adiciona automaticamente: WHERE queue_id IN (filas do operador via user_queue_access)
Coordenador faz SELECT na tabela tickets
Vê tickets de todos os operadores nas suas filas: WHERE queue_id IN (filas do coordenador)
Gestor faz SELECT na tabela tickets
Vê tickets de todos os operadores nas suas filas: WHERE queue_id IN (filas do gestor) AND is_admin_manager() = true
Administrador faz SELECT na tabela tickets
Vê tudo sem restrições: WHERE is_admin_manager() = true (bypass)
Detalhes completos sobre RLS: Segurança e Auditoria
✅ Resumo
- ✓ Crie usuários com nome, e-mail, papel e avatar
- ✓ Defina permissões de filas e fila padrão para cada operador
- ✓ Controle acesso a contas de e-mail para envio de respostas
- ✓ Convide por link mágico — o usuário define sua própria senha
- ✓ 4 papéis: Administrador, Gestor, Coordenador, Operador
- ✓ Sempre desative, nunca delete usuários
- ✓ RLS garante acesso seguro no nível do banco de dados
- ✓ Mudanças de papel são imediatas