Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

Управление данными в Airtable и календарях

Синхронизирует данные между Airtable, Google Calendar и Cal.com на основе форм. Создает события и записи автоматически при получении новой информации.

Показать оригинал (англ.)
Set Workflow

Automated workflow: Set Workflow. This workflow integrates 10 different services: webhook, itemLists, stickyNote, airtable, code. It contains 123 nodes and follows best practices for error handling and security.

Комбинированный (Complex)Продвинутый · 92 нодыAirtableItemlistsRespondtowebhookGoogle Calendar
Как это работает

Схема сценария, как в редакторе n8n: ноды и связи между ними. Кликните, чтобы рассмотреть.

клик - увеличить ⤢≡Input Argumentsset◆Format responseitemLists◆SortitemLists{}Available StartTimes & Rangescode{}Flatten Slotscode{}Enrich Datecode≡Build ResponsePayloadset≡Booking Payloadset≡Success Responseset{}Add Friendly Errorcode≡Error Responseset{}Escape Jsoncode⑂Has allinformationif⇥Respond with ErrorrespondToWebhook≡Build ErrorResponse Payloadset≡Build ErrorResponse Payload2set⇥Getslot_toolwebhook📅Check AvailabilitygoogleCalendar⇥ResponserespondToWebhook⑂Check if time isavailable or notif≡Time available(true) & Call_idset📅Get All CalendarEventsgoogleCalendar≡Extract start, endand nameset{}Convert into Jsonformat for Vapicode⇥Response to VapirespondToWebhook⇥bookslots_toolwebhook≡Input Argumentsfrom booking toolsset{}Convert time toCST America /…code📅Create EventgoogleCalendar⇥Respond to VapirespondToWebhook⑂If the booking isconfirmed then…if≡Information to beSaved in Airtableset▤Logs the confirmedbooking detailsairtable⇥Updateslots_toolwebhook≡Input Argumentsfrom updateslot…set⑂Checks if requiredinfo is provided.if▤Finds originalappointmentairtable⇥Response withErrorrespondToWebhook📅Update EventgoogleCalendar▤Updates Airtablerecordairtable≡Response & call_idset⇥Respond to Vapiabout Updating…respondToWebhook⇥CancelSlots_toolwebhook≡Input Argumentsfrom cancelslot…set⑂Checks if requiredinfo is provided…if▤Finds theappointment recordairtable≡Build ErrorResponseset⇥Respond with Errorto VapirespondToWebhook📅Delete EventgoogleCalendar▤Update Airtablerecordairtable≡Call_id & Responseset⇥Respond to Vapiabout cancelationrespondToWebhook⇥call_resultswebhook≡All InputArgumentsset▤Save allinformationairtable
  1. ТриггерGetslot_toolWebhook
  2. Триггерbookslots_toolWebhook
  3. ТриггерCancelSlots_toolWebhook
  4. Триггерcall_resultsWebhook
  5. ТриггерUpdateslots_toolWebhook
  6. ДействиеInput ArgumentsSet
  7. ДействиеInput Arguments from booking toolsSet
  8. ДействиеAll Input ArgumentsSet
  9. ДействиеCheck AvailabilityGoogle Calendar
  10. ДействиеInput Arguments from cancelslot toolSet
  11. ДействиеInput Arguments from updateslot toolSet
  12. ДействиеSave all informationAirtable
  13. ДействиеHas all informationIf
  14. ДействиеCheck if time is available or notIf
  15. ДействиеChecks if required info is provided for cancelationIf
  16. ДействиеChecks if required info is provided.If
  17. ДействиеEscape JsonCode
  18. ДействиеBuild Error Response PayloadSet
  19. ДействиеFinds the appointment recordAirtable
  20. ДействиеBuild Error ResponseSet
  21. ДействиеTime available (true) & Call_idSet
  22. ДействиеGet All Calendar EventsGoogle Calendar
  23. ДействиеConvert time to CST America / ChicagoCode
  24. ТриггерRespond with ErrorRespond To Webhook
  25. ТриггерRespond with Error to VapiRespond To Webhook
  26. ТриггерResponseRespond To Webhook
  27. ДействиеExtract start, end and nameSet
  28. ДействиеBuild Error Response Payload2Set
  29. ДействиеFinds original appointmentAirtable
  30. ДействиеCreate EventGoogle Calendar
  31. ДействиеDelete EventGoogle Calendar
  32. ДействиеSortItem Lists
  33. ТриггерResponse with ErrorRespond To Webhook
  34. ДействиеUpdate Airtable recordAirtable
  35. ДействиеBooking PayloadSet
  36. ДействиеAdd Friendly ErrorCode
  37. ДействиеUpdate EventGoogle Calendar
  38. ДействиеFormat responseItem Lists
  39. ДействиеCall_id & ResponseSet
  40. ДействиеSuccess ResponseSet
  41. ДействиеError ResponseSet
  42. ДействиеAvailable Start Times & RangesCode
  43. ДействиеUpdates Airtable recordAirtable
  44. ТриггерRespond to Vapi about cancelationRespond To Webhook
  45. ДействиеFlatten SlotsCode
  46. ТриггерRespond to VapiRespond To Webhook
  47. ДействиеResponse & call_idSet
  48. ДействиеEnrich DateCode
  49. ДействиеIf the booking is confirmed then trueIf
  50. ТриггерRespond to Vapi about Updating slotsRespond To Webhook
  51. ДействиеBuild Response PayloadSet
  52. ДействиеInformation to be Saved in AirtableSet
  53. ДействиеConvert into Json format for VapiCode
  54. ДействиеLogs the confirmed booking detailsAirtable
  55. ТриггерResponse to VapiRespond To Webhook

