Этот шаблон n8n представляет собой интеллектуального ассистента для управления Google Calendar, который использует возможности OpenAI для обработки запросов пользователей и выполнения действий с календарем.
Основная функциональность
Шаблон позволяет:
- Получать запросы от пользователя через текстовый интерфейс (чат).
- Анализировать запросы с помощью OpenAI (например, GPT-4o).
- Выполнять действия в Google Calendar:
- Создавать события.
- Получать информацию о событиях за определенный период.
- Поддерживать диалог с пользователем, уточняя детали при необходимости.
Пошаговое описание работы
1. Триггер: “When chat message received”
- Это точка входа в рабочий процесс.
- Шаблон активируется, когда пользователь отправляет сообщение через чат-интерфейс.
- Сообщение передается в следующий узел для анализа.
Примечания:
- Можно интегрировать этот триггер с внешними интерфейсами (например, Streamlit, Slack, Discord).
- Если вы хотите подключить другой способ взаимодействия (например, через webhook), это можно настроить.
2. AI Agent: “Calendar AI Agent”
- Этот узел является основным ядром шаблона.
- Он использует системное сообщение (system prompt) для определения поведения агента:
- Агент знает текущую дату (
{{ DateTime.local().toFormat('cccc d LLLL yyyy') }}
). - Он может:
- Создавать события.
- Получать события за указанный период.
- Уточнять детали, если запрос пользователя неясен.
Примеры запросов:
- Создание события:
- Пользователь: “Создай встречу ‘Обзор проекта’ на следующий понедельник с 10:00 до 11:00”.
- Агент: Уточняет дату, время, заголовок и описание, затем создает событие.
- Получение событий:
- Пользователь: “Покажи мои события за прошлую неделю”.
- Агент: Запрашивает точный диапазон дат (если не указан) и возвращает список событий.
Особенности:
- Агент работает с двумя основными инструментами:
- Event Creation (создание событий).
- Event Retrieval (получение событий).
- Если запрос пользователя неясен, агент предлагает помощь:
- “Привет! Я могу помочь вам управлять вашим календарем. Вы можете попросить меня создать событие или получить данные о событиях. Что бы вы хотели сделать?”
3. Модель OpenAI: “OpenAI Chat Model”
- Здесь используется модель OpenAI (по умолчанию GPT-4o), которая анализирует запросы пользователя и формирует ответы.
- Модель также управляет вызовом инструментов (например, создания или получения событий).
Настройки:
- Можно заменить GPT-4o на более дешевую модель (например, gpt-4o-mini).
- Поддерживаются другие провайдеры LLM (Language Learning Models), но важно, чтобы они поддерживали tool-calling (вызов инструментов).
4. Память: “Window Buffer Memory”
- Этот узел управляет контекстом диалога.
- По умолчанию сохраняется последние 5 сообщений (размер окна памяти).
- Это помогает агенту понимать контекст разговора и поддерживать последовательность.
Примечания:
- Память временная. Если нужно сохранить историю разговоров, можно использовать базу данных (например, Postgres через Supabase).
5. Инструменты для работы с Google Calendar
a) Google Calendar – Get Events
- Этот инструмент получает события из Google Calendar.
- Для работы требуется диапазон дат:
start_date
: Начальная дата.end_date
: Конечная дата.- Если пользователь не указал диапазон, агент запрашивает его.
b) Google Calendar – Create Events
- Этот инструмент создает события в Google Calendar.
- Для создания события требуются:
start_date
: Начальная дата и время.end_date
: Конечная дата и время.event_title
: Заголовок события.event_description
: Описание события.- Перед созданием события агент уточняет детали с пользователем.
6. Sticky Notes (Заметки)
В шаблоне используются заметки для объяснения функционала каждого узла:
- “Chat trigger”: Объясняет, как работает триггер и какие альтернативы доступны.
- “Tools Agent”: Описывает, как агент взаимодействует с Google Calendar.
- “OpenAI chat model”: Рассказывает о выборе модели и ее настройках.
- “Window buffer memory”: Объясняет, как работает память.
- “Google Calendar tools”: Подробно описывает инструменты для получения и создания событий.
Какие задачи решает этот шаблон?
Автоматизация управления календарем:
- Пользователи могут создавать и получать события через простой текстовый интерфейс.
Улучшение пользовательского опыта:
- Агент уточняет детали, если запрос неясен.
- Диалог поддерживается естественным образом.
Интеграция с OpenAI:
- Используется мощная модель для анализа запросов и выполнения действий.
Как расширить функциональность?
Добавить больше инструментов:
- Например, добавить возможность приглашать участников к событиям.
Интеграция с другими API:
- Можно добавить инструменты для работы с Gmail, Slack или другими сервисами.
Хранение истории диалогов:
- Использовать базу данных для сохранения разговоров.
Мультиязычная поддержка:
- Настроить агента на работу с разными языками.
Пример использования
- Пользователь: “Создай событие ‘Обзор проекта’ на следующий понедельник с 10:00 до 11:00”.
- Агент: “Я создам событие ‘ОБЗОР ПРОЕКТА’ на понедельник, 10:00–11:00. Описание: ‘Встреча для обзора проекта’. Все верно?”
- Пользователь: “Да”.
- Агент: “Событие успешно создано!”