Woove → Интеграции Woove Site → Google Таблицы и Woove Site: заявки с сайта строками в таблице

Google Таблицы и Woove Site: заявки с сайта строками в таблице

Каждая заявка, запись и заказ с сайта добавляются строкой в вашу Google Таблицу

Обновлено 25 сентября 2026 г. Интеграции Woove Site 4 мин чтения

Google Таблицы (Google Sheets) для сайта на Woove Site — это строка в таблице на каждую заявку, запись и заказ. В строке контакты человека, текст заявки и все поля формы. Новое поле формы становится новой колонкой.

Что даёт интеграция

Работает через Apps Script: вы вставляете наш код в таблицу и публикуете его как веб-приложение. Ключи и сервисные аккаунты Google не нужны.

  • Заявка с формы — Строка «Заявка с формы» с контактами, комментарием и полями формы.
  • Онлайн-запись — Строка «Онлайн-запись» с датой, временем, услугой и специалистом.
  • Новый заказ — Строка «Новый заказ» с номером, суммой, составом и доставкой.
  • Оплаченный заказ — Строка «Оплаченный заказ» с пометкой «оплачен».
Понадобится: Google Таблица и адрес веб-приложения Apps Script с нашим кодом.

Как получить адрес скрипта

  1. Создайте Google Таблицу или откройте готовую. Заявки пишутся на первый лист.
  2. В меню таблицы выберите «Расширения» → «Apps Script».
  3. Удалите текст в редакторе и вставьте код из раздела «Код скрипта» ниже. Нажмите «Сохранить».
  4. Нажмите «Начать развертывание» → «Новое развертывание» и выберите тип «Веб-приложение».
  5. В поле «У кого есть доступ» выберите «Все» и нажмите «Начать развертывание».
  6. Разрешите скрипту доступ к таблице. На предупреждении о непроверенном приложении нажмите «Дополнительные настройки» и откройте свой проект.
  7. Скопируйте «URL веб-приложения»: он заканчивается на /exec.

Код скрипта

Скопируйте код целиком. Этот же код есть в карточке интеграции, рядом кнопка «Скопировать код».

// Woove Site → Google Таблицы: каждая заявка с сайта добавляется строкой на первый лист.
// Расширения → Apps Script → вставьте код → Начать развертывание → Веб-приложение, доступ «Все».
function doPost(e) {
  var data;
  try { data = JSON.parse(e.postData.contents); } catch (err) { return reply({ ok: false, error: 'нет данных заявки' }); }
  var book = SpreadsheetApp.getActiveSpreadsheet();
  if (!book) return reply({ ok: false, error: 'скрипт не привязан к таблице: создайте его из таблицы через Расширения → Apps Script' });
  var sheet = book.getSheets()[0];
  if (data.test) return reply({ ok: true, test: true, sheet: sheet.getName() });
  var lock = LockService.getScriptLock();
  if (!lock.tryLock(20000)) return reply({ ok: false, error: 'таблица занята, повторите позже' });
  try {
    var row = [['Дата заявки', data.at ? new Date(data.at * 1000) : new Date()]].concat(data.row || []);
    var width = sheet.getLastColumn();
    var head = width ? sheet.getRange(1, 1, 1, width).getValues()[0] : [];
    var out = [];
    for (var i = 0; i < row.length; i++) {
      var col = head.indexOf(row[i][0]);
      if (col < 0) {
        head.push(row[i][0]);
        col = head.length - 1;
        sheet.getRange(1, col + 1).setValue(row[i][0]).setFontWeight('bold');
      }
      out[col] = row[i][1];
    }
    for (var j = 0; j < head.length; j++) if (out[j] === undefined) out[j] = '';
    sheet.appendRow(out);
    return reply({ ok: true, row: sheet.getLastRow(), sheet: sheet.getName() });
  } finally {
    lock.releaseLock();
  }
}
function doGet() {
  return reply({ ok: true, woove: 'Скрипт работает. Вставьте этот адрес в карточку «Google Таблицы» в Woove Site.' });
}
function reply(o) {
  return ContentService.createTextOutput(JSON.stringify(o)).setMimeType(ContentService.MimeType.JSON);
}

Настройка в Woove Site

Раздел «CRM и учёт» в настройках сайта
  1. Откройте «Site» в левой панели и выберите сайт.
  2. Перейдите на вкладку «Интеграции» и найдите «Google Таблицы» поиском. Нажмите на плитку, под ней раскроется карточка.
  3. Включите переключатель и заполните поля из таблицы ниже.
  4. В блоке «Когда отправлять» отметьте события и нажмите «Проверить доступ». Под кнопками появится «Доступ есть».
  5. Нажмите «Тестовая заявка»: в сервисе появится проверочная заявка Ивана Петрова.
  6. Дальше события уходят сами, отправки видны по кнопке «Журнал». Неудачные ждут там же в блоке «Очередь»: мы повторяем их ещё шесть раз за полтора суток, кнопка «Повторить» отправляет сразу. Если ключ не подходит, повтора нет: на почту аккаунта приходит письмо.
  • Код скрипта — Вставьте вместо всего текста в редакторе Apps Script и сохраните.
  • Адрес веб-приложения — Выдаётся после развёртывания, заканчивается на /exec.

Что попадает в таблицу

Скрипт находит колонки по заголовкам в первой строке листа. Первые колонки: дата заявки, событие и форма, дальше контакты человека. Новое поле формы добавляет колонку в конец, у заказа добавляются номер, сумма, состав и доставка.

«Проверить доступ» отправляет скрипту пробный запрос, строка в таблице при этом не появляется. «Тестовая заявка» добавит строку про Ивана Петрова, её можно удалить.

На что обратить внимание

  • Колонки — Колонки можно переставлять и добавлять свои. Если переименовать заголовок, скрипт заведёт колонку со старым названием заново.
  • Адрес веб-приложения — По адресу можно только добавить строку, прочитать таблицу по нему нельзя. Всё равно не публикуйте его.

Если не работает

Google просит войти

В развёртывании выбран доступ «Только я» или «Все, у кого есть аккаунт Google». Откройте «Управление развертываниями», поставьте доступ «Все» и сохраните. Адрес при этом не меняется.

Поменяли код скрипта, а работает старый

Веб-приложение работает на той версии, которую вы развернули. Откройте «Управление развертываниями», выберите новую версию и сохраните.

Строки не появляются

Скрипт пишет на первый лист таблицы. Проверьте, не переставили ли листы местами, и загляните в «Журнал» карточки.

Почему телефон записан текстом

Перед телефоном, датой и номером заказа Woove ставит апостроф. Так таблица не превращает номер в число и не считает «+7» формулой.

Несколько сайтов в одну таблицу

Вставьте один и тот же адрес в карточки разных сайтов. В колонке «Сайт» видно, откуда пришла заявка.

Читайте дальше
Airtable и Woove Site: каждая заявка — строка в базеЗаявка с сайта добавляется строкой в таблицу Airtable Telegram-бот и Woove Site: заявки с сайта в ваш чатСообщение о каждой заявке, записи и заказе от вашего бота в личку или группу Trello и Woove Site: карточка на каждую заявку с сайтаЗаявка, запись или заказ с сайта становятся карточкой в нужном списке Trello
Помогла статья?