Сценарий «Управление данными в Airtable и календарях» состоит из 55 нод: Getslot_tool, bookslots_tool, CancelSlots_tool, call_results, Updateslots_tool, Input Arguments, Input Arguments from booking tools, All Input Arguments и других. Интеграции: Airtable, Itemlists, Respondtowebhook, Google Calendar, Webhook, Cal.com, Form Trigger.

Что понадобится
ПараметрЗначениеОписание
Учётные данныеAirtable · Itemlists · Respondtowebhook · Google Calendar · Webhook · Cal.com · Form TriggerДля каждого сервиса нужен свой ключ/токен - впишете их в n8n после установки.
Объём сценария92 ноды · продвинутыйЧисло нод и уровень сложности логики. Больше нод - тоньше настройка.
Форматn8n workflow JSONГотовый воркфлоу. При развороте через кнопку импортируется автоматически.
Установка в один клик

Развернуть n8n с этим сценарием

Готовый сервер с n8n из маркетплейса Fatmetal - воркфлоу уже загружен. Рекомендованная конфигурация уже подставлена в заказ: 2 CPU · 4 ГБ · 50 ГБ. Останется вписать свои ключи, и автоматизация заработает. Нужна помощь с настройкой под нагрузку или сетью? Напишите инженеру.

Защищённый инстанс

n8n отдаём закрытым, а не голым

n8n часто атакуют - поэтому инстанс приезжает уже защищённым, без ручной настройки.

Владелец создан заранее

Аккаунт администратора настроен автоматически при развёртывании. Окно самостоятельной регистрации закрыто - никто не перехватит ваш инстанс в первые минуты после запуска (частый вектор атаки на self-hosted n8n).

Единый пароль с сервером

Логин в n8n - тот же пароль, что у вашей машины. Не нужно искать отдельные креды в файлах, меньше шансов оставить дефолт.

fail2ban против перебора

Автоматически банит IP после серии неудачных попыток входа по SSH. Защита от брутфорса из коробки.

HTTPS и security-заголовки

Трафик шифруется (Let's Encrypt, авто-обновление), выставлены HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy - защита от кликджекинга, MIME-снифинга и downgrade-атак.

Что дальше

После оплаты - сервер с готовым сценарием

Сервер создаётся автоматически за несколько минут. Ничего настраивать вручную не нужно - n8n поднимется сам, а этот сценарий уже будет внутри.

1

Сервер создаётся

После оплаты сервер разворачивается автоматически за несколько минут: ставится n8n, база данных и HTTPS. Дождитесь готовности в личном кабинете.

2

Открываете адрес

Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Например IP 45.15.159.10 → https://45-15-159-10.fatmetal.net/. HTTPS уже настроен. Готовый адрес также есть в личном кабинете - можно просто скопировать его оттуда.

3

Входите готовыми данными

Аккаунт владельца уже создан - регистрировать ничего не нужно. Логин: admin@<адрес вашего сервера> (тот же адрес, что открыли на шаге 2 - например admin@45-15-159-10.fatmetal.net). Пароль - тот же, что у вашего сервера: он в личном кабинете и в /root/n8n-credentials.txt на сервере. Войдите и при желании сразу смените пароль в настройках. Интерфейс английский - у n8n нет русской локализации.

4

Сценарий уже внутри

Этот сценарий уже импортирован - найдёте его в разделе Workflows. Останется вписать свои ключи для интеграций (Airtable, Itemlists, Respondtowebhook) в Credentials и включить сценарий.

Важно: сохраните ключ шифрования. Ключ (N8N_ENCRYPTION_KEY) и пароль базы лежат на сервере в /root/n8n-credentials.txt. Этим ключом зашифрованы учётные данные интеграций - берегите его и сделайте резервную копию: без ключа их не восстановить даже из бэкапа базы.
Оригинал сценария (англ.): «Set Workflow». Источник: коллекция Zie619/n8n-workflows (лицензия MIT).
Спросить инженера в TelegramМы на связи