Настройка автоматизации бизнес-процессов через n8n
n8n — open-source платформа автоматизации с визуальным редактором workflow. В отличие от Zapier и Make, n8n self-hosted, поддерживает произвольный JavaScript в нодах и не ограничивает по числу операций.
Типичные сценарии автоматизации
- Новый пользователь в БД → приветственное письмо + задача в CRM + уведомление в Slack
- Входящий webhook → обработка данных → запись в Google Sheets + отправка SMS
- Cron-задача: ежедневный отчёт из PostgreSQL → форматирование → отправка на email
- Новый заказ в WooCommerce → создание счёта в 1C → уведомление менеджеру
Архитектура n8n
Workflow состоит из нод:
- Trigger: Webhook, Cron, Database polling, Event
- Action: HTTP Request, Send Email, Slack, Telegram, DB операции
- Transform: Code (JavaScript/Python), Set, Merge, Split
- Logic: If, Switch, Wait, Loop Over Items
Пример: автоматизация онбординга
[Trigger: Webhook POST /signup]
│
[Node: Validate email] ──error──► [Node: Slack #errors]
│
[Node: PostgreSQL INSERT user]
│
[Node: Split in Batches]
│
┌───┴────────────────────────┐
▼ ▼
[Node: SendGrid [Node: HubSpot
Welcome Email] Create Contact]
│ │
└────────────┬───────────────┘
▼
[Node: Slack
#new-users notify]
Code Node (JavaScript)
// Трансформация данных внутри workflow
const items = $input.all();
return items.map(item => {
const user = item.json;
const registrationDate = new Date(user.created_at);
return {
json: {
...user,
displayName: `${user.first_name} ${user.last_name}`.trim() || user.email,
isWeekendRegistration: [0, 6].includes(registrationDate.getDay()),
utmSource: user.utm_source || 'organic',
welcomeEmailSubject: user.plan === 'pro'
? `Добро пожаловать в Pro, ${user.first_name}!`
: `Добро пожаловать, ${user.first_name}!`
}
};
});
HTTP Request Node
{
"method": "POST",
"url": "https://api.sendgrid.com/v3/mail/send",
"authentication": "headerAuth",
"headers": {
"Authorization": "Bearer {{ $env.SENDGRID_API_KEY }}"
},
"body": {
"personalizations": [
{
"to": [{ "email": "={{ $json.email }}" }],
"dynamic_template_data": {
"name": "={{ $json.displayName }}",
"plan": "={{ $json.plan }}"
}
}
],
"from": { "email": "[email protected]" },
"template_id": "d-abc123"
}
}
Error Handling
[Main workflow]
│
────┼──── error handler branch ────►
│ │
[Node: Continue on fail = true] [Node: Slack alert]
│
[Node: Log to DB]
В настройках ноды включается «Continue On Fail» + отдельная ветка Error Workflow для алертов.
Сроки
Простой workflow (3–5 нод) — 1 день. Сложный workflow с условиями, трансформациями и обработкой ошибок — 3–5 дней.







