# Approvazione del team per le azioni: una persona approva prima che l'agente agisca

> Fai attendere un'azione API o un passo di una procedura finché qualcuno del tuo team non lo approva. L'agente dice al visitatore che la richiesta è in fase di verifica, e l'esito viene pubblicato nella chat.

Alcune azioni non dovrebbero essere eseguite solo sulla parola dell'agente, come un rimborso, una cancellazione o un accredito. Attiva **Requires team approval** per un'[azione API](/it/docs/api-actions) o per un passo di una [procedura](/it/docs/procedures), e l'agente non la esegue più da solo: la chiamata attende nella pagina **Approvals** finché qualcuno del tuo team non la approva o la rifiuta.

- L'agente dice al visitatore che la sua richiesta è in fase di verifica e prosegue la conversazione come al solito.
- Approvare esegue l'azione una volta, esattamente con gli input che erano in attesa. All'IA non viene chiesto di nuovo.
- Rifiutare significa che non viene mai eseguita. Il visitatore viene avvisato, con il tuo motivo se ne indichi uno.
- Anche una richiesta su cui nessuno decide in tempo scade e non viene eseguita.

> L'approvazione del team fa parte dei piani Pro ed Enterprise. Vedi [Piani](#piani).

## Piani

| | Free | Starter | Pro | Enterprise |
| --- | --- | --- | --- | --- |
| Approvazione del team per le azioni | No | No | Sì | Sì |

Con Free e Starter l'interruttore non si può attivare. Dopo un downgrade, le azioni e i passi che lo hanno attivo lo mantengono e si possono ancora modificare, ma **l'agente non li esegue dalla chat**: dice al visitatore che qui non può farlo. Le richieste fatte prima del downgrade restano in attesa nella pagina **Approvals** e si può ancora decidere su di esse.

## Attivarla

**Per un'azione API:** apri l'azione nella scheda **Actions**, vai a **3. When the AI should use it**, attiva **Requires team approval** e scegli quando scade una richiesta: dopo 1 ora, 4 ore, 24 ore (predefinito) o 3 giorni. Salva l'azione. Nell'elenco mostra il badge **Needs approval**. Solo le azioni lato server possono richiedere l'approvazione; le azioni lato client e i pulsanti no.

**Per un passo di una procedura:** in un passo **Call an action**, seleziona **Requires team approval** e scegli quando scade una richiesta. Conta anche l'interruttore dell'azione stessa: un'azione contrassegnata con **Requires team approval** attende l'approvazione in ogni passo di procedura che la chiama, con la scadenza dell'azione.

Se è selezionato anche **Ask the visitor to confirm first**, prima conferma il visitatore e solo dopo la richiesta passa al tuo team.

## Che cosa vede il visitatore

Quando l'agente chiama l'azione, alla tua API non viene inviato nulla. L'agente dice al visitatore, nella sua lingua, che la richiesta è stata passata al tuo team per la verifica e che vedrà l'esito nella chat. Nel frattempo il visitatore può continuare a scrivere di qualsiasi altra cosa.

Quando si decide sulla richiesta, intoCHAT pubblica un messaggio nella conversazione, nella lingua del visitatore (inglese, tedesco, francese, italiano o spagnolo):

| Esito | Messaggio (in inglese) |
| --- | --- |
| Approvata, e l'azione è riuscita | "Good news: our team approved your request, and it has been carried out." |
| Approvata, ma l'azione non è riuscita | "Our team approved your request, but it couldn't be completed just now. …" |
| Rifiutata | "Our team has reviewed your request and couldn't approve it." seguito da "Reason: …" quando ne indichi uno |
| Scaduta | "Our team couldn't review your request in time, so it wasn't carried out. …" |

La lingua dipende da ciò che ha scritto il visitatore, oppure dalla **Reply language** dell'agente quando viene usata sempre. Una chat aperta mostra il messaggio entro circa 15 secondi; altrimenti il visitatore lo vede la volta successiva che apre la chat. Anche l'agente conosce l'esito al messaggio successivo del visitatore.

Una conversazione può avere fino a 3 richieste in attesa contemporaneamente. Se l'agente chiama di nuovo la stessa azione con gli stessi input mentre attende, non viene creata una seconda richiesta.

## Approvare o rifiutare

Le richieste compaiono nella pagina **Approvals** nella barra laterale, con un badge che conta quelle in attesa. Usa **Agent** per vedere le richieste di un solo agente.

Ogni richiesta in attesa mostra l'azione, l'agente, la procedura se proviene da una procedura, quando è stata fatta e quando scade, i suoi input e un link alla conversazione.

- **Approve** ti chiede di confermare, poi esegue l'azione esattamente con gli input mostrati e comunica l'esito al visitatore. Se l'azione non riesce, la richiesta mostra **Approved, failed** con l'errore, e al visitatore viene detto che non è stato possibile completarla.
- **Reject** chiede un motivo facoltativo, fino a 500 caratteri, che il visitatore vede nella sua chat.

Due persone non possono decidere entrambe: decide chi fa clic per primo, e l'altra vede "Already decided". Un'azione non viene mai eseguita due volte per una stessa richiesta.

