Runbook - Equipe e Multicontas do Sagazchat
Manual operacional para uma IA ou pessoa gerenciar Configurações Equipe e a funcionalidade multicontas (acesso a varias empresas com um mesmo login).
Manual operacional para uma IA ou pessoa gerenciar Configurações > Equipe e a funcionalidade multicontas (acesso a varias empresas com um mesmo login).
Status: parcialmente validado em 2026-05-11 na conta
exemplo. A conta de teste tem apenas 1 usuario (o proprio admin de exemplo), o que limita o que e possivel inspecionar sem disparar convite real. Lista e modal de convidar estao validados. Edicao de perfil/departamentos de outro usuario fica como [a validar].
1. Onde fica
- Sidebar: Configurações > Equipe
- URL da lista:
https://app.sagazchat.com/users - Endpoint backend:
/users(confirmar em proxima rodada).
2. Estrutura da lista
A tela /users mostra:
- breadcrumb Painel de controle > Equipe;
- botoes no topo direito: Convites (lista os convites pendentes) e Adicionar usuário;
- filtros Status e Perfil no topo da tabela;
- campo de busca Procure por nome;
- tabela com colunas:
- Nome
- Perfil (
adminouuser) - Status (
Ativoou outros)
- icone de refresh ao lado direito.

Quirk validado em 2026-05-11: a linha do proprio usuario logado (admin) nao tem botao de acoes/kebab — ele nao se edita pela UI da lista. Isso bloqueia auditoria de campos de edicao quando a conta so tem 1 admin.
3. Regras de cadastro
Fonte: confirmacao direta do administrador em 2026-05-11 (informacao nao visivel na UI).
- Convite por e-mail: o modal Convidar usuário so pede um email.
- A pessoa precisa ja ter conta no Sagazchat para o convite funcionar. Convidar um email que nao tem conta nao da acesso. URLs confirmadas pelo administrador em 2026-05-11:
- Site institucional:
https://sagazchat.com - Cadastro:
https://app.sagazchat.com/cadastro - Login:
https://app.sagazchat.com/login
- Site institucional:
- Atendentes geralmente usam conta free. A conta free serve apenas para ativar a funcao multicontas — ela nao da acesso direto ao painel sozinha.
- Conta free expira em 3 dias se nao for vinculada como multicontas a uma conta paga. Mas a conta como identidade NAO precisa ser recriada — mesmo apos expirar o periodo de teste, ela continua valida para receber/aceitar convites de outras empresas. Corrigido apos feedback do administrador em 2026-05-11.
- Apos aceitar o convite, o usuario passa a ver a empresa no seletor Minhas empresas no topo da sidebar (ver § 6).
4. Convidar usuario
4.1 UI
-
Clicar Adicionar usuário no canto superior direito.
-
Modal Convidar usuário abre com:
- campo E-mail para convite (
input[name="email"], placeholder “Informe o e-mail”); - botoes Cancelar / Convidar.

