> ## Documentation Index
> Fetch the complete documentation index at: https://docs.switchbord.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Recursos Avançados do Inbox

> Potencializando a produtividade dos agentes com suporte a mídia, pesquisa avançada e integração com CRM.

O Inbox do Switchbord é mais do que uma interface de chat; é uma ferramenta de alta performance para gestão de relacionamento com o cliente.

## Mídia e anexos

O suporte a mídia rica permite que os agentes ofereçam um atendimento completo:

* **Suporte a imagem/vídeo**: Renderização inline de mídia recebida.
* **Envio de documentos**: Compartilhe PDFs, recibos ou manuais diretamente no chat.
* **Mensagens de voz**: Ouça as notas de voz dos clientes diretamente no inbox.
* **Arrastar e soltar**: Faça upload de anexos facilmente arrastando-os para o campo de composição.

## Pesquisa e filtragem avançadas

Encontre exatamente o que você precisa em segundos, mesmo entre milhares de conversas.

### Pesquisa global

Pesquise por palavras-chave em todo o histórico de mensagens. O mecanismo indexa tanto mensagens recebidas quanto enviadas para recuperação rápida.

### Filtragem de conversas

Filtre a visualização do inbox por:

* **Assignee**: Veja as conversas tratadas por membros específicos da equipe.
* **Tags**: Explore segmentos específicos (por exemplo, "Urgente", "Lead").
* **Status**: Alterne entre os estados `Open`, `Pending` e `Resolved`.
* **Não lidas / Não respondidas**: Concentre a lista nas conversas que ainda precisam de atenção do operador.
* **Groups**: Mostre apenas conversas de grupo do WhatsApp identificadas por metadados, úteis para pilotos internos de equipe e operações de coortes de turismo.
* **Última interação**: Encontre conversas que estão inativas por um período específico.

### Conversas em grupo do WhatsApp

O Switchbord pode marcar conversas como grupos por meio de `conversations.metadata` e exibi-las no inbox por meio de uma pílula **Groups** ao lado dos filtros de conversa. Este primeiro lançamento é uma base de visibilidade e filtragem: o gerenciamento completo do ciclo de vida de grupos, o gerenciamento de participantes, os controles de link de convite e as restrições de envio específicas de grupo permanecem como trabalho futuro.

## Saúde da conexão

### Keepalive em tempo real e o banner de conexão

O inbox depende de um WebSocket persistente do Supabase Realtime para exibir mensagens recebidas em tempo real. Abas do navegador em segundo plano ou "adormecidas" reduzem a frequência dos timers, e o sistema operacional pode encerrar esse socket sem que a aba perceba — a clássica falha em que "o app parece fora do ar até eu fazer um hard-refresh". Um hook `useRealtimeKeepalive` agora mantém a conexão íntegra:

* **Ao despertar a aba** (`visibilitychange → visible`, `focus` da janela, ou o evento `online` do navegador), ele reconecta o socket e os canais em tempo real, se estiverem instáveis, e **sempre** executa uma nova busca de recuperação das conversas e da conversa aberta — uma aba adormecida geralmente perdeu eventos, mesmo que o próprio socket tenha sobrevivido.
* **Uma verificação de heartbeat** a cada 20 segundos, apenas enquanto a aba está visível, confirma que o socket ainda reporta estar conectado. Caso contrário, ele se recupera automaticamente — a conexão não pode permanecer silenciosamente inativa por tempo indefinido.
* **Rajadas de despertar são agrupadas (debounced)** em uma única rodada de recuperação, já que `visibilitychange`, `focus` e `online` costumam disparar juntos.

O inbox exibe esse estado por meio de um banner visível acima da lista de conversas, localizado em todos os 7 idiomas do app:

| Banner               | Quando                                                          | Aparência                                          |
| -------------------- | --------------------------------------------------------------- | -------------------------------------------------- |
| "Reconectando…"      | O socket está instável e o hook de keepalive está recuperando-o | Âmbar, ícone de spinner                            |
| "Você está offline…" | `navigator.onLine` é false                                      | Vermelho, ícone offline                            |
| *(oculto)*           | Conectado (o estado estável)                                    | Sem banner — nenhuma interface extra no caso comum |

<Info>
  Todo o propósito deste recurso é garantir que o inbox nunca *pareça* estar em tempo real enquanto na verdade está desconectado. Se você vir conversas obsoletas sem nenhum banner, isso é um bug — registre-o em vez de assumir que um hard-refresh corrigiu silenciosamente algo que estava quebrado.
</Info>

## Abas de conversa persistentes

Acima do painel de chat, o inbox mantém abas no estilo Chrome para as conversas que um operador tem abertas — assim, alternar entre algumas conversas ativas não exige voltar à barra lateral a cada vez.

* As abas têm um limite de **8** — abrir uma nona conversa descarta a aba mais antiga.
* Desde a v0.18.14/v0.18.22, as abas **persistem entre atualizações de página** (F5 manual, atualização de um server component, ou uma remontagem causada por tempo real) via `localStorage`, isoladas por workspace (`switchbord.inbox.tabs.<workspaceId>`), de forma que as abas nunca se misturem entre workspaces. Leituras/escritas são seguras para SSR e tolerantes a valores armazenados corrompidos ou vazios.
* Uma aba cuja conversa tem mensagens recebidas não lidas recebe o mesmo destaque esmeralda de uma linha não lida na lista de conversas — preenchimento, um destaque na borda superior, um ponto esmeralda e um título em negrito. A aba ativa nunca mostra como não lida (visualizar uma conversa a marca como lida).
* Cada aba também exibe o status ao vivo do GB-Agent "Draft with me" daquela conversa (violeta/pulsante enquanto gera, verde quando pronto, âmbar em handoff, vermelho em falha, oculto quando ocioso) — veja [Conector gb-agent → Draft with me](/pt-BR/platform/gb-agent-connector#draft-with-me-assistência-por-streaming-por-conversa) para a semântica completa do indicador de status.

## Integração com CRM

O Inbox está integrado de forma estreita com o banco de dados de contatos:

* **Barra lateral de contato**: Veja perfis detalhados de clientes, incluindo campos personalizados e atividade passada, sem sair da conversa.
* **Gerenciamento de tags**: Adicione ou remova tags em tempo real para atualizar o segmento de um contato.
* **Resolução de avatar**: Busca automaticamente avatares de perfis públicos ou integrações de CRM, para ajudar os agentes a reconhecerem contatos frequentes.

## Ferramentas de produtividade

* **Respostas rápidas**: Templates pré-definidos para perguntas comuns, garantindo respostas rápidas e consistentes.
* **Notas internas**: Deixe comentários privados para outros membros da equipe dentro de uma conversa.
* **Lógica de atribuição**: Roteie conversas manual ou automaticamente para o agente ou equipe correta.
