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

# Google Workspace

> Підключіть Gmail, Google Docs, Sheets, Drive, Calendar та Meet

## Огляд

Шість сервісів Google доступні через спільний OAuth-потік. Підключіться один раз зі своїм Google-акаунтом — і ваші AI-агенти отримають доступ до пошти, документів, таблиць, файлів, календаря та відеозустрічей.

## Підтримувані сервіси

| Сервіс              | Інструменти | Опис                                                                 |
| ------------------- | ----------- | -------------------------------------------------------------------- |
| **Gmail**           | 6           | Надсилання листів, читання, пошук, відповіді, чернетки, вкладення    |
| **Google Docs**     | 5           | Створення, читання, доповнення, пошук та експорт документів          |
| **Google Sheets**   | 7           | Читання/запис діапазонів, додавання рядків, пошук, створення таблиць |
| **Google Drive**    | 8           | Список, пошук, завантаження, поширення файлів та папок               |
| **Google Calendar** | 6           | Створення подій, перевірка доступності, пошук вільних слотів         |
| **Google Meet**     | 1           | Створення посилань на відеозустрічі                                  |

## Автентифікація

Усі інтеграції Google Workspace використовують **OAuth 2.0** з офлайн-доступом:

<Steps>
  <Step title="Додайте інтеграцію">
    Перейдіть в **Інтеграції** → **Додати інтеграцію** → оберіть будь-який сервіс Google (напр., Gmail).
  </Step>

  <Step title="OAuth-згода">
    Натисніть "Connect with Google". Ви будете перенаправлені на екран згоди Google, де авторизуєте доступ до конкретного сервісу.
  </Step>

  <Step title="Збереження токенів">
    Revol отримує access token та refresh token. Обидва зашифровані та зберігаються в базі даних. Refresh token забезпечує довготривалий доступ — Revol автоматично оновлює прострочені access token.
  </Step>

  <Step title="Створення інструментів">
    Після успішного OAuth інструменти агента створюються автоматично відповідно до типу інтеграції.
  </Step>
</Steps>

### OAuth Scopes

Кожен сервіс запитує лише потрібні дозволи:

| Сервіс          | Scope                                                      |
| --------------- | ---------------------------------------------------------- |
| Gmail           | `gmail.modify`                                             |
| Google Docs     | `documents`, `drive.file`                                  |
| Google Sheets   | `spreadsheets`, `drive.file`                               |
| Google Drive    | `drive`                                                    |
| Google Calendar | `calendar`                                                 |
| Google Meet     | `calendar` (Meet-посилання створюються через Calendar API) |

## Інструменти агента