**Recent decisions** elenca le ultime 50, con chi ha deciso, quando, il motivo e il risultato.

### Chi può decidere

Tutti coloro il cui ruolo può modificare le azioni dell'agente: il proprietario, gli admin e gli editor, e i [ruoli personalizzati](/it/docs/team) con **Edit** su **Actions & procedures**. I membri limitati ad agenti selezionati vedono solo le richieste di quegli agenti. I Viewer non possono aprire la pagina. Ogni approvazione e ogni rifiuto vengono registrati nel [registro di audit](/it/docs/audit-log).

### Input e segreti

La pagina, le email, Slack e i webhook mostrano ogni input per nome. Un valore il cui nome o la cui forma sembra una credenziale, come un input chiamato `api_key` o `password`, un bearer token o una chiave lunga, viene mostrato come **Hidden**. Le intestazioni e l'autenticazione della tua azione non fanno mai parte di una richiesta: intoCHAT salva solo gli input e costruisce la chiamata a partire dall'azione salvata quando viene eseguita.

## Notifiche

Quando viene fatta una richiesta:

- **Email** a tutti coloro che possono decidere su quell'agente (vedi [Chi può decidere](#chi-puo-decidere)), con gli input e un link alla pagina **Approvals**. Ogni persona può disattivarle in **Notifications** nelle impostazioni del proprio account (**Approval requests**). Ogni ora partono fino a 30 email di richiesta per agente; le richieste oltre questo numero restano comunque in attesa nella pagina.
- **Slack**: la notifica **Approval request**, se hai collegato le [notifiche Slack](/it/docs/lead-alerts-and-export#notifiche-slack) e l'hai selezionata.
- **Webhook**: l'evento `action_approval.requested`, e `action_approval.decided` quando viene approvata, rifiutata o scade. Vedi [Webhook](/it/docs/webhooks#dati-delle-approvazioni-delle-azioni).
- **Inbox**: la conversazione entra nell'[Inbox](/it/docs/inbox) come **Open**, a meno che lì non sia già aperta o in attesa.

## Procedure

Un passo di procedura in attesa di approvazione resta il passo corrente. Chiamare di nuovo l'azione non crea una seconda richiesta, e l'agente continua ad aiutare il visitatore con altre domande senza interrompere la procedura.

- **Approvata e riuscita:** la procedura prosegue dal passo successivo al messaggio successivo del visitatore. Se il passo successivo è un passo **End** con un messaggio, l'agente lo dice in quel momento; se è un passo **End** senza messaggio, o non ci sono altri passi, la procedura è completata.
- **Approvata ma non riuscita, rifiutata o scaduta:** la procedura si interrompe.
- Se il visitatore annulla e l'agente interrompe la procedura mentre una richiesta è in attesa, oppure inizia un'altra procedura, oppure elimini la procedura o la modifichi in modo che il passo non esista più o chiami un'altra azione, la richiesta viene ritirata. Compare come **Rejected** con "Withdrawn when the procedure ended in the chat" e non viene mai eseguita: a quel punto cliccare **Approve** la ritira soltanto. Non viene pubblicato nessun messaggio, perché la chat è già andata avanti.

## Scadenza

Una richiesta scade all'orario che hai scelto. Viene controllata ogni volta che la conversazione prosegue, che si apre la pagina **Approvals** o che la chat è aperta, e una volta al giorno per tutte le richieste. Una richiesta scaduta non viene mai eseguita, e il visitatore viene avvisato.

## Limiti

- Le richieste hanno bisogno di una conversazione salvata: in una chat temporanea, un'azione che richiede l'approvazione non viene eseguita affatto.
- Nel **Playground** le richieste sono reali: compaiono nella pagina **Approvals** e avvisano il tuo team, e approvarle esegue la tua azione reale.
- Nei test con clienti simulati (**Playground → Tests**) non viene richiesto nulla: all'agente viene detto che la richiesta è stata fatta.
- Nelle chat tramite la [REST API](/it/docs/rest-api), il messaggio con l'esito viene salvato nella conversazione, dove la tua integrazione può leggerlo.
- Nelle conversazioni su [Slack](/it/docs/slack-agent) e via [email](/it/docs/email-agent), il messaggio con l'esito viene salvato nella conversazione ma non viene pubblicato nel thread né inviato per email; l'agente lo dice alla persona al suo messaggio successivo.
- Approvare esegue l'azione come l'avrebbe eseguita l'agente, entro il suo timeout di 30 secondi, con il visitatore verificato e il contatto della conversazione per i segnaposto `{{user.*}}` e `{{contact.*}}`. Se nel frattempo l'azione è stata eliminata, disattivata o trasformata in un'azione lato client, l'approvazione non riesce e il visitatore viene avvisato.

## Passi successivi

- Configura l'azione: [Azioni API](/it/docs/api-actions).
- Inseriscila in un flusso passo per passo: [Procedure](/it/docs/procedures).
- Ricevi gli eventi nei tuoi strumenti: [Webhook](/it/docs/webhooks) e [notifiche Slack](/it/docs/lead-alerts-and-export#notifiche-slack).
