Package Information
Downloads: 2 weekly / 10 monthly
Latest Version: 0.1.0
Author: Planerka
Documentation
n8n-nodes-planerka
Кастомная нода для n8n, позволяющая получать webhook события от системы онлайн-бронирования Планёрка.
Описание
Эта community node для n8n позволяет автоматизировать обработку событий бронирования из Планёрки. Нода работает как webhook trigger и запускает workflow при следующих событиях:
- 📅 Создание встречи (
BOOKING_CREATED) - ❌ Отмена встречи (
BOOKING_CANCELLED) - 🔄 Перенос встречи (
BOOKING_RESCHEDULED)
Установка
Вариант 1: Установка через npm (рекомендуется)
npm install n8n-nodes-planerka
После установки перезапустите n8n:
n8n start
Вариант 2: Локальная установка
- Клонируйте репозиторий:
git clone https://github.com/planerka/n8n-nodes-planerka.git
cd n8n-nodes-planerka
- Установите зависимости и соберите проект:
npm install
npm run build
- Скопируйте папку в
~/.n8n/custom/:
mkdir -p ~/.n8n/custom
cp -r . ~/.n8n/custom/n8n-nodes-planerka
- Перезапустите n8n:
n8n start
Быстрый старт
1. Настройка Credentials в n8n
- Откройте n8n
- Перейдите в Credentials → New
- Найдите Planerka API
- Введите Webhook Secret (любую строку, которую вы будете использовать для проверки подлинности webhook'ов)
- Сохраните credentials
2. Создание workflow в n8n
- Создайте новый workflow
- Добавьте ноду Planerka Trigger
- Выберите созданные credentials
- Выберите интересующие вас события (например, "Создание встречи")
- Активируйте workflow
- Скопируйте Webhook URL (он появится после активации)
3. Настройка webhook в Планёрке
- Откройте Планёрку
- Перейдите в
/webhooks - Нажмите "Создать webhook"
- Заполните поля:
- Название: Любое название (например, "n8n Integration")
- URL: Вставьте webhook URL из n8n (без
https://, например:n8n.example.com/webhook/abc123...) - Secret: Тот же секретный ключ, что и в credentials n8n
- События: Выберите
BOOKING_CREATED,BOOKING_CANCELLED,BOOKING_RESCHEDULED
- Сохраните webhook
4. Тестирование
- Создайте тестовое бронирование в Планёрке
- Проверьте, что workflow в n8n запустился
- Изучите полученные данные
Структура данных webhook
При получении события, нода передаёт следующие данные:
{
"event": "BOOKING_CREATED",
"uid": "booking_unique_id",
"title": "Встреча с клиентом",
"description": "Обсуждение проекта",
"startTime": "2024-12-15T14:00:00.000Z",
"endTime": "2024-12-15T15:00:00.000Z",
"organizer": {
"name": "Иван Иванов",
"email": "ivan@example.com",
"timeZone": "Europe/Moscow"
},
"attendees": [
{
"name": "Пётр Петров",
"email": "petr@example.com",
"timeZone": "Europe/Moscow"
}
],
"location": {
"name": "Zoom",
"url": "https://zoom.us/j/123456789",
"id": "123456789",
"password": "password"
},
"customInputs": [
{
"label": "Телефон",
"value": "+7 999 123-45-67"
}
],
"eventType": "individual"
}
Дополнительные поля
Для события BOOKING_CANCELLED:
cancellationReason- причина отмены
Для события BOOKING_CREATED:
utm- UTM метки (если переданы)
Примеры использования
Пример 1: Уведомления в Slack
Planerka Trigger (BOOKING_CREATED)
→ Slack: Send Message
Message: "Новая встреча: {{$json.title}} в {{$json.startTime}}"
Пример 2: Синхронизация с Google Calendar
Planerka Trigger (BOOKING_CREATED)
→ Google Calendar: Create Event
Summary: {{$json.title}}
Start: {{$json.startTime}}
End: {{$json.endTime}}
Пример 3: Добавление в CRM
Planerka Trigger (BOOKING_CREATED)
→ HTTP Request: POST to CRM API
Body: {
"contact": "{{$json.attendees[0].email}}",
"meeting_date": "{{$json.startTime}}"
}
Пример 4: Сохранение в базу данных
Planerka Trigger (BOOKING_CREATED, BOOKING_CANCELLED)
→ MySQL: Insert
Table: bookings
Data: {{$json}}
Безопасность
Нода использует Bearer token для валидации webhook запросов от Планёрки:
- Webhook secret проверяется в заголовке
Authorization: Bearer {secret} - Если секрет не совпадает, запрос отклоняется с кодом 401
- Рекомендуется использовать длинный случайный секрет (минимум 32 символа)
Генерация безопасного секрета
# Linux/macOS
openssl rand -base64 32
# Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
Troubleshooting
Webhook не срабатывает
- Проверьте активацию workflow - workflow должен быть активирован
- Проверьте credentials - секрет в n8n должен совпадать с секретом в Планёрке
- Проверьте URL - URL должен быть без
https://в Планёрке - Проверьте события - в webhook Планёрки должны быть выбраны нужные события
- Проверьте логи n8n - посмотрите в Executions на ошибки
Ошибка 401 Unauthorized
- Секрет в credentials n8n не совпадает с секретом в webhook Планёрки
- Обновите секрет в одном из мест
События не фильтруются
- Убедитесь, что в параметрах ноды выбраны нужные события
- Проверьте, что в webhook Планёрки включены соответствующие события
Разработка
Сборка
npm run build
Разработка с hot-reload
npm run dev
Линтинг
npm run lint
npm run lintfix
Поддержка
- 📧 Email: support@planerka.io
- 🌐 Сайт: planerka.io
- 📚 Документация: planerka.io/docs
- 💬 Telegram: @planerka_support
Лицензия
MIT
Авторы
Разработано командой Планёрка
🚀 Автоматизируйте работу с бронированиями вместе с Планёркой и n8n!