> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Google Calendar

## Panoramica

Collega i tuoi agenti IA di ElevenLabs a [Google Calendar](https://calendar.google.com) per gestire pianificazioni e appuntamenti del calendario. Questa integrazione consente ai tuoi agenti di verificare la disponibilità, creare eventi con partecipanti e videoconferenze Google Meet opzionali, elencare i prossimi eventi e individuare i calendari accessibili tramite conversazioni naturali.

## Funzionalità

| Funzionalità                  | Supporto                                              |
| ----------------------------- | ----------------------------------------------------- |
| Modalità zero retention (ZRM) | Non supportata                                        |
| Allegati negli strumenti      | Non supportati — gli strumenti operano solo sul testo |

## Configurazione

Questa integrazione utilizza **Google OAuth 2.0** per l'autenticazione. Autorizzi ElevenLabs ad accedere al tuo Google Calendar per tuo conto.

#### Fai clic su Connetti in ElevenLabs

Nella configurazione dell'integrazione ElevenLabs, fai clic su **Connetti**. Verrai reindirizzato a Google per autorizzare l'accesso.

#### Seleziona il tuo account Google

Scegli l'account Google i cui dati del calendario deve poter accedere il tuo agente. Se nel browser hai effettuato l'accesso a più account Google, seleziona quello corretto.

#### Autorizza l'accesso al calendario

Esamina le autorizzazioni richieste e fai clic su **Consenti**. L'integrazione richiede l'accesso per gestire gli eventi dei calendari di tua proprietà, visualizzare l'elenco dei calendari e controllare le informazioni sulla disponibilità.

## Ambiti OAuth

L'integrazione richiede i seguenti ambiti Google OAuth 2.0:

| Ambito                           | Scopo                                                                          |
| -------------------------------- | ------------------------------------------------------------------------------ |
| `calendar.events.owned`          | Crea, legge, aggiorna ed elimina eventi nei calendari di tua proprietà.        |
| `calendar.calendarlist.readonly` | Visualizza l'elenco dei calendari accessibili al tuo account (nomi e ID).      |
| `calendar.freebusy`              | Verifica la disponibilità nei calendari senza esporre i dettagli degli eventi. |

## Come funziona

L'agente pianifica le riunioni utilizzando chiamate agli strumenti per seguire la procedura di prenotazione. Le schede seguenti mostrano un riepilogo generale e un prompt di sistema dettagliato.

#### Panoramica generale

#### Individua i calendari

L'agente elenca i calendari accessibili per identificare quello corretto per la pianificazione. Per la maggior parte degli utenti, è il calendario principale.

#### Verifica la disponibilità

L'agente verifica la disponibilità:

* Utilizzando lo strumento `google_calendar_check_availability` per cercare gli intervalli di tempo occupati.
* Verificando se l'orario richiesto è libero.
* Suggerendo alternative se l'orario richiesto è in conflitto con un evento esistente.
* Confermando l'orario selezionato con il chiamante.

#### Raccogli i dati dei partecipanti

Una volta concordato un orario, l'agente:

* Raccoglie nome completo e indirizzo email del partecipante.
* Conferma l'email rileggendola al chiamante.
* Verifica le informazioni sul fuso orario.

#### Crea l'evento

L'agente:

* Chiama lo strumento `google_calendar_create_event` con i dettagli confermati.
* Aggiunge facoltativamente un link a Google Meet se viene richiesta una videoconferenza.
* Conferma la creazione dell'evento e informa il partecipante che riceverà un invito del calendario.

#### Prompt di sistema dettagliato

```
You are a helpful scheduling assistant responsible for managing calendar bookings using Google Calendar. Be friendly, precise, and concise.

Begin by briefly asking for the purpose of the meeting and the caller's preferred date and time.
Then, ask about the desired meeting duration (15, 30, or 60 minutes), and wait for the user's response before proceeding.

Once you have the meeting details, check calendar availability:
- Call google_calendar_check_availability with the appropriate time range and calendar ID (use 'primary' for the main calendar)
- The tool returns busy time blocks — any time not listed as busy is available
- If the requested time overlaps with a busy block, suggest alternative times
- Continue until a suitable time is agreed upon

After confirming a time slot, gather the following contact details:
- The attendee's full name
- A valid email address. Note that the email address is transcribed from voice, so ensure it is formatted correctly.
- The attendee's time zone (in 'Continent/City' format like 'America/New_York')
- Read the email back to the caller to confirm accuracy

Once all details are confirmed, create the event:
- Call google_calendar_create_event with calendarId set to 'primary'
- Set summary to a descriptive meeting title
- Set start and end times in RFC 3339 format with the attendee's time zone
- Add the attendee's email to the attendees array
- If the caller requests a video call, include conferenceData with conferenceSolutionKey type 'hangoutsMeet' and set the conferenceDataVersion query parameter to 1
- Set sendUpdates to 'all' so attendees receive calendar invitations

Thank the attendee and inform them they will receive a calendar invitation shortly.

Clarifications:
- Do not inform the user that you are formatting the email; do it silently.
- If the caller asks you to proceed with booking, do so with the existing information.
- Use google_calendar_list_calendars if the caller asks to schedule on a specific calendar other than their primary one.
- Use google_calendar_list_events if the caller asks what meetings they have coming up.

Guardrails:
- Do not share any internal IDs or API details with the caller.
- If event creation fails, check for formatting issues in the email or time conflicts.
```

## Strumenti dell'agente

Quando aggiungi gli strumenti di Google Calendar a un agente, sono disponibili i seguenti strumenti integrati:

| Strumento                            | Descrizione                                                                                                                                                                                                           |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `google_calendar_check_availability` | Verifica la disponibilità in uno o più calendari entro un intervallo di tempo. Restituisce gli intervalli occupati affinché l'agente possa trovare fasce libere. Usalo prima di creare eventi per evitare conflitti.  |
| `google_calendar_create_event`       | Crea un nuovo evento in Google Calendar con partecipanti, luogo e videoconferenza Google Meet facoltativi. Invia notifiche via email a tutti i partecipanti.                                                          |
| `google_calendar_list_events`        | Elenca i prossimi eventi di un calendario entro un intervallo di tempo, ordinati per ora di inizio. Supporta la ricerca testuale libera tra riepiloghi, descrizioni, luoghi e dettagli dei partecipanti degli eventi. |
| `google_calendar_list_calendars`     | Elenca tutti i calendari accessibili all'account Google connesso. Restituisce nomi e ID dei calendari. Usalo per individuare il calendario di destinazione prima di verificare la disponibilità o creare eventi.      |

## Link utili

* [Documentazione dell'API Google Calendar](https://developers.google.com/calendar/api/v3/reference)
* [Ambiti Google OAuth 2.0 per Calendar](https://developers.google.com/identity/protocols/oauth2/scopes#calendar)
* [Guida rapida all'API Google Calendar](https://developers.google.com/calendar/api/quickstart/python)
* [Panoramica degli strumenti di ElevenLabs](/docs/it/eleven-agents/customization/tools/server-tools)