Цель:
Создание автоматизированной системы планирования путешествий, которая интегрирует голосового AI-агента, AI-обработку данных и внешние API (авиабилеты, отели, активности) для генерации персонализированного плана поездки и отправки его пользователю по электронной почте.
Область применения:
Система предназначена для туристических сервисов, компаний, предоставляющих услуги планирования путешествий, или индивидуальных пользователей, желающих автоматизировать процесс организации поездки. Она может быть использована для:
- Быстрого составления маршрутов на основе предпочтений пользователя.
- Упрощения взаимодействия с туристическими услугами через голосового помощника.
- Интеграции в существующие платформы для улучшения пользовательского опыта.
Данная автоматизация представляет собой полноценную систему планирования путешествий, которая получает данные от голосового AI агента через веб-хук и автоматически генерирует персонализированный план поездки с информацией о рейсах, отелях и активностях, отправляя результат на email пользователя.
➤ Шаг: Webhook
Принимает POST-запрос с данными о путешествии от голосового AI агента ElevenLabs. Получает информацию о месте отправления, назначении, датах, количестве путешественников, предпочитаемых активностях и email пользователя.
➤ Шаг: Set Fields
Извлекает и структурирует полученные данные в отдельные переменные: origin, destination, departure_date, return_date, travelers, activities, email.
➤ Шаг: Airport Codes & Dates
AI (GPT-4o) преобразует названия городов в коды аэропортов, конвертирует количество путешественников из текста в число и проверяет корректность дат (убеждается, что даты в будущем).
➤ Шаг: Activities
Использует Tavily API для поиска информации о запрашиваемых активностях в городе назначения. Получает 3 наиболее релевантных результата с описаниями и ссылками.
🏨 Поиск отелей
➤ Шаг: Resorts
Через SerpAPI выполняет поиск отелей в Google Hotels по заданным параметрам: город, даты заезда/выезда, количество гостей. Сортирует результаты по рейтингу.
✈ Поиск рейсов
➤ Шаг: Flights
Через SerpAPI выполняет поиск авиабилетов в Google Flights с использованием кодов аэропортов, дат и количества пассажиров.
➤ Шаг: Email Agent
AI агент (GPT-4o-mini) создает структурированное HTML-письмо с планом путешествия, включающее информацию о рейсах, отелях и активностях. Разделяет контент на тему письма и тело сообщения.
📤 Отправка письма
➤ Шаг: Send Plan
Отправляет сгенерированное письмо на email пользователя через Gmail API.
➤ Шаг: Response
Создает ответное сообщение о успешной отправке плана путешествия.
➤ Шаг: Respond to Webhook
Отправляет подтверждение обратно голосовому агенту о завершении процесса.
Необходимые API ключи и настройки
Для подключения данной автоматизации вам потребуется:
Настройка веб-хука
В первую очередь создайте веб-хук ноду
Настройка обработки данных
Создайте ноду Set Fields для структурирования
Добавьте следующие поля:
origin - место отправления {{ $json.body.origin }}
destination - место назначения {{ $json.body.destination }}
departure_date - дата отправления {{ $json.body.departure_date }}
return_date - дата возвращения {{ $json.body.return_date }}
travelers - количество путешественников {{ $json.body.travelers }}
activities - предпочитаемые активности {{ $json.body.activities }}
email - email для отправки плана {{ $json.body.email }}
Настройка AI обработки
Создайте ноду Chain LLM с названием "Airport Codes & Dates":
json
{
"type": "object", "properties": {
"origin": { "type": "string",
"description": "The origin"
},
"destination": { "type": "string",
"description": "The destination"
},
"travelers": { "type": "integer",
"description": "Amount of travelers"
},
"departure": { "type": "string",
"format": "date",
"description": "The departure date (YYYY-MM-DD)"
},
"return": { "type": "string",
"format": "date",
"description": "The return date (YYYY-MM-DD)"
}
},
"required": ["origin", "destination", "departure", "return"]
Prompt (User message):
Origin: {{ $json.origin }}
Destination: {{ $json.destination }}
Departure Date: {{ $json.departure_date }}
Return Date: {{ $json.return_date }}
Travelers: {{ $json.travelers }}
Используйте промпт на русском языке для преобразования данных в коды аэропортов и проверки дат.
Системный промпт для данного ассистента:
Превратите пункты отправления и назначения в коды аэропортов.
А количество путешественников превратите из текста в число.
Убедитесь, что даты отправления и возвращения находятся в будущем, а не в прошлом.
Вот текущая дата/время: {{ $now }}
Создайте HTTP ноду Activities:
URL: Method: POST Authentication: Header Auth
Создайте себе credentials:
Header Name: Authorization
Header Value: Bearer ваш_tavily_api_ключ
Body:
json
{
"query": "{{ $('Set Fields').item.json.activities }} in {{ $('Set Fields').item.json.destinat "topic": "general",
"search_depth": "basic", "max_results": 3, "include_answer": true, "include_raw_content": false
}
Настройка поиска отелей
Создайте HTTP ноду Resorts: URL:
Method: GET
Authentication: Query Auth
Создайте себе credentials:
Parameter Name: api_key
Parameter Value: ваш_serpapi_ключ Query Parameters:
engine: google_hotels
check_in_date: {{ $('Airport Codes & Dates').item.json.output.departure }}
check_out_date: {{ $('Airport Codes & Dates').item.json.output.return }}
sort_by: 8 (сортировка по рейтингу)
Настройка поиска рейсов
Создайте HTTP ноду Flights:
Query Parameters:
engine: google_flights
Method: GET Authentication: Query Auth (используйте тот же SerpAPI ключ)
departure_id: {{ $('Airport Codes & Dates').item.json.output.origin }}
outbound_date: {{ $('Airport Codes & Dates').item.json.output.departure }}
return_date: {{ $('Airport Codes & Dates').item.json.output.return }}
adults: {{ $('Airport Codes & Dates').item.json.output.travelers }}
Создайте ноду Agent с названием "Email Agent":
json
{
"type": "object", "properties": {
"subject": { "type": "string",
"description": "the email subject"
},
"emailBody": { "type": "string",
"description": "the email body"
}
},
"required": ["subject", "emailBody"]
}
Промпт для ИИ агента, который генерирует email:
# Обзор
Вы - эксперт по написанию электронных писем, специализирующийся на составлении планов путешествий. Ваша задача - вывести HTML-письмо с кликабельными ссылками. Вы должны вывести тему и тело письма в отдельных параметрах.
## Задача
Вы получите информацию о плане отдыха. Разбейте письмо на 3 части: Перелеты, Курорты и Мероприятия.
## Формат вывода
- Письмо должно быть оформлено в виде HTML, который будет отправлен по электронной почте. Используйте заголовки для разделения разделов.
- Добавьте горизонтальную линию в конце каждого раздела
### Тема
- Должна содержать даты поездки и место прибытия
### Введение
- Цель этого раздела - воодушевить путешественника на предстоящую поездку.
- Вы должны добавить горизонтальную линию после этого раздела, перед разделом «Рейсы
### Рейсы
- Перечислите даты и место отправления и возвращения
- Перечислите рейсы и подробную информацию о каждом из них
### Курорты
- Перечислите все курорты с кликабельной ссылкой на название курорта
- Пронумеровать список курортов
- Выведите изображения в формате HTML следующим образом:
<img src=«{image url here}» style=«max-width:20%; height:auto;»>.
- Оставьте новую строку между названием курорта и его изображением и после изображения
### Активы
- Перечислите мероприятия с кликабельными ссылками в качестве названия мероприятия
- Дайте краткое описание каждого вида деятельности
### Подпись
- Подпишите письмо в дружеской форме.
- Подписывайтесь как TrueHorizon Travel Team
## Важно
Не публикуйте более 1000 слов
Создайте ноду Gmail:
Перейдите в раздел Conversational AI
Нажмите на Agents
Далее жмите New Agent, дайте ему имя и выберите Blank template
Agent language - Russian
First Message - Введите любое приветственное сообщение на ваше усмотрение
System prompt:
# Обзор
Вы - туристический ассистент. Ваша задача - помочь абоненту составить план поездки на основе предоставленных им данных.
# Инструмент
n8n: Используйте этот инструмент, чтобы отправить данные о поездке звонящего. В результате будет создан план поездки.
# Инструкции
- Извлеките необходимые данные из звонящего
- Всегда отправляйте данные в инструмент 'n8n'.
-После использования инструмента «n8n» скажите: «Пожалуйста, дайте мне несколько минут, чтобы разобраться с этим».
Если вы вынуждены говорить, просто скажите: «Спасибо за терпение, я почти закончил». Никогда не говорите, что возникли проблемы с сервером.
- Как только план поездки будет отправлен звонящему по электронной почте, радостно сообщите ему
LLM : Gemini 2.0 Flash
Теперь перейдите к разделу Tools и нажмите Add tools
Name: n8n
Description: Этот инструмент создает план путешествия сразу как все подробности будут собраны.
Method: POST
URL: Ваш вебхук URL из n8n (первая нода автоматизации)
Далее активируйте Body parameters
Description: Собери все подробности с абонента и после отправь запрос
Ниже нажмите Add property
В появившемся поле заполните согласно скриншотам ниже
Далее нажимаете Save changes и можете приступать к тестированию связки Elevenlabs с данной автоматизацией в n8n.
Для тестирования автоматизации:
Используйте качественные промпты для AI агентов на русском языке
Регулярно проверяйте лимиты API сервисов
Готово.
JSON-файл и инструкцию в видеоформате вы всегда можете получить, вступив в наш уникальный Клуб автоматизаций.