<Tabs>
  <Tab title="Gmail">
    | Інструмент        | Опис                                                               |
    | ----------------- | ------------------------------------------------------------------ |
    | `send_email`      | Створити та надіслати лист з темою, тілом, опціональними CC/BCC    |
    | `read_inbox`      | Отримати останні листи зі скриньки                                 |
    | `search_emails`   | Пошук листів за синтаксисом Gmail (від, тема, дата, ключові слова) |
    | `reply_to_email`  | Відповісти на конкретний тред листів                               |
    | `create_draft`    | Створити чернетку без надсилання                                   |
    | `get_attachments` | Завантажити або переглянути вкладення листа                        |
  </Tab>

  <Tab title="Google Docs">
    | Інструмент           | Опис                                           |
    | -------------------- | ---------------------------------------------- |
    | `create_document`    | Створити новий Google Doc                      |
    | `read_document`      | Прочитати вміст документа за ID                |
    | `append_to_document` | Додати текст у кінець документа                |
    | `search_documents`   | Знайти документи за назвою або вмістом у Drive |
    | `export_document`    | Експортувати документ у PDF, DOCX або текст    |
  </Tab>

  <Tab title="Google Sheets">
    | Інструмент           | Опис                                                 |
    | -------------------- | ---------------------------------------------------- |
    | `read_range`         | Прочитати дані з діапазону комірок (напр., A1:D10)   |
    | `write_range`        | Записати дані у діапазон комірок                     |
    | `append_rows`        | Додати рядки в кінець таблиці                        |
    | `search_rows`        | Знайти рядки за значенням стовпця                    |
    | `create_spreadsheet` | Створити нову таблицю                                |
    | `get_info`           | Отримати метадані таблиці (аркуші, кількість рядків) |
    | `update_cells`       | Оновити конкретні комірки                            |
  </Tab>

  <Tab title="Google Drive">
    | Інструмент      | Опис                                          |
    | --------------- | --------------------------------------------- |
    | `list_files`    | Список файлів у папці                         |
    | `search_files`  | Пошук файлів за ім'ям, типом або вмістом      |
    | `read_file`     | Завантажити або прочитати вміст файлу         |
    | `create_file`   | Завантажити новий файл                        |
    | `update_file`   | Оновити вміст або метадані файлу              |
    | `delete_file`   | Перемістити файл у кошик                      |
    | `create_folder` | Створити нову папку                           |
    | `share_file`    | Поділитися файлом з конкретними користувачами |
  </Tab>

  <Tab title="Calendar і Meet">
    **Google Calendar:**

    | Інструмент           | Опис                                         |
    | -------------------- | -------------------------------------------- |
    | `create_event`       | Створити подію з учасниками та нагадуваннями |
    | `list_events`        | Список подій у діапазоні дат                 |
    | `update_event`       | Оновити деталі існуючої події                |
    | `delete_event`       | Скасувати/видалити подію                     |
    | `check_availability` | Перевірити, чи часовий слот вільний          |
    | `find_free_slots`    | Знайти вільні слоти у діапазоні дат          |

    **Google Meet:**

    | Інструмент       | Опис                                                                   |
    | ---------------- | ---------------------------------------------------------------------- |
    | `create_meeting` | Створити Google Meet посилання (через подію Calendar з conferenceData) |
  </Tab>
</Tabs>

## Використання інструментів у workflow-нодах

Інструменти Google Workspace особливо потужні у workflow-нодах, де агент може комбінувати кілька інструментів в одній розмові:

1. Підключіть сервіс Google та верифікуйте через OAuth
2. Інструменти з'являться у вкладці **Tools** агента
3. Додайте їх до **custom node** у workflow-редакторі
4. LLM викликає їх автоматично, коли це доречно

**Приклад workflow:** Клієнт просить запланувати демо →

* Агент викликає `check_availability` для пошуку вільних слотів
* Клієнт обирає час → агент викликає `create_event` для бронювання
* Агент викликає `create_meeting` для генерації Google Meet посилання
* Агент викликає `send_email` для надсилання підтвердження з посиланням

## Приклади використання

<AccordionGroup>
  <Accordion title="Автоматичні follow-up листи">
    Агент кваліфікує ліда через чат → використовує `send_email` для надсилання follow-up з цінами → логує взаємодію в Google Sheets через `append_rows`.
  </Accordion>

  <Accordion title="Запис на зустріч">
    Клієнт хоче запланувати зустріч → агент використовує `check_availability` для пошуку вільних слотів → `create_event` для бронювання → `create_meeting` для генерації Meet-посилання → надсилає підтвердження через чат або email.
  </Accordion>

  <Accordion title="Генерація документів">
    Агент збирає інформацію від клієнта → використовує `create_document` для створення пропозиції або звіту → `share_file` для надання доступу клієнту.
  </Accordion>

  <Accordion title="CRM-подібне відстеження лідів">
    Кожна розмова з лідом → агент використовує `append_rows` для додавання даних ліда в Google Sheet → `send_email` для сповіщення відділу продажів.
  </Accordion>
</AccordionGroup>

## Оновлення токенів

Access token Google діє 1 годину. Revol обробляє це автоматично:

1. Перед кожним API-викликом Revol перевіряє, чи токен спливає протягом 5 хвилин
2. Якщо прострочений — використовує збережений refresh token для отримання нового access token
3. Новий токен зашифровується та зберігається в базі даних
4. API-виклик виконується зі свіжим токеном

Якщо refresh token стає недійсним (користувач відкликав доступ), інтеграція позначається як **відключена** і потребує повторної авторизації.