- campo E-mail para convite (
-
Preencher email + clicar Convidar.
4.2 Endpoint validado (2026-05-15)
POST https://backend.sagazchat.com/users/invitation
Authorization: Bearer <jwt>
Content-Type: application/json
{"email":"usuario@exemplo.com"}
Resposta de sucesso (status 200):
{"message":"INVITED"}
4.3 Resultado esperado
- Se o email tem conta Sagazchat → aparece na aba Convites como pendente até o usuário aceitar.
- Se o email nao tem conta → retorna 200
{"message":"INVITED"}mas nao aparece nos Convites pendentes — o convite é silenciosamente descartado. A pessoa precisa criar conta emhttps://app.sagazchat.com/cadastroprimeiro.
Validado em 2026-05-15 na conta Auto Center Exemplo: 3 convites enviados. Um convidado (tem conta) → apareceu nos pendentes. atendimento e financeiro (sem conta) → retornaram 200 mas nao apareceram.
4.3 Aba Convites
Clicar no botao Convites mostra os convites enviados. Estado validado na conta exemplo: vazia (Nenhum convite).

5. Perfis e permissoes
Pela coluna Perfil observada, ha dois valores:
- admin — acesso completo as configuracoes.
- user — atendente, com acesso limitado (a confirmar quais areas).
Restricoes adicionais por usuario citadas no user-facing original (atendimento/equipe.md antigo): “vincular aos departamentos que atendem” e “restringir funcionalidades específicas”. A UI de edicao com esses campos so aparece em usuarios diferentes do proprio admin logado — nao foi possivel auditar nesta sessao porque a conta lab so tem 1 admin.
[a validar]: campos exatos da edicao, lista de funcionalidades restringiveis, comportamento do checkbox de departamento, se admin pode rebaixar outro admin.
5.bis Editar o proprio cadastro (admin) — via Perfil na sidebar
Caminho descoberto em 2026-05-11: o admin nao se edita pela tela /users (linha sem botao). O caminho correto e:
-
Clicar no avatar/nome do usuario no rodape da sidebar — logo acima de Suporte. Texto exibido:
I(avatar) +exemplo(nome).
-
Popover abre com 4 opcoes:
- Perfil (estado/visualizacao)
- Editar perfil — abre modal de edicao
- Sons de notificações — sliders
Volume chat aberto/fechadoeVolume mensagens - Sair da conta
-
Clicar Editar perfil abre o modal Editar:

Campos:
- Nome (
input[name="name"]) - Senha (
input[name="password"], deixar vazio mantem a atual) - Email (
input[name="email"]) - Departamentos (combobox multi-select, chips com X para remover; opcoes vem de
/queue) - botao Permissões avançadas
- botoes Cancelar / Salvar
No admin lab
admin@exemplo.com, os 3 departamentos vinham pre-selecionados (Comercial - Atendente 1,Comercial - Atendente 2,Financeiro/RH). - Nome (
5.bis.1 Permissoes avancadas — matriz completa
Click Permissões avançadas abre segundo dialog sobre o primeiro. Topo tem switch Ativar permissões avançadas (off por padrao — quando off, o perfil base manda; quando on, valem essas checkboxes granulares).

Lista completa das areas + acoes (validado em 2026-05-11):
| Area | Acoes |
|---|---|
| Tela principal | Ver Dashboard · Ver Painel de vendas |
| Fluxos de conversa | Ver · Criar · Editar · Deletar |
| Kanban | Ver · Criar · Editar · Deletar |
| Atendimento IA | Ver · Criar · Editar · Deletar |
| Transmissão | Ver · Criar · Editar · Deletar |
| Audiência | Ver · Criar · Editar · Deletar |
| Gerente de grupos | Ver · Carregar · Ativar |
| Fluxos de grupos | Ver · Criar · Editar · Deletar |
| Webhook | Ver · Criar · Editar · Deletar |
| Campanhas | Ver · Criar · Editar · Deletar |
| Remarketing | Ver · Criar · Editar · Deletar |
| Agendas | Ver · Criar · Editar · Deletar |
| Email (Live-Chat) | Listar emails · Responder emails |
| Forçar assinatura | |
| Forçar assinatura | |
| Forçar assinatura | |
| Empresa (admin) | Configuração |
| Respostas rápidas (admin) | Ver · Criar · Editar · Deletar |
| Etiquetas (admin) | Ver · Criar · Editar · Deletar |
| Equipe (admin) | Ver · Criar · Editar · Deletar |
| Horários (admin) | Configurar |
| Departamentos (admin) | Ver · Criar · Editar · Deletar |
| Fluxo padrão (admin) | Configurar |
| Conexões (admin) | Configurar |
| API (admin) | Ver |
Total: 22 areas. Areas marcadas (admin) sao tipicamente reservadas para perfil admin — quando “Ativar permissoes avancadas” estiver on para perfil user, marcar essas equivale a dar privilegio admin pontual.
Botoes do dialog: Fechar / Salvar.
Quirk: Forçar assinatura (WhatsApp/Instagram/Email) sao as unicas tres checkboxes em off por padrao no admin master. Indicam restricao ativa quando ligadas.
6. Multicontas — trocar de empresa
O seletor de empresa fica no topo da sidebar, logo abaixo do logo. Mostra o rotulo “Empresa” + o nome da empresa atual + chevron >.

Clicar no seletor abre o popover Minhas empresas com:
- campo de busca Busque por empresa;
- lista de todas as empresas as quais o usuario tem acesso (incluindo a atual destacada).

Exemplo real validado: o login admin@exemplo.com (admin da exemplo) tem acesso a 5 empresas: Empresa A, Empresa B, Empresa C, Empresa D, Empresa E.
Clicar no nome de outra empresa muda toda a sidebar/contexto para aquela conta.
Este e o unico mecanismo de troca de empresa dentro do Sagazchat. Nao ha menu de usuario ou settings — e via sidebar topo.
7. Acoes seguras e perigosas
| Acao | Impacto | Regra |
|---|---|---|
| Abrir lista | Leitura | Seguro. |
| Buscar/filtrar | Leitura | Seguro. |
| Trocar empresa via seletor | Muda contexto da sidebar | Seguro, mas atencao: operacoes seguintes afetam a empresa selecionada. Confirmar visualmente que voltou para a esperada. |
| Convidar email real | Dispara envio de convite (e cria registro) | Nao fazer sem autorizacao. Convite consome assento no plano. |
| Editar perfil de outro usuario | Altera permissoes/departamentos | Nao fazer sem ordem explicita. |
| Remover usuario | Tira acesso a empresa | Destrutivo, nao fazer sem ordem. |
8. Quirks descobertos
- Admin nao edita a si proprio via UI: linha do usuario logado nao tem botao de acoes.
- Convite exige conta previa no Sagazchat (regra de negocio, nao validada pela UI — UI aceita qualquer email no campo).
- Conta free expira em 3 dias se nao for vinculada como multicontas a uma conta paga.
- Multicontas e a unica forma de atendentes acessarem varias empresas com o mesmo login.
- Seletor de empresa fica no topo da sidebar, nao em um menu de avatar/usuario (como em outras SaaS).
9. Snippets
9.1 Listar usuarios via API (tentativa)
const v = localStorage.getItem('token');
const token = v?.startsWith('"') ? JSON.parse(v) : v;
const res = await fetch('https://backend.sagazchat.com/users', {
headers: { Authorization: `Bearer ${token}` },
});
console.log(await res.json());
[a validar] o endpoint exato (pode ser /users, /team, /members etc).
9.2 Listar empresas do login
[a investigar] qual endpoint alimenta o popover Minhas empresas (provavelmente /companies ou /me/companies).
10. Imagens
public/media/nova-ui/equipe-lista.pngpublic/media/nova-ui/equipe-modal-convidar.pngpublic/media/nova-ui/equipe-convites.pngpublic/media/nova-ui/equipe-seletor-empresa-fechado.pngpublic/media/nova-ui/equipe-seletor-empresa-aberto.png
11. Pendencias para proxima rodada
Convidar email lab → mapear payload do POST + estado na aba Convites + comportamento se conta nao existe.RESOLVIDO 2026-05-15: endpointPOST /users/invitation, payload{"email":"..."}, resposta{"message":"INVITED"}.- Apos aceitar convite e haver 2+ usuarios na conta, editar perfil do user lab e mapear:
- Campos do modal de edicao (perfil, departamentos, restricoes).
- Endpoint exato (
PUT /users/{id}ou similar). - Lista exata de funcionalidades restringiveis.
- Mapear endpoint do popover Minhas empresas.
- Validar se admin pode rebaixar outro admin a user e vice-versa.
12. Scripts validados
node scripts/sagaz-equipe-mapear.mjs # lista
node scripts/sagaz-equipe-modal.mjs # modal Convidar usuário + Convites
node scripts/sagaz-equipe-editar.mjs # tentativa de editar (falhou: admin nao tem kebab)
node scripts/sagaz-equipe-seletor-empresa.mjs # popover Minhas empresas
node scripts/sagaz-equipe-convidar-exemplo.mjs # convite real x3 + captura endpoint (validado 2026-05-15)