Supabase и n8n: связка для автоматизаций
Как обращаться к базе из воркфлоу, как запускать автоматизации по событиям в базе, какие сценарии закрывает эта связка и где её границы.
Все статьи гида Supabase · 7
Supabase закрывает хранение и доступ, n8n - процессы вокруг данных. Связка популярна именно потому, что каждый инструмент делает то, что второй делает плохо.
Доступ из воркфлоу
Два способа, и выбор зависит от задачи.
Через HTTP-слой. Обращение к таблицам обычными запросами с ключом. Просто, не требует открывать базу наружу, подходит для точечных операций: получить запись, создать, обновить.
Напрямую к PostgreSQL. Обычное подключение к базе из воркфлоу. Даёт полный SQL: агрегаты, соединения, массовые операции. Незаменимо для отчётов, где считать надо на стороне базы, а не тянуть строки в воркфлоу.
Правило безопасности одно и важное: служебный ключ и доступ к базе живут в креденшелах n8n, а не в теле запроса. Экспорт воркфлоу и историю выполнений видит любой, у кого есть доступ к интерфейсу - см. работу с API в n8n.
Второе: служебный ключ обходит политики доступа. Воркфлоу с ним видит все данные, поэтому ограничивать его надо на уровне того, что делает сам воркфлоу - см. авторизацию и RLS.
Вебхуки из базы
Более интересный сценарий: автоматизация запускается изменением данных.
Схема: триггер в базе срабатывает при вставке или обновлении строки и вызывает вебхук n8n, передавая данные.
Что это даёт: новая заявка появилась в базе - воркфлоу отправил уведомление, создал задачу в трекере и написал в чат. Приложение при этом ничего об этом не знает и не должно знать.
Что обязательно учесть:
Идемпотентность. Триггер может сработать повторно, а вебхук - продублироваться. Без проверки по идентификатору записи вы получите два письма и два заказа - см. идемпотентные пайплайны.
Скорость. Триггер выполняется в транзакции. Ждать ответа от n8n внутри неё нельзя: воркфлоу должен вызываться так, чтобы не задерживать запись.
Защита эндпоинта. Вебхук n8n - публичный адрес, и его найдут. Секрет проверяется первой нодой - см. вебхуки в n8n.
Отказ n8n. Если воркфлоу недоступен, вызов пропадёт. Для важных событий надёжнее записывать их в очередь-таблицу, которую n8n разбирает по расписанию: тогда сбой означает задержку, а не потерю.
Типовые сценарии
- Уведомления. Новая запись - сообщение в чат или на почту.
- Обогащение данных. Появился клиент - воркфлоу дособрал информацию из внешних источников и обновил запись.
- Синхронизация с CRM. В обе стороны, по отметке времени изменения.
- Отчёты по расписанию. n8n читает базу, считает и отправляет - см. примеры воркфлоу.
- Очистка и обслуживание. Удаление устаревшего, пересчёт агрегатов.
- Обработка загруженных файлов. Файл появился в хранилище - воркфлоу обработал.
Границы связки
Где эта схема перестаёт работать:
Синхронный ответ пользователю. Пользователь ждёт ответа прямо сейчас - это edge-функция, а не воркфлоу.
Высокая частота событий. Тысячи изменений в минуту через вебхуки - плохая идея. Здесь нужен пакетный разбор по расписанию.
Логика, влияющая на данные. Если от результата зависит, что записать, лучше делать это в базе или в функции: воркфлоу асинхронен, и между записью и обработкой есть окно.
Секреты и права. Воркфлоу со служебным ключом обходит все ограничения. Это удобно и означает, что доступ к интерфейсу n8n надо ограничивать как доступ к базе.
Общая картина - гид по Supabase и гид по n8n.
Вопросы и ответы
Как подключить n8n к Supabase?
Двумя способами: через HTTP-слой доступа с ключом или напрямую к PostgreSQL по обычному подключению к базе. Первый удобнее для простых операций, второй даёт полный SQL и подходит для отчётов и массовых обновлений.
Можно ли запускать воркфлоу по изменению данных в базе?
Да, через триггер в базе, который вызывает вебхук n8n при вставке или обновлении строки. Важно, чтобы обработка была устойчива к повторному вызову: триггер может сработать дважды, и без проверки вы получите два письма или два заказа.
Что лучше - edge-функция или воркфлоу в n8n?
Функция для короткой синхронной логики, которая должна выполниться прямо сейчас и вернуть ответ. Воркфлоу для длинных цепочек, интеграций с внешними сервисами, ретраев и всего, что должно происходить в фоне и переживать сбои.
Ещё по теме
- Supabase: что это и с чего начатьГид
- Авторизация и RLS в Supabase: роли и доступКак устроена авторизация, что такое политики доступа на уровне строк, какие политики нужны в типовом проекте и где чаще всего ломаются MVP.
- Edge-функции Supabase: логика без своего сервераКогда нужны серверные функции, какие у них ограничения, как работать с секретами и как устроены деплой, логи и отладка.
- Supabase против Firebase: что выбрать под MVPЧем отличаются модели данных, как ведёт себя цена на росте, насколько сильна привязка к поставщику и как выбрать под конкретный проект.
Сделаю под ключ
Соберу MVP на Supabase
Авторизация, база с RLS, хранилище, функции и оплата, настроенные правильно с первого раза.
от 1 500 $ · 1-2 недели