# Welcome

***

## Benvenuto nel Manuale Utente di Bookli!

Ciao e benvenuto a bordo!

Questa guida completa è la tua bussola per navigare e padroneggiare ogni funzionalità della nostra piattaforma. Che tu sia un nuovo utente o desideri approfondire le tue conoscenze, qui troverai tutto ciò di cui hai bisogno per trasformare le tue conversazioni in automazioni intelligenti ed efficaci.

Il nostro obiettivo è renderti autonomo e sicuro nell'utilizzo di Bookli, permettendoti di sfruttare al massimo il potenziale dell'intelligenza artificiale conversazionale per il tuo business.

***

#### Cosa Troverai in Questo Manuale

Abbiamo strutturato questa guida in capitoli tematici, pensati per accompagnarti in un percorso di apprendimento graduale, dalle basi alle funzionalità più avanzate.

Ecco una mappa di quello che imparerai:

**Capitolo 1: Configurazione del Tuo Workspace**

Partiremo dalle fondamenta. Imparerai a:

* **Personalizzare il tuo ambiente di lavoro** con le informazioni della tua azienda.
* **Invitare e gestire il tuo team**, creando ruoli e assegnando permessi specifici.
* **Gestire il tuo piano di abbonamento** e i dati di fatturazione in totale autonomia.

**Capitolo 2: Gestione dei Contatti (Lead)**

I contatti sono il cuore della tua attività. Ti mostreremo come:

* **Aggiungere un lead manualmente** in pochi secondi.
* **Caricare intere liste di contatti** per avviare campagne di outreach su larga scala.
* **Cercare e filtrare i tuoi lead** per trovare esattamente chi ti serve, quando ti serve.

**Capitolo 3: Il Cuore di Bookli: Le Automazioni (Task)**

Questo è il capitolo più importante. Una **Task** è un flusso di lavoro automatizzato. Ti guideremo passo dopo passo nella creazione della tua prima automazione, esplorando i 5 pilastri:

{% stepper %}
{% step %}

### Il Trigger

L'evento che dà il via alla conversazione.
{% endstep %}

{% step %}

### La Conoscenza di base

Il "cervello" a cui l'IA attinge per fornire risposte precise.
{% endstep %}

{% step %}

### La Piattaforma di Conversazione

Il canale su cui avverrà l'interazione (WhatsApp, telefono, chat, ecc.).
{% endstep %}

{% step %}

### Le Impostazioni di Conversazione

Dove definirai la personalità, gli obiettivi e lo stile del tuo agente AI.
{% endstep %}

{% step %}

### Strumenti e Regole

Le azioni avanzate che l'IA può compiere durante la conversazione.
{% endstep %}
{% endstepper %}

**Capitolo 4: Funzionalità Avanzate**

Una volta prese le basi, potrai portare le tue automazioni al livello successivo. Imparerai a:

* **Creare Strumenti personalizzati** per connettere Bookli ai tuoi software esterni tramite API, consentendo all'IA di compiere azioni concrete (es. controllare lo stato di un ordine).
* **Creare e sincronizzare Calendari** per permettere all'IA di fissare appuntamenti in automatico, rispettando la tua disponibilità.

**Capitolo 5: Gestione Quotidiana**

Infine, vedremo come gestire l'operatività di tutti i giorni:

* **Monitorare le conversazioni** in tempo reale.
* **Prendere il controllo manuale** di una chat quando necessario.
* **Consultare lo storico** delle interazioni con ogni lead.

***

Ogni capitolo è stato scritto pensando alla chiarezza e alla praticità. Il nostro scopo è darti gli strumenti per avere successo.

**Sei pronto a iniziare? Cominciamo subito dal primo passo: la configurazione del tuo workspace!**


# Quickstart

<figure><img src="https://gitbookio.github.io/onboarding-template-images/quickstart-hero.png" alt=""><figcaption></figcaption></figure>

Beautiful documentation starts with the content you create — and GitBook makes it easy to get started with any pre-existing content.

{% hint style="info" %}
Want to learn about writing content from scratch? Head to the [Basics](/basics/editor) section to learn more.
{% endhint %}

### Impor

GitBook supports importing content from many popular writing tools and formats. If your content already exists, you can upload a file or group of files to be imported.

<div data-full-width="false"><figure><img src="https://gitbookio.github.io/onboarding-template-images/quickstart-import.png" alt=""><figcaption></figcaption></figure></div>

### Sync a repository

GitBook also allows you to set up a bi-directional sync with an existing repository on GitHub or GitLab. Setting up Git Sync allows you and your team to write content in GitBook or in code, and never have to worry about your content becoming out of sync.


# Publish your docs

Once you’ve finished writing, editing, or importing your content, you can publish your work to the web as a docs site. Once published, your site will be accessible online only to your selected audience.

You can publish your site and find related settings from your docs site's homepage.

<figure><img src="https://gitbookio.github.io/onboarding-template-images/publish-hero.png" alt=""><figcaption></figcaption></figure>


# Editor

GitBook has a powerful block-based editor that allows you to seamlessly create, update, and enhance your content.

<figure><img src="https://gitbookio.github.io/onboarding-template-images/editor-hero.png" alt=""><figcaption></figcaption></figure>

### Writing content

GitBook offers a range of block types for you to add to your content inline — from simple text and tables, to code blocks and more. These elements will make your pages more useful to readers, and offer extra information and context.

Either start typing below, or press `/` to see a list of the blocks you can insert into your page.

### Add a new block

{% stepper %}
{% step %}

#### Open the insert block menu

Press `/` on your keyboard to open the insert block menu.
{% endstep %}

{% step %}

#### Search for the block you need

Try searching for “Stepper”, for exampe, to insert the stepper block.
{% endstep %}

{% step %}

#### Insert and edit your block

Click or press Enter to insert your block. From here, you’ll be able to edit it as needed.
{% endstep %}
{% endstepper %}


# Markdown

GitBook supports many different types of content, and is backed by Markdown — meaning you can copy and paste any existing Markdown files directly into the editor!

<figure><img src="https://gitbookio.github.io/onboarding-template-images/markdown-hero.png" alt=""><figcaption></figcaption></figure>

Feel free to test it out and copy the Markdown below by hovering over the code block in the upper right, and pasting into a new line underneath.

```markdown
# Heading

This is some paragraph text, with a [link](https://docs.gitbook.com) to our docs. 

## Heading 2
- Point 1
- Point 2
- Point 3
```

{% hint style="info" %}
If you have multiple files, GitBook makes it easy to import full repositories too — allowing you to keep your GitBook content in sync.
{% endhint %}


# Images & media

GitBook allows you to add images and media easily to your docs. Simply drag a file into the editor, or use the file manager in the upper right corner to upload multiple images at once.

<figure><img src="https://gitbookio.github.io/onboarding-template-images/images-hero.png" alt=""><figcaption><p>Add alt text and captions to your images</p></figcaption></figure>

{% hint style="info" %}
You can also add images simply by copying and pasting them directly into the editor — and GitBook will automatically add it to your file manager.
{% endhint %}


# Interactive blocks

In addition to the default Markdown you can write, GitBook has a number of out-of-the-box interactive blocks you can use. You can find interactive blocks by pressing `/` from within the editor.

<figure><img src="https://gitbookio.github.io/onboarding-template-images/interactive-hero.png" alt=""><figcaption></figcaption></figure>

### Tabs

{% tabs %}
{% tab title="First tab" %}
Each tab is like a mini page — it can contain multiple other blocks, of any type. So you can add code blocks, images, integration blocks and more to individual tabs in the same tab block.
{% endtab %}

{% tab title="Second tab" %}
Add images, embedded content, code blocks, and more.

```javascript
const handleFetchEvent = async (request, context) => {
    return new Response({message: "Hello World"});
};
```

{% endtab %}
{% endtabs %}

### Expandable sections

<details>

<summary>Click me to expand</summary>

Expandable blocks are helpful in condensing what could otherwise be a lengthy paragraph. They are also great in step-by-step guides and FAQs.

</details>

### Embedded content

{% embed url="<https://www.youtube.com/watch?v=YILlrDYzAm4>" %}

