> ## 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.

# Funzionalità avanzate della Posta in arrivo

> Potenziare la produttività degli operatori con supporto media, ricerca avanzata e integrazione CRM.

La Posta in arrivo di Switchbord è molto più di una semplice interfaccia di chat: è uno strumento ad alte prestazioni per la gestione delle relazioni con i clienti.

## Media e allegati

Il supporto per i media avanzati permette agli operatori di fornire assistenza completa:

* **Supporto immagini/video**: rendering inline dei media ricevuti.
* **Invio di documenti**: condividi PDF, ricevute o manuali direttamente in chat.
* **Messaggi vocali**: ascolta le note vocali dei clienti direttamente nella posta in arrivo.
* **Trascina e rilascia**: carica facilmente gli allegati trascinandoli nel composer.

## Ricerca e filtro avanzati

Trova esattamente ciò di cui hai bisogno in pochi secondi, anche tra migliaia di conversazioni.

### Ricerca globale

Cerca parole chiave in tutte le cronologie dei messaggi. Il motore indicizza sia i messaggi in entrata che quelli in uscita per un recupero rapido.

### Filtro delle conversazioni

Filtra la vista della posta in arrivo per:

* **Assegnatario**: visualizza le chat gestite da membri specifici del team.
* **Tag**: approfondisci segmenti specifici (es. "Urgente", "Lead").
* **Stato**: alterna tra gli stati `Open`, `Pending` e `Resolved`.
* **Non letti / senza risposta**: concentra l'elenco sui thread che richiedono ancora l'attenzione dell'operatore.
* **Gruppi**: mostra solo le conversazioni di gruppo WhatsApp basate su metadata, utile per i pilot interni del team e le operazioni per coorti turistiche.
* **Ultima interazione**: trova le conversazioni inattive da un determinato periodo di tempo.

### Conversazioni di gruppo WhatsApp

Switchbord può contrassegnare le conversazioni come gruppi tramite `conversations.metadata` e mostrarle nella posta in arrivo tramite una pillola **Gruppi** vicino ai filtri delle conversazioni. Questa prima release è una base di visibilità e filtraggio: la gestione completa del ciclo di vita dei gruppi, la gestione dei partecipanti, i controlli sui link di invito e i vincoli di invio specifici per i gruppi restano lavoro futuro.

## Stato della connessione

### Keepalive in tempo reale e banner di connessione

La posta in arrivo dipende da un WebSocket Supabase Realtime persistente per mostrare i messaggi in entrata in tempo reale. Le scheda del browser in background o in sospensione limitano i timer e il sistema operativo può interrompere quel socket senza che la scheda se ne accorga — il classico caso in cui "l'app appare bloccata finché non faccio un aggiornamento forzato". Un hook `useRealtimeKeepalive` mantiene ora la connessione affidabile:

* **Al risveglio della scheda** (`visibilitychange → visible`, `focus` della finestra o evento `online` del browser) riconnette il socket realtime e i canali se non sono in buono stato e **sempre** esegue un recupero dati delle conversazioni oltre al thread aperto — una scheda in sospensione ha di solito perso eventi anche se il socket stesso è sopravvissuto.
* **Un controllo heartbeat** ogni 20 secondi, solo mentre la scheda è visibile, verifica che il socket riporti ancora la connessione attiva. In caso contrario, si ripristina automaticamente — la connessione non può rimanere silenziosamente inattiva a tempo indefinito.
* **I risvegli multipli vengono raggruppati** (debounce) in un unico ciclo di ripristino, poiché `visibilitychange`, `focus` e `online` spesso si attivano insieme.

La posta in arrivo mostra questo stato tramite un banner ben visibile sopra l'elenco delle conversazioni, localizzato in tutte le 7 lingue dell'app:

| Banner           | Quando                                                                 | Aspetto                                              |
| ---------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- |
| "Riconnessione…" | Il socket non è in buono stato e l'hook keepalive lo sta ripristinando | Ambra, icona a spinner                               |
| "Sei offline…"   | `navigator.onLine` è falso                                             | Rosso, icona offline                                 |
| *(nascosto)*     | Connesso (lo stato stabile)                                            | Nessun banner — zero elementi visivi nel caso comune |

<Info>
  Il punto fondamentale di questa funzionalità è che la posta in arrivo non deve mai *apparire* attiva mentre è effettivamente disconnessa. Se vedi conversazioni non aggiornate senza banner, si tratta di un bug — segnalalo, invece di dare per scontato che un aggiornamento forzato abbia risolto silenziosamente qualcosa che era rotto.
</Info>

## Scheda delle conversazioni persistenti

Sopra il riquadro della chat, la posta in arrivo mantiene delle scheda in stile Chrome per le conversazioni che un operatore ha aperto — così passare tra un gruppo di thread attivi non richiede di tornare ogni volta alla barra laterale.

* Le scheda sono limitate a **8** — aprire una nona conversazione chiude la scheda più vecchia.
* A partire dalle versioni v0.18.14/v0.18.22, le scheda **persistono al ricaricamento** (F5 manuale, un refresh di un componente server o un remount guidato dal realtime) tramite `localStorage`, con namespace per area di lavoro (`switchbord.inbox.tabs.<workspaceId>`), così le scheda non si mescolano mai tra aree di lavoro diverse. Le operazioni di lettura/scrittura sono sicure per SSR e tollerano valori memorizzati corrotti o vuoti.
* Una scheda la cui conversazione ha messaggi in entrata non letti riceve lo stesso evidenziatore verde smeraldo di una riga non letta nell'elenco delle conversazioni — riempimento, un accento sul lato superiore, un punto smeraldo e un titolo in grassetto. La scheda attiva non mostra mai i non letti (visualizzare una conversazione la azzera).
* Ogni scheda porta anche il badge di stato in tempo reale "Draft with me" del GB-Agent di quella conversazione (viola/pulsante durante la generazione, verde quando pronto, ambra durante il passaggio, rosso in caso di errore, nascosto quando inattivo) — consulta [Connettore gb-agent → Draft with me](/it/platform/gb-agent-connector#draft-with-me-assistenza-streaming-per-singola-conversazione) per la semantica completa del badge di stato.

## Integrazione CRM

La Posta in arrivo è strettamente integrata con il database dei contatti:

* **Barra laterale del contatto**: visualizza profili dettagliati dei clienti, inclusi campi personalizzati e attività passate, senza uscire dalla conversazione.
* **Gestione dei tag**: aggiungi o rimuovi tag in tempo reale per aggiornare il segmento di un contatto.
* **Risoluzione dell'avatar**: recupera automaticamente gli avatar da profili pubblici o integrazioni CRM per aiutare gli operatori a riconoscere i contatti frequenti.

## Strumenti di produttività

* **Risposte rapide**: modelli predefiniti per le domande comuni, per garantire risposte rapide e coerenti.
* **Note interne**: lascia commenti privati per altri membri del team all'interno di un thread di conversazione.
* **Logica di assegnazione**: instrada manualmente o automaticamente le conversazioni all'operatore o al team giusto.
