Перейти к основному содержимому

n8n

План Basic и выше

Вебхуки требуют платный план. Подробности и лимиты - в разделе Вебхук-автоматизации.

n8n - это платформа автоматизации, которую можно развернуть на своем сервере или использовать в облаке. Подключи TellDone к n8n через ноду Webhook. Твой экземпляр n8n должен иметь HTTPS URL, доступный из интернета.

Настройка

В n8n

  1. Добавь ноду Webhook в свой воркфлоу
  2. Установи HTTP Method в POST
  3. Задай путь (например, telldone)
  4. (Необязательно) Включи Header Auth: Name = Authorization, Value = твой секретный токен
  5. Скопируй Production URL (не тестовый URL)

В TellDone

  1. Зайди в Настройки > Интеграции > Webhook Automations
  2. Нажми Новая автоматизация и вставь production URL из n8n
  3. Если ты включил Header Auth в n8n, введи тот же токен как auth header в TellDone
  4. Выбери, какие типы данных отправлять
  5. Нажми Сохранить, затем Тестовая отправка

Проверь лог выполнения n8n - ты должен увидеть запрос с "test": true.

Маршрутизация по типу события

Добавь ноду Switch после ноды Webhook для маршрутизации данных по типу события:

  • Поле маршрутизации: значение event из входящих данных
  • Правило 1: равно note.created - направь к действиям для заметок
  • Правило 2: равно task.created - направь к действиям для задач
  • Правило 3: равно calendar_event.created - направь к действиям для календаря
  • Правило 4: равно report.created - направь к действиям для отчетов

Подключи каждый выход Switch к соответствующей ноде действия (Todoist, Google Calendar, Slack и т.д.).

Полезные выражения

При настройке нод действий используй эти выражения n8n для доступа к данным TellDone:

ВыражениеОписание
{{ $json.data.title }}Заголовок заметки, задачи или события
{{ $json.data.tags.join(', ') }}Теги через запятую
{{ $json.data.priority }}Уровень приоритета
{{ $json.data.due_date }}Дедлайн (задачи)
{{ $json.data.summary }}AI-генерированное резюме (заметки)
{{ $json.event }}Тип события

Полный список полей для каждого типа данных - в разделе Вебхук-автоматизации - Что отправляется.

Фильтрация тестовых событий

Добавь ноду IF сразу после ноды Webhook:

  • Условие: {{ $json.test }} is not true
  • Путь True: остальная часть воркфлоу
  • Путь False: No Operation (отбрасываем тестовые события)

Примеры воркфлоу

  • Webhook - Switch - Todoist: создание задач с приоритетом и дедлайном
  • Webhook - Switch - Google Calendar: создание событий с временем, местом и участниками
  • Webhook - Switch - Slack: отправка ежедневных отчетов в канал
  • Webhook - Switch - Google Sheets: логирование всех заметок в строки таблицы
  • Webhook - Switch - Notion: сохранение заметок с тегами и резюме

Проверка подписи вебхуков (необязательно)

Для продакшн-использования можно проверить, что данные вебхука действительно пришли от TellDone, проверив подпись HMAC-SHA256. Добавь ноду Code сразу после ноды Webhook:

const crypto = require('crypto');

const secret = 'whsec_your_signing_secret_here';
const signature = $input.first().headers['x-lp-signature'];
const timestamp = $input.first().headers['x-lp-timestamp'];
const body = JSON.stringify($input.first().json);

const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(timestamp + '.' + body)
.digest('hex');

if (signature !== expected) {
throw new Error('Invalid webhook signature');
}

// Reject timestamps older than 5 minutes
const age = Math.floor(Date.now() / 1000) - parseInt(timestamp);
if (age > 300) {
throw new Error('Webhook timestamp too old');
}

return $input.all();

Замени whsec_your_signing_secret_here на секрет подписи, который ты скопировал при создании автоматизации в TellDone.

Отключение

Чтобы прекратить отправку данных в n8n:

  • Деактивируй воркфлоу в n8n, или
  • Отключи или удали автоматизацию в TellDone Настройки > Интеграции > Webhook Automations

Смотри также

  • Вебхук-автоматизации - формат данных, лимиты доставки и безопасность
  • Zapier - облачная альтернатива автоматизации
  • Make - облачная альтернатива автоматизации