{% hint style="info" %}
GitBook supports thousands of embedded websites out-of-the-box, simply by pasting their links. Feel free to check out which ones[ are supported natively](https://iframely.com).
{% endhint %}


# Integrations

GitBook integrations allow you to connect your GitBook spaces to some of your favorite platforms and services. You can install integrations into your GitBook page from the *Integrations* menu in the top left.

<figure><img src="https://gitbookio.github.io/onboarding-template-images/integrations-hero.png" alt=""><figcaption></figcaption></figure>

### Types of integrations

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Analytics</strong></td><td>Track analytics from your docs</td><td><a href="https://www.gitbook.com/integrations#analytics">https://www.gitbook.com/integrations#analytics</a></td><td></td><td></td></tr><tr><td><strong>Support</strong></td><td>Add support widgets to your docs</td><td><a href="https://www.gitbook.com/integrations#support">https://www.gitbook.com/integrations#support</a></td><td></td><td></td></tr><tr><td><strong>Interactive</strong></td><td>Add extra functionality to your docs</td><td><a href="https://www.gitbook.com/integrations#interactive">https://www.gitbook.com/integrations#interactive</a></td><td></td><td></td></tr><tr><td><strong>Visitor Authentication</strong></td><td>Protect your docs and require sign-in</td><td><a href="https://www.gitbook.com/integrations#visitor-authentication">https://www.gitbook.com/integrations#visitor-authentication</a></td><td></td><td></td></tr></tbody></table>


# Come usare la pagina Contatti

## 1. Panoramica sulla tabella dei Contatti

La tabella nella pagina Leads mostra i dati principali relativi ai contatti salvati nel CRM. Le colonne disponibili sono:

* **Nome**: nome del lead
* **Telefono**: numero di telefono del lead
* **Email**: indirizzo email del lead
* **Canale:** specifica la piattaforma su cui il lead sta interagendo con l’AI
* **Task Attiva**: indica quale automazione o task è attivo sul lead
* **Stato AI**: lo stato attuale della conversazione con il lead (es. contacted, conversing, scheduled, error, disabled)
* **Stato Chiamata** : Indica lo stato chiamata di quel singolo lead (es. Occupato, Completato, Nessuna risposta...)
* **Data di esecuzione :** Data di quanto è partita la chiamata
* **Ultima Interazione** : Data di quando è stata l ultima interazione con quel singolo lead

## 2. Funzionalità di ricerca

Sopra la tabella è disponibile un campo di ricerca con le seguenti caratteristiche:

* Puoi cercare per **nome,** **numero di telefono** oppure **email**
* Il numero di telefono deve essere esattamente uguale a quello registrato, **incluso il prefisso internazionale** (es. +39...)

## 3. Eliminazione dei lead

* Seleziona uno o più lead cliccando sul quadratino accanto al nome
* Quando almeno un lead è selezionato, si attiva il pulsante **Elimina**
* Dopo aver cliccato Elimina, viene mostrato un messaggio di conferma

{% hint style="warning" %}
Attenzione: questa operazione è irreversibile e comporta l’eliminazione definitiva di:

* Eventi in calendario
* Conversazioni
* Dati associati
  {% endhint %}

Per confermare, devi digitare manualmente:

{% code title="Conferma eliminazione" %}

```
DELETE
```

{% endcode %}

> > #### COME CARICARE UNA LISTA SU BOOKLI:

{% content-ref url="/pages/53c93d0ac9c6f324245dc1f1df48d6a7a4353998" %}
[Come caricare una lista](/contatti/come-caricare-una-lista)
{% endcontent-ref %}

## 6. Aggiunta manuale di un lead

* Il pulsante verde **Aggiungi**, situato in alto a destra, permette di inserire manualmente un nuovo lead

{% content-ref url="/pages/ad62174ee4f83cd9ccc60bae4ce9cd62e2eeff3e" %}
[Come aggiungere manualmente un lead](/contatti/come-aggiungere-manualmente-un-lead)
{% endcontent-ref %}


# Come aggiungere manualmente un lead

{% embed url="<https://app.supademo.com/demo/cmg6p0nai04yo2nom0vihzews?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedere al workspace

* Assicurati di essere entrato correttamente nel tuo workspace.
  {% endstep %}

{% step %}

### Aprire la sezione contatti

* Nel menu a sinistra, clicca su **Contatti**.
  {% endstep %}

{% step %}

### Avviare la creazione di un nuovo lead

* In alto a destra, clicca sul pulsante verde **Aggiungi**.
  {% endstep %}

{% step %}

### Compilare le informazioni obbligatorie

* Inserisci i dati richiesti del nuovo contatto:
  * Nome
  * Email
  * Numero di telefono
    {% endstep %}

{% step %}

### Inserire informazioni aggiuntive (opzionale)

{% hint style="info" %}
È possibile aggiungere note o dettagli extra relativi al contatto.
{% endhint %}
{% endstep %}

{% step %}

### Assegnare il contatto a un’automazione (opzionale)

* In fondo al form troverai il menu a tendina **Aggiungi contatto all’automazione**.
* Questa scelta non è obbligatoria, ma utile se desideri che il lead venga contattato immediatamente:
  * Seleziona la **task** precedentemente creata.
  * Associa l’**agente AI** definito in quella task.
    {% endstep %}

{% step %}

### Confermare la creazione

* Una volta completati i campi necessari, clicca sul pulsante verde in basso a destra per salvare e creare il nuovo lead.
  {% endstep %}
  {% endstepper %}


# Come caricare una lista

{% stepper %}
{% step %}

### Prerequisiti

{% hint style="warning" %}
Prima di caricare una lista, devi aver creato una Task dedicata all’outreach.\
Consulta il tutorial: "Cos’è una Task – Come creare una Task".
{% endhint %}
{% endstep %}

{% step %}

### Andare sulla sezione LISTE

* I formati supportati sono: **CSV** e **XLS**
* Premi **carica lista** in verde che trovi in alto a destra
* Clicca sul pulsante **“Scegli File”** per selezionare il file dal tuo computer

{% hint style="warning" %}
Il trascinamento ("drag & drop") attualmente non funziona
{% endhint %}

* Dopo aver selezionato il file, il pulsante **“Avanti”** diventerà verde: cliccalo per proseguire
  {% endstep %}

{% step %}

### Mappa i campi

* Verrà visualizzato il nome del file caricato e le colonne contenute
* Mappa obbligatoriamente i seguenti campi:
  * **Full Name**
  * **Phone**
  * **Email**
* Tutti gli altri campi saranno impostati automaticamente su **Excluded**
* Clicca **Avanti** per continuare
  {% endstep %}

{% step %}

### Validazione dei duplicati

Bookli controllerà i numeri di telefono per individuare duplicati:

* I duplicati verranno raggruppati
* Potrai scegliere quale nome/email mantenere
* Oppure selezionare **“Primo nella lista”** per conservare automaticamente il primo record disponibile

Clicca **Avanti** una volta completata la pulizia.
{% endstep %}

{% step %}

### Imposta le regole di outreach

Configura i parametri per la campagna:

* **Seleziona Task**
  * Clicca su **Click to choose** e seleziona una Task esistente

{% hint style="warning" %}
Se non hai ancora creato una Task, non potrai procedere
{% endhint %}

* **Scegli i giorni**
  * Seleziona i giorni della settimana in cui Bookli deve contattare i lead
* **Orario di invio**
  * **Orario di Inizio**: da che ora Bookli può iniziare a contattare
  * **Orario di Fine**: orario di chiusura dei contatti (OPZIONALE)
  * **Data di inizio**: specifica quando deve iniziare l’outreach
  * **Data di Inizio**: specifica quando deve iniziare l’outreach
* **Frequenza**
  * Numero massimo di lead da contattare al giorno
  * Il sistema calcola automaticamente un limite in base all’intervallo orario per evitare spam
    {% endstep %}

{% step %}
{% hint style="info" %}
Puoi aggiungere una fascia oraria premendo il "+ aggiungi fascia"
{% endhint %}
{% endstep %}

{% step %}

### Riepilogo

* Hai una panoramica intera della lista caricata, se non ti va bene allora puoi premere su **INDIETRO** per tornare agli step precedenti

Se invece controllando va tutto bene secondo i tuoi parametri allora :

* **Carica e Pianifica**: carica la lista e avvia subito l’outreach in base alle regole impostate
  {% endstep %}
  {% endstepper %}


# Come vedere e modificare le liste caricate

{% stepper %}
{% step %}

### Come accedere alle liste caricate

* Vai alla pagina Liste e troverai tutte le liste che hai caricato

{% endstep %}

{% step %}

### Panoramica delle liste caricate

Quando una o più liste sono state caricate correttamente, vedrai:

* **Nome del file caricato (con ID univoco della pipeline)**
* **Stato dell’outreach** (es. *in sospeso*, *completato*, *errore, in pausa*)
* **Data e fine programmato della lista**&#x20;
* **Totale contatti inclusi nella lista**
* **Progresso in percentuale della lista**
* **Regole di Elaborazione AI** (giorni, orari, frequenza)
* **Data caricamento lista**
  {% endstep %}

{% step %}

### Significato degli stati

* **Caricamento completato**: la lista è pronta o già utilizzata per l’outreach
* **Errore**: si è verificato un problema durante il caricamento o la configurazione
* **In sospeso**: la pipeline è stata messa in pausa e non invia nuovi messaggi
* **in pausa** : La lista è stata messa in pausa manualmente
  {% endstep %}

{% step %}

### Modificare una lista&#x20;

* Premere sulla matita per modificare i parametri della lista&#x20;
  {% endstep %}

{% step %}

### Eliminare una lista

{% stepper %}
{% step %}
Clicca sul pulsante **Elimina Pipeline**
{% endstep %}

{% step %}
Conferma l’eliminazione cliccando una seconda volta
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Questa operazione è definitiva e rimuove l’intera pipeline associata alla lista.
{% endhint %}
{% endstep %}
{% endstepper %}

Consulta anche:

{% content-ref url="/pages/8d50091deae89d2d843c6423a1c2e14fb9e6e69e" %}
[Come creare una task](/task/come-creare-una-task)
{% endcontent-ref %}

{% content-ref url="/pages/53c93d0ac9c6f324245dc1f1df48d6a7a4353998" %}
[Come caricare una lista](/contatti/come-caricare-una-lista)
{% endcontent-ref %}


# Come filtrare i lead

{% stepper %}
{% step %}

### Dove si trovano i filtri

* Nella pagina **Contatti**, accanto alla barra di ricerca e al pulsante “Cerca”, troverai un pulsante con **icona a forma di filtro**.
* Cliccalo per aprire il pannello dei filtri disponibili.
  {% endstep %}

{% step %}

### Filtri disponibili

Puoi combinare più filtri per raffinare la ricerca. I filtri attualmente disponibili sono:

* **Stato AI**: seleziona uno o più stati della conversazione (es. contacted, conversing, scheduled, ecc.)
* **Stato Chiamata:**: Indica lo stato chiamata di quel singolo lead (es. Occupato, Completato, Nessuna risposta...)
* **Canale**: filtra per la piattaforma su cui il lead sta interagendo (es. WhatsApp, Messenger, ecc.)
* **Task**: Indica con quale task(automazione) è stato assegnato a quel lead
* **Assistente**: mostra solo i lead assegnati a un determinato agente AI
* **Data di esecuzione**: imposta un intervallo temporale per filtrare i lead aggiunti o contattati in quel periodo
  {% endstep %}

{% step %}

### Applicazione dei filtri

* Dopo aver selezionato i parametri desiderati, premi **applica** per aggiornare il sistema
* Puoi combinare più filtri per ottenere una selezione più precisa.

Usare i filtri ti consente di gestire i contatti in modo più efficace e mirato.
{% endstep %}
{% endstepper %}


# Come cercare un lead

{% stepper %}
{% step %}

### Dove si trova la barra di ricerca

* Accedi alla pagina **Contatti**
* In alto, troverai la **barra di ricerca** affiancata dal pulsante **“Cerca”**
  {% endstep %}

{% step %}

### Tipi di ricerca supportati

Puoi effettuare la ricerca per:

* **Nome**
* **Numero di telefono**
* **Email**
* **ID**
  {% endstep %}

{% step %}

### Regole per una ricerca efficace

* Per **nome**, puoi inserire anche **una parte del nome** (es. scrivere "Mar" per trovare "Marco")
* Per **numero di telefono**, devi scrivere **esattamente il numero registrato nel CRM**, incluso **il prefisso internazionale**&#x20;

{% code title="Esempio" %}

```
 scrivere "Mar" per trovare "Marco"
```

{% endcode %}

* Per **email**, devi inserire **l’indirizzo completo**, senza errori o abbreviazioni
  {% endstep %}

{% step %}

### Eseguire la ricerca

* Dopo aver scritto il dato nella barra, clicca sul pulsante **“Cerca”**
* Il sistema mostrerà i lead corrispondenti ai criteri inseriti

Utilizza la ricerca precisa per trovare rapidamente i contatti già presenti nel CRM.
{% endstep %}
{% endstepper %}


# Come funzionano gli stati

{% stepper %}
{% step %}

### Stato **Completato**

* Indica che la conversazione si è conclusa con successo.
* Il completamento è definito dalle regole impostate nella task tramite **Definisci completamento**.
* Per ulteriori dettagli consulta il tutorial **Come funzionano strumenti e regole** nella categoria *Tutorial Task*.
  {% endstep %}

{% step %}

### Stato **Pianificato**

* Riguarda i contatti programmati per un futuro contatto.
* Esempi:
  * Liste clienti caricate nel sistema che saranno contattate in seguito.
  * Contatti che devono essere ricontattati a una determinata data/ora.
* Per maggiori informazioni vedi il tutorial **Come dare una data oraria lavorativa all’AI**.
  {% endstep %}

{% step %}

### Stato **Interrotto**

* Si verifica quando una conversazione viene fermata manualmente.
* Compare anche se una task viene messa in pausa.
  {% endstep %}

{% step %}

### Stato **Errore**

* Indica un problema che impedisce la prosecuzione della conversazione.
* Casi comuni:
  * Numero inesistente o non raggiungibile.
  * Credito insufficiente per le telefonate.
  * Limite di caratteri raggiunto.

{% hint style="info" %}
Azioni consigliate:

* Acquistare nuovo credito (vedi tutorial dedicato).
* Effettuare un upgrade del piano (vedi tutorial dedicato).
  {% endhint %}
  {% endstep %}

{% step %}

### Stato **Disabilitato**

* Si verifica in due modalità:
  * L’utente disattiva manualmente la conversazione tramite il pulsante **Disattiva AI**.
  * L’AI viene disattivata automaticamente da una regola impostata nella task (**Disabilita AI**).
* Per approfondire consulta il tutorial :**Come disattivare l’AI dalla conversazione**.
  {% endstep %}
  {% endstepper %}

{% content-ref url="/pages/8eb58467f25e690038cbd9da7d695e1aaaad4e9f" %}
[Come disattivare l'AI su una conversazione](/conversazioni/come-disattivare-lai-su-una-conversazione)
{% endcontent-ref %}


# Come aggiungere informazioni ad un lead

{% stepper %}
{% step %}

### Accedere ai contatti

* Entra nella sezione **Contatti** dal menu a sinistra.
* Cerca e seleziona il lead di cui vuoi aggiornare le informazioni.
  {% endstep %}

{% step %}

### Aprire la scheda del lead

* Cliccando sul lead si aprirà la schermata con la conversazione relativa (vedi il tutorial “Come usare la pagina Conversazione” per i dettagli sulla pagina conversazione).
* A destra troverai la scheda con tutte le informazioni già registrate del contatto.
  {% endstep %}

{% step %}

### Modificare le informazioni esistenti

* Le informazioni mostrate sono modificabili: puoi cancellare o aggiornare i dati già presenti.

{% hint style="warning" %}
Il numero di telefono non può essere modificato. Se è necessario aggiornare il numero, crea un nuovo contatto con il nuovo numero.
{% endhint %}
{% endstep %}

{% step %}

### Aggiungere informazioni base

* Compila o aggiorna i campi disponibili, come:
  * Nome
  * Cognome
  * Email
  * Altri dettagli utili
* Dopo aver aggiunto o modificato i dati, assicurati di salvare la scheda del lead per rendere effettive le modifiche.
  {% endstep %}
  {% endstepper %}

***

Inserimento Avanzato di Informazioni

<details>

<summary>Panoramica avanzata</summary>

Dopo aver inserito i dati principali (nome, cognome, numero di telefono), nella scheda del lead troverai la modalità **Custom Fiels,** di default avrai General come stringa, puoi aggiungerne quante ne vuoi **Tramite Impostazioni** --> **Custom fields**

</details>

{% stepper %}
{% step %}

### Custom field generale

* Usa questa sezione per informazioni libere e descrittive.
* Esempi: provenienza del lead, tipo di piano di abbonamento, note libere.
  {% endstep %}

{% step %}

### Campi strutturati

* I campi strutturati permettono di aggiungere coppie chiave–valore riutilizzabili.
* Ogni campo è composto da:
  * Chiave (es. Età, Città, Tipo abbonamento)
  * Valore (es. 27, Milano, Premium)

Esempio:

* Chiave: Età
* Valore: 27

Queste chiavi/valore possono essere poi utilizzate come contesto nelle task (es. nelle istruzioni della task puoi inserire un riferimento come {extrafields\_età}).
{% endstep %}

{% step %}

### Uso dei campi strutturati nelle task

* Nella descrizione o nel contesto di una task puoi inserire riferimenti ai campi strutturati del lead.
* Esempio di frase in una task:
  * "Stai parlando con un lead che ha {extrafields\_età} anni"
* Tutte le chiavi strutturate aggiunte possono dunque essere interpolate nelle task per personalizzare il contesto.
  {% endstep %}

{% step %}

### Come inviare i campi strutturati via webhook

* I campi strutturati possono essere aggiunti manualmente oppure inviati a Bookli tramite webhook.
* Vedi il tutorial “Come inviare lead a bookli tramite webhook” per i dettagli sull’integrazione.

Esempio di payload JSON che puoi inviare via webhook:

{% code title="Esempio JSON" %}

```json
{
  "full_name": "Mario Rossi",
  "phone": "+391234567890",
  "email": "mario.rossi@example.com",
  "extrafields_età": 27,
  "extrafields_città": "Milano"
}
```

{% endcode %}
{% endstep %}
{% endstepper %}

Note finali

* Tutte le informazioni inserite nella scheda del lead sono salvabili e modificabili eccetto il numero di telefono.
* Le chiavi dei campi strutturati devono essere coerenti se si vuole riutilizzarle automaticamente nelle task (es. usare sempre extrafields\_età per l’età).
* Per esempi di utilizzo avanzato e integrazioni (webhook, automazioni, ecc.) consultare i tutorial specifici menzionati.

{% content-ref url="/pages/2534f9fce35b663111ea251615b322e421601661" %}
[Come usare la pagina Conversazione](/conversazioni/come-usare-la-pagina-conversazione)
{% endcontent-ref %}


# Come aggiungere un lead ad un'automazione

{% embed url="<https://app.supademo.com/demo/cmg6p3h59056a2nom2k4jobt0?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedere alla sezione Contatti

* Vai nel menu principale della piattaforma.
* Seleziona **"Contatti"** per visualizzare l’elenco completo dei tuoi contatti.
  {% endstep %}

{% step %}

### Cercare il lead

* Utilizza la **barra di ricerca** in alto.
* Inserisci il numero di telefono esattamente come registrato nel database (incluso prefisso internazionale, ad esempio: `+39 33033000`).
* Individua il lead desiderato tra i risultati.
  {% endstep %}

{% step %}

### Aprire la scheda del lead

* Clicca sul nominativo del lead.
* Nella parte destra dello schermo troverai le informazioni principali:
  * Nome
  * Numero di telefono
  * Indirizzo email
  * Altri dettagli registrati
    {% endstep %}

{% step %}

### Aggiungere contatto a una task

* Scorri fino in fondo alla scheda del lead.
* Trova la sezione **"Aggiungi contatto a una task"**.
* Clicca sul **menu a tendina**.
* Seleziona l’automazione desiderata dall’elenco.
  {% endstep %}

{% step %}

### Confermare l’operazione

* Dopo aver scelto l’automazione, clicca su **"Aggiungi"**.
* Il lead sarà immediatamente associato alla nuova automazione selezionata.
  {% endstep %}
  {% endstepper %}


# Come usare la pagina Conversazione

{% stepper %}
{% step %}

### Struttura della pagina

#### Sinistra – Elenco delle conversazioni

* Mostra tutte le conversazioni attive o passate
* Puoi navigare tra i lead cliccando sul nome nella lista
* In alto è presente una **barra di ricerca** che funziona come quella della pagina Contatti: puoi cercare per **nome**, **numero** o **email** (vedi Risorse utili)

#### Centro – Conversazione attiva

* Mostra il **nome del lead** e lo storico della conversazione
* Se la conversazione avviene su **WhatsApp** o **chat pubblica**, puoi intervenire direttamente e scrivere un messaggio tramite il campo di input
* Pulsante **Disabilita AI**:
  * Se cliccato, disattiva l’intelligenza artificiale per quella conversazione
  * Se la conversazione è telefonica, disattivare l’AI interrompe la chiamata

#### Destra – Dettagli del lead

In questa sezione trovi tutte le informazioni relative al lead selezionato:

* **Nome e ID del lead** (es. *Mario Bianchi – ID: 123456*)
* Pulsante **Elimina Lead** per rimuovere definitivamente il contatto
* **Informazioni sul lead**
* **Conversazioni passate**: elenco delle conversazioni precedenti in altre task
* **Informazioni aggiuntive / Note**:
  * Modalità **Testo Semplice** o **Campi Strutturati**
  * Usa il pulsante **Aggiorna** per salvare i dati
* **Aggiungi contatto all'automazione**:
  * Seleziona una task dal menu a tendina
  * Clicca su **Aggiungi** per inserire il lead in un’automazione
* **Conversazione attiva**:
  * Stato attuale della conversazione (attiva o non attiva)
* **Nome agente AI** assegnato (se presente)
  {% endstep %}

{% step %}

### A cosa serve questa pagina

La pagina **Conversation** ti permette di:

* Gestire una conversazione in corso (anche manualmente, se necessario)
* Visualizzare lo storico completo delle interazioni con un lead
* Aggiornare o aggiungere informazioni personalizzate
* Includere il lead in nuove automazioni
* Interrompere una conversazione o disattivare l’AI, se necessario
  {% endstep %}
  {% endstepper %}

***

### Risorse utili

**Come cercare un lead nella pagina Contatti:**

{% content-ref url="/pages/d932d4c68448e9acb690e34402ea86e6e8aa78ef" %}
[Come cercare un lead](/contatti/come-cercare-un-lead)
{% endcontent-ref %}

**Come disattivare l'AI su una conversazione:**

{% content-ref url="/pages/8eb58467f25e690038cbd9da7d695e1aaaad4e9f" %}
[Come disattivare l'AI su una conversazione](/conversazioni/come-disattivare-lai-su-una-conversazione)
{% endcontent-ref %}


# Come disattivare l'AI su una conversazione

{% stepper %}
{% step %}

### Quando disattivare l’AI

Disattivare l'AI può essere utile quando:

* Vuoi gestire manualmente la conversazione
* Il lead richiede un intervento umano
* È necessario interrompere la comunicazione automatica per motivi tecnici o di supporto
  {% endstep %}

{% step %}

### Come accedere alla conversazione

* Vai nella pagina **Contatti**
* Clicca sul lead desiderato per aprire la **pagina Conversazione**
  {% endstep %}

{% step %}

### Come disattivare l’AI

* Al centro della pagina, sopra  alla conversazione, troverai il pulsante **Disattiva AI**
* Clicca su questo pulsante per interrompere l’intervento dell’intelligenza artificiale su quella conversazione
  {% endstep %}

{% step %}

### Cosa succede dopo

* L’AI smetterà immediatamente di inviare messaggi o risposte al lead
* La conversazione potrà essere continuata manualmente da un operatore
* Lo stato della conversazione verrà aggiornato a **Disabilitata**

{% hint style="warning" %}
Se la conversazione è telefonica, cliccando su **Disabilita AI**, la chiamata verrà **interrotta immediatamente**.
{% endhint %}
{% endstep %}
{% endstepper %}

***

### Risorse utili

**Come usare la pagina Conversation:**

{% content-ref url="/pages/2534f9fce35b663111ea251615b322e421601661" %}
[Come usare la pagina Conversazione](/conversazioni/come-usare-la-pagina-conversazione)
{% endcontent-ref %}

**Come funzionano strumenti e regole**<br>


# Come aggiungere un lead ad una Task

{% stepper %}
{% step %}

### Dove si trova l’opzione

Per aggiungere un lead a un’automazione:

* Vai nella pagina **Contatti**
* Clicca su un lead per aprire la relativa **pagina Conversation**
* Sulla **destra** della pagina, scorri fino alla sezione **“Aggiungi contatto a una task”**
  {% endstep %}

{% step %}

### Come funziona l’aggiunta

* Clicca su **“Seleziona una task”**
* Si apre un menu a tendina con l’elenco delle automazioni (Task) disponibili
* Seleziona la Task desiderata
* Clicca su **Aggiungi**

Il sistema inserirà automaticamente il lead nell’automazione selezionata.
{% endstep %}

{% step %}

### Quando usarla

Puoi usare questa funzione quando:

* Vuoi far partire manualmente una conversazione automatica con un lead
* Hai raccolto un nuovo dato e vuoi attivare un’automazione specifica
* Stai recuperando un lead manualmente e lo vuoi reinserire in un flusso automatico

{% hint style="warning" %}
Assicurati che la Task scelta sia configurata correttamente per accettare nuovi contatti (vedi tutorial relativo alla creazione delle Task).\
\
Assicurati anche che rientri nell orario lavorativo scelto nei parametri della task.
{% endhint %}
{% endstep %}
{% endstepper %}

### Risorse utili

**Come usare la pagina Conversation:**

{% content-ref url="/pages/2534f9fce35b663111ea251615b322e421601661" %}
[Come usare la pagina Conversazione](/conversazioni/come-usare-la-pagina-conversazione)
{% endcontent-ref %}

**Cos’è una Task – Come creare una Task**

{% content-ref url="/pages/8d50091deae89d2d843c6423a1c2e14fb9e6e69e" %}
[Come creare una task](/task/come-creare-una-task)
{% endcontent-ref %}


# Come eliminare una conversazione

{% stepper %}
{% step %}

### Accedi alla pagina Conversazione del lead

* Vai alla sezione **Contatti**
* Cerca e seleziona un lead tramite nome, numero o email
* Clicca sul lead per aprire la **pagina Conversazione** dedicata
  {% endstep %}

{% step %}

### Accedi alla sezione “Storico”

* Nella parte destra della schermata, sotto il nome e l’ID del lead, vedrai due tab:
  * **Informazioni sul lead**
  * **Conversazioni passate**
* Clicca sulla tab **“Storico”** per visualizzare lo storico di tutte le interazioni precedenti tra l’AI e quel lead
  {% endstep %}

{% step %}

### Elimina una conversazione

* All’interno della sezione “**Storico**”, ogni conversazione è elencata con i relativi dettagli
* Accanto a ogni conversazione ci sono i 3 puntini
* Clicca sui puntini per aprire la finestra della conversazione dedicata\
  e premi su "**Elimina conversazione**"
* Conferma cliccando su **“Sì, elimina”** per procedere
  {% endstep %}
  {% endstepper %}

{% hint style="warning" %}
L’eliminazione è **definitiva** e riguarda solo **quella specifica conversazione**.
{% endhint %}

### Risorse utili

**Come usare la pagina Conversation:**

{% content-ref url="/pages/2534f9fce35b663111ea251615b322e421601661" %}
[Come usare la pagina Conversazione](/conversazioni/come-usare-la-pagina-conversazione)
{% endcontent-ref %}

**Come disattivare l'AI su una conversazione:**

{% content-ref url="/pages/8eb58467f25e690038cbd9da7d695e1aaaad4e9f" %}
[Come disattivare l'AI su una conversazione](/conversazioni/come-disattivare-lai-su-una-conversazione)
{% endcontent-ref %}

**Come cercare un lead nella pagina Contatti:**

{% content-ref url="/pages/d932d4c68448e9acb690e34402ea86e6e8aa78ef" %}
[Come cercare un lead](/contatti/come-cercare-un-lead)
{% endcontent-ref %}


# Come vedere le conversazioni passate di un lead

{% stepper %}
{% step %}

### Accedi alla pagina Conversazioni

* Vai nella sezione **Contatti**
* Cerca il lead desiderato utilizzando nome, numero o email
* Clicca sul nome del lead per aprire la sua **pagina Conversation**
  {% endstep %}

{% step %}

### Apri la tab “Storico”

Nella colonna di destra, sotto il nome e l’ID del lead, troverai due tab:

* **Informazioni sul lead**
* **Storico**

Clicca sulla tab **“Storico”**
{% endstep %}

{% step %}

### Cosa visualizzi

All’interno della sezione “**Storico**” vedrai:

* L’elenco di tutte le conversazioni avvenute con quel lead
* Informazioni come:
  * Data e ora
  * Stato della conversazione
  * Task associata (se presente)
  * Durata chiamata
  * Se è una conversazione telefonica troverai il **SIP TRACE** E la registrazione (se abilitata dai parametri della task)
* L’accesso a ogni conversazione passata per consultare i messaggi scambiati
* Riassunto della conversazione
  {% endstep %}

{% step %}

### Quando è utile

Vedere le conversazioni passate è utile per:

* Ricostruire la cronologia di contatto con il lead
* Capire se il lead ha già ricevuto comunicazioni simili
* Preparare il prossimo messaggio in modo più personalizzato
  {% endstep %}
  {% endstepper %}

***

### Risorse utili

**Come usare la pagina Conversation:**

{% content-ref url="/pages/2534f9fce35b663111ea251615b322e421601661" %}
[Come usare la pagina Conversazione](/conversazioni/come-usare-la-pagina-conversazione)
{% endcontent-ref %}

**Come cercare un lead nella pagina Contatti:**

{% content-ref url="/pages/d932d4c68448e9acb690e34402ea86e6e8aa78ef" %}
[Come cercare un lead](/contatti/come-cercare-un-lead)
{% endcontent-ref %}


# Come creare un calendario

{% embed url="<https://app.supademo.com/demo/cmg6p50pe059u2nomlokunzw8?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedi alla sezione “Calendari”

* Vai alla sezione **Calendari** dal menu principale
* In alto a destra, clicca sul pulsante **“Crea calendario”**
  {% endstep %}

{% step %}

### Compila i dettagli del calendario

Nella schermata “**Crea nuovo calendario**”, inserisci le seguenti informazioni:

* **Nome del calendario :** dai un nome descrittivo (es. “Disponibilità commerciale”)
* **Descrizione**
* **Colore calendario:** Con quale colore verrano impostati gli slot
* **Giorni attivi**: seleziona i giorni in cui è possibile fissare appuntamenti (es. Lun, Mar, Mer, ecc.)
* **Ora di inizio**: orario da cui possono iniziare gli appuntamenti (es. 09:00)
* **Ora di fine**: orario massimo entro cui è possibile programmare (es. 18:00)
* **Aggiungi fascia** : seleziona con quale fasce orarie può ricavare le disponibilità il calendario
* **Durata**: durata degli appuntamenti (in minuti, minimo 5 minuti)
* **Durata** **buffer** : imposta Pausa tra un appuntamento e il successivo. 0 = contigui.
* **Intervallo tra slot**: Ogni quanti minuti proporre uno slot disponibile (es. 15 = slot alle 09:00, 09:15, 09:30...).
* **Posizione** (opzionale): specifica una sede fisica o link (es. ufficio, Zoom, Meet)
  {% endstep %}

{% step %}

### Salva il calendario

* Dopo aver compilato tutti i campi, clicca su **“Crea calendario”**
* Il calendario sarà creato e potrà essere utilizzato nelle Task per la pianificazione automatica degli appuntamenti
  {% endstep %}
  {% endstepper %}

***

### Risorse utili

**Come sincronizzare il calendario con Google:**

{% content-ref url="/pages/9a8eb816286f15ceb9bfa885c0c37d6c6e82c145" %}
[Come sincronizzare il calendario con Google](/calendario/come-sincronizzare-il-calendario-con-google)
{% endcontent-ref %}

**Come aggiungere, eliminare, modificare eventi nel calendario:**

{% content-ref url="/pages/8bf1007cd257ec11c03c68a32a5afcfa8b7409ca" %}
[Come aggiungere, eliminare, modificare eventi nel calendario](/calendario/come-aggiungere-eliminare-modificare-eventi-nel-calendario)
{% endcontent-ref %}


# Come sincronizzare il calendario con Google

{% embed url="<https://app.supademo.com/demo/cmg6p6nh005ds2nommwd30ubd?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedi alla pagina del calendario

* Vai nella sezione **Calendari**
* Trova il calendario che vuoi sincronizzare e premilo

{% endstep %}

{% step %}

### Apri le impostazioni

* In alto a destra, clicca sull’**icona a forma di ingranaggio** (accanto al pulsante “**Nuovo evento**”)
* Si aprirà una finestra di configurazione (modale)
  {% endstep %}

{% step %}

### Vai su “Google Calendar”

{% endstep %}

{% step %}

### Avvia la sincronizzazione con Google Calendar

* Clicca su **“Sincronizza con Google Calendar”**
* Seleziona l’**account Google** che vuoi collegare
* Concedi i **permessi richiesti**
  {% endstep %}

{% step %}

### Seleziona il calendario da collegare

* Una volta rientrato in Bookli, ti verrà chiesto di **scegliere il calendario specifico** dell’account Google da sincronizzare

{% hint style="warning" %}
⚠️ **Attenzione**: se non selezioni un calendario, la sincronizzazione non sarà effettiva.
{% endhint %}
{% endstep %}

{% step %}

### Salva le modifiche

* Dopo aver selezionato il calendario corretto, clicca su **“Salva”**
* La sincronizzazione sarà attiva
  {% endstep %}

{% step %}

### Cosa comporta la sincronizzazione

* Bookli potrà **leggere gli eventi** presenti nel tuo Google Calendar
* Potrai **aggiungere, modificare o eliminare eventi** direttamente da Bookli
* L’**AI utilizzerà questo calendario** per verificare la tua disponibilità e fissare appuntamenti **solo quando sei libero**
* Questo garantisce una pianificazione automatica più intelligente e precisa
  {% endstep %}
  {% endstepper %}

***

### Risorse utili

**Come creare un calendario:**

{% content-ref url="/pages/9929882e97a854080eba5b4ee2baf1905b238fed" %}
[Come creare un calendario](/calendario/come-creare-un-calendario)
{% endcontent-ref %}


# Come aggiungere, eliminare, modificare eventi nel calendario

{% stepper %}
{% step %}

### Aggiungere un nuovo evento

* Vai nella sezione **Calendari** e clicca su **Visualizza** sul calendario desiderato
* In alto a destra, clicca sul pulsante verde **“Nuovo evento”**
* Si aprirà un modulo con i seguenti campi:

**Dati da compilare**

* **Titolo**: nome dell’evento
* **Inizio / Fine**: imposta data e orario di inizio e fine (formato `gg/mm/aaaa, hh:mm`)
* **Colore** : seleziona un colore per l evento
* **Lead associato**: seleziona il lead da collegare all’evento (opzionale)
* **Invitati (Google Meet)**:
  * Aggiungi l’email dell’ospite
  * Puoi rimuoverlo o aggiungerne altri con **“Add Guest”**
* **Note**: eventuali informazioni aggiuntive

In fondo al modulo trovi un’opzione per **disattivare la sincronizzazione automatica con Google Calendar** (attiva di default).

* Dopo aver inserito tutti i dati, clicca su **Salva** per creare l’evento
  {% endstep %}

{% step %}

### Modificare un evento esistente

* Nella visualizzazione del calendario, clicca sull’evento che vuoi modificare
* Si aprirà un **drawer laterale** con gli stessi campi dell’aggiunta
* Apporta le modifiche necessarie (orari, titolo, ospiti, ecc.)
* Clicca su **Salva** per aggiornare l’evento

Le modifiche verranno automaticamente sincronizzate con Google Calendar (se la sincronizzazione è attiva).
{% endstep %}

{% step %}

### Eliminare un evento

* Clicca sull’evento nel calendario
* Nel drawer laterale che si apre, clicca sull’**icona cestino**&#x20;
* Conferma l’operazione

{% hint style="warning" %}
Se il calendario è sincronizzato, anche l’eliminazione verrà riflessa automaticamente su Google Calendar.
{% endhint %}
{% endstep %}
{% endstepper %}

***

### Risorse utili

**Come sincronizzare il calendario con Google:**

{% content-ref url="/pages/9a8eb816286f15ceb9bfa885c0c37d6c6e82c145" %}
[Come sincronizzare il calendario con Google](/calendario/come-sincronizzare-il-calendario-con-google)
{% endcontent-ref %}

**Come creare un calendario:**

{% content-ref url="/pages/9929882e97a854080eba5b4ee2baf1905b238fed" %}
[Come creare un calendario](/calendario/come-creare-un-calendario)
{% endcontent-ref %}


# Come creare una task

{% embed url="<https://app.supademo.com/demo/cmfxuf02t4fs710k8n399gu4o?utm_source=link>" %}

{% stepper %}
{% step %}

### Definire il Trigger

Il trigger stabilisce l’evento che dà avvio alla task.

Esempi comuni:

* **Messaggio in arrivo** ( WhatsApp)
* **Webhook** (es. una richiesta dal sito con nome, numero, email)
* **Chiamata in arrivo**
* **Public Chat** avviato da un utente che può essere **SCRITTA/VOCALE**

{% hint style="info" %}
In sintesi: **cosa fa partire la task**.
{% endhint %}
{% endstep %}

{% step %}

### Selezionare la Piattaforma di Conversazione

Qui si definisce **dove avviene la conversazione**.

* Se il trigger è già collegato a una piattaforma (es. messaggio WhatsApp), viene selezionata in automatico.
* Se il trigger è un webhook, bisogna indicare manualmente la piattaforma (es. WhatsApp, telefono, chat web).

{% hint style="info" %}
In sintesi: **dove deve parlare l’agente**.
{% endhint %}
{% endstep %}

{% step %}

### Configurare Strumenti e Regole

Questa sezione definisce **cosa può fare l’agente durante la conversazione**.

Gli strumenti e le regole si dividono in due tipologie:

* **Trigger conversazionali** → azioni che partono direttamente dalla conversazione con l’utente.
* **Trigger dal CRM/software** → azioni che si attivano a partire da eventi esterni (es. un cambio di stato nel CRM).

{% hint style="info" %}
Consultare la sezione “Strumenti e Regole” della piattaforma per configurare nel dettaglio.
{% endhint %}
{% endstep %}

{% step %}

### Impostare la Conversazione

In questa fase si definisce **come deve parlare l’agente**.\
Le opzioni principali sono descritte di seguito.

#### 5.1 Vendite generate dall’AI

* **Inbound** (utente contatta l’azienda)
  * Contesto
  * Obiettivo della conversazione
  * Criteri e domande di qualifica
  * Leve di vendita
  * Gestione delle obiezioni
* **Outbound** (l’azienda contatta il lead)
  * Origine del lead
  * Obiettivo della conversazione
  * Offerta/prodotto
  * Leve di vendita
  * Domande di qualifica
  * Gestione delle obiezioni

#### 5.2 Script pre-caricato

L’azienda può fornire uno **script scritto** che l’agente deve seguire durante la conversazione.

{% hint style="info" %}
Definisci chiaramente tono, obiettivi e regole operative in base al tipo di conversazione scelto.
{% endhint %}
{% endstep %}
{% endstepper %}


# Cos'è un webhook e come funziona

{% stepper %}
{% step %}

### Definizione di Webhook

Un **webhook** è un indirizzo univoco, simile a un indirizzo di casa.

* Ogni task ha il proprio webhook dedicato.
  * Esempio: se creo la **Task 1** con trigger webhook, questa avrà un URL univoco diverso da quello della **Task 2**.
* Questo indirizzo è utilizzato per ricevere dati da sistemi esterni e avviare automaticamente la task.

{% hint style="info" %}
In sintesi: il webhook è come un **indirizzo di spedizione digitale** che permette alla piattaforma di ricevere lead e informazioni.
{% endhint %}
{% endstep %}

{% step %}

### A cosa serve il Webhook

Grazie ai webhook è possibile collegare la piattaforma a qualsiasi fonte di lead, tramite:

* **Software di automazione** (Zapier, Pabbly, Make, n8n, ecc.)
* **CRM** con workflow configurabili
* **Form online** (es. sito web, campagne pubblicitarie, Facebook Lead Ads)

Esempi di azioni che possono avviare una task tramite webhook:

* Un nuovo lead spostato in pipeline dal CRM
* Una richiesta proveniente da un form di Facebook
* Una compilazione di form sul sito aziendale
  {% endstep %}

{% step %}

### Parametri obbligatori

All’interno del webhook devono essere passati alcuni campi **obbligatori** in formato **JSON**:

{% code title="Esempio JSON" %}

```json
{
  "full_name": "Mario Rossi",
  "phone": "+39333111222",
  "email": "mario.rossi@example.com"
}
```

{% endcode %}
{% endstep %}

{% step %}

### Parametri extra

È anche possibile inviare campi aggiuntivi tramite la sezione **extra\_fields**, utile per personalizzare ulteriormente la task.\
Esempio:

{% code title="Esempio JSON con extra\_fields" %}

```json
{
  "full_name": "Giulia Bianchi",
  "phone": "+39344999888",
  "email": "giulia.bianchi@example.com",
  "extra_fields": {
    "eta": 29,
    "citta": "Milano",
    "interesse": "Corso di Marketing"
  }
}
```

{% endcode %}

Questi parametri personalizzati possono essere richiamati all’interno della task, ad esempio con:

* {{extra\_fields.eta}}
* {{extra\_fields.citta}}
  {% endstep %}

{% step %}

### Vantaggi del Webhook

* Automatizza l’acquisizione di lead da qualsiasi fonte.
* Consente di arricchire i dati con informazioni personalizzate.
* Garantisce la massima flessibilità nell’avvio delle conversazioni.
  {% endstep %}
  {% endstepper %}


# Come dare degli orari di lavoro all'AI

### 1. Perché impostare gli Orari di Lavoro

Gli **orari di lavoro** permettono di stabilire in quali giorni e fasce orarie una task è attiva.

Sono fondamentali in scenari come:

* Task di qualificazione dei lead che arrivano da campagne pubblicitarie 24/7 (es. Facebook Ads, TikTok Ads).
* Task telefoniche che non devono disturbare i contatti di notte.
* Copertura parziale del centralino (es. operatori umani al mattino, AI solo al pomeriggio).

### 2. Dove trovare gli Orari di Lavoro

* Apri la task.
* In alto a destra, accanto al pulsante **“Rilascia”**, troverai il pulsante **“Orari di lavoro”**.
* Cliccando, potrai configurare:
  * I giorni della settimana in cui la task è attiva.
  * Le fasce orarie precise per ciascun giorno.
  * puoi selezionare 24/7 per rendere disponibile l AI sempre (sconsigliato se non per fare i test)

## **Comportamento fuori orario** :

Indica come l AI si deve comportare con i lead che arrivano fuori dall orario lavorativo impostato

{% stepper %}
{% step %}

### Non contattare fuori orario

* Il lead viene ignorato.
* Non verrà mai contattato da quella task.
  {% endstep %}

{% step %}

### Ricontatta all'inizio dell'orario lavorativo

* Il lead viene messo in coda.
* Verrà ricontattato il **giorno successivo**, all’inizio del primo orario lavorativo disponibile.
  {% endstep %}

{% step %}

### Ricontatta smart (spalma nella giornata)

* I lead viene messo in coda.
* I lead non verranno contattati tutti all inizio lavorativo ma con un intervallo da un contatto all altro&#x20;
* Intervallo tra contatti modificabile a piacere

{% hint style="info" %}
Consigliato per i contatti di whatsapp, onde evitare di mandare TOT messaggi contemporaneamente
{% endhint %}
{% endstep %}

{% step %}

### Metti in coda per approvazione manuale

* &#x20;I lead vengono salvati ma **non contattati automaticamente**.
* Saranno disponibili nella sezione **Attività→  Da approvare**.
* Utile quando più collaboratori gestiscono i lead e si vuole evitare confusione o duplicazioni di chiamate.

{% endstep %}
{% endstepper %}

### 4. Suggerimenti operativi

{% hint style="info" %}

* Per task di qualificazione automatica da campagne pubblicitarie, imposta sempre orari di lavoro per evitare chiamate notturne indesiderate.
* Se lavori in team, usa la modalità **approvazione** per coordinare meglio le attività.
* Verifica che gli orari impostati non si sovrappongano con altre coperture umane, per massimizzare l’efficienza.
  {% endhint %}


# 1.Trigger


# Cos'è un Trigger

<figure><img src="https://media.supademo.com/cmfzfqoim0099xx0iino3u3ku/screenshots/t4WzOBwUr9WSGhch0I5H9.jpg" alt=""><figcaption></figcaption></figure>

#### 1. Definizione di Trigger

{% hint style="info" %}
Un **trigger** è l’evento che fa partire una **task** o una **conversazione**.\
In altre parole: è il punto di innesco che dà il via all’interazione con l’utente.
{% endhint %}

***

#### 2. Tipologie di Trigger

I principali trigger disponibili sono:

* **Webhook**
  * Il più comune.
  * Permette di collegare la piattaforma a qualsiasi fonte esterna di lead (siti web, form, CRM, ecc.).
* **WhatsApp in arrivo**
  * La task si attiva quando un utente invia un messaggio su WhatsApp.
* **Chiamata in arrivo su Twilio**
  * La conversazione parte quando arriva una telefonata tramite il sistema Tullio.
* **Chiamata in arrivo su SIP Trunk**
  * Trigger attivato da una chiamata che arriva attraverso un collegamento SIP.


# Come usare Whatsapp come trigger

{% stepper %}
{% step %}

### Requisito iniziale

Prima di configurare WhatsApp come trigger:

* Assicurarsi di aver collegato correttamente l’account WhatsApp alla piattaforma.
* È possibile collegare più numeri, ma **ogni task può essere associata a un solo numero**.

{% content-ref url="/pages/4e205ed6140ac03f64778cceb2900d4f0132fb2f" %}
[Come collegare whatsapp a Bookli](/integrazioni/come-collegare-whatsapp-a-bookli)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Selezionare WhatsApp come Trigger

Durante la creazione della task:

* Scegliere **WhatsApp** come tipologia di trigger.
* Selezionare il numero WhatsApp che deve avviare la task.
  {% endstep %}

{% step %}

### Definire la condizione di attivazione

Dopo aver selezionato il numero, bisogna stabilire **quando far partire la task**. Le opzioni sono due:

* **Esattamente uguale a…**\
  La task si avvia solo se il messaggio ricevuto coincide perfettamente con la parola/frase indicata.\
  Esempio: se imposti *Ciao*, la task parte solo se l’utente scrive esattamente **“Ciao”**.
* **Contiene…**\
  La task si avvia se il messaggio ricevuto contiene la parola/frase indicata, anche all’interno di una frase più lunga.\
  Esempio: se imposti *Ciao*, la task parte con messaggi come:
  * “Ehi ciao, come stai?”
  * “Ciao buongiorno”
    {% endstep %}

{% step %}

### Caso speciale: Trigger universale

Se si desidera che la task parta **per qualsiasi messaggio ricevuto**, impostare come condizione:

* Tipo: **Contiene**
* Valore: **“a”**

{% hint style="info" %}
👉 In questo modo, poiché quasi ogni messaggio contiene la lettera *a*, la task verrà attivata con qualsiasi testo.
{% endhint %}
{% endstep %}

{% step %}

### Suggerimenti pratici

* Usare **Esattamente uguale** per comandi precisi (es. “STOP”, “HELP”).
* Usare **Contiene** per gestire interazioni più flessibili e naturali.
* Evitare condizioni troppo generiche per non avviare task indesiderate.
  {% endstep %}
  {% endstepper %}


# Come usare twilio come trigger

{% stepper %}
{% step %}

### Requisiti preliminari

* Assicurati di aver completato l’integrazione con Twilio (vedi la sezione Integrazioni → Come collegare Twilio).
* La piattaforma richiede un numero Twilio abilitato per inbound (nell’esempio fornito: un numero toll-free / “numero verde” tipo +800).

{% hint style="warning" %}
Nota importante: nella configurazione descritta, i numeri di telefono cellulare non sono supportati come trigger inbound — è necessario un numero Twilio predisposto per chiamate inbound.
{% endhint %}
{% endstep %}

{% step %}

### Acquisto e abilitazione del numero Twilio

* Acquista su Twilio un numero con capacità voice/inbound (es. numero toll-free se richiesto dalla piattaforma).
* Verifica che il numero sia attivo e che l’account Twilio sia correttamente collegato alla piattaforma.
  {% endstep %}

{% step %}

### Selezionare Twilio come trigger nella Task

* Durante la creazione o modifica di una Task:
  * Vai alla sezione Trigger.
  * Seleziona Inbound Twilio (o la voce corrispondente: “chiamata inbound su Twilio”).
  * Dalla lista dei numeri disponibili scegli il numero Twilio che deve attivare la task (es. un +800).
* Nella schermata di selezione dovresti vedere l’opzione Imposta come predefinito (o equivalente). Spunta questa opzione se vuoi che questa task sia la responsabile per le chiamate in ingresso ricevute su quel numero.
  {% endstep %}

{% step %}

### Regola di routing: stesso numero + più task

* È possibile collegare lo stesso numero Twilio a più task (ad esempio per organizzazione o testing), ma solo la task impostata come predefinita risponderà alle chiamate inbound su quel numero.

Esempio pratico:

* Numero: +80011111222 collegato a Task A, Task B, Task C.
* Se imposti Task B → Imposta come predefinito, quando qualcuno chiama +80011111222 sarà avviata Task B.

Per cambiare quale task risponde:

* Rimuovi il predefinito dalla task attuale.
* Imposta il predefinito sulla nuova task.
* Salva le modifiche.
  {% endstep %}

{% step %}

### Salvare e testare

* Dopo aver selezionato il numero e impostato (eventualmente) come predefinito, clicca Salva per confermare la configurazione della task.
* Effettua una chiamata di prova al numero Twilio per verificare che la task si avvii correttamente e risponda come previsto.
  {% endstep %}

{% step %}

### Controlli e troubleshooting rapidi

<details>

<summary>Apri per vedere i controlli e i passaggi di troubleshooting</summary>

Se la task non parte:

* Verifica che l’integrazione Twilio sia attiva e che le credenziali/API siano corrette (vedi la sezione integrazione).
* Controlla che il numero sia effettivamente acquistato e abilitato per chiamate inbound su Twilio.
* Assicurati che una sola task sia impostata come predefinita per quel numero (evita conflitti).

Se cambi il numero o la task predefinita, ricorda sempre di salvare e di ripetere un test di chiamata.

</details>
{% endstep %}

{% step %}

### Suggerimenti operativi

* Usa i test in un account di prova prima di puntare su numeri in produzione.
* Documenta quale task è predefinita per ogni numero per evitare modifiche accidentalmente disruptive.
* Se prevedi routing complessi o failover, pianifica la sequenza di task predefinite e verifica i log Twilio per diagnostica.
  {% endstep %}
  {% endstepper %}


# Come usare public chat come trigger

## 1. Cos’è Public Chat

**Public Chat** è una piattaforma di conversazione totalmente online che consente di far lavorare l’agente su una chat pubblica accessibile tramite link.

Può essere utilizzata, ad esempio:

* Integrata in un **iframe** su un sito
* Condivisa tramite **link diretto**
* Accessibile da un **QR code**

***

## 2. Attivare Public Chat come Trigger

{% stepper %}
{% step %}

### Seleziona Public Chat

Nella creazione della task, seleziona **Public Chat Scritta o Vocale** come tipologia di trigger.
{% endstep %}

{% step %}

### Attiva lo switch

Attiva l’opzione tramite lo **switch “Attiva”**.
{% endstep %}

{% step %}

### Copia il link

Copia il **link generato automaticamente**.
{% endstep %}
{% endstepper %}

***

## 3. Utilizzare il Link

Il link di Public Chat può essere distribuito in diversi modi:

* Incollato su un pulsante del sito web
* Integrato in un QR Code da stampare o condividere
* Inviato direttamente agli utenti tramite email, social o altri canali

Quando un utente clicca o accede al link, si aprirà la chat pubblica collegata alla tua task.

***

## 4. Piattaforma di conversazione

Se selezioni **Public Chat** come trigger:

* La piattaforma di conversazione viene impostata **automaticamente** su Public Chat.
* Non è necessario configurare manualmente un canale ulteriore.

***

## 5. Vantaggi di Public Chat

* Accessibile da qualsiasi dispositivo connesso a internet.
* Perfetta per campagne pubblicitarie, eventi o QR code su materiale stampato.
* Non richiede numeri di telefono o account aggiuntivi: basta il link generato.


# Come usare Chiamata SIP in arrivo come trigger

### 1. Requisito iniziale

Prima di configurare SIP come trigger:

* Assicurarsi di aver collegato correttamente il **SIP Trunk** tramite le integrazione di bookli&#x20;

{% content-ref url="/pages/85bcf4c49b164a8c0878dead775004f0e2ed9881" %}
[Come collegare un Interno Sip Trunk a Bookli](/integrazioni/come-collegare-un-interno-sip-trunk-a-bookli)
{% endcontent-ref %}

* È possibile collegare il numero a più task, però il numero in entrata deve essere perimpostato predefinito per UNA task sola.

### 2. Selezionare SIP come Trigger

Durante la creazione della task:

* Scegliere **SIP** come tipologia di trigger.
* Selezionare l'interno **SIP** che deve avviare la task.

### 3. Impostare i parametri

Dopo aver premuto salva, si potranno modificare le impostazioni della voce, ragionamento per continuare con la configurazione della task sip procedi pure qui&#x20;

{% content-ref url="/pages/47d8aa3d927415ba5b7afcc8262099ee22e59216" %}
[Come usare SIP in piattaforma di conversazione](/task/3.piattaforma-di-conversazione/come-usare-sip-in-piattaforma-di-conversazione)
{% endcontent-ref %}


# 2.Base di Conoscenza


# Come selezionare una Base di conoscenza

<figure><img src="https://media.supademo.com/cmfzfqoim0099xx0iino3u3ku/screenshots/VDB7zpFwNnQ3SeRb7s4-T.jpg" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### Creare una nuova base di conoscenza

Quando crei una task da zero, non avrai ancora una knowledge base collegata.

Per crearne una nuova:

* Vai nella sezione dedicata alla base di conoscenza(parte destra a metà schermo).
* Inserisci un **nome identificativo**.
* Clicca su **Crea**.

{% hint style="info" %}
Ogni task può richiamare **una sola base di conoscenza**, anche se puoi crearne e gestirne più di una all’interno della piattaforma.
{% endhint %}
{% endstep %}

{% step %}

### Collegare la Base di conoscenza alla Task

* Dopo aver creato la base di conoscenza, selezionala dalla lista per associarla alla task in corso.
* Verrà visualizzato un campo **Descrizione**, fondamentale per spiegare all’AI **quando deve invocare quella base di conoscenza**.
  {% endstep %}

{% step %}

### Scrivere la descrizione di invocazione

La descrizione serve a dare istruzioni chiare all’AI su **quando usare quella base di conoscenza durante una conversazione**.

{% hint style="warning" %}
La base di conoscenza funziona **solo nelle conversazioni scritte** e **non è disponibile nelle chiamate vocali**.
{% endhint %}

<details>

<summary>Esempio di descrizione</summary>

* *“Usa questa base di conoscenza quando l’utente chiede informazioni sulla nostra azienda.”*

</details>
{% endstep %}

{% step %}

### Contenuti della Base di conoscenza

La base di conoscenza può essere creata importando:

* **PDF**
* **Siti web**
* **FAQ**
* **Testo libero**

Inserisci tutte le fonti necessarie per fornire all’agente AI le informazioni utili durante le conversazioni.
{% endstep %}

{% step %}

### Salvare e continuare

Dopo aver configurato nome, contenuti e descrizione di invocazione:

* Clicca su **Salva**.
* Procedi con lo step successivo nella creazione della task.
  {% endstep %}
  {% endstepper %}


# 3.Piattaforma di Conversazione


# Cos'è la piattaforma di conversazione

<figure><img src="https://media.supademo.com/cmfzfqoim0099xx0iino3u3ku/screenshots/iw1F5FGflAkldaAgiCsfJ.jpg" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### Definizione

La **piattaforma di conversazione** è il canale attraverso il quale l’AI interagisce con l’utente finale.\
La **task** rimane sempre la stessa, ma puoi decidere **dove** l’AI deve conversare (WhatsApp, telefono, chat pubblica, ecc.).

{% hint style="info" %}
In poche parole: la piattaforma di conversazione definisce **dove avverrà la conversazione**.
{% endhint %}
{% endstep %}

{% step %}

### Relazione tra Trigger e Piattaforma

* Se scegli come **trigger** una piattaforma specifica (es. **WhatsApp in arrivo**), la relativa piattaforma di conversazione sarà **selezionata automaticamente** e non potrà essere cambiata.
* Non è possibile avere combinazioni incoerenti, ad esempio:
  * Trigger = WhatsApp
  * Piattaforma di conversazione = Twilio (❌ non consentito)
    {% endstep %}

{% step %}

### Cambiare Piattaforma di Conversazione

Se il trigger è **neutro** (es. webhook da un form sul sito), puoi decidere **dove deve avvenire la conversazione**:

* WhatsApp
* Chiamata telefonica (Sip Trunk o Twilio)

In questo modo puoi modificare la strategia di contatto senza dover ricreare la task.
{% endstep %}

{% step %}

### Configurazioni aggiuntive

A seconda della piattaforma scelta, dovrai configurare ulteriori parametri:

* WhatsApp
  * Seleziona il numero collegato.
* Telefonia (Sip Trunk o Twilio)
  * Seleziona il numero telefonico associato.
  * Scegli il modello di chiamata.
  * Imposta la voce da utilizzare.
  * Regola le impostazioni vocali (es. velocità di risposta, creatività del tono).
* Public Chat
  * La piattaforma viene impostata automaticamente al momento della creazione del trigger.
    {% endstep %}

{% step %}

### Suggerimento operativo

* Prima di salvare la task, verifica sempre che **trigger e piattaforma di conversazione coincidano**.
* Se desideri cambiare canale in futuro (es. da telefono a WhatsApp), basta entrare nella task e sostituire la piattaforma di conversazione.
  {% endstep %}
  {% endstepper %}


# Come usare SIP in piattaforma di conversazione

### 1. Requisiti iniziali

Per poter modificare le impostazioni vocali devi:

* Aver già creato il trigger della **task**.
* Aver collegato una piattaforma di conversazione **vocale** (Twilio o SIP Trunk).

Solo dopo questi passaggi sarà possibile accedere alle impostazioni della voce.

***

### 2. Dove modificare le impostazioni

{% stepper %}
{% step %}

### Sezione Piattaforma di conversazione

Vai alla sezione **Piattaforma di conversazione**.
{% endstep %}

{% step %}

### Seleziona la piattaforma vocale

Clicca sulla piattaforma vocale collegata (Twilio o SIP Trunk).
{% endstep %}

{% step %}

### Accedi alle opzioni vocali

Qui troverai tutte le opzioni di configurazione della voce.
{% endstep %}
{% endstepper %}

***

### 3. Impostazioni disponibili

Le impostazioni vocali modificabili includono:

* **Seleziona voce**\
  Puoi selezionare una vasta gamma di voci femminili e maschili, con vari accenti, puoi testare la voce selezionata premendo il tasto "**►** Ascolta la voce selezionata"
* **Rumore di fondo**:\
  Un rumore ambientale tenue (tipo ufficio/call center) viene sovrapposto alla voce dell'agente per rendere la chiamata più reale e naturale premendo il tasto "**►** " potrai sentire un anteprima del rumore
* **Tipo di risposta:**\
  **-**&#x52;ispote veloci : L AI ha un tempo di risposta ma ha meno tempo per generare una risposta "ottimale"\
  -Risposte accurate : L AI ha un tempo di risposta leggermente più "lento" delle Risposte veloci, ma sono più accurate, utile soprattutto per task con più strumenti richiamati in una conversazione\ <br>

{% hint style="info" %}
E' consigliato privilegiare risposte accurate rispetto a quelle più veloci: la differenza di latenza è di pochi millisecondi (non percepibile), ma la qualità del flusso migliora molto.
{% endhint %}

* **Registro chiamate:** puoi abilitare la registrazione delle chiamate, così da poterle risentire attraverso lo **storico** di ogni lead
* **Durata Massima Chiamata:** puoi impostare la durata massima della chiamata, la chiamata verrà terminata immediatamente scaduto il tempo impostato
* **Timout Inattività:** decide quanti secondi di inattività da parte del lead, di far chiudere la chiamata all AI
* **Navigazione IVR :** L AI premerà automaticamente i tasti **DTMF** per navigare il menu verso l'obiettivo configurato

***

### 4. Impostazioni aggiuntive per Twilio

Se usi **Twilio** come piattaforma vocale, hai a disposizione opzioni dedicate alla gestione dei silenzi:

* **Durata del silenzio**
  * Tempo che l’AI aspetta dopo che l’interlocutore smette di parlare, prima di considerare il turno concluso.
  * Valore basso (es. 0 secondi) → risposta rapida.
  * Valore alto (es. 1-2 secondi) → risposta più lenta ma più naturale.
* **Soglia del silenzio**
  * Livello minimo di volume per considerare che l’interlocutore stia parlando.
  * Valore alto (es. 70%) → l’AI ignora i rumori di fondo e le voci lontane.
  * Valore basso → l’AI riconosce anche suoni deboli, ma rischia di confondere i rumori con parole.

***

{% hint style="info" %}

#### 5. Suggerimenti pratici

* **Velocità**: imposta valori moderati per un parlato fluido e comprensibile.
* **Soglia di silenzio**: tienila abbastanza alta per ridurre i falsi input dovuti a rumori ambientali.
* **Durata del silenzio**: 1 secondo è un buon compromesso tra velocità di risposta e naturalezza.
  {% endhint %}

***

### 6. Salvare le modifiche

Dopo aver personalizzato tutte le impostazioni:

* Clicca su **Salva**.
* Effettua una chiamata di test per verificare il risultato.


# 4.Strumenti e Regole


# 5.Trigger


# Evento conversazione

{% stepper %}
{% step %}

### Differenza tra Evento Conversazione e Evento Chiamata

* **Stato chiamata**: indica lo stato tecnico della chiamata (attiva, terminata, ecc.).
* **Stato conversazione**: rappresenta invece il "contesto logico" della conversazione, ovvero a che punto del flusso si trova (completata, disabilitata, timeout).
  {% endstep %}

{% step %}

### Stati principali della conversazione

* **Completata**: la conversazione ha raggiunto il suo obiettivo (es. fissato un appuntamento).
* **Disabilitata**: la conversazione viene interrotta manualmente o da un’azione automatica (es. Disattiva AI).
* **Tempo Scaduto**: la conversazione si chiude automaticamente per inattività o regola autonoma.
  {% endstep %}

{% step %}

### Come vengono generati gli stati

* **Completed**: impostato da un’azione come *Definisci completamente*.
* **Disable**: impostato da un’azione come *Disattiva AI*.
* **Timeout**: generato da una regola autonoma come *Definisci timeout*.
  {% endstep %}

{% step %}

### Esempio pratico con stato "Completed"

* Crei una regola:
  * **Trigger**: appuntamento fissato.
  * **Azione**: *Definisci completamente*.
* Risultato: lo Stato conversazione passa a **Completed**.
* Nota pratica: se desideri che parta una mail solo quando la conversazione è completata (e non al momento della fissazione dell’appuntamento), imposta come condizione **Stato conversazione = Completed** e associa tutte le azioni desiderate (es. invio email).
  {% endstep %}

{% step %}

### Esempio pratico con stato "Disable"

* Crei una regola:
  * **Trigger**: conversazionale (es. utente molto arrabbiato).
  * **Azione**: *Disattiva AI*.
* Risultato: la conversazione passa allo stato **Disable**.
* A questo punto puoi decidere che parta un’azione specifica (es. invio email con un eBook o segnalazione interna).
* Puoi inserirla:
  * nello stesso gruppo di azioni del trigger conversazionale, oppure
  * in un nuovo set di regole con condizione **Stato conversazione = Disable**.
    {% endstep %}

{% step %}

### Buone pratiche

* Usa **Completed** solo quando il flusso conversazionale ha raggiunto l’obiettivo prefissato.
* Imposta **Disable** per gestire i casi critici (es. utente arrabbiato, richiesta blocco AI).
* Affidati al **Timeout** per gestire conversazioni lasciate inattive.
* Struttura le azioni in regole distinte quando desideri maggiore controllo su cosa accade in ciascuno stato.
  {% endstep %}
  {% endstepper %}


# Nuovo Lead

#### Cos’è il trigger "Nuovo lead"

Il Nuovo lead è un **Lead in arrivo,** un trigger che si attiva quando una nuova persona entra in contatto con una task.

Può provenire da diversi canali, ad esempio:

* chiamata in entrata
* messaggio WhatsApp inbound
* webhook esterno
* qualsiasi altro punto di accesso configurato

#### Quando viene attivato

Il trigger scatta nel momento in cui l’utente entra in interazione con l’AI o con il sistema, ossia quando il lead viene riconosciuto come nuovo contatto associato a una task.

#### Esempi di utilizzo

* **Notifica immediata**: ricevere un’email o un alert interno ogni volta che arriva un nuovo lead.
* **Chiamata API**: una **GET** o **POST** che invii al CRM i dati del utente o che prenda dati necessari per la conversazione
* **Azioni di accoglienza**: inviare un messaggio automatico di benvenuto su WhatsApp o email.

#### Configurazione di una regola con "Lead in arrivo"

{% stepper %}
{% step %}

### Imposta una nuova regola

Crea una nuova regola nel sistema per gestire i lead in arrivo.
{% endstep %}

{% step %}

### Seleziona il trigger

Scegli come **Trigger**: Lead in arrivo.
{% endstep %}

{% step %}

### Scegli l’azione

Seleziona l’**Azione** desiderata (es. invio email, salvataggio su CRM, messaggio automatico).
{% endstep %}

{% step %}

### Salva la regola

Salva la regola per attivarla e iniziare a gestire i lead in ingresso.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Buone pratiche:

* Usa il trigger **Lead in arrivo** per monitorare in tempo reale i contatti in ingresso.
* Collegalo a un sistema di CRM per garantire che nessun lead venga perso.
* Combinalo con azioni automatiche di follow-up per aumentare la reattività verso i nuovi contatti.
  {% endhint %}


# Evento chiamata

{% hint style="info" %}

### 1. Cos’è lo Stato Chiamata

Lo **Stato chiamata** indica l’esito tecnico di una telefonata.\
Ogni chiamata può generare uno stato specifico, che può essere usato come **trigger** per azioni automatiche.
{% endhint %}

### 2. Stati principali della chiamata

* **Completata**: la chiamata è andata a buon fine.
* **Occupato**: l’interlocutore risulta impegnato.
* **Fallita**: la chiamata non è stata portata a termine.
* **Trasferita**: la chiamata è stata trasferita.
* **Senza risposta**: l’interlocutore non ha risposto.
* **IVR/Segreteria:** L AI raggiunge un IVR o Segreteria
* **Da richiamare :** Il contatto va richiamato (è necessario che ci sia la regola **Richiamo)**

### 3. Come utilizzare gli stati per azioni automatiche

Gli stati chiamata possono essere usati come condizioni per eseguire azioni.

Esempi tipici:

* **Chiamata completata** → invocare uno strumento personalizzato che analizza la conversazione e salva i dati sulla task.
* **Senza risposta** → inviare un’email di notifica o eliminare il lead dal database.
* **Occupato** → impostare un promemoria per un nuovo tentativo di chiamata. (se non è stato impostato la regola **follow-up**)

### 4. Esempio pratico con "Completata"

{% stepper %}
{% step %}

### Creare lo strumento personalizzato

Crea uno strumento personalizzato che estrae campi dalla conversazione (es. nome, email, note).
{% endstep %}

{% step %}

### Impostare la regola

* **Trigger**: Stato chiamata = Completata
* **Azione**: invocare lo strumento creato.
  {% endstep %}

{% step %}

### Risultato

Ogni volta che una chiamata si conclude correttamente, i dati vengono automaticamente estratti e salvati.
{% endstep %}
{% endstepper %}

### 5. Esempio pratico con "Senza risposta"

* **Trigger**: Stato chiamata = Senza risposta
* **Azione**:
  * inviare un’email interna per notificare che la persona non ha risposto, oppure
  * eliminare il lead dal database per mantenere puliti i contatti.

### 6. Buone pratiche

* Usa lo stato **Completata** per avviare analisi e processi di post-chiamata.
* Associa lo stato **Senza risposta** a notifiche o pulizia del database.
* Personalizza strumenti e azioni in base alle tue esigenze operative.


# Conversazionale

{% stepper %}
{% step %}

### Cos’è  l'evento conversazionale

Il **Trigger conversazionale** è un elemento fondamentale:

* Rimane **sempre in ascolto** durante tutta la conversazione.
* Non è legato a un flusso rigido, ma si attiva solo quando si verificano condizioni specifiche.
* È diverso dai trigger di tipo CRM o da quelli basati su stati: qui l’attivazione avviene **dal contenuto della conversazione stessa**.
  {% endstep %}

{% step %}

### Campi da compilare

Quando configuri un trigger conversazionale, troverai due campi principali:

* **Prompt conversazionale**: spiega in quali circostanze deve attivarsi il trigger. È una sorta di istruzione interna al sistema.
* **Speech di attivazione**: è il messaggio che l’AI (Bookli) comunica all’utente prima di eseguire il pack di automazioni associato. (può anche essere disattivato)
  {% endstep %}

{% step %}

### Esempio pratico

Supponiamo che un cliente dica: “Ho bisogno di 6 prodotti”.

* **Descrizione**: Invoca questo strumento quando l’utente richiede più di 5 unità di un prodotto.
* **Speech di attivazione**: “Un attimo, notifico subito il team commerciale perché la tua richiesta supera i nostri limiti standard.”
* **Azione associata**: invio di una mail al commerciale.
  {% endstep %}

{% step %}

### Altri esempi di utilizzo

Ecco quattro casi pratici con relative descrizioni e speech:

{% stepper %}
{% step %}

#### Caso – Cliente arrabbiato

* **Descrizione**: Invoca questo strumento quando il cliente manifesta frustrazione o rabbia.
* **Speech di attivazione**: “Capisco il tuo disappunto, lascio subito la gestione a un operatore umano.”
* **Azione associata**: disattiva AI + notifica interna al team di supporto. / oppure escalation a operatore umano utilizzando il **trasferimento chiamata**
  {% endstep %}

{% step %}

#### Caso – Richiesta di informazioni specifiche

* **Descrizione**: Invoca questo strumento quando l’utente chiede informazioni sui tempi di consegna.
* **Speech di attivazione**: “Verifico subito i tempi di consegna per te.”
* **Azione associata**: consultazione database o invio messaggio preimpostato.
  {% endstep %}

{% step %}

#### Caso – Richiesta appuntamento

* **Descrizione**: Invoca questo strumento quando il cliente chiede di fissare un appuntamento con un consulente.
* **Speech di attivazione**: “Perfetto, ti aiuto subito a fissare un appuntamento.”
* **Azione associata**: apertura calendario / invio link di prenotazione.
  {% endstep %}
  {% endstepper %}
  {% endstep %}

{% step %}

### Buone pratiche

* Mantieni il prompt **chiaro e specificare**: aiuta l’AI a sapere quando deve e come attivarsi.
* Scrivi **speech naturali e rassicuranti**, per non interrompere bruscamente la conversazione.
* Associa azioni mirate: ogni trigger deve portare a un risultato concreto (notifica, email, appuntamento, ecc.).
* Testa sempre i trigger conversazionali in diversi scenari per assicurarti che si attivino correttamente.
  {% endstep %}
  {% endstepper %}


# Appuntamento Prenotato

{% stepper %}
{% step %}

### Cos’è il trigger "Appuntamento prenotato"

Il trigger **Appuntamento prenotato** si attiva ogni volta che un utente fissa un appuntamento tramite il sistema.

È utile per:

* organizzare la gestione del calendario,
* inviare notifiche automatiche,
* assegnare appuntamenti a membri diversi del team.
  {% endstep %}

{% step %}

### Come funziona

Per utilizzare questo trigger:

* Crea una **regola autonoma** con l’opzione ***Prenota appuntamento***.
* Associa il trigger **Appuntamento prenotato**.
* Definisci le azioni da eseguire in seguito (notifiche, invii email, log su CRM, ecc.).
  {% endstep %}

{% step %}

### Esempio pratico – Assegnazione a un membro del team

* **Scenario**: un cliente prenota un appuntamento per valutare un acquisto.

Regola:

* Trigger: Appuntamento prenotato.
* Condizione: Cliente interessato ad acquisti.
* Azione: Pianifica appuntamento sul calendario del **Membro Team 1** + invio email di conferma al Team 1.
  {% endstep %}

{% step %}

### Esempio pratico – Assegnazione a un altro membro del team

* **Scenario**: un cliente prenota un appuntamento per ricevere supporto tecnico.

Regola:

* Trigger: Appuntamento prenotato.
* Condizione: Cliente interessato al supporto.
* Azione: Pianifica appuntamento sul calendario del **Membro Team 2** + invio email di conferma al Team 2.
  {% endstep %}

{% step %}

### Altri utilizzi possibili

* Inviare un messaggio di promemoria al cliente.
* Aggiungere l’appuntamento su un CRM.
* Attivare una sequenza di follow-up (email o WhatsApp).
  {% endstep %}

{% step %}

### Buone pratiche

* Crea regole separate per ogni tipologia di appuntamento (commerciale, tecnico, amministrativo).
* Personalizza i messaggi di notifica in base al membro del team che riceve l’appuntamento.
* Integra sempre il trigger con un calendario condiviso per evitare sovrapposizioni.
  {% endstep %}
  {% endstepper %}

{% content-ref url="/pages/9dff2ef80886f6ef9ca9903ec570aaa5ad88be51" %}
[Prenota appuntamento](/task/4.strumenti-e-regole/regole-autonome/prenota-appuntamento)
{% endcontent-ref %}


# Azioni


# Aggiungi attivita

## Panoramica

L'azione **Aggiungi Attività** sposta un lead in un'altra Task, permettendo di avviare un nuovo flusso conversazionale.

{% hint style="info" %}
Disponibile per: **Trigger CRM** e **Trigger Conversazionali**
{% endhint %}

***

## Come Funziona

Quando si verifica una condizione specifica, il lead viene automaticamente aggiunto a una Task diversa con un nuovo flusso di comunicazione.

***

## Esempio Pratico: Gestione Time Out

### Scenario

**Task iniziale:** Chiamate a freddo con regole di follow-up

**Configurazione di esempio:**

* 3 tentativi di chiamata (1 al giorno)
* Se non risponde → stato "Time Out"
* Al 4° giorno → Aggiungi Task

### Implementazione

{% stepper %}
{% step %}

### Crea la Task di destinazione

Esempio: "Follow-up alternativi"
{% endstep %}

{% step %}

### Nella Task originale, imposta:

* **Trigger:** Stato conversazione = "Time Out"
* **Azione:** Aggiungi Task
* **Task destinazione:** Seleziona la nuova Task
  {% endstep %}

{% step %}

### Risultato

Il lead passa automaticamente al nuovo flusso con strategie di contatto alternative.
{% endstep %}
{% endstepper %}

***

## Casi d'Uso

<details>

<summary>Visualizza i casi d'uso</summary>

* **Escalation:** Lead caldi → Task gestione vendite
* **Nurturing:** Lead non pronti → Task contenuti educativi
* **Recovery:** Time out → Task riattivazione
* **Segmentazione:** Interessi specifici → Task specializzate

</details>

***

## Configurazione

{% stepper %}
{% step %}

### Crea prima la Task di destinazione

{% endstep %}

{% step %}

### Nel trigger (CRM o Conversazionale), seleziona la condizione

{% endstep %}

{% step %}

### Aggiungi l'azione "Aggiungi Attività"

{% endstep %}

{% step %}

### Seleziona la Task di destinazione dal menu

{% endstep %}
{% endstepper %}

***

Versione: 1.0 | Aggiornamento: Ottobre 2025


# Chiamate di strumenti

#### 1. Cos’è la funzione "Chiamate di strumenti"

La funzione **Chiamate di strumenti** permette di eseguire strumenti personalizzati creati nella sezione **Strumenti**.

Gli strumenti possono essere:

* API esterne,
* funzioni custom,
* integrazioni operative.

La chiamata agli strumenti può essere usata in due modalità:

* come **Azione** all’interno di una regola,
* come **Regola autonoma**, indipendente dagli altri flussi.

#### 2. Quando utilizzarla

Puoi richiamare strumenti:

* all’interno di un flusso basato su **trigger CRM** (es. lead in arrivo, stato chiamata, appuntamento prenotato),
* in risposta a un **trigger conversazionale** (es. richiesta specifica dell’utente),
* come processo autonomo indipendente dalla conversazione.

#### 3. Come configurarla

{% stepper %}
{% step %}

### Vai nella sezione **Regole**

Crea una nuova regola o aggiungi un’azione a una regola esistente.
{% endstep %}

{% step %}

### Seleziona **Chiamate di strumenti**

Scegli questa azione tra le opzioni disponibili.
{% endstep %}

{% step %}

### Scegli lo strumento da richiamare

Seleziona lo strumento desiderato tra quelli creati nella sezione **Strumenti**.
{% endstep %}

{% step %}

### Configura i parametri richiesti

Imposta eventuali parametri necessari dallo strumento (vedi manuale **Strumenti**) per evitare errori di esecuzione.
{% endstep %}

{% step %}

### Salva la regola

Verifica la configurazione e salva la regola.
{% endstep %}
{% endstepper %}

{% content-ref url="/pages/2ab4b0adeb5c9385d44c6528c35dc4944202f799" %}
[Come creare uno strumento](/strumenti/come-creare-uno-strumento)
{% endcontent-ref %}

{% content-ref url="/pages/OzIaDOfk0Zz9Dxv2ZEMZ" %}
[4.Strumenti e Regole](/task/4.strumenti-e-regole)
{% endcontent-ref %}

#### 4. Esempi di utilizzo

* **Trigger Lead in arrivo** → Azione: Chiamata a uno strumento CRM esterno per salvare i dati del contatto.
* **Trigger Stato chiamata = Completed** → Azione: invio dati a un sistema di analytics tramite API.
* **Trigger conversazionale (utente chiede preventivo)** → Azione: chiamata a uno strumento che genera e restituisce un preventivo.
* **Regola autonoma** → chiamata periodica a uno strumento di verifica dati.

#### 5. Buone pratiche

{% hint style="info" %}

* Mantieni un naming chiaro per i tuoi strumenti, in modo da identificarli facilmente nelle regole.
* Se uno strumento richiede parametri, definiscili in modo preciso nella regola per evitare errori.
* Utilizza la funzione come “ponte” tra la conversazione/CRM e sistemi esterni, centralizzando tutte le integrazioni in un unico punto.
  {% endhint %}


# invia email

{% hint style="warning" %}
Tutte le email partono da **<no-reply@booklyn.ai>** (indirizzo fisso non modificabile).
{% endhint %}

## Manuale Utente - Azione "Invia Email"

### Panoramica

L'azione **Invia Email** automatizza l'invio di email tramite trigger conversazionali o CRM.

***

### Configurazione

{% stepper %}
{% step %}

### Destinatario

Inserisci un indirizzo email fisso oppure usa la variabile del lead:

* Clicca su **"Variabili"**
* Copia e incolla `{{email_lead}}`
  {% endstep %}

{% step %}

### Oggetto

Inserisci l'oggetto dell'email.
{% endstep %}

{% step %}

### Contenuto

Scegli la modalità tramite lo **switch**:

#### Modalità STATICA

Il testo viene inviato esattamente come scritto, senza modifiche.

Esempio:

{% code title="Esempio - Statica" %}

```
Gentile {{name_lead}},

Abbiamo ricevuto la tua richiesta. Ti risponderemo entro 24 ore.

Cordiali saluti,
{{name_assistant}}
{{company}}
```

{% endcode %}

#### Modalità EMAIL AI

Scrivi un prompt per generare il contenuto con l'AI.

Esempio di prompt:

{% code title="Esempio - Prompt Email AI" %}

```
Genera una mail per Mario, responsabile acquisti, informandolo della 
conversazione con {{name_lead}} riguardo XY. Riassumi la conversazione 
con elenco puntato delle richieste. Firma come {{name_assistant}} di {{company}}.
```

{% endcode %}
{% endstep %}
{% endstepper %}

***

### Variabili Disponibili

| Variabile            | Output             |
| -------------------- | ------------------ |
| `{{name_lead}}`      | Nome del lead      |
| `{{email_lead}}`     | Email del lead     |
| `{{name_assistant}}` | Nome assistente AI |
| `{{company}}`        | Nome azienda       |

{% hint style="success" %}
Formato corretto: `{{variabile}}` (senza spazi)
{% endhint %}

***

### Esempi pratici:

{% hint style="info" %}

* Testa sempre prima di attivare.
* Usa la modalità Statica per messaggi standardizzati.
* Usa Email AI per contenuti personalizzati o riepiloghi.
* Prompt chiari: specifica tono e contenuti desiderati.
* Oggetto breve: max 50 caratteri.
* Menziona nel footer che l'email proviene da booklyn.ai.
  {% endhint %}

***


# Regole autonome


# Prenota appuntamento

#### 1. Cos’è la regola "Prenota appuntamento"

La regola **Prenota appuntamento** permette di fissare un appuntamento in un calendario sincronizzato (es. Google Calendar) direttamente dalla conversazione.

È una **regola autonoma**, che richiede di specificare:

* il calendario di destinazione,
* le condizioni in cui deve essere utilizzato.

{% hint style="info" %}
Requisiti preliminari:

* Devi avere già creato e sincronizzato i tuoi calendari con Google nella sezione **Calendari**.
* Puoi collegare più calendari a una stessa task (es. per reparti o servizi diversi).
  {% endhint %}

#### 3. Come funziona

{% stepper %}
{% step %}

### Crea la regola

Crea una regola autonoma **Pianifica appuntamento**.
{% endstep %}

{% step %}

### Seleziona il calendario

Seleziona il calendario di riferimento.
{% endstep %}

{% step %}

### Compila la descrizione

Compila il campo **Descrizione**, spiegando a Bookly in quali circostanze deve utilizzare quel calendario.
{% endstep %}
{% endstepper %}

#### 4. Esempio pratico – Centro medico

* **Calendari configurati:**
  * Calendario cardiologia
  * Calendario fisioterapia
* **Regola 1 (Calendario cardiologia):**
  * Trigger: conversazionale → paziente segnala problemi al cuore.
  * Descrizione: “Usa il calendario cardiologia se la persona ha problemi cardiaci.”
  * Azione: Pianifica appuntamento sul calendario **Cardiologia**.
* **Regola 2(Calendario fisioterapia):**
  * Trigger: conversazionale → paziente richiede fisioterapia.
  * Descrizione: “Usa il calendario fisioterapia se la persona necessita di trattamenti fisioterapici.”
  * Azione: Pianifica appuntamento sul calendario **Fisioterapia**.

#### 5. Automazioni successive

Dopo aver fissato un appuntamento, puoi attivare ulteriori azioni con il trigger **Appuntamento prenotato** (si consiglia di visionare il seguente manuale).

{% content-ref url="/pages/037615f78f12f9478a697613dd2bbe64f1bde26b" %}
[Appuntamento Prenotato](/task/4.strumenti-e-regole/5.trigger/appuntamento-prenotato)
{% endcontent-ref %}

Esempi:

* Inviare una mail di conferma al cliente,
* Inviare una notifica interna al team,
* Avviare un workflow di preparazione (es. reminder, documentazione pre-visita).

#### 6. Buone pratiche

* Usa descrizioni chiare per guidare Bookli nella scelta del calendario corretto.
* Se gestisci più servizi, mantieni calendari separati per evitare sovrapposizioni.
* Integra sempre le regole con notifiche e reminder per ridurre il rischio di appuntamenti mancati.


# Chiamate di strumenti

#### 1. Cos’è la funzione "Chiamate di strumenti"

La funzione **Chiamate di strumenti** permette di eseguire strumenti personalizzati creati nella sezione **Strumenti**.

Gli strumenti possono essere:

* API esterne,
* funzioni custom,
* integrazioni operative.

La chiamata agli strumenti può essere usata in due modalità:

* come **Azione** all’interno di una regola,
* come **Regola autonoma**, indipendente dagli altri flussi.

#### 2. Quando utilizzarla

Puoi richiamare strumenti:

* all’interno di un flusso basato su **trigger CRM** (es. lead in arrivo, stato chiamata, appuntamento prenotato),
* in risposta a un **trigger conversazionale** (es. richiesta specifica dell’utente),
* come processo autonomo indipendente dalla conversazione.

#### 3. Come configurarla

{% stepper %}
{% step %}

### Vai nella sezione **Regole**

Crea una nuova regola o aggiungi un’azione a una regola esistente.
{% endstep %}

{% step %}

### Seleziona **Chiamate di strumenti**

Scegli questa azione tra le opzioni disponibili.
{% endstep %}

{% step %}

### Scegli lo strumento da richiamare

Seleziona lo strumento desiderato tra quelli creati nella sezione **Strumenti**.
{% endstep %}

{% step %}

### Configura i parametri richiesti

Imposta eventuali parametri necessari dallo strumento (vedi manuale **Strumenti**) per evitare errori di esecuzione.
{% endstep %}

{% step %}

### Salva la regola

Verifica la configurazione e salva la regola.
{% endstep %}
{% endstepper %}

#### 4. Esempi di utilizzo

* **Trigger Lead in arrivo** → Azione: Chiamata a uno strumento CRM esterno per salvare i dati del contatto.
* **Trigger Stato chiamata = Completed** → Azione: invio dati a un sistema di analytics tramite API.
* **Trigger conversazionale (utente chiede preventivo)** → Azione: chiamata a uno strumento che genera e restituisce un preventivo.
* **Regola autonoma** → chiamata periodica a uno strumento di verifica dati.

#### 5. Buone pratiche

{% hint style="info" %}

* Mantieni un naming chiaro per i tuoi strumenti, in modo da identificarli facilmente nelle regole.
* Se uno strumento richiede parametri, definiscili in modo preciso nella regola per evitare errori.
* Utilizza la funzione come “ponte” tra la conversazione/CRM e sistemi esterni, centralizzando tutte le integrazioni in un unico punto.
  {% endhint %}


# Follow up

{% stepper %}
{% step %}

### Cos’è la regola "Follow-Up"

La regola **Follow-Up** permette di riagganciare un lead che non ha risposto o che ha interrotto la conversazione.

Può essere utilizzata sia:

* in conversazioni **scritte** (WhatsApp, chat, ecc.),
* in conversazioni **telefoniche**.
  {% endstep %}

{% step %}

### Tipologie di follow-up disponibili

Esistono tre modalità principali:

#### Nessuna risposta al primo messaggio (Conversazioni scritte)

* Si attiva quando il lead non risponde al primo messaggio dell’AI.
* Utile per tentare un nuovo contatto con un messaggio diverso.

#### &#x20;Durante la conversazione(Conversazioni scritte)

* Si attiva quando la conversazione non è stata completata (si consiglia di visionare il seguente manuale a fine pagina) e il lead smette di rispondere a metà interazione.
* Permette di reinviare un messaggio per stimolare la risposta.

#### &#x20;Nessuna risposta alla chiamata (Conversazioni telefoniche)

* Si attiva quando il lead non risponde alle chiamate.
* Può essere configurato per richiamare automaticamente un certo numero di volte (es. 3 tentativi, una volta al giorno).
  {% endstep %}

{% step %}

### Esempio pratico – Conversazioni telefoniche

* **Regola Follow-Up**: Nessuna risposta alla chiamata
* Configurazione:
  * Tentativi: 3
  * Frequenza: 1 chiamata al giorno
* **Regola aggiuntiva**: Definisci Time Out al 4° giorno
  * Significato: se dopo 3 tentativi il lead non risponde, viene marcato come “non reattivo”.
    {% endstep %}

{% step %}

### Esempio pratico – Conversazioni scritte

**Follow-Up tipo 1 – Nessuna risposta al primo messaggio**

* Prompt: “Ciao, ti avevamo contattato in precedenza. È un buon momento per sentirci?”

**Follow-Up tipo 2 – Durante la conversazione**

* Prompt: “Non ti ho più letto, posso riprendere da dove eravamo rimasti?”
  {% endstep %}

{% step %}

### Modalità di messaggio e Contenuto Follow-up

* Le possibilità sono due:
* **Generato dall'AI:** Messaggio generato secondo le istruzioni inserite nel **Contenuto Follow-up** \
  **Messaggio statico:** Messaggio statico inserito nel **Contenuto messaggio statico**
  {% endstep %}

{% step %}

### Esempi pratici per Messaggio statico e Generato dall'AI

&#x20; Ecco due esempi da utilizzare per il **Messaggio statico :**

* "*Buongiorno, l'abbiamo contattata ieri. E' un buon momento per parlare?"*\
  *(Volendo se si hanno i nominativi dei lead si possono usare le variabili)*&#x20;
* *"Buongiorno {namelead}, l'abbiamo contattata ieri. E' un buon momento per parlare?"*

&#x20;Ecco un esempio da utilizzare per il messaggio **Generato dall'AI:**

* Da inserire nel **Contenuto Follow-up :** *"Saluta cordialmente il cliente e chiedigli se è interessato a quello che offriamo"*
  {% endstep %}

{% step %}

### Opzioni di configurazione aggiuntive

* **Orari Task**: i follow-up possono essere condizionati agli orari lavorativi impostati per la Task.
* **Richiedi approvazione**: se attivo, ogni follow-up programmato fuori orario lavorativo richiede l’approvazione manuale prima dell’invio.
* **Prompt di follow-up**: puoi inserire fino a più varianti di messaggi; sarà l’AI a scegliere quello più adatto in base al contesto.
  {% endstep %}

{% step %}

### Esempi di prompt per follow-up

Ecco 4 esempi da utilizzare nei campi di configurazione:

1. *“*<sub>*Ciao, ti ho provato a chiamare un paio di volte. È un buon momento per sentirci?”*</sub>
2. <sub>*“Ti riscrivo perché non ho ricevuto risposta al messaggio precedente. Possiamo aggiornarci?”*</sub>
3. <sub>*“Forse ti ho contattato in un momento non comodo. Vuoi dirmi quando preferisci sentirci?”*</sub>
4. <sub>*“Non abbiamo completato la conversazione. Vuoi che riprendiamo da dove ci eravamo interrotti?”*</sub>
   {% endstep %}

{% step %}

### Buone pratiche

* Usa i follow-up telefonici solo per un numero limitato di tentativi (max 3-4) per non risultare invasivo.
* Nelle conversazioni scritte, prepara più varianti di messaggi per evitare ripetitività.
* Imposta sempre un *Time Out* dopo un certo numero di tentativi non riusciti.
* Attiva l’opzione “Richiedi approvazione” se vuoi avere controllo sui follow-up inviati fuori orario.
  {% endstep %}
  {% endstepper %}

{% content-ref url="/pages/p8x4nVsJQEWhE2tJq4G0" %}
[5.Impostazioni di Conversazione](/task/5.impostazioni-di-conversazione)
{% endcontent-ref %}


# Tempo di attesa

### 1. Cos’è il tempo di attesa

Il **Tempo di attesa** è una regola autonoma che permette di inserire un intervallo temporale prima che il sistema esegua un’azione.

Può essere utilizzato in due modalità principali:

* **Prima dell’avvio della conversazione**
* **Tra un messaggio e l’altro nella conversazione**

***

### 2. Modalità di utilizzo

* **Avvio posticipato della conversazione**
  * **Trigger**: New Lead (nuovo contatto in ingresso)

{% stepper %}
{% step %}

### Impostare l’attesa prima di avviare

1. Imposta un tempo di attesa (in minuti, ore o giorni).
2. Al termine, dempo ti attesa stabilito, partirà l'automazione.
   {% endstep %}
   {% endstepper %}

* **Pausa tra i messaggi**
  * **Trigger**: New Message (nuovo messaggio nella conversazione)
  * **Azione**:

{% stepper %}
{% step %}

### Impostare la pausa tra messaggi

1. Imposta un tempo di attesa (in minuti, ore o giorni).
2. Al termine, dempo ti attesa stabilito, ripartirà l'automazione.
   {% endstep %}
   {% endstepper %}

***

### 3. Esempio pratico – Attesa prima di iniziare

* **Scenario**: vuoi che la conversazione parta solo 2 ore dopo l’arrivo di un nuovo lead.
* **Configurazione**:

  * Trigger: New Lead
  * Tempo di attesa: 2 ore

***

### 4. Esempio pratico – Pausa tra messaggi

* **Scenario**: desideri simulare una risposta naturale, con un ritardo di 30 secondi tra un messaggio e l’altro.
* **Configurazione**:

  * Trigger: New Message
  * Tempo di attesa: 30 secondi

***

### 5. Buone pratiche

* Utilizza attese brevi (secondi/minuti) per rendere la conversazione più naturale.
* Usa attese più lunghe (ore/giorni) solo per follow-up o reminder automatici.
* Non impostare tempi di attesa troppo lunghi senza un obiettivo preciso: rischi di perdere l’attenzione del lead.
* Ricorda che il tempo di attesa è una regola autonoma: deve essere configurata separatamente e non all’interno di altre regole.

{% hint style="info" %}
Nota: Il tempo di attesa opera come una regola indipendente — assicurati che sia posizionata e configurata correttamente nel flusso per ottenere il comportamento desiderato.
{% endhint %}


# Imposta Timeout

#### 1. Cos’è la regola "Imposta Timeout"

La regola **Imposta Timeout** serve per stabilire quando un lead non risponde più (né in chiamata né in conversazione scritta).

* È una **regola autonoma**, quindi lavora indipendentemente.
* Permette di riconoscere un contatto inattivo e di attivare processi alternativi (es. segnalazioni, gestione CRM, notifiche interne).

#### 2. Quando si attiva

* Dopo un certo numero di tentativi di follow-up non andati a buon fine.
* Quando il lead smette di rispondere a Bookli durante una conversazione scritta o telefonica.

#### 3. Esempio pratico – Timeout dopo più follow-up

* Configurazione:
  * Regola di follow-up → 3 tentativi, uno al giorno.
  * Al 4° giorno → **Definisci Timeout**.
* Risultato: il sistema considera il lead come non reattivo.
*

#### 4. Azioni successive al Timeout

Una volta definito il Timeout, puoi collegare azioni automatiche, ad esempio:

* Inviare una **notifica interna** (email o webhook) per segnalare che il lead non risponde più.
* Aggiornare lo **stato del lead nel CRM** per classificare il contatto come inattivo.(Esegui chiamata API)
* Inserire il lead in un flusso di nurturing o remarketing.

#### 5. Configurazione della regola

{% stepper %}
{% step %}

### Imposta la regola autonoma

Crea una nuova regola autonoma **Definisci Timeout**.
{% endstep %}

{% step %}

### Definisci il criterio di inattività

Indica dopo quanti giorni (o tentativi) il lead deve essere considerato inattivo.
{% endstep %}

{% step %}

### Seleziona il Trigger

Seleziona come **Trigger**: Stato conversazione → Timeout.
{% endstep %}

{% step %}

### Aggiungi le Azioni

Aggiungi le **Azioni** desiderate (es. invio email, aggiornamento CRM).
{% endstep %}
{% endstepper %}

#### 6. Buone pratiche

{% hint style="info" %}

* Definisci un numero massimo di follow-up prima di applicare il Timeout (es. 3 tentativi).
* Personalizza le azioni in base al tuo processo: notifica il commerciale, sposta il lead in una lista diversa, o chiudi il contatto.
* Utilizza Timeout per tenere pulito il database, evitando lead “morti” che occupano risorse.
  {% endhint %}


# Come funzionano i trigger nelle regole

{% stepper %}
{% step %}

### Cos’è un trigger

Un **trigger** è l’elemento che avvia una regola o un set di azioni.

Può essere attivato da:

* eventi della **conversazione** (contenuto o andamento del dialogo)
* eventi di tipo **CRM** (stati tecnici o gestionali legati al lead, alla chiamata o agli appuntamenti)
  {% endstep %}

{% step %}

### Tipologie di trigger

I trigger si dividono in due grandi categorie:

* **Eventi conversazionali**
  * Si attivano in base a ciò che accade nella conversazione in tempo reale.
  * Esempio: il cliente si arrabbia, chiede informazioni specifiche, o formula una richiesta particolare.
* **Eventi  CRM**
  * Si attivano in base a stati o eventi legati al lead, al calendario o alla chiamata.
  * Esempio: chiamata terminata, lead in arrivo, appuntamento prenotato, conversazione completata.
    {% endstep %}

{% step %}

### Elenco dei trigger CRM principali

* **Lead in arrivo** → scatta quando un nuovo contatto entra nella task.
* **Stato chiamata** → scatta in base all’esito della telefonata:
  * Completed (completata)
  * Busy (occupato)
  * Failed (fallita)
  * Error (errore)
  * Without Response (senza risposta)
  * Transfer (trasferita)
* **Evento conversazione** → gestisce lo stato logico della conversazione:
  * Completed (completata)
  * Disable (disabilitata)
  * Timeout (chiusa per inattività)
* **Appuntamento prenotato** → si attiva quando viene fissato un appuntamento.
  {% endstep %}

{% step %}

### Evento conversazionale

Si configurano indicando una **descrizione** (quando deve partire) e uno **speech di attivazione** (ciò che l’AI dirà prima di eseguire l’azione).

Esempio: (Conversazione su Whatsapp)

* Descrizione: “Usa questo strumento se la persona è particolarmente arrabbiata.”
* Speech di attivazione: “Un attimo, notifico subito il team di supporto.”
* Azione: disattivazione AI + invio notifica email.

Esempio: (Chiamata telefonica)

* Descrizione: “Usa questo strumento se la persona è particolarmente arrabbiata.”
* Speech di attivazione: “Mi perdoni, chiudo la chiamata e la farò richiamare dal mio supervisore”
* Azione: disattivazione AI + invio notifica email.
  {% endstep %}

{% step %}

### Esempi di utilizzo pratico

* **Stato chiamata = Completed**
  * Azione: invio email di riepilogo.
* **Stato conversazione = Completed**
  * Azione: avvio di un workflow CRM (es. spostamento lead a “gestito”).
* **Lead in arrivo**
  * Azione: invio notifica al team commerciale.
* **Appuntamento prenotato**
  * Azione: avvio automazioni di reminder o notifica al consulente.
* **Trigger conversazionale (utente arrabbiato)**
  * Azione: disattiva AI e trasferisci la chiamata a un operatore umano.
    {% endstep %}

{% step %}

### Relazione con altre regole

* I trigger **Evento conversazione** sono collegati alle azioni *Definisci completamente*, *Disattiva AI* e *Definisci Timeout* (visita i  relativi manuali a fine pagina).
* I trigger **Evento chiamata** comprendono anche i casi speciali come il trasferimento, che può essere usato per avviare altre azioni (es. invio email post-trasferimento).
* Il trigger **Nuovo Lead** e quello **Appuntamento prenotato** sono fondamentali per avviare flussi immediati di automazione.
  {% endstep %}

{% step %}

### Buone pratiche

* Dai sempre un nome chiaro alle regole per riconoscere facilmente il loro scopo.
* Combina trigger conversazionali con trigger CRM per coprire sia la parte dialogica sia quella gestionale.
* Usa condizioni specifiche per evitare l’attivazione di azioni indesiderate.
* Consulta i manuali dedicati per approfondire i singoli trigger (apri per l’elenco).

<details>

<summary>Manuali dedicati</summary>

* Stato conversazione
* Stato chiamata
* Lead in arrivo
* Appuntamento prenotato
* Trigger conversazionale

</details>
{% endstep %}
{% endstepper %}

Consulta questi moduli per padroneggiare Booki:

{% content-ref url="/pages/d1e09042252d26a84f07b9ee1bdeccb2673a1782" %}
[Imposta Timeout](/task/4.strumenti-e-regole/regole-autonome/imposta-timeout)
{% endcontent-ref %}

{% content-ref url="/pages/8eb58467f25e690038cbd9da7d695e1aaaad4e9f" %}
[Come disattivare l'AI su una conversazione](/conversazioni/come-disattivare-lai-su-una-conversazione)
{% endcontent-ref %}

{% content-ref url="/pages/3aa896e21013e60b3b1e81baaff41dddf320b62f" %}
[Evento chiamata](/task/4.strumenti-e-regole/5.trigger/evento-chiamata)
{% endcontent-ref %}

{% content-ref url="/pages/037615f78f12f9478a697613dd2bbe64f1bde26b" %}
[Appuntamento Prenotato](/task/4.strumenti-e-regole/5.trigger/appuntamento-prenotato)
{% endcontent-ref %}

{% content-ref url="/pages/34e082ef698167ab2fbb66e11f6ceb815180357c" %}
[Conversazionale](/task/4.strumenti-e-regole/5.trigger/conversazionale)
{% endcontent-ref %}


# Ricava informazioni

#### 1. Cos’è la regola "Ricava informazioni"

La regola **Ricava informazioni** permette di chiedere e raccogliere in automatico determinati dati durante una conversazione, aggiornandoli direttamente nel profilo del lead.

È particolarmente utile quando:

* un contatto entra senza avere tutti i dati necessari,
* vuoi arricchire il profilo lead in tempo reale.

#### 2. Informazioni che puoi recuperare

I campi che possono essere richiesti e aggiornati sono:

* **Nome**
* **Email**
* **Informazioni aggiuntive (Note)**

{% hint style="danger" %}
⚠️ Il numero di telefono non può essere richiesto tramite questa regola, in quanto già fornito dal sistema di origine della chiamata o del contatto.
{% endhint %}

#### 3. Come funziona

{% stepper %}
{% step %}

### Imposta la regola

Imposti la regola **Ricava informazioni**.
{% endstep %}

{% step %}

### Definisci la domanda

Indichi cosa deve chiedere Bookli (es. “Puoi fornirmi la tua email per inviarti la conferma?”).
{% endstep %}

{% step %}

### Seleziona il campo da aggiornare

Selezioni il campo da aggiornare (Nome, Email, Note).
{% endstep %}

{% step %}

### Salvataggio automatico

Al termine, le informazioni vengono salvate nel profilo del lead, visibili nella sezione **Conversazioni → Dettagli lead**.
{% endstep %}
{% endstepper %}

#### 4. Esempio pratico

* **Scenario**: ricevi una chiamata inbound, ma il lead non ha un’email registrata.
* **Configurazione**:
  * Imposta la regola *Ricava informazioni*.
  * Domanda di Bookli: “Per inviarti i dettagli, mi lasci la tua email?”
  * Campo selezionato: **Email**.
* **Risultato**: la mail fornita dall’utente viene salvata automaticamente nel profilo del lead.

#### 5. Dove vedere le informazioni raccolte

Accedi al lead dalla sezione conversazioni:

* sulla destra troverai i campi aggiornati (Nome, Email, Note).
* i dati vengono salvati e possono essere utilizzati per successive automazioni (invio email, follow-up, ecc.).

#### 6. Buone pratiche

{% hint style="info" %}

* Formula domande **chiare e semplici**, per ridurre il rischio di errori di inserimento.
* Richiedi solo i dati realmente necessari per non appesantire la conversazione.
* Usa il campo **Note** per raccogliere informazioni aggiuntive utili ma non strutturate (es. preferenze del cliente).
* Verifica periodicamente i dati raccolti per mantenerli aggiornati e coerenti.
  {% endhint %}


# Trasferimento chiamata

{% stepper %}
{% step %}

### Cos’è il trasferimento chiamata

Il **trasferimento chiamata** è un’azione che consente di spostare una telefonata in corso verso un altro interno o numero.

* Funziona solo se è stato collegato un **interno o numero SIP** al sistema.
* Può trasferire la chiamata sia verso interni SIP sia verso numeri esterni (se supportato dal centralino).
  {% endstep %}

{% step %}

### Requisiti tecnici

* Configurazione di un interno SIP attivo.
* SIP URI corretto per i trasferimenti interni.
* Permessi del centralino per trasferimenti verso numeri esterni.
  {% endstep %}

{% step %}

### Struttura della regola

Il trasferimento chiamata viene gestito come **regola autonoma**, quindi:

* Subito sotto troverai il campo "**Descrivi quando invocarlo"** \
  Esempio : *"Trasferisci la chiamata quanto il cliente vuole parlare con un operatore umano"*<br>
* Invece su **Destinazione trasferimento** basta semplicemente inserire il numero di telefono  o interno a cui deve essere trasferita la chiamata
  {% endstep %}

{% step %}

### Formati per il trasferimento

* **Verso interno SIP**: utilizzare la sintassi

  ```
  SIP:interno@dominio
  ```

  Esempio:

  ```
  SIP:1001@azienda.com
  ```
* **Verso numero esterno**: dipende dal centralino.
* Generalmente si utilizza il formato **39XXXXXXXXX** senza “+”.
* Alcuni centralini accettano anche il formato con il prefisso internazionale (es. `0039XXXXXXXXX`).
  {% endstep %}

{% step %}

### Esempio pratico

* **Scenario**: cliente chiama e chiede di parlare con l’ufficio vendite.
  * **Configurazione regola autonoma**:
    * Trigger: conversazionale → cliente richiede ufficio vendite.
    * Azione: Trasferisci chiamata a

      ```
      SIP:2001@azienda.com
      ```
* **Scenario alternativo**: cliente chiede di essere contattato su cellulare esterno.
  * Trigger: conversazionale → richiesta esplicita.
  * Azione: Trasferisci chiamata a

    ```
    393331234567
    ```

    (formato nazionale senza `+`)
    {% endstep %}

{% step %}

### Buone pratiche

* Verifica con il tuo centralino quali formati di numero sono supportati.
* Usa i trasferimenti SIP per interni aziendali, in quanto più stabili.
* Testa le regole su numeri di prova prima di applicarle in produzione.
* Specifica chiaramente i trigger conversazionali per evitare trasferimenti errati.
  {% endstep %}
  {% endstepper %}


# Come funzionano gli strumenti e regole

<figure><img src="https://media.supademo.com/cmfzfqoim0099xx0iino3u3ku/screenshots/Oeykcj2-sym_3YvO_Tqqi.jpg" alt=""><figcaption></figcaption></figure>

### 1. Definizione

La sezione **Strumenti e Regole** è l’unico step **non obbligatorio** nella creazione di una task.\
Tutti gli altri step (trigger, knowledge base, piattaforma di conversazione, impostazioni di conversazione) sono obbligatori.

{% hint style="info" %}
In questa sezione puoi definire condizioni extra che si attivano in base a determinati eventi, stati o comportamenti durante la conversazione.
{% endhint %}

***

### 2. Tipologie di Regole

Le regole si dividono in due categorie principali:

* **Regole autonome**
  * Funzionano da sole, senza la necessità di un trigger.
  * Esempi: pianificare un appuntamento, inviare un follow-up, impostare un tempo di attesa o trasferire una chiamata (se usi SIP Trunk).
* **Regole basate su trigger**
  * Si attivano al verificarsi di specifici eventi.
  * I trigger disponibili sono:
    * **Evento conversazione** → Completato, Timeout, Disabilitato
    * **Nuovo Lead** → Quando un nuovo lead entra in contatto con la task
    * **Evento chiamata** → Completata, Fallita, Occupato, ecc.
    * **Conversazionale** → In base a ciò che l’utente dice
    * **Appuntamento prenotato** → Quando viene fissato un appuntamento

***

### 3. Trigger di Evento Conversazione

Questo trigger si attiva in base allo stato generale della conversazione:

* **Completato**
* **Timeout**
* **Disabilitato**

Esempio:

* Alla chiusura della conversazione (stato “Completato”), invia una mail di ringraziamento.

***

### 4. Trigger Nuovo Lead

Si attiva **ogni volta che un nuovo lead entra nella task**.

Esempio:

* Quando arriva un nuovo lead, invia automaticamente un SMS di benvenuto.

***

### 5. Trigger Evento Chiamata

Si attiva in base all’esito della chiamata:

* **Completata**
* **Fallita**
* **Occupato**
* Altri stati possibili

Esempio:

* Se la chiamata è fallita, invia un’email di follow-up con i dettagli.

***

### 6. Evento Conversazionale

Questo trigger entra in gioco quando serve reagire a specifiche frasi o atteggiamenti dell’utente, indipendentemente dal punto della conversazione.

<details>

<summary>Esempio pratico</summary>

* Prompt conversazionale:

  > Usa questo strumento se la persona è scontrosa, scontenta, minaccia di denunciarci o mostra comportamenti aggressivi.
* Speech response (risposta dell’AI):

  > Mi dispiace che tu ti senta in questo modo. Ti ringrazio per il tempo e ti saluto.
* Azioni successive: disattiva l’AI, invia una mail di segnalazione al team, ecc.

</details>

***

### 7. Evento Appuntamento prenotato

Si attiva quando l’utente fissa un appuntamento.

Esempio:

* Invia una notifica al reparto vendite con i dettagli dell’appuntamento.

***

### 8. Regole autonome (senza trigger)

Puoi impostare azioni indipendenti, come:

* **Pianifica un appuntamento**
* **Avvia una chiamata**
* **Invia un follow-up**
* **Imposta un tempo di attesa (timeout)**
* **Trasferimento chiamata** (solo se SIP Trunk è attivo)

***

### 9. Creazione e gestione delle regole

{% stepper %}
{% step %}

### Inserisci un nome personalizzato

Dai a ogni regola un nome descrittivo per identificarla facilmente.
{% endstep %}

{% step %}

### Definisci il trigger (se necessario)

Se la regola è basata su trigger, seleziona l’evento che la farà scattare.
{% endstep %}

{% step %}

### Configura il comportamento

Imposta prompt, risposte, azioni successive (es. invio email, disattivazione AI, trasferimento).
{% endstep %}

{% step %}

### Salva la regola

Salva la configurazione per renderla attiva.
{% endstep %}

{% step %}

### Aggiungi più regole alla stessa task

Puoi creare più regole per la stessa task; ognuna può eseguire azioni diverse e coesistere.
{% endstep %}
{% endstepper %}

***

### 10. Suggerimenti operativi

* Usa i **trigger conversazionali** per gestire eccezioni impreviste.
* Imposta regole di **stato chiamata** e **stato conversazione** per monitorare la qualità e reagire agli esiti.
* Ricorda che strumenti e regole non sono obbligatori, ma possono aumentare la precisione e l’automazione delle tue task.


# 5.Impostazioni di Conversazione


# Come funzinoano le impostazioni di conversazione

<figure><img src="https://media.supademo.com/cmfzfqoim0099xx0iino3u3ku/screenshots/r04lBsKXT25RGxTKL4OI2.jpg" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### Importanza delle Impostazioni di Conversazione

Le **impostazioni di conversazione** sono la parte più importante della piattaforma:

* Determinano come l’AI parlerà.
* Assicurano che la conversazione rispecchi al 100% lo stile e le esigenze dell’azienda.
* Permettono di scegliere tra opzioni preimpostate (vendita, supporto, script) oppure la modalità **Custom**, dove l’azienda scrive tutte le istruzioni da zero.
  {% endstep %}

{% step %}

### Creazione dell’Agente

Se stai creando la tua prima task, troverai un pulsante verde **“Crea agente”**.

Operazioni da effettuare:

* Assegna un **nome** all’agente.
* Definisci la sua **personalità**.
* Imposta il **tono di voce**.
* Seleziona la **lingua** parlata.

Una volta creato, l’agente verrà selezionato automaticamente.
{% endstep %}

{% step %}

### Impostare il Primo Messaggio

Il primo messaggio è ciò che l’AI dirà all’avvio della conversazione.

* Puoi inserire variabili basta digitare "/" e compariranno tutte le variabili possibili o richiamarle dal webhook.
* È **consigliato mantenerlo neutro**, evitando:
  * Riferimenti di genere (maschile/femminile).
  * Riferimenti temporali (es. “Buongiorno”), perché la conversazione può iniziare a orari diversi.

Esempio di buone pratiche: un saluto generico o una breve introduzione neutra.

{% hint style="info" %}
Mantieni il primo messaggio breve e neutro per adattarsi a diverse situazioni di inizio conversazione.
{% endhint %}
{% endstep %}

{% step %}

### Suggerimenti operativi

* Compila sempre i campi in modo dettagliato: più informazioni fornisci, più precisa sarà l’AI.
* Non limitarti a poche righe: descrivi contesto, obiettivi e strategie in maniera completa.
* Mantieni coerenza tra obiettivo della conversazione e flusso che l’AI deve seguire.
* Testa le conversazioni per verificare che l’AI rispetti le tue indicazioni.
  {% endstep %}
  {% endstepper %}


# Cos'è la sezione Kanban

## Kanban

### Cos'è il Kanban

Il Kanban è la sezione di Bookli dedicata alla **gestione visiva dei lead**. Permette al tuo team di vedere a colpo d'occhio in che fase si trova ogni contatto, spostarli tra le diverse fasi del processo commerciale e automatizzare i movimenti in base all'esito delle chiamate.

Pensa al Kanban come a una lavagna divisa in colonne: ogni colonna rappresenta una fase del tuo flusso di lavoro, e ogni card al suo interno rappresenta un lead o un contatto. Man mano che il processo avanza — manualmente o in automatico — le card si spostano da una colonna all'altra.

***

### Come è strutturato

#### Le colonne

Le colonne sono **completamente personalizzabili**: puoi crearle, rinominarle e ordinarle come preferisci in base al tuo processo commerciale.

Esempi di strutture comuni:

| Esempio 1 – Gestione lead | Esempio 2 – Post-chiamata |
| ------------------------- | ------------------------- |
| Da contattare             | Chiamata effettuata       |
| Tentativo in corso        | Interessato               |
| Appuntamento fissato      | Richiamata richiesta      |
| Chiuso                    | Non interessato           |

Non esiste una struttura giusta o sbagliata: il Kanban si adatta al tuo flusso, non il contrario.

#### Le card

Ogni card rappresenta un **lead** e mostra:

* I dati del contatto (nome, numero, informazioni raccolte)
* Da quale **task AI** è stato contattato (es. quale agente vocale ha gestito la chiamata)

In questo modo il tuo team sa subito chi ha parlato con quel lead, in quale contesto e con quale agente.

***


# Come usare la sezione Kanban

## Kanban

### Cos'è il Kanban

Il Kanban è la sezione di Bookli dedicata alla **gestione visiva dei lead**. Permette al tuo team di vedere a colpo d'occhio in che fase si trova ogni contatto, spostarli tra le diverse fasi del processo commerciale e automatizzare i movimenti in base all'esito delle chiamate.

Pensa al Kanban come a una lavagna divisa in colonne: ogni colonna rappresenta una fase del tuo flusso di lavoro, e ogni card al suo interno rappresenta un lead o un contatto. Man mano che il processo avanza — manualmente o in automatico — le card si spostano da una colonna all'altra.

***

### Come è strutturato

#### Le colonne

Le colonne sono **completamente personalizzabili**: puoi crearle, rinominarle e ordinarle come preferisci in base al tuo processo commerciale.

Esempi di strutture comuni:

| Esempio 1 – Gestione lead | Esempio 2 – Post-chiamata |
| ------------------------- | ------------------------- |
| Da contattare             | Chiamata effettuata       |
| Tentativo in corso        | Interessato               |
| Appuntamento fissato      | Richiamata richiesta      |
| Chiuso                    | Non interessato           |

Non esiste una struttura giusta o sbagliata: il Kanban si adatta al tuo flusso, non il contrario.

#### Le card

Ogni card rappresenta un **lead** e mostra:

* I dati del contatto (nome, numero, informazioni raccolte)
* Da quale **task AI** è stato contattato (es. quale agente vocale ha gestito la chiamata)

In questo modo il tuo team sa subito chi ha parlato con quel lead, in quale contesto e con quale agente.

***

### Come si popola il Kanban

Il Kanban può essere alimentato in **due modi**:

#### 1. Automaticamente tramite regole

È il modo più potente di usare il Kanban. All'interno delle **regole di automazione** di Bookli, puoi configurare azioni che aggiungono o spostano automaticamente una card nel Kanban al verificarsi di un evento.

**Esempio pratico:**

> Un lead chiama il numero della tua azienda. L'agente AI gestisce la chiamata e, al termine, la chiamata risulta "completata". In automatico, una regola aggiunge quel lead alla colonna **"Chiamata effettuata"** del Kanban — senza che il tuo team debba fare nulla.

Puoi configurare regole diverse per eventi diversi:

| Evento                              | Azione Kanban                         |
| ----------------------------------- | ------------------------------------- |
| Chiamata completata                 | Aggiungi alla colonna "Gestiti"       |
| Lead ha chiesto un richiamo         | Aggiungi alla colonna "Da richiamare" |
| Appuntamento confermato             | Sposta in "Appuntamenti fissati"      |
| Chiamata fallita (nessuna risposta) | Aggiungi a "Da ritentare"             |

#### 2. Manualmente

Un membro del team può spostare una card da una colonna all'altra direttamente dalla vista Kanban, ad esempio dopo una telefonata gestita fuori dalla piattaforma o dopo un aggiornamento ricevuto via email.

***

### Chi usa il Kanban

Il Kanban è pensato per **due tipi di utenti**:

* **Il team del cliente** (es. commerciali, account, customer care): usa il Kanban come strumento operativo quotidiano per sapere su quali lead lavorare e tenere traccia dell'avanzamento.
* **L'amministratore / responsabile**: usa il Kanban per avere una visione d'insieme del pipeline, monitorare i volumi per fase e verificare che il flusso funzioni correttamente.

***

### Esempi pratici d'uso

#### Esempio 1 – Studio dentistico con agente di recall

Uno studio dentistico usa un agente AI per richiamare i pazienti che non prenotano da oltre 6 mesi. Il Kanban è configurato con tre colonne: **Da contattare**, **Risposto**, **Appuntamento fissato**.

Ogni giorno, al termine delle chiamate automatiche, il team trova già nel Kanban i pazienti che hanno risposto e quelli che hanno confermato un appuntamento — senza dover controllare i log delle chiamate uno per uno.

**Schema regola — appuntamento confermato:**

* Crea una regola:
  * **Trigger**: Evento conversazionale — l'agente rileva che il paziente vuole fissare un appuntamento (es. "Sì, vengo giovedì")
  * **Azione**: Aggiungi a Kanban → colonna **"Appuntamento fissato"**
  * **Risultato**: il paziente appare automaticamente nella colonna giusta, senza intervento del team.

**Schema regola aggiuntiva — nessuna risposta:**

* Crea una seconda regola:
  * **Trigger**: Evento chiamata — stato "Nessuna risposta"
  * **Azione**: Aggiungi a Kanban → colonna **"Da ritentare"**

***

#### Esempio 2 – Agenzia immobiliare con lead da campagne

Un'agenzia immobiliare riceve lead da campagne Google. Ogni lead viene chiamato automaticamente dall'agente AI entro pochi minuti. Il Kanban mostra in tempo reale quanti lead sono stati raggiunti, quanti hanno chiesto un appuntamento e quanti non hanno risposto.

Il team commerciale interviene solo sulle colonne **"Interessato"** e **"Appuntamento da confermare"**, risparmiando tempo su tutti i contatti non qualificati.

**Schema regola 1 — lead interessato:**

* Crea una regola:
  * **Trigger**: Evento conversazionale — il lead chiede informazioni su un immobile specifico
  * **Azione**: Aggiungi a Kanban → colonna **"Interessato"**

**Schema regola 2 — appuntamento accettato:**

* Crea una seconda regola:
  * **Trigger**: Evento conversazionale — il lead accetta di fissare un appuntamento
  * **Azione**: Aggiungi a Kanban → colonna **"Appuntamento da confermare"**
  * **Risultato**: il team commerciale apre il Kanban e trova già segmentati i lead caldi — tutto il resto è stato filtrato dall'AI.

***

#### Esempio 3 – Contact center outbound

Un contact center gestisce campagne outbound per conto di più clienti. Ogni campagna ha il suo Kanban dedicato, con colonne personalizzate per quel cliente. Gli operatori umani lavorano solo sui lead che l'AI ha qualificato come interessanti, mentre tutto il resto è già stato filtrato e categorizzato automaticamente.

**Schema regola 1 — da richiamare:**

* Crea una regola:
  * **Trigger**: Evento conversazionale — il lead chiede di essere ricontattato in un altro momento
  * **Azione**: Aggiungi a Kanban → colonna **"Da richiamare"**

**Schema regola 2 — lead qualificato:**

* Crea una seconda regola:
  * **Trigger**: Evento chiamata — chiamata completata con esito positivo
  * **Azione**: Aggiungi a Kanban → colonna **"Qualificato"**

**Schema regola 3 — non interessato:**

* Crea una terza regola:
  * **Trigger**: Evento conversazionale — il lead rifiuta esplicitamente
  * **Azione**: Aggiungi a Kanban → colonna **"Non interessato"**
  * **Risultato**: gli operatori umani lavorano solo su **"Da richiamare"** e **"Qualificato"** — il resto è gestito in automatico dall'AI.

***

### Consigli pratici

* **Inizia semplice**: 3-4 colonne sono più che sufficienti per la maggior parte dei casi. Puoi sempre aggiungerne in seguito.
* **Abbina sempre una regola al Kanban**: il vero valore arriva quando il Kanban si aggiorna da solo — non devi ricordarti di spostare le card a mano.
* **Usa nomi di colonna chiari e orientati all'azione**: preferisci "Da richiamare" a "In attesa", "Appuntamento fissato" a "Positivo". Rende il Kanban leggibile anche a chi lo apre per la prima volta.


# Cos'è una Base di conoscenza

### 1. Definizione

La **knowledge base** (base di conoscenza) è un insieme di contenuti che Bookli può utilizzare per fornire risposte durante una conversazione.\
Ogni knowledge base può essere richiamata all’interno di una **task** per dare supporto all’IA con informazioni aggiornate e contestuali.

{% hint style="danger" %}
Importante: le knowledge base funzionano **solo nelle task scritte** (es. WhatsApp o chat pubblica). Non sono disponibili su canali vocali (Twilio, SIP o simili).
{% endhint %}

***

### 2. Numero di knowledge base

* Puoi creare **quante knowledge base desideri**.
* Ogni knowledge base è indipendente e può essere richiamata da task diverse.

***

### 3. Creazione di una knowledge base

Per creare una knowledge base devi seguire questi passi:

{% stepper %}
{% step %}

### Assegna un nome

Dai un nome descrittivo alla knowledge base.
{% endstep %}

{% step %}

### Definisci la descrizione di invocazione

Specifica quando e perché deve essere usata (cioè in quali situazioni la task deve richiamare questa knowledge base).

Esempio: “Usa questa base di conoscenza se la persona chiede informazioni generali sulla nostra azienda (pagina contatti, presentazione, orari di apertura, indirizzo).”
{% endstep %}
{% endstepper %}

***

### 4. Fonti della knowledge base

Puoi popolare una knowledge base in diversi modi, anche combinandoli:

* **Siti web** (inserendo il link e recuperando le pagine)
* **File** (PDF, DOC, DOCX fino a 500 MB)
* **FAQ** (domande e risposte personalizzate)
* **Testo libero** (contenuti scritti manualmente o copiati da altre fonti)

***

### 5. Salvataggio e utilizzo

* Una volta completata, clicca su **Salva**.
* Durante la creazione di una task, al **secondo step**, potrai richiamare la knowledge base necessaria.
* Se modifichi la **descrizione di invocazione** da una task, la modifica rimarrà valida **solo per quella task** (non per la knowledge base originale).

***


# Come aggiungere contenuti alla base di conoscenza

### 1. Creare la base di conoscenza

Prima di poter aggiungere contenuti, è necessario:

* Creare una base di conoscenza
* Definire una descrizione chiara che spieghi quando e come deve essere utilizzata

***

### 2. Aggiungere file

Puoi caricare documenti come fonte di conoscenza.

* Formati supportati: **PDF, DOC, DOCX**
* Dimensione massima: **500 MB per file**
* Puoi caricare più file per la stessa base di conoscenza

{% hint style="info" %}
Requisiti consigliati:

* Il file deve contenere **testo leggibile** (non immagini scannerizzate)
* Il contenuto deve essere chiaro e non eccessivamente elaborato
  {% endhint %}

***

### 3. Aggiungere un sito web

Puoi collegare il tuo sito come fonte informativa.

{% stepper %}
{% step %}

### Inserisci il sito

Accedi alla sezione **Siti web** all’interno della tua base di conoscenza.
{% endstep %}

{% step %}

### Fornisci l'indirizzo

Inserisci l’indirizzo del sito **senza `https://`**.
{% endstep %}

{% step %}

### Recupera le pagine

Clicca su **Recupera** per estrarre tutte le pagine del sito.
{% endstep %}

{% step %}

### Seleziona le pagine utili

Seleziona solo le pagine utili, eliminando quelle non rilevanti.
{% endstep %}
{% endstepper %}

***

### 4. Aggiungere FAQ

Puoi inserire manualmente domande e risposte frequenti.

<details>

<summary>Procedura per aggiungere FAQ</summary>

Vai alla sezione FAQAccedi alla sezione FAQ della tua base di conoscenza.Aggiungi una nuova FAQClicca su Aggiungi nuova FAQ.Inserisci la domandaInserisci la Domanda.Inserisci la rispostaInserisci la Risposta.RipetiRipeti l’operazione per tutte le FAQ necessarie.

</details>

***

### 5. Aggiungere testo libero

Se non disponi di file, FAQ o siti web, puoi scrivere direttamente i contenuti:

* Vai alla sezione **Testo libero**
* Scrivi manualmente il contenuto oppure copia/incolla da altre fonti
* Salva per rendere disponibile il testo nella base di conoscenza

***


# Regole da seguire per una buona Base di conoscenza

{% stepper %}
{% step %}

### Evitare una knowledge base “sporca”

Una base di conoscenza non deve contenere informazioni di ogni genere in modo disordinato.

L’obiettivo è fornire all’IA solo i dati realmente utili e specifici, evitando ridondanze.

{% hint style="warning" %}
⚠️ Nota bene: l’IA di Bookli ha già una **base di conoscenza nativa molto ampia**, allenata su miliardi di parametri. Non serve reinserire informazioni di pubblico dominio.
{% endhint %}
{% endstep %}

{% step %}

### Contenuti da includere

Inserisci solo informazioni che l’IA non può conoscere da sola, come ad esempio:

* Nomi dei dipendenti o collaboratori
* Indirizzo e recapiti aziendali
* Email specifiche per il supporto
* Dati interni o riservati
* Caratteristiche uniche dei tuoi prodotti o servizi

{% hint style="info" %}
Esempio: “La nostra sede si trova in Via Roma 10, Milano. L’email di supporto clienti è <support@azienda.com>.”
{% endhint %}
{% endstep %}

{% step %}

### Contenuti da escludere

Non è necessario aggiungere dati che sono già **di dominio pubblico** o facilmente accessibili, come:

* Definizioni generiche
* Informazioni storiche
* Concetti tecnici di uso comune

Questi possono essere semplicemente richiamati nelle **istruzioni della task**, senza appesantire la knowledge base.
{% endstep %}

{% step %}

### Coerenza tematica

Ogni knowledge base deve avere un **tema preciso e circoscritto**:

* Se crei una knowledge base sulle **informazioni aziendali**, inserisci solo dati aziendali
* Se crei una knowledge base sui **prodotti**, inserisci solo descrizioni, caratteristiche e schede tecniche dei prodotti

{% hint style="danger" %}
⚠️ Non mescolare contenuti eterogenei: questo riduce la precisione delle risposte.
{% endhint %}
{% endstep %}

{% step %}

### Funzione mirata

Quando costruisci una knowledge base, pensa sempre alla sua funzione pratica:

* Quali domande deve aiutare a risolvere?
* Quali informazioni specifiche deve fornire?
* In quali scenari sarà invocata?

{% hint style="info" %}
Esempio: “Questa knowledge base sarà usata solo se l’utente chiede informazioni sui prodotti artigianali realizzati internamente.”
{% endhint %}
{% endstep %}
{% endstepper %}


# Cosa sono gli strumenti

Immagina di poter estendere le capacità della tua intelligenza artificiale. Non solo la facoltà di conversare in modo intelligente, ma anche quella di compiere azioni concrete, interagire con i tuoi software aziendali e accedere a informazioni in tempo reale.

Questo è esattamente ciò che fanno gli **Strumenti** di Bookli.

***

### In parole semplici: un ponte verso il mondo esterno

Uno **Strumento** è una connessione sicura e configurabile tra l'intelligenza artificiale di Bookli e qualsiasi altro software o servizio esterno, come il tuo CRM, il tuo gestionale, la tua piattaforma e-commerce o un database.

Questa connessione avviene tramite **chiamate API** (Application Programming Interface), che possono essere considerate come dei "messaggeri" digitali che permettono a programmi diversi di comunicare e scambiarsi dati in modo standardizzato.

In sostanza, grazie agli Strumenti, trasformi il tuo assistente virtuale da un interlocutore passivo a un **agente attivo**, capace di eseguire compiti per conto tuo o del tuo cliente.

***

### Perché dovresti usare gli Strumenti? I Vantaggi Principali

{% stepper %}
{% step %}

### Automatizzare i Processi

Elimina compiti manuali e ripetitivi. Invece di prendere nota di una richiesta e passarla a un operatore, l'AI può, ad esempio, creare un ticket di assistenza direttamente nel tuo sistema helpdesk al termine di una conversazione.
{% endstep %}

{% step %}

### Fornire Informazioni in Tempo Reale

Basta risposte generiche. Se un cliente chiede "Dov'è il mio pacco?", l'AI può usare uno Strumento per interrogare il sistema del corriere e fornire lo stato esatto e aggiornato della spedizione, in tempo reale.
{% endstep %}

{% step %}

### Aumentare l'Efficienza Operativa

L'intelligenza artificiale può gestire una porzione più ampia del processo. Ad esempio, può non solo qualificare un nuovo lead durante una chiamata, ma anche inserirlo automaticamente nel tuo CRM con tutti i dati raccolti, pronto per essere gestito dal team di vendita.
{% endstep %}

{% step %}

### Creare Esperienze Utente Straordinarie

Offri ai tuoi utenti risposte immediate e risolutive. Le conversazioni diventano più fluide, utili e riducono drasticamente i tempi di attesa e la necessità di intervento umano per attività di routine.
{% endstep %}
{% endstepper %}

***

### Esempi di utilizzo pratico

Le possibilità sono infinite, ma ecco alcuni scenari comuni in cui gli Strumenti fanno la differenza:

* **E-commerce**: Controllare lo stato di un ordine, verificare la disponibilità di un prodotto a magazzino o avviare una procedura di reso.
* **Customer Service**: Creare, aggiornare o chiudere un ticket di assistenza nel tuo sistema di helpdesk.
* **Sales e CRM**: Registrare un nuovo lead nel CRM, aggiornare la scheda di un contatto o fissare un appuntamento sul calendario di un agente.
* **Prenotazioni**: Verificare in tempo reale la disponibilità di una camera d'albergo, di un tavolo al ristorante o di un appuntamento.

***

{% hint style="success" %}

#### Pronto a iniziare?

Gli Strumenti sono la chiave per trasformare Bookli da un semplice assistente conversazionale a un vero e proprio motore operativo per il tuo business.

> Ora che hai compreso il loro potenziale, è il momento di passare alla pratica.
> {% endhint %}

{% content-ref url="/pages/2ab4b0adeb5c9385d44c6528c35dc4944202f799" %}
[Come creare uno strumento](/strumenti/come-creare-uno-strumento)
{% endcontent-ref %}


# Come creare uno strumento

### Cosa sono gli strumenti personalizzati?

Gli "Strumenti" sono una funzionalità avanzata di Bookli che permette di estendere le capacità dell'intelligenza artificiale attraverso le **Tool Calls**. In breve, offrono a Bookli la possibilità di effettuare chiamate API a sistemi esterni in modo autonomo, sia durante o alla fine di una conversazione che al verificarsi di eventi specifici.

Queste chiamate possono essere innescate da:

* **Eventi Conversazionali**: Azioni o parole chiave specifiche che emergono durante il dialogo con l'utente (es. "vorrei controllare il mio ordine").
* **Eventi Chiamata**: Eventi predefiniti nel sistema che avvengono al di fuori della conversazione (es. al termine di una telefonata).

> **Esempio pratico**: "Quando una chiamata viene contrassegnata come 'completata', esegui automaticamente questa chiamata API per aggiornare il nostro sistema di ticketing."

Questa guida ti accompagnerà passo dopo passo nella configurazione e nell'utilizzo degli strumenti personalizzati.

***

### Struttura di uno Strumento

La creazione di uno strumento è suddivisa in due sezioni principali, che analizzeremo nel dettaglio:

{% stepper %}
{% step %}

### Informazioni di Base

In questa sezione si definiscono gli aspetti che governano il modo in cui l'AI interagisce con lo strumento a livello conversazionale.

* **Nome Personalizzato**\
  È un'etichetta interna che serve unicamente a te per identificare e salvare lo strumento. Non ha impatti funzionali ma è fondamentale per ritrovarlo facilmente quando dovrai assegnarlo a una Task.
* **Discorso dello Strumento**\
  È la frase esatta che l'intelligenza artificiale pronuncerà *prima* di eseguire la chiamata API. Serve a informare l'utente di ciò che sta accadendo, rendendo l'interazione più naturale e trasparente, proprio come farebbe un operatore umano.

  > **Esempio**: "Un attimo solo che controllo lo stato del suo ordine..."
* **Descrizione dello Strumento**\
  Questa è l'istruzione fondamentale che fornisci all'AI per spiegarle **quando e come** utilizzare questo strumento. Sii il più preciso e dettagliato possibile, perché l'AI si baserà su questo testo per decidere se e come attivare la chiamata API.

  > **Esempio**: "Utilizza questo strumento se l'utente desidera controllare lo stato di una spedizione. Per procedere, è indispensabile ottenere il numero di tracking dell'ordine."
  > {% endstep %}

{% step %}

### Configurazione della API

{% hint style="info" %}
Questa sezione è pensata per un pubblico con competenze tecniche (sviluppatori, marketing technologist o utenti "smanettoni"). Tuttavia, seguendo attentamente questa guida, anche gli utenti meno esperti possono configurare con successo le proprie chiamate API.
{% endhint %}

Qui si definiscono tutti i dettagli tecnici necessari affinché Bookli possa comunicare correttamente con il sistema esterno.

#### Metodo e Endpoint

* **Metodo**: Seleziona il metodo HTTP corretto per l'azione che desideri compiere (GET, POST, PUT, PATCH, DELETE).
* **Endpoint**: Inserisci l'URL completo (l'indirizzo) dell'API che vuoi interrogare.

Esempio:\
`POST` `https://api.iltuoservizio.com/v1/orders`

#### Autenticazione

Seleziona il tipo di autenticazione richiesto dalla tua API per garantire un accesso sicuro. Bookli supporta diverse modalità:

* Nessuna autenticazione
* Bearer Token
* API Key / Credentials
* OAuth 1.0 & OAuth 2.0

Le configurazioni specifiche per ogni metodo verranno trattate nelle sezioni dedicate di questo manuale.

#### Header

Gli header sono metadati inviati insieme alla richiesta, spesso utilizzati per specificare il formato dei dati o per l'autenticazione. Puoi trovare le informazioni sugli header richiesti all'interno della documentazione ufficiale dell'API che stai utilizzando.

Esempio di header comune (chiave-valore):\
`Content-Type`: `application/json`

#### Parametri di Query

I parametri sono i dati effettivi che invii con la tua chiamata API. Possono essere di due tipi:

{% stepper %}
{% step %}

#### Statici (Variabili di Bookli)

Sono valori che Bookli già conosce, come le informazioni del contatto o della chiamata in corso. Cliccando sul pulsante **Variabili**, puoi inserire dei segnaposto che verranno automaticamente sostituiti con i dati reali al momento della chiamata (es. `nome del contatto`, `email`, `numero di telefono`, `nome dell'agente AI`).
{% endstep %}

{% step %}

#### Da Estrarre (Dati dalla Conversazione)

Sono valori dinamici che Bookli deve ottenere direttamente dalla conversazione con l'utente. Per questi campi, è necessario istruire l'AI su come ottenerli.

Esempio:

* **Tipo**: `Estrai`
* **Chiave**: $.`order_id`
* **Valore (Prompt per l'AI)**:

  > "Estrai dalla conversazione oppure chiedi esplicitamente all'utente il suo numero di ordine."

**Nota bene**: Più sei preciso nel prompt, migliore sarà il risultato. Puoi aggiungere vincoli specifici per aiutare l'AI.

> "Il codice dell'ordine è sempre un codice alfanumerico di 8 caratteri. Se l'utente fornisce un codice di lunghezza diversa, richiedilo di nuovo specificando il formato corretto."
> {% endstep %}
> {% endstepper %}

#### Costruzione del Body della Richiesta (JSON)

{% hint style="warning" %}
‼️ ATTENZIONE\
Il prefisso `$.` che vedi precompilato nei campi dei parametri **non deve mai essere eliminato**. Bookli utilizza la sintassi **JSONPath** per costruire dinamicamente il corpo (body) della richiesta in formato JSON. Rimuovere `$.` impedirà il corretto funzionamento dello strumento.
{% endhint %}

Mentre compili i parametri, puoi vedere un'anteprima in tempo reale del JSON generato sulla destra. Vediamo alcuni esempi.

* Esempio 1: Chiave di primo livello

  * Parametro (JSONPath): `$.order_id`
  * JSON Risultante:

  ```json
  {
    "order_id": "valore_estratto"
  }
  ```
* Esempio 2: Oggetto nidificato

  * Parametri (JSONPath): `$.customer.name`, `$.customer.email`
  * JSON Risultante:

  ```json
  {
    "customer": {
      "name": "valore_estratto_o_statico",
      "email": "valore_estratto_o_statico"
    }
  }
  ```
* Esempio 3: Array di oggetti (es. un carrello)

  * Parametri (JSONPath): `$.items[0].product_id`, `$.items[0].quantity`
  * JSON Risultante:

  ```json
  {
    "items": [
      {
        "product_id": "valore_estratto",
        "quantity": "valore_estratto"
      }
    ]
  }
  ```

#### Esempi di Chiamate API per Metodo

* **GET (Ottenere dati)**: Per recuperare i dettagli di una risorsa esistente.
  * Uso: Leggere i dettagli di un ordine.
  * Endpoint: `https://api.esempio.com/v1/orders/{orderId}`
  * Parametri: Un parametro `orderId` estratto dalla conversazione.
* **POST (Creare dati)**: Per creare una nuova risorsa.
  * Uso: Inserire un nuovo ordine nel sistema.
  * Endpoint: `https://api.esempio.com/v1/orders`
  * Parametri: `$.product_id`, `$.quantity`, `$.customer_details.name`.
* **PUT / PATCH (Aggiornare dati)**: Per modificare una risorsa esistente. `PUT` sostituisce l'intera risorsa, `PATCH` la aggiorna parzialmente.
  * Uso: Modificare l'indirizzo di spedizione di un ordine.
  * Endpoint: `https://api.esempio.com/v1/orders/{orderId}`
  * Parametri: `$.shipping_address.street`, `$.shipping_address.city`.
* **DELETE (Eliminare dati)**: Per cancellare una risorsa.
  * Uso: Annullare un ordine.
  * Endpoint: `https://api.esempio.com/v1/orders/{orderId}`
    {% endstep %}
    {% endstepper %}

### Variabili di Risposta

La risposta (response) di un'API spesso contiene molte più informazioni di quelle necessarie, incluse note interne o dati sensibili. Le **Variabili di Risposta** sono un potente filtro che permette a Bookli di **isolare e salvare solo i dati pertinenti** dalla risposta ricevuta.

Questo è fondamentale per due motivi principali:

1. **Sicurezza**: Impedisce che informazioni sensibili (es. note private, margini di profitto) vengano lette dall'AI o, peggio, comunicate all'utente finale.
2. **Efficienza**: Fornisce all'AI solo il dato esatto che le serve per formulare la risposta corretta, senza informazioni superflue.

#### Esempio Pratico

Immaginiamo che, dopo aver chiesto lo stato di un ordine, l'API risponda con il seguente JSON:

```json
{
  "order": {
    "id": "XYZ-123",
    "date": "2024-10-26T10:00:00Z",
    "status": "In preparazione",
    "total_amount": 99.90,
    "currency": "EUR",
    "customer_id": "CUST-007",
    "internal_data": {
      "profit_margin": 0.23,
      "private_notes": "Cliente VIP, aggiungere omaggio al pacco."
    },
    "shipping_details": {
      "carrier": "Express Courier",
      "tracking_code": "TCK987654321"
    }
  }
}
```

A noi interessa comunicare all'utente solo lo `status`. Per farlo, creiamo una Variabile di Risposta:

* **Nome Variabile**: `stato_ordine` (un nome personalizzato che potrai riutilizzare in Bookli).
* **Path della Risposta (JSONPath)**: `$.order.status`

In questo modo, Bookli ignorerà tutti gli altri dati e salverà unicamente il valore `"In preparazione"` nella variabile `stato_ordine`, pronta per essere utilizzata nella conversazione.


# Come collegare whatsapp a Bookli

{% stepper %}
{% step %}

### Aprire la sezione Integrazioni

* Accedi al tuo workspace.
* Dal menu laterale sinistro, seleziona **Integrazioni**.
  {% endstep %}

{% step %}

### Aprire le Impostazioni di WhatsApp

* Clicca su **Impostazioni WhatsApp (Bookli)**.
* Sotto la voce **Numero di istanze** (es. *1/1*), individua la scritta blu **Acquista slot aggiuntivi**.
  {% endstep %}

{% step %}

### Procedere con l’Acquisto

* Premi su **Acquista slot aggiuntivi**: verrai reindirizzato a una nuova pagina.
* Scorri fino alla sezione **Istanze WhatsApp**.
* Premi il pulsante **Acquista slot WhatsApp**.
* Seleziona il numero di slot da acquistare e conferma l’operazione.
  {% endstep %}
  {% endstepper %}


# Come acquistare nuove istanze whatsapp

{% embed url="<https://app.supademo.com/demo/cmg9c4rrl2f792nomp8rjnl2i?utm_source=link>" %}

{% stepper %}
{% step %}

### Verifica il tuo piano attivo

* I piani disponibili sono:
  * **Basic** → 1 istanza inclusa
  * **Pro** → 2 istanze incluse
  * **Premium** → 3 istanze incluse
  * **Business** → 4 istanze incluse
* Indipendentemente dal piano scelto, puoi acquistare ulteriori istanze WhatsApp aggiuntive.
  {% endstep %}

{% step %}

### Accedi alla sezione Integrazioni WhatsApp

* Vai nel menù della piattaforma e seleziona **Integrazioni**.
* Clicca su **WhatsApp**.
* Premi su **Impostazioni**.
  {% endstep %}

{% step %}

### Acquista nuove istanze

* All’interno delle impostazioni troverai il pulsante **Acquista slot**.
* Cliccandolo, verrai reindirizzato automaticamente alla pagina **Impostazioni**.
  {% endstep %}

{% step %}

### Gestisci le istanze disponibili

* Nella pagina **Impostazioni**, in alto a sinistra, sotto la sezione del tuo piano attivo, troverai la voce **Istanze WhatsApp**.
* Da qui potrai:
  * Visualizzare quante istanze hai attive
  * Aggiungere nuove istanze
  * Eliminare istanze non più necessarie
    {% endstep %}

{% step %}

### Informazioni sul pagamento

* Il costo delle istanze aggiuntive è visibile direttamente dalla piattaforma.
* Il pagamento è di tipo **mensile**.
* Puoi:
  * **Aggiungere** istanze in qualsiasi momento
  * **Eliminare** istanze in qualsiasi momento, interrompendo di conseguenza il pagamento ricorrente.
    {% endstep %}
    {% endstepper %}


# Come collegare Twilio a bookli

{% embed url="<https://www.youtube.com/watch?v=Zjm_tPaSqO4>" %}

{% stepper %}
{% step %}

### Registrazione su Twilio

* Apri una nuova scheda del browser e cerca **“Twilio”** su Google.
* Accedi al sito ufficiale di Twilio.
* Clicca su **“Start for free”**.
* Registrati inserendo nome, email e password, oppure accedi tramite il tuo account Google.
  {% endstep %}

{% step %}

### Verifica del numero di telefono

* Dopo l’accesso, Twilio richiederà la verifica del numero:
  * Seleziona **“Italia”**.
  * Inserisci il tuo numero di telefono.
  * Clicca su **“Send code via SMS”**.
  * Inserisci il codice ricevuto via SMS e conferma con **“Verify”**.
    {% endstep %}

{% step %}

### Salvataggio del codice di recupero

* Scarica e conserva il codice di recupero visualizzato.
* Clicca su **“Continue”** per procedere.
  {% endstep %}

{% step %}

### Onboarding iniziale

Rispondi alle domande di configurazione nel seguente modo:

* **What do you plan to build with Twilio?** → *IVR & Bots*
* **Which product are you here to use?** → *Voice*
* **Which best describes your organization?** → *Business*
* **How will you use Twilio?** → *Direct Brand*
* **How do you want to build?** → *With no code at all*
* **What’s your goal today?** → *3rd party integrations*

Infine, clicca su **“Get Started with Twilio”**.
{% endstep %}

{% step %}

### Verifica e attivazione dell’account

* Nella console Twilio, clicca su **“Upgrade”** in alto a destra.
* Inserisci nome, cognome e numero di telefono.
* Conferma di avere più di 18 anni e clicca su **“Continue”**.
  {% endstep %}

{% step %}

### Verifica dell’identità con documento

* Seleziona **“Italia”** come paese del documento.
* Scegli il tipo di documento (es. Carta d’identità).
* Clicca su **“Continue on another device”** e scansiona il QR code con il telefono.
* Carica le foto fronte/retro del documento.
* Registra un breve video per la verifica facciale.
* Se richiesto, seleziona **“Individual use”**.
  {% endstep %}

{% step %}

### Inserimento dell’indirizzo

* Inserisci via, città, provincia e CAP.
* Spunta la casella di consenso e clicca su **“Submit”**.
  {% endstep %}

{% step %}

### Inserimento dell’indirizzo fiscale

* Inserisci gli stessi dati dell’indirizzo di residenza.
* Se compare un messaggio di errore (“indirizzo non verificabile”), clicca su **“Use the address I provided”**.
  {% endstep %}

{% step %}

### Informazioni fiscali e pagamento

* Lascia vuoto il campo della Partita IVA (se non disponibile) e clicca su **“Next”**.
* Inserisci un importo di ricarica (es. **20 USD**) e clicca su **“Next”**.
* Aggiungi i dati della carta di credito.
* Spunta la casella di conferma per l’indirizzo di fatturazione.
* Concludi con **“Confirm $20.00 payment”**.
  {% endstep %}

{% step %}

### Abilitare le chiamate verso l’Italia

* Nella console Twilio, cerca **“Voice Geographic Permissions”**.
* Seleziona **“Italy”** e spunta la casella corrispondente.
* Clicca su **“Save”**.
  {% endstep %}

{% step %}

### Recuperare le credenziali Twilio

* Torna alla **Account Dashboard**.
* Copia **Account SID** e **Auth Token** dalla sezione **Account Info**.
  {% endstep %}

{% step %}

### Collegamento di Twilio a Bookli

* Vai sulla dashboard di Bookli.
* Dal menu a sinistra, clicca su **“Integrazioni”**.
* Trova la card di Twilio e clicca su **“Connetti”**.
* Incolla:
  * **Account SID** nel primo campo
  * **Auth Token** nel secondo campo
* Clicca su **“Aggiorna Numeri”**.
* Dopo il recupero del numero di telefono, clicca su **“Salva Credenziali”**.
  {% endstep %}

{% step %}

### Conclusione

L’integrazione è completata.\
Il tuo numero Twilio è ora pronto per essere utilizzato con le automazioni vocali su **Bookli**.
{% endstep %}
{% endstepper %}


# Come collegare un Interno Sip Trunk a Bookli

{% stepper %}
{% step %}

### Requisiti Preliminari

Per collegare Bookli a un sistema telefonico SIP, assicurati di disporre di:

* Un telefono IP o un softphone (es. Zoiper, Linphone) per i test.
* Un PBX (es. Asterisk, FreePBX, 3CX) o un provider SIP.
* Credenziali SIP:
  * Username (interno/account SIP)
  * Password
  * Dominio o SIP Realm (es. sip.providerdemo.net)
* Numero di telefono o interno SIP (es. +39011222333 o 200)
* IP pubblico e porta SIP del PBX o provider (generalmente 5060).
  {% endstep %}

{% step %}

### Attivazione dell’Integrazione SIP in Bookli

* Accedi al tuo account Bookli.
* Vai su **Impostazioni → Integrazione SIP**.
* Verifica che l’integrazione risulti **Attiva**.

**Parametri generici:**

* Dominio SIP: `bookli.tuodominio.com`
* Indirizzo IP: `123.123.123.123`
* Porta: `5060`
  {% endstep %}

{% step %}

### Creazione di un Carrier SIP

Vai su **Impostazioni → Carrier SIP → Nuovo Carrier SIP** e compila i campi come segue.

#### Campi Principali

* **Nome Carrier** → Nome identificativo del provider (es. "Provider Demo", "PBX Interno").
* **E164 Leading Plus** → Abilita solo se il provider richiede numerazione internazionale (+39).
* **Richiede Registrazione** → Abilita se è necessario autenticarsi con username/password.

#### Configurazione Registrazione SIP

* **Username Registrazione** → Username fornito dal provider o PBX.
* **Password Registrazione** → Password associata.
* **SIP Realm** → Dominio SIP del provider (es. sip.providerdemo.net).
* **From User** → Interno o numero di telefono identificativo (es. 200).
* **From Domain** → Compila solo se richiesto dal provider.
* **Usa TLS / IP Pubblico nel Contact** → Attiva solo se richiesto dal provider.

#### Numero di Telefono

* **Numero di Telefono** → Numero SIP o interno da cui ricevi chiamate (es. +39011222333 o 200).

#### Gateway

* **Indirizzo IP** → IP pubblico del PBX o del provider (es. 198.51.100.25).
* **Porta** → Generalmente `5060`.
* **Netmask** → Lascia `32`.
* **Chiamate in entrata / uscita** → Abilita entrambe se il trunk supporta traffico bidirezionale.
  {% endstep %}

{% step %}

### Esempi di Configurazione

🔹 **Esempio con Asterisk**

* Nome Carrier: Asterisk Test
* Username: user100
* Password: \*\*\*\*\*\*\*\*
* SIP Realm: sip.asteriskdemo.net
* From User: 100
* Numero di Telefono: 100
* Gateway IP: 203.0.113.10
* Porta: 5060

🔹 **Esempio con 3CX**

* Nome Carrier: 3CX Test
* Username: demo3cx01
* Password: \*\*\*\*\*\*\*\*
* SIP Realm: pbx.3cxdemo.com
* From User: 300
* Numero di Telefono: 300
* Gateway IP: 203.0.113.20
* Porta: 5060
  {% endstep %}

{% step %}

### Verifica della Configurazione

Dopo il salvataggio del Carrier:

* Accedi a **Carrier SIP** e verifica che lo stato sia **Registrato**.
* Esegui una chiamata di test da un telefono IP o softphone connesso al PBX.
* Verifica:
  * La riuscita della chiamata in uscita.
  * La ricezione delle chiamate in entrata.
    {% endstep %}

{% step %}

### Risoluzione dei Problemi

* **Errore di registrazione (401/403 Unauthorized)** → Controlla credenziali (username, password, SIP realm).
* **Chiamate in uscita fallite** → Verifica IP e porta del gateway, controlla se la porta 5060 UDP è aperta.
* **Audio assente** → Controlla NAT e regole firewall, assicurati che le porte RTP siano configurate correttamente.
* **Problemi con la numerazione** → Prova ad attivare o disattivare l'opzione **E164 Leading Plus** a seconda delle specifiche del provider.
  {% endstep %}
  {% endstepper %}


# Come modificare le impostazioni del tuo profilo

{% stepper %}
{% step %}

### Accedi al menù del profilo

* Vai in alto a destra nella piattaforma.
* Clicca sul cerchietto con le tue iniziali.
  {% endstep %}

{% step %}

### Entra nella sezione Profilo

* Dopo il clic, apparirà un menù a tendina.
* Seleziona la voce **Profilo**.
  {% endstep %}

{% step %}

### Modifica le informazioni personali

All’interno della sezione Profilo puoi aggiornare:

* **Nome e cognome**
* **Indirizzo email**
* **Password**
  {% endstep %}

{% step %}

### Consulta le informazioni legali

Nella stessa sezione troverai i link a:

* **Termini e condizioni**
* **Privacy Policy**
  {% endstep %}

{% step %}

### Gestisci l’account

* Se necessario, puoi procedere con la **cancellazione del tuo account** direttamente da questa area.
  {% endstep %}
  {% endstepper %}


# Come creare un ruolo per il team

{% embed url="<https://app.supademo.com/demo/cmg6pkvol064c2nomx8a8h93o?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedi alla sezione Ruoli

* Vai nella sezione **Impostazioni** dal menu principale
* Clicca sulla tab **“Ruoli e Team”**&#x20;
  {% endstep %}

{% step %}

### Crea un nuovo ruolo

* Sulla destra della schermata, accanto alla barra di ricerca dei ruoli, clicca sul pulsante **“+ Aggiungi”**
* A destra si aprirà la schermata per configurare il nuovo ruolo
  {% endstep %}

{% step %}

### Inserisci il nome e assegna i permessi

* Inserisci un **nome per il ruolo** nel campo “Nome del Ruolo” (es. “Supporto Clienti”, “Marketing”, ecc.)
* Nella colonna a destra troverai tutte le **categorie di permessi** disponibili:
  * Integrazioni
  * Fatturazione
  * Strumenti
  * Calendari
  * Assistenti
  * Automazioni
  * Conversazioni
  * Lead
  * Base di conoscenza
  * Azienda
  * Tag

#### Come selezionare i permessi

* All'interno di ogni categoria ci sono uno o più permessi specifici (es. “Visualizza Integrazioni”, “Modifica Integrazione”)
* Attiva solo quelli necessari cliccando sul relativo **toggle**
* Se vuoi assegnare tutti i permessi rapidamente, puoi usare il pulsante **“Seleziona Tutto”**
  {% endstep %}

{% step %}

### Salva il ruolo

* Quando hai completato la selezione, clicca su **“Crea”** in alto a destra
* Il nuovo ruolo sarà disponibile per essere assegnato ai membri del team durante l’invito
  {% endstep %}
  {% endstepper %}

***

### Risorse utili

**Come invitare qualcuno nel tuo workspace:**<br>

{% content-ref url="/pages/61656711fd36e139be26b6b640a8e891bd239942" %}
[Come invitare qualcuno nel tuo workspace](/impostazioni/come-invitare-qualcuno-nel-tuo-workspace)
{% endcontent-ref %}


# Come invitare qualcuno nel tuo workspace

{% embed url="<https://app.supademo.com/demo/cmg6poptc06nt2nom60p0wu8q?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedi alla sezione Team

* Vai nella sezione **Impostazioni** dal menu laterale
* Clicca sulla voce **Ruoli e Team**
* Clicca sulla tab "**Membri"**
  {% endstep %}

{% step %}

### Inviare un invito

* In alto a destra, clicca sul pulsante verde **“Invita membri”**
* Si aprirà un modale con il titolo **“Invita Membro”**
  {% endstep %}

{% step %}

### Compilare l’invito

Nel modale inserisci:

* **Email del Membro**: l’indirizzo email della persona che vuoi aggiungere
* **Ruolo del Membro**: seleziona un ruolo esistente dal menu a tendina

Dopo aver compilato i campi, clicca su **“Invia Invito”**.\
Il membro riceverà un'email per unirsi al tuo workspace.
{% endstep %}

{% step %}

### Attenzione: ruolo obbligatorio

{% hint style="warning" %}
**Prima di poter invitare un membro, devi aver creato almeno un ruolo da assegnare.**\
Se non esiste alcun ruolo, il menu a tendina resterà vuoto e non potrai inviare l’invito.
{% endhint %}
{% endstep %}
{% endstepper %}

***

### Risorse utili

**Come creare un ruolo per il team:**

{% content-ref url="/pages/87c1a50cb4dbf37758ba368cda6963ffe531c4ba" %}
[Come creare un ruolo per il team](/impostazioni/come-creare-un-ruolo-per-il-team)
{% endcontent-ref %}


# Come modificare le informazioni del workspace

{% stepper %}
{% step %}

### Accedi alla sezione Impostazioni

* Dal menu principale, vai nella sezione **Impostazioni**
* Premi su **"Generale"**&#x20;

{% hint style="warning" %}
**Attenzione:** Le informazioni che inserisci qui saranno lette e utilizzate dall’AI per personalizzare le conversazioni automatiche.
{% endhint %}
{% endstep %}

{% step %}

### Campi disponibili da modificare

Puoi aggiornare i seguenti dati:

* **Logo aziendale**\
  Carica un'immagine in formato **.png** o **.jpg** (dimensioni ridotte consigliate)
* **Nome azienda**
* **Indirizzo (Linea 1)**
* **Città**
* **Provincia**
* **CAP**
* **Stato**
* **Sito web**
* **Categoria** (es. servizi, vendita, consulenza, ecc.)
* **Tecnologia** (puoi indicare il settore tecnologico o strumenti utilizzati)
* **Descrizione**\
  Inserisci una breve descrizione della tua azienda. L’AI può usare questo testo per fornire risposte più pertinenti.
  {% endstep %}

{% step %}

### Salva le modifiche

* Dopo aver aggiornato le informazioni, clicca su **“Save”** per salvare i dati del workspace

Le modifiche avranno effetto immediato e saranno accessibili all’intelligenza artificiale durante le interazioni con i lead.
{% endstep %}
{% endstepper %}


# Come eliminare un workspace

{% stepper %}
{% step %}

#### Accedere all’Account

* Effettua il **login** con le tue credenziali.
* Vai alla sezione in cui sono elencati i tuoi **workspace**.
  {% endstep %}

{% step %}

#### Eliminare un Workspace

* Individua il workspace che desideri eliminare.
* Clicca sull’icona del **cestino** associata a quel workspace.
  {% endstep %}

{% step %}

#### Soft Delete Attivo

{% hint style="info" %}
L’eliminazione non è immediata e definitiva. Viene attivata la modalità di **Soft Delete**:

* Il workspace eliminato rimane in uno stato recuperabile per **90 giorni**.
* Durante questo periodo puoi ripristinarlo in qualsiasi momento.
  {% endhint %}
  {% endstep %}

{% step %}

#### Recuperare un Workspace Eliminato

* Vai nella sezione dedicata ai workspace eliminati.
* Seleziona il workspace da ripristinare.
* Conferma l’operazione per riattivarlo.
  {% endstep %}

{% step %}

#### Eliminazione Definitiva

{% hint style="danger" %}

* Dopo 90 giorni, il workspace verrà rimosso in modo permanente.
* Una volta avvenuta l’eliminazione definitiva, **non sarà più possibile recuperarlo**.
  {% endhint %}
  {% endstep %}
  {% endstepper %}


# Come cambiare piano

{% stepper %}
{% step %}

### Accedi alla sezione “Piani”

* Vai su **Impostazioni** dal menu laterale
* Clicca sul tab "**Piani"**

In questa sezione potrai vedere il tuo piano attuale e confrontarlo con gli altri disponibili.
{% endstep %}

{% step %}

### I piani mensili disponibili sono :&#x20;

1. Basic da 97€ al mese con 300 mila caratteri e 0 minuti di chiamata mensili inclusi
2. Pro da 297€ al mese con 900k caratteri e 240 minuti di chiamata mensili inclusi
3. Premium da 497€ 1.5M caratteri e 360 minuti di chiamata mensili inclusi
4. Enterprise da 997€ al mese con 3 milioni caratteri e 720 minuti di chiamata mensili inclusi&#x20;

<br>

***

{% endstep %}

{% step %}

### I piani annuali hanno il 18 % su costo dei piani mensili

{% endstep %}
{% endstepper %}

***

### Risorse utili

**Come modificare i dati di fatturazione:**

{% content-ref url="/pages/74b9d6a58879a504c982d2c02daa49015e05aa9d" %}
[Come modificare i dati di fatturazione](/impostazioni/come-modificare-i-dati-di-fatturazione)
{% endcontent-ref %}

**Come annullare un piano:**

{% content-ref url="/pages/2bb925b10de8991d030314cd9b886bfd4103b99b" %}
[Come annullare un piano](/impostazioni/come-annullare-un-piano)
{% endcontent-ref %}


# Come funziona il calcolatore

Questo calcolatore nella pagina Impostazioni serve a stimare il consumo medio (caratteri, minuti, costi) per aiutarti a scegliere il piano più adatto.

{% stepper %}
{% step %}

### Accedere al Calcolatore

* Vai nella sidebar dell’applicazione.
* Clicca su **Impostazioni**.
* All’interno della pagina delle impostazioni, apri la sezione **Calcolatore**.
  {% endstep %}

{% step %}

### Calcolatore di Utilizzo Conversazioni

Questo strumento stima il consumo mensile di caratteri e suggerisce il piano più adatto.

Parametri da inserire:

* **Caratteri medi per messaggio**: inserisci il numero medio di caratteri di un messaggio (es. 150).
* **Messaggi dell’agente per conversazione**: quanti messaggi l’agente invia in media per conversazione (es. 10).
* **Conversazioni/lead al giorno**: quante conversazioni gestisci in media ogni giorno (es. 20).

Output calcolati automaticamente:

* **Utilizzo mensile stimato** (es. 900.000 characters).
* **Piano consigliato** (es. Pro).
* **Costo mensile** associato al piano (es. $297/mese per 900.000 characters).

Azione disponibile:

* **Scegli il piano consigliato** per avviare l’aggiornamento.
  {% endstep %}

{% step %}

### Calcolatore di Ricarica Chiamate Telefoniche

Questo strumento stima la spesa giornaliera e la proiezione mensile per le chiamate.

Parametri da inserire:

* **Minuti stimati per chiamata** (es. 10).
* **Tariffa per minuto** (mostrata automaticamente, es. €0,20/min).
* **Chiamate stimate al giorno** (es. 5).

Output calcolati automaticamente:

* **Costo stimato al giorno** (es. €10.00).
* Proiezione del costo mensile basata sulle impostazioni inserite.
  {% endstep %}

{% step %}

### Conversazione di Esempio

Per aiutarti a visualizzare i calcoli viene mostrata una simulazione di conversazione che riflette i parametri impostati (numero medio di messaggi e caratteri).

<details>

<summary>Apri esempio di conversazione</summary>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus gravida, urna vel fringilla congue, justo tortor tincidunt libero, eget aliquet fel

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus gravida, urna vel fringilla congue, justo tortor tincidunt libero, eget aliquet fel

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus gravida, urna vel fringilla congue, justo tortor tincidunt libero, eget aliquet fel

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus gravida, urna vel fringilla congue, justo tortor tincidunt libero, eget aliquet fel

</details>
{% endstep %}

{% step %}

### Interpretare i Risultati

* Usa i valori calcolati per confrontare i diversi piani disponibili.
* Verifica se il tuo utilizzo stimato rientra nel piano attuale o se conviene passare a un piano superiore.
* Considera sia le conversazioni scritte sia le chiamate telefoniche per ottenere una stima completa dei costi.
  {% endstep %}

{% step %}

### Azioni Finali

* Clicca su **Scegli il piano consigliato** per aggiornare il piano.
* Se non sei sicuro, varia i parametri (caratteri, conversazioni, minuti) per simulare scenari alternativi e valutare l’impatto sui costi.
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}
Tutorial rapido

* Titolo: Come utilizzare il Calcolatore nelle Impostazioni
* Descrizione: Guida passo-passo per stimare il consumo mensile e scegliere il piano più adatto tramite il calcolatore nella sezione Impostazioni.
* Durata stimata: 5 minuti
  {% endhint %}


# Come modificare i dati di fatturazione

{% embed url="<https://app.supademo.com/demo/cmg6psgkf06xl2nomenc1kimn?utm_source=link>" %}

{% stepper %}
{% step %}

### Accedi alla sezione Fatturazione

* Vai su **Impostazioni** nel menu laterale
* &#x20;clicca sul tab "**Fatturazione"**
  {% endstep %}

{% step %}

### Modifica delle informazioni di fatturazione

Scorri in basso a sinistra fino alla sezione **“Informazioni di Fatturazione”**. Qui puoi aggiornare i dati fiscali e anagrafici necessari per l’emissione delle fatture elettroniche.

{% hint style="warning" %}
**ATTENZIONE:** Le informazioni inserite in questa sezione sono fondamentali per la corretta emissione delle fatture. Compilale con attenzione.
{% endhint %}

**Dati disponibili da modificare**

* **Stato**
* **Tipo Cliente**
  * Se selezioni **Privato**, dovrai inserire solo il **Codice Fiscale**
  * Se selezioni **Azienda**, saranno richiesti altri campi (es. Partita IVA)
* **Nome** e **Cognome**
* **Email**
* **Codice Fiscale**
* **Indirizzo**
* **Provincia**
* **CAP**

**Come modificare**

* Clicca sul pulsante **“Modifica”**
* Aggiorna i dati nei campi desiderati
* Una volta completato, clicca su **“Salva”**
  {% endstep %}

{% step %}

### Informazioni disponibili nella pagina Fatturazione

La pagina mostra anche lo stato generale del tuo piano.

**Piano Attuale**

* Nome del piano (es. Basic)
* Stato (es. In prova, Attivo)
* Prezzo mensile

**Caratteristiche del piano**

* **Caratteri Disponibili**: il totale a disposizione nel mese
* **Caratteri Utilizzati**: quelli già consumati
* **Caratteri Rimanenti**: ancora disponibili

**Minuti vocali**

* **Minuti Disponibili**: ore e minuti rimanenti per conversazioni vocali
* **Prezzo per Minuto**: costo unitario
* **Saldo Attuale**: valore del credito disponibile
* Pulsante **“Acquista Crediti Aggiuntivi”** per ricaricare il saldo
  {% endstep %}

{% step %}

### Storico Fatture

Sulla destra trovi l’elenco delle fatture generate:

* **ID Fattura**
* **Data**
* **Importo**
* **Tipo** (es. Abbonamento)
* **Stato** (es. Pagato, Fallito)
* **Scarica**: clicca su “Visualizza” per aprire o scaricare la fattura

Puoi consultare tutte le fatture precedenti e verificare lo stato dei pagamenti.
{% endstep %}
{% endstepper %}

***

### Risorse utili

**Come cambiare piano:g**

{% content-ref url="/pages/4c386904ace0e136348f23212095edb8a0a489a2" %}
[Come cambiare piano](/impostazioni/come-cambiare-piano)
{% endcontent-ref %}

**Come annullare un piano:**

{% content-ref url="/pages/2bb925b10de8991d030314cd9b886bfd4103b99b" %}
[Come annullare un piano](/impostazioni/come-annullare-un-piano)
{% endcontent-ref %}


# Come annullare un piano

{% stepper %}
{% step %}

### Accedi alla sezione “Piani”

* Vai nella sezione **Impostazioni** dal menu laterale
* Clicca sul tab **Piani** in alto
  {% endstep %}

{% step %}

### Apri la gestione del piano

* Trova il tuo **piano attivo**
* Clicca su **“Modifica”** accanto al piano che desideri annullare
* Verrai reindirizzato al **portale cliente Stripe**
  {% endstep %}

{% step %}

### Annullare l’abbonamento da Stripe

Nel portale cliente Stripe:

* Troverai i dettagli del tuo abbonamento Bookli
* Clicca su **“Annulla abbonamento”** o **“Cancel plan”** (il testo può variare in base alla lingua)
* Stripe ti chiederà conferma: conferma l’annullamento
  {% endstep %}

{% step %}

### Cosa succede dopo l’annullamento

* Il piano **rimane attivo fino alla fine del periodo di fatturazione già pagato**
* Alla scadenza, **non ti verrà addebitato nulla** e il tuo workspace passerà a uno stato inattivo o gratuito (se previsto)
* Puoi sempre riattivare un piano successivamente
  {% endstep %}
  {% endstepper %}

***

### Risorse utili

**Come modificare i dati di fatturazione:**

{% content-ref url="/pages/74b9d6a58879a504c982d2c02daa49015e05aa9d" %}
[Come modificare i dati di fatturazione](/impostazioni/come-modificare-i-dati-di-fatturazione)
{% endcontent-ref %}

**Come cambiare piano:**

{% content-ref url="/pages/4c386904ace0e136348f23212095edb8a0a489a2" %}
[Come cambiare piano](/impostazioni/come-cambiare-piano)
{% endcontent-ref %}


# Come contattare a Freddo una vecchia lista clienti

{% embed url="<https://youtu.be/SpPXxcjiHDk>" %}

{% stepper %}
{% step %}

### Panoramica Strategica: Trasformare un Costo in un'Opportunità

Il video allegato non mostra semplicemente come fare delle chiamate automatiche, ma illustra come costruire un **ecosistema di business autonomo**. L'obiettivo è prendere un asset spesso trascurato e costoso da gestire – un vecchio database di contatti – e trasformarlo in una pipeline di vendita prevedibile e scalabile, con un intervento umano ridotto al minimo.

Questa guida scompone l'intero processo mostrato nel video, analizzando non solo i passaggi tecnici ("il come") ma anche la logica strategica che li sottende ("il perché").
{% endstep %}

{% step %}

### Componenti dell'Ecosistema Automatizzato

Il successo di questo flusso di lavoro si basa sull'integrazione sinergica di diversi strumenti, ognuno con un ruolo specifico:

* **L'Input (Lista CSV):** È la materia prima. Una lista di contatti "freddi" che necessita di essere validata, pulita e riattivata.
* **Il Cervello Operativo (Bookli):** È il motore dell'intero sistema. Un agente AI configurato non solo per dialogare, ma per prendere decisioni complesse in tempo reale basate sull'esito della conversazione.
* **Il Sistema Nervoso (Webhook/Zapier):** È il ponte di comunicazione. Permette a Bookli di inviare segnali e dati ad altre applicazioni (come il CRM), creando un flusso di lavoro interconnesso.
* **La Memoria Aziendale (CRM):** È il database centrale. Viene aggiornato automaticamente dall'agente AI, garantendo che ogni informazione raccolta si traduca in un dato azionabile per il team di vendita.
  {% endstep %}

{% step %}

### Video-Guida Completa

Il seguente video è il tutorial pratico di riferimento per ogni passaggio descritto in questa guida. Usalo per visualizzare la configurazione di ogni regola e l'interazione tra le diverse piattaforme.
{% endstep %}

{% step %}

### Configurazione Approfondita della Task: Il DNA dell'Agente AI

La vera magia avviene nella configurazione della Task. Ogni regola è un "gene" che definisce il comportamento dell'AI di fronte a uno specifico scenario. Analizziamoli nel dettaglio.
{% endstep %}
{% endstepper %}

### Fase 1: Preparazione e Importazione della Lista

* **Data Hygiene:** Prima dell'importazione, è buona norma assicurarsi che il file CSV sia formattato correttamente con colonne chiare (`nome`, `numero`, `email`).
* **De-duplicazione Automatica:** Come mostrato nel video, al momento del caricamento, Bookli rileva e gestisce i contatti duplicati (basandosi su numero o email). Questo primo passo di pulizia è fondamentale per evitare di contattare più volte la stessa persona e per mantenere un database sano.

### Fase 2: Costruzione della Logica Decisionale (Gli Strumenti/Rules)

Questi sono i pilastri decisionali dell'agente AI.

#### Strumento 1: Gestione dei Rifiuti e Compliance (Regola "Disattiva AI")

* **Trigger:** L'AI rileva parole chiave o un sentiment fortemente negativo (insulti, minacce, richiesta esplicita di rimozione, "non chiamatemi più").
* **Azione:**

{% stepper %}
{% step %}

### Termina Chiamata

La conversazione viene interrotta immediatamente e in modo professionale.
{% endstep %}

{% step %}

### Disattiva Contatto

Il lead viene flaggato come "da non contattare", prevenendo ogni futura chiamata da qualsiasi campagna.
{% endstep %}

{% step %}

### Notifica Interna (via Email)

Viene inviata una mail a un indirizzo interno (es. `privacy@azienda.it`) per registrare la richiesta di rimozione, garantendo la conformità con le normative (es. GDPR).
{% endstep %}
{% endstepper %}

* **Impatto Strategico:** Protegge il brand, automatizza la gestione della privacy e concentra le risorse solo sui contatti potenzialmente interessati.

#### Strumento 2: Identificazione e Inoltro di un Lead "Caldo" (Regola "Persona Interessata")

* **Trigger:** L'utente esprime interesse, fa domande approfondite sull'offerta o accetta di procedere.
* **Azione (Multi-canale):**

{% stepper %}
{% step %}

### Notifica al Commerciale (via Email)

Un'email formattata viene inviata istantaneamente al team di vendita, contenente un riassunto della conversazione e i dati del lead (`{{lead.full_name}}`, `{{lead.phone}}`).
{% endstep %}

{% step %}

### Aggiornamento del CRM (via Webhook)

Contemporaneamente, i dati del lead vengono inviati a un endpoint (Zapier o direttamente il CRM) che sposta il contatto nella pipeline di vendita allo stadio "Interessato".
{% endstep %}
{% endstepper %}

* **Impatto Strategico:** Annienta il ritardo tra l'espressione di interesse e il follow-up umano, massimizzando le probabilità di conversione.

#### Strumento 3: Lead Nurturing Automatico (Regola "Invia Presentazione")

* **Trigger:** L'utente è incerto, dice "non ora" o "mandatemi del materiale", ma non rifiuta completamente il contatto.
* **Azione:** L'AI invia un'email personalizzata all'indirizzo `{{lead.email}}` con un link a una risorsa (PDF, video, case study).
* **Impatto Strategico:** Converte un "no" parziale in un'opportunità di nutrimento. Il lead viene inserito in un funnel informativo anziché essere perso.

#### Strumento 4: Fissare l'Appuntamento (Regola "Pianifica Appuntamento")

* **Trigger:** L'utente accetta esplicitamente la proposta di una call o di una demo.
* **Azione:**

{% stepper %}
{% step %}

### Accesso al Calendario

L'AI interroga in tempo reale la disponibilità del calendario del consulente.
{% endstep %}

{% step %}

### Proposta Slot

Offre all'utente le date e gli orari disponibili.
{% endstep %}

{% step %}

### Conferma e Creazione Evento

Una volta concordato lo slot, crea l'evento nel calendario e invia gli inviti.
{% endstep %}
{% endstepper %}

* **Impatto Strategico:** Finalizza la conversione all'interno della chiamata stessa, eliminando ogni passaggio manuale e rischio di abbandono.

#### Strumento 5: Gestione dei Follow-up (Regola "Richiama")

* **Trigger:** La chiamata iniziale non ottiene risposta.
* **Azione:** Il sistema ripianifica la chiamata secondo uno schema predefinito (es. 3 tentativi totali, a distanza di 24 ore l'uno dall'altro). L'AI viene istruita per contestualizzare la chiamata successiva (es. "La sto richiamando perché...").
* **Impatto Strategico:** Automatizza la persistenza, una delle attività più onerose e meno gratificanti per un team umano.

### Fase 3: Istruzioni e Contesto per l'Agente AI

Questa è la "scheda di missione" dell'AI. Un prompt ben scritto è essenziale.

> **Obiettivo Primario:**\
> Il tuo obiettivo è riattivare l'interesse di vecchi contatti. Devi presentare la nostra offerta speciale (sconto del 50%) e convincerli a fissare un appuntamento gratuito con un nostro consulente.
>
> **Contesto della Lista:**\
> Questi contatti potrebbero non ricordarsi di noi. Sii paziente e informativo. Inizia sempre rinfrescando la loro memoria su chi siamo e perché li stiamo contattando.
>
> **Gestione delle Obiezioni:**
>
> * Se dicono **"Non mi interessa"**, gestisci l'obiezione offrendo l'invio di una presentazione via email per non perdere il contatto.
> * Se dicono **"Non ho tempo"**, proponi di fissare un appuntamento in un momento più comodo per loro.
>
> **Tono di Voce:**\
> Professionale, ma amichevole e non robotico.

***

## Consigli Operativi e Best Practice

* **Testare con un Segmento Ristretto:** Prima di lanciare la campagna sull'intera lista, caricate un piccolo campione (20-30 contatti) per testare tutte le regole e affinare i prompt.
* **Iterare sul Prompt:** Analizzate le prime trascrizioni dalla dashboard di Bookli. Se l'AI non si comporta come previsto, modificate le istruzioni per essere più specifiche. Il prompt è un documento vivo.
* **Monitorare le Performance:** Utilizzate le statistiche della campagna (tasso di completamento, tasso di risposta, numero di appuntamenti fissati) per misurare il ROI e ottimizzare le campagne future.
* **Segmentare le Liste:** Per risultati ancora migliori, segmentate la lista principale in base a criteri noti (es. ex clienti, lead da un settore specifico) e create una Task leggermente diversa per ogni segmento, con un'offerta e un contesto più mirati.

Seguendo questa guida e utilizzando il video come riferimento tecnico, sarete in grado di costruire un potente motore di crescita per la vostra azienda, sfruttando al massimo il potenziale nascosto nei vostri dati.


# Qualificare Subito i Lead da Campagne Pubblicitarie

## Scenario di Business

Nel marketing B2B, uno degli obiettivi principali è generare **Marketing Qualified Leads (MQLs)**, ovvero contatti che hanno mostrato interesse per i contenuti dell'azienda. Un metodo comune è offrire risorse di valore (whitepaper, guide, case study, webinar) in cambio dei dati di contatto tramite un form.

Il problema critico è il **tempo di reazione**:

{% stepper %}
{% step %}

### Quando il tempo è cruciale

* Un lead scarica una risorsa, mostrando un interesse specifico in quel preciso momento.
* Più tempo passa, più il lead si "raffredda" e perde il contesto.
* Un follow-up manuale da parte di un team di vendita (SDR) può avvenire ore o giorni dopo, riducendo drasticamente le chance di conversione.
  {% endstep %}
  {% endstepper %}

Questo caso d'uso risolve il problema utilizzando Bookly per **chiamare il lead entro pochi secondi dalla compilazione del form**, avviando una conversazione già informata e pertinente.

## Video Dimostrativo

Il video seguente mostra la configurazione tecnica esatta per implementare questo caso d'uso. Anche se l'esempio nel video riguarda una richiesta di riparazione, la logica di mappatura dei campi da un form a una chiamata AI è identica.

{% embed url="<https://www.youtube.com/watch?v=RMJGEQKj1ng>" %}

***

## Architettura della Soluzione

Il flusso di lavoro trasforma un MQL (Marketing Qualified Lead) in un SQL (Sales Qualified Lead) o in un appuntamento fissato, in modo completamente automatico.

{% stepper %}
{% step %}

### Azione del Lead

Un potenziale cliente visita una landing page e compila un form per scaricare un whitepaper intitolato "Come Ottimizzare i Processi Logistici nel 2026".
{% endstep %}

{% step %}

### Raccolta Dati

Il form, oltre ai dati anagrafici (nome, email, telefono), chiede informazioni strategiche come "Dimensione Aziendale" e "La tua più grande sfida logistica attuale".
{% endstep %}

{% step %}

### Trigger Automatico

La compilazione del form invia i dati tramite un webhook (configurato con Zapier, Make.com o un'integrazione nativa) a Bookly.
{% endstep %}

{% step %}

### Chiamata AI Contestualizzata

Bookly avvia una chiamata immediata. L'agente AI non parte da zero, ma sa esattamente chi sta chiamando, quale risorsa ha scaricato e qual è la sua sfida dichiarata.
{% endstep %}

{% step %}

### Obiettivo della Chiamata

L'AI qualifica ulteriormente il lead e, se i criteri sono soddisfatti, fissa una demo o una call conoscitiva con un sales account umano, inserendola direttamente nel suo calendario.
{% endstep %}
{% endstepper %}

***

## Guida alla Configurazione

{% stepper %}
{% step %}

### Fase 1: Creazione del Form di "Gated Content"

Crea un form sul tuo sito o sulla tua piattaforma di marketing (es. HubSpot, WordPress, Google Forms) con i seguenti campi:

* `Nome Completo` (es. Mario Rossi)
* `Numero di Telefono` (es. 3331234567)
* `Email Aziendale` (es. <m.rossi@azienda.it>)
* `Dimensione Aziendale` (Campo a scelta, es. 1-10, 11-50, 50+)
* `Sfida Principale` (Campo a scelta, es. "Costi di spedizione", "Gestione del magazzino", "Tracciabilità")
  {% endstep %}

{% step %}

### Fase 2: Configurazione del Trigger (via Zapier)

Come mostrato nel video, crea uno Zap che:

* Trigger: Si attiva alla "New Form Submission" del tuo form.
* Action: Invia i dati tramite un "Webhook" a Bookly.

Nel mappare i dati, assicurati di inviare non solo i campi standard (`full_name`, `phone`, `email`) ma anche i campi personalizzati con una nomenclatura chiara. Come da video, la struttura sarà:

* `extra_fields.company_size` → Mappato al campo "Dimensione Aziendale".
* `extra_fields.main_challenge` → Mappato al campo "Sfida Principale".
* `extra_fields.asset_downloaded` → Puoi anche aggiungere un campo statico per sapere sempre quale risorsa ha generato la chiamata (es. "Whitepaper Logistica 2026").
  {% endstep %}

{% step %}

### Fase 3: Creazione della Task in Bookly

Questa è la fase cruciale dove il contesto prende vita.

* Trigger: Imposta la Task per attivarsi alla ricezione del Webhook da Zapier.
* Messaggio di Apertura: Configura un'apertura pertinente e non generica.

> "Sì pronto? La chiamo da \[Nome Tua Azienda] in riferimento alla guida sull'ottimizzazione logistica che ha appena scaricato. Disturbo?"

#### Origine del Lead e Contesto (la parte più importante)

Qui istruisci l'AI con i dati dinamici ricevuti:

```
Stai chiamando un lead di nome {{lead.full_name}}.
Lavora in un'azienda con {{extra_fields.company_size}} dipendenti.
Ha appena scaricato la nostra risorsa chiamata "{{extra_fields.asset_downloaded}}".

INFORMAZIONE CRITICA:
La sua sfida principale dichiarata è "{{extra_fields.main_challenge}}". Usa questa informazione per rendere la conversazione rilevante.
```

#### Obiettivo della Conversazione

Definisci un obiettivo chiaro per l'AI:

```
1. Ringrazia il lead per l'interesse mostrato.
2. Conferma che la sua sfida ("{{extra_fields.main_challenge}}") è esattamente uno dei problemi che la nostra soluzione risolve.
3. Chiedi se è la persona giusta in azienda per affrontare questo tipo di decisioni.
4. Se qualificato, proponi una breve demo di 15 minuti con un nostro specialista per mostrargli come possiamo aiutarlo concretamente.
5. Se accetta, procedi a fissare l'appuntamento.
```

{% endstep %}
{% endstepper %}

***

{% hint style="info" %}
Assicurati che i campi inviati via webhook mantengano nomi chiari e consistenti (`extra_fields.*`) in modo che Bookly possa popolare correttamente il contesto della chiamata.
{% endhint %}

***

## Benefici Chiave di Questo Approccio

* **Speed to Lead Imbattibile:** Il lead viene contattato nel momento di massimo interesse, aumentando i tassi di risposta e di conversione del 50% o più.
* **Conversazioni Altamente Rilevanti:** L'AI dimostra di conoscere il contesto del lead, trasformando una chiamata "a freddo" in una conversazione "tiepida" e pertinente.
* **Efficienza del Team di Vendita:** I venditori non perdono più tempo a inseguire lead che non rispondono. Il loro calendario si riempie solo di appuntamenti con contatti già pre-qualificati e interessati.
* **Scalabilità Totale:** Il sistema può gestire un numero illimitato di lead in entrata senza ritardi, 24 ore su 24, 7 giorni su 7.


# Integrazione di Bookli AI con un Centralino IVR

## Introduzione

Questo documento descrive una potente architettura per l'automazione del servizio clienti telefonico, basata sull'integrazione tra un centralino tradizionale (IVR) e gli agenti conversazionali di Bookly.

L'obiettivo è utilizzare l'IVR per il suo scopo primario – lo smistamento iniziale delle chiamate – per poi delegare la gestione completa della conversazione a un agente AI specializzato. Questo approccio unisce la rigidità strutturata di un IVR con la flessibilità dinamica dell'intelligenza artificiale, ottimizzando l'efficienza e migliorando l'esperienza dell'utente finale.

## Video Dimostrativo di Riferimento

Il video seguente illustra in modo pratico tutti i passaggi e i concetti descritti in questo documento. Si consiglia di visionarlo per avere un riscontro visivo della configurazione e del risultato finale.

{% embed url="<https://youtu.be/5b9HLuds5XY>" %}

***

## Architettura della Soluzione

Il flusso operativo si basa su una chiara separazione dei compiti tra i due sistemi, che comunicano tramite il protocollo SIP.

* Centralino (IVR): Agisce come primo punto di contatto. Il suo unico compito è riprodurre un messaggio audio e instradare la chiamata verso un interno SIP specifico in base alla selezione numerica dell'utente (es. "Premi 1 per l'Assistenza", "Premi 2 per il Commerciale").
* Bookly (Agenti AI): Ad ogni interno SIP corrisponde una Task di Bookly, ovvero un agente AI addestrato per uno scopo preciso. L'agente AI gestisce l'intera conversazione, esegue azioni e, se necessario, trasferisce la chiamata.
* Operatore Umano: Rappresenta l'ultimo livello per le escalation. Dispone di un proprio interno SIP a cui gli agenti AI possono inoltrare le chiamate che non sono in grado di gestire o per cui l'utente richiede esplicitamente un intervento umano.

***

## Guida alla Configurazione

Questa sezione descrive i passaggi necessari per replicare l'architettura mostrata nel video.

### Prerequisiti

* Un account Bookly attivo.
* Un sistema di centralino (PBX) o un servizio VoIP che supporti la configurazione di interni SIP e regole di instradamento (IVR).
* Le credenziali SIP del proprio provider telefonico.

{% stepper %}
{% step %}

### Fase 1: Configurazione degli Interni sul Centralino

Il primo passo avviene all'esterno di Bookly, sul pannello di gestione del proprio centralino. È necessario definire gli interni SIP che verranno utilizzati:

* Interno per l'Assistenza AI: Es. `21`
* Interno per il Commerciale AI: Es. `22`
* Interno per l'Operatore Umano: Es. `23`

Successivamente, configurare l'IVR in modo che:

* La pressione del tasto `1` inoltri la chiamata all'interno `21`.
* La pressione del tasto `2` inoltri la chiamata all'interno `22`.
  {% endstep %}

{% step %}

### Fase 2: Collegamento SIP a Bookly

All'interno della piattaforma Bookly:

* Navigare in **Integrazioni > SIP**.
* Inserire le credenziali del proprio carrier per stabilire la connessione tra il centralino e Bookly.
  {% endstep %}

{% step %}

### Fase 3: Creazione e Assegnazione degli Agenti AI (Tasks)

Per ogni funzione aziendale, creare una Task dedicata.

{% stepper %}
{% step %}

#### Agente: Assistenza Clienti (Task associata all'interno 21)

* Creare una nuova Task, nominandola ad esempio "IVR - Assistenza Tecnica".
* Impostare il **Trigger** su **Inbound SIP Call**.
* Nel campo `SIP Destination`, selezionare l'interno corrispondente (`21`).
* In **Conversation Settings**, definire il messaggio di apertura, ad esempio: `"Pronto, sono Maria, il suo assistente virtuale per il supporto tecnico. Come posso aiutarla?"`.
* Popolare la Task con le **Istruzioni** e gli **Strumenti (Rules)** pertinenti all'assistenza (es. consultazione di documentazione, creazione di ticket).
  {% endstep %}

{% step %}

#### Agente: Ufficio Commerciale (Task associata all'interno 22)

* Creare una seconda Task, nominandola "IVR - Informazioni Commerciali".
* Impostare il **Trigger** su **Inbound SIP Call** e selezionare l'interno `22`.
* Definire un messaggio di apertura specifico, ad esempio: `"Pronto, sono Luca. Mi dica come posso aiutarla con le sue richieste commerciali."`.
* Aggiungere istruzioni e strumenti orientati alla vendita (es. fornire listini, fissare appuntamenti).
  {% endstep %}
  {% endstepper %}
  {% endstep %}

{% step %}

### Fase 4: Configurazione delle Regole di Trasferimento

Il comportamento dinamico del sistema è gestito tramite gli **Strumenti (Rules)**. È fondamentale definire le capacità di trasferimento per ogni agente.

#### Esempio: Regola di Escalation a Operatore Umano

Questa regola va aggiunta a **entrambe** le Task (Assistenza e Commerciale).

* Nome Regola: `Trasferimento a Operatore`
* Descrizione per l'AI: `Usa questo strumento quando l'utente richiede di parlare con una persona, un operatore o un responsabile. Usalo anche se la richiesta è troppo complessa per te.`
* Tipo di Azione: `Transfer Call`
* Destinazione: Specificare l'interno SIP dell'operatore umano (`23`).

#### Esempio: Regola di Trasferimento tra Agenti AI

Questa regola va aggiunta alla Task "IVR - Assistenza Tecnica" per permetterle di passare le chiamate al commerciale.

* Nome Regola: `Trasferimento al Commerciale`
* Descrizione per l'AI: `Usa questo strumento se l'utente, durante una richiesta di assistenza, esprime interesse nell'acquistare un nuovo servizio, chiede informazioni sui prezzi o vuole fissare una demo.`
* Tipo di Azione: `Transfer Call`
* Destinazione: Specificare l'interno SIP dell'agente AI commerciale (`22`).
  {% endstep %}
  {% endstepper %}

***

## Benefici Chiave della Soluzione

* Ottimizzazione delle Risorse: Gli operatori umani vengono coinvolti solo per questioni complesse o a valore aggiunto, eliminando il carico di lavoro derivante da richieste ripetitive.
* Servizio Continuo: Gli agenti AI garantiscono una disponibilità 24/7 per la gestione delle richieste di primo livello.
* Specializzazione: Ogni agente AI è addestrato su un dominio specifico, garantendo risposte più accurate e una configurazione più semplice e manutenibile rispetto a un unico agente "tuttofare".
* Esperienza Utente Coerente: L'utente non percepisce interruzioni nette. Il passaggio tra IVR, AI e operatore umano è gestito come un trasferimento di chiamata standard, rendendo il flusso naturale.


# Asterisk x Bookli

Questo manuale descrive i passaggi necessari per collegare un centralino Asterisk a Bookli, creando un interno SIP dedicato.

## 1. Prerequisiti

* Un centralino Asterisk attivo e funzionante.
* Accesso ai file di configurazione `sip.conf` e `extensions.conf` (o accesso all'interfaccia grafica come FreePBX/Issabel).
* La possibilità di creare un interno SIP dedicato a Bookli.
* Accesso al pannello di configurazione di Bookli per inserire le credenziali SIP.

## 2. Creazione dell’interno su Asterisk

Aprire il file `sip.conf` e aggiungere un nuovo interno. In questo esempio useremo l'interno **200**.

```ini
type=friend
username=200
secret=demo200          ; password che decidi tu
host=dynamic
context=from-internal
disallow=all
allow=ulaw
nat=yes
```

{% hint style="info" %}
Dettagli dei parametri:

* username → numero interno (es. 200)
* secret → password (es. demo200)
* context → il contesto del dialplan che gestirà le chiamate provenienti da Bookli.
  {% endhint %}

## 3. Configurazione Dialplan (`extensions.conf`)

Esempio base per gestire le chiamate in entrata e in uscita.

```ini
[from-internal]
exten => _X.,1,NoOp(Chiamata uscente da Bookli)
 same => n,Dial(SIP/${EXTEN},30)
 same => n,Hangup()

[from-external]
exten => 200,1,NoOp(Chiamata entrante verso Bookli)
 same => n,Dial(SIP/200,30)
 same => n,Hangup()
```

* Le chiamate **in ingresso** dirette all'interno `200` arriveranno a Bookli.
* Le chiamate **generate da Bookli** verranno gestite dal contesto `from-internal`.

## 4. Configurazione lato Bookli

Accedi al tuo pannello Bookli e vai su **Impostazioni → Carrier SIP → Nuovo Carrier SIP**. Compila i campi con i dati dell'interno appena creato.

* **Nome Carrier:** Asterisk Interno 200
* **Richiede Registrazione:** ✅ Selezionato
* **Username Registrazione:** `200`
* **Password Registrazione:** `demo200`
* **SIP Realm:** IP o dominio del tuo server Asterisk (es. `pbx.miodominio.com`)
* **From User:** `200`
* **Numero di Telefono:** `200`

#### Gateway

* **Indirizzo IP:** IP pubblico del server Asterisk (es. `203.0.113.10`)
* **Porta:** `5060`
* **Netmask:** `32`
* **Chiamate in entrata:** ✅ Selezionato
* **Chiamate in uscita:** ✅ Selezionato

## 5. Test

{% stepper %}
{% step %}

### Ricarica la configurazione SIP

Esegui dalla console di Asterisk:

{% code title="Comando" %}

```bash
asterisk -rx "sip reload"
```

{% endcode %}
{% endstep %}

{% step %}

### Controlla lo stato del peer

Esegui:

{% code title="Comando" %}

```bash
asterisk -rx "sip show peers"
```

{% endcode %}

L'interno `200` deve risultare con stato **OK**, a significare che Bookli si è registrato correttamente.
{% endstep %}

{% step %}

### Esegui le chiamate di prova

* Fai una chiamata da Bookli verso un altro interno del centralino: l'interno dovrebbe squillare.
* Fai una chiamata da un altro interno verso il `200`: Bookli dovrebbe rispondere.
  {% endstep %}
  {% endstepper %}

## 6. Troubleshooting

<details>

<summary><strong>Status UNREACHABLE/UNKNOWN</strong></summary>

Bookli non riesce a registrarsi. Controlla che l'IP del server Asterisk sia corretto e che non ci siano firewall a bloccare la comunicazione sulla porta 5060/UDP.

</details>

<details>

<summary><strong>Errore 403 Forbidden</strong></summary>

Username o password errati. Verifica le credenziali inserite su Bookli e nel file `sip.conf`.

</details>

<details>

<summary><strong>Assenza di Audio (No Audio)</strong></summary>

Problema legato al NAT. Assicurati che le porte RTP (solitamente UDP 10000–20000) siano aperte e correttamente forwardate sul firewall.

</details>

<details>

<summary><strong>Le chiamate cadono immediatamente</strong></summary>

Il `context` specificato per l'interno in `sip.conf` potrebbe essere errato o non esistere nel `extensions.conf`. Controlla la configurazione del dialplan.

</details>


# 3CX x Bookli

## Obiettivo

Creare un interno in 3CX e configurare Bookli affinché si registri su quell'interno, agendo come un telefono IP o softphone. Questo permetterà a Bookli di ricevere ed effettuare chiamate tramite il centralino 3CX.

***

### 1. Prerequisiti

* Un'installazione di 3CX attiva e accessibile tramite la Management Console.
* Il dominio o l'IP pubblico del server 3CX (es. `pbx.tuodominio.com`) e la porta SIP (di default `5060/UDP`).
* Accesso al firewall per aprire le seguenti porte:
  * **SIP**: `5060/UDP` (o `5061/TLS` se si utilizza la crittografia TLS).
  * **RTP**: Il range predefinito di 3CX (es. `9000–10999/UDP`).
* Le credenziali dell'interno che verrà creato (ID e Password).
* Gli indirizzi IP di uscita di Bookli, da inserire nella whitelist del firewall (disponibili nella dashboard di Bookli).

{% hint style="warning" %}
Nota: Non utilizzare i dati di esempio presenti in questa guida. Sostituiscili sempre con i valori reali del tuo ambiente.
{% endhint %}

***

### 2. Creazione dell'Interno in 3CX

{% stepper %}
{% step %}

### Accedi alla Management Console

Accedi alla **Management Console** di 3CX.
{% endstep %}

{% step %}

### Aggiungi una nuova interno

Vai su **Extensions → Add**.
{% endstep %}

{% step %}

### Compila i campi principali

* **Extension Number**: `300` (esempio).
* **First/Last Name**: `Bookli`.
* **Authentication ID**: `300` (o un ID diverso, se preferisci).
* **Authentication Password**: Imposta una password sicura (es. `p4ssBookli!`).
  {% endstep %}

{% step %}

### Salva la configurazione

Salva l'interno appena creato.
{% endstep %}
{% endstepper %}

#### Impostazioni Consigliate per l'Interno

Apri l'interno appena creato (`300`) per verificare le seguenti opzioni:

* **Scheda "General" → "Options"**:
  * Disattiva “Disallow use of extension outside the LAN” per consentire la registrazione da remoto.
  * (Opzionale ma consigliato per NAT) Abilita “PBX Delivers Audio” per prevenire problemi di audio monodirezionale.

> Non è necessario "aggiungere un telefono" tramite MAC address. Bookli si registrerà come un client SIP standard utilizzando le credenziali dell'interno. Una volta registrato, lo stato in 3CX diventerà **Registered**.

***

### 3. Dati da Recuperare in 3CX per Bookli

Annota i seguenti valori (gli esempi sono fittizi):

* **SIP Server / Realm**: `pbx.tuodominio.com`
* **SIP Port**: `5060` (o `5061` se usi TLS)
* **Auth ID**: `300`
* **Auth Password**: `p4ssBookli!`
* **Extension Number (From User / Caller ID)**: `300`
* **RTP Range**: `9000–10999` (necessario per la configurazione del firewall)

***

### 4. Configurazione del "Carrier SIP" in Bookli

{% stepper %}
{% step %}

### Accedi a Bookli e crea un nuovo Carrier SIP

Accedi a Bookli e vai su **Impostazioni → Carrier SIP → Nuovo Carrier SIP**.
{% endstep %}

{% step %}

### Campi principali da compilare

* **Nome Carrier**: `3CX Interno 300`
* **Richiede Registrazione**: ✅ Selezionato
  {% endstep %}

{% step %}

### Registrazione SIP

* **Username Registrazione**: `300` *(corrisponde all'Authentication ID di 3CX)*
* **Password Registrazione**: `p4ssBookli!` *(corrisponde all'Authentication Password di 3CX)*
* **SIP Realm**: `pbx.tuodominio.com` *(dominio o IP pubblico del tuo 3CX)*
* **From User**: `300` *(corrisponde all'Extension Number)*
* **From Domain**: (lascia vuoto se non richiesto)
* **Usa TLS**: Attiva solo se usi TLS in 3CX (ricorda di usare la porta `5061`).
* **IP Pubblico nel Contact**: Abilita solo in scenari NAT complessi, se necessario.
  {% endstep %}

{% step %}

### Numero e Gateway

* **Numero di Telefono**: `300` *(l'interno su cui Bookli riceverà le chiamate)*

Gateway:

* **Indirizzo IP**: IP pubblico del server 3CX (es. `203.0.113.20`)
* **Porta**: `5060` (o `5061` se TLS)
* **Netmask**: `32`
* Spunta sia **Chiamate in entrata** che **Chiamate in uscita**.
  {% endstep %}

{% step %}

### Salva la configurazione

Salva il nuovo Carrier SIP in Bookli.
{% endstep %}
{% endstepper %}

***

### 5. Firewall e Rete (lato 3CX)

Assicurati di consentire il traffico IN/OUT tra il server 3CX e gli IP di Bookli:

* **SIP**: `5060/UDP` (o `5061/TLS`).
* **RTP**: `9000–10999/UDP` (o il range configurato nel tuo 3CX).

{% hint style="warning" %}
Importante: Se il tuo router/firewall ha una funzionalità **SIP ALG** (Application Layer Gateway), **disattivala**. Può corrompere i pacchetti SIP e causare problemi di audio o di registrazione. Se 3CX è in cloud, configura le regole del Security Group/Firewall per consentire il traffico dalle sorgenti IP di Bookli.
{% endhint %}

***

### 6. Test di Registrazione

* In 3CX: Vai su **Extensions** e controlla l'interno `300`. Lo stato (**Status**) dovrebbe essere verde e mostrare **Registered**.
* In Bookli: Nella lista dei Carrier SIP, lo stato del carrier appena creato dovrebbe risultare **Registrato**.

***

### 7. Test delle Chiamate

* Chiamata interna verso Bookli: Da un altro interno (es. `301`), chiama il `300`. Bookli dovrebbe ricevere la chiamata.
* Chiamata in uscita da Bookli: Da Bookli, effettua una chiamata verso un altro interno (es. `301`). Il telefono associato all'interno `301` dovrebbe squillare.

Per instradare le chiamate esterne (es. da un numero geografico) verso Bookli, utilizza le **Inbound Rules** di 3CX per reindirizzare il traffico all'interno `300` o a un Ring Group/Queue di cui l'interno `300` è membro.

***

### 8. Mappatura dei Campi (3CX → Bookli)

| In 3CX                    | In Bookli (Carrier SIP)          |
| ------------------------- | -------------------------------- |
| Extension Number (`300`)  | `Numero di Telefono` = 300       |
| Authentication ID (`300`) | `Username Registrazione` = 300   |
| Authentication Password   | `Password Registrazione`         |
| SIP Server/FQDN/IP        | `SIP Realm` = pbx.tuodominio.com |
| Extension Number (CLI)    | `From User` = 300                |
| IP Pubblico di 3CX        | `Gateway IP`                     |
| Porta SIP (`5060`/`5061`) | `Porta`                          |

***

### 9. Troubleshooting

<details>

<summary><strong>A. L'interno non risulta "Registered"</strong></summary>

* Verifica che Auth ID, Password e SIP Realm in Bookli siano corretti.
* Controlla che il firewall permetta il traffico dagli IP di Bookli verso la porta `5060/UDP` (o `5061/TLS`) del server 3CX.
* Assicurati che l'opzione **“Disallow use of extension outside the LAN”** sia disattivata nell'interno 3CX.
* Se usi TLS, verifica che sia attivo anche in Bookli e che il certificato su 3CX sia valido.

</details>

<details>

<summary><strong>B. Audio monodirezionale o assente</strong></summary>

* Abilita l'opzione **“PBX Delivers Audio”** nell'interno `300` su 3CX.
* Verifica che le porte RTP (`9000–10999/UDP`) siano aperte sul firewall in entrambe le direzioni.
* Disattiva il **SIP ALG** sul router.

</details>

<details>

<summary><strong>C. La chiamata cade dopo circa 30 secondi</strong></summary>

* Questo è un classico sintomo di problemi NAT/UDP. L'abilitazione di **“PBX Delivers Audio”** può risolvere.
* Verifica che i pacchetti di keep-alive/OPTIONS vengano scambiati correttamente.

</details>

<details>

<summary><strong>D. Errori `403 Forbidden` / `401 Unauthorized`</strong></summary>

* Le credenziali sono errate. Prova a rigenerare la password in 3CX e aggiornarla in Bookli.
* Controlla che gli IP di Bookli non siano stati inseriti nella blacklist automatica di 3CX.

</details>

<details>

<summary><strong>E. Qualità audio scarsa (RTT elevato)</strong></summary>

* Assicurati di usare i codec **G.711 (PCMA/PCMU)** e che ci sia banda sufficiente.
* Preferisci UDP a TCP per il trasporto SIP, se possibile, per ridurre la latenza.

</details>


