Скрипты и макросы
в онлайн-таблицах Coverse

Автоматический сбор платежей, заявок и отчётов в ваших таблицах

Пишите скрипты и создавайте макросы прямо в таблице Coverse. Нет навыков разработки? Доверьте создание скриптов искусственному интеллекту.

Как это работает

Настройте автоматизацию один раз —
скрипты всё сделают сами

  • По расписаниюИнтервалы от 15 минут до недели. Время считается по часовому поясу из вашего профиля.
  • При изменении данныхСрабатывает через несколько секунд после правок в ячейках, в том числе через API.
  • По вебхукуГотовый адрес сразу после создания триггера, с проверкой токена, подписи и IP-адресов.
  • При отправке формыОбработка каждого нового ответа онлайн-формы сразу после отправки.
  • При открытии таблицыЗапуск, когда таблицу открывает редактор, не чаще раза в 10 минут.
  • Из меню «Макросы»Запуск в один клик из панели таблицы, без доступа к коду.
  • Кнопкой на листеЛюбую картинку на листе можно превратить в кнопку запуска.
  • Сочетанием клавишНазначьте свои клавиши для любого пункта меню «Макросы».

Как автоматизация оплат избавляет менеджера от ежедневной сверки

Было

Менеджер каждое утро сверяет выписки с таблицей заказов и вручную меняет статусы. Из-за человеческого фактора ошибки замечают слишком поздно, когда клиент уже недоволен.

A
B
C
1
Заказ
Сумма, ₽
Статус
2
1041
12 400
Новый
3
1042
8 900
Новый
4
1043
15 250
Новый
Стало

Платёжная система сразу сообщает об оплате по вебхуку. Скрипт сам находит заказ, меняет статус на «Оплачен» и присылает уведомление в Telegram.

A
B
C
1
Заказ
Сумма, ₽
Статус
2
3
4
1043
15 250
Новый
Telegram · бот таблицы · 12:41Оплачен заказ 1042, 8 900 ₽

Возможности среды выполнения (API & Runtime)

Стандартный JavaScript (ECMAScript), совместимость с ключевыми командами Apps Script, нативные интеграции и встроенные AI-инструменты.

Операции с данными

getRange, getValues, setValues и appendRow. Большие листы читаются и записываются блоками.

sheet.getRange("A2:D").getValues()
Форматирование и структура

Цвета, условное форматирование, фильтры, защита, строки и столбцы, сводные таблицы и диаграммы.

range.setBackground("#e2f4e9")
Связывание таблиц

До 10 таблиц в одном скрипте: чтение, запись и список листов.

Coverse.tables.open(id)
Внешние HTTP-запросы

Параметры объектом, ответ сразу в JSON. До 50 запросов за запуск, ответ до 2 МБ.

Http.get(url, { query }).json()
Telegram и Email-уведомления

Длинное сообщение в Telegram делится само. Письма — до 10 адресатов в сутки.

Telegram.send(CHAT_ID, text)
Безопасное хранение (Secrets)

Ключи и токены хранятся отдельно от кода, в журнале запусков вместо них ***.

Secrets.get("WB_TOKEN")
Персистентное состояние

Где остановились и когда последний раз выгружали: до 100 ключей, значение до 9 КБ.

Properties.script.set("cursor", id)
Встроенный AI-ассистент

Разбор заявок, категории, сводки по тексту без своего ключа. 7 AI-кредитов за запрос.

CoverseAI.ask("Тема обращения: " + text)

Справочник всех команд

Событийная модель и триггеры выполнения

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

function onWebhook(event) { … }

{
  "type": "webhook",
  "method": "POST",
  "ip": "185.71.76.12",
  "contentType": "application/json",
  "query": {},
  "headers": { "content-type": "application/json" },
  "body": "{\"event\":\"payment.succeeded\",…}",
  "json": {
    "event": "payment.succeeded",
    "object": {
      "id": "2e9a…",
      "amount": { "value": "15250.00", "currency": "RUB" },
      "metadata": { "order_id": "1043" }
    }
  },
  "receivedAt": "2026-10-21T09:41:07+03:00"
}
  • jsonтело запроса, уже разобранное из JSON
  • formполя формы, если пришёл application/x-www-form-urlencoded
  • bodyтело запроса текстом, для проверки подписи
  • headersзаголовки запроса, имена в нижнем регистре
  • queryпараметры адреса
  • ipадрес отправителя

Готовые скрипты для сервисов, которыми вы уже пользуетесь

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

Миграция с Google Apps Script

Автоматизированный перенос и рефакторинг существующей бизнес-логики. Поддерживается адаптация исходного кода с помощью встроенного AI-ассистента по запросу конвертации.

Google Apps ScriptCoverse
SpreadsheetApp.getActiveSpreadsheet()→Coverse.table
SpreadsheetApp.openById(id)→Coverse.tables.open(id)
UrlFetchApp.fetch(url, params)→Http.fetch(url, options)
MailApp.sendEmail(to, subject, body)→Mail.send(to, subject, body)
PropertiesService.getScriptProperties()→Properties.script
Logger.log(...)→console.log(...)
ScriptApp.newTrigger(...)→вкладка «Триггеры»
  • Вебхуки без деплоя веб-приложений: мгновенная генерация готового эндпоинта. Изменения в коде применяются моментально без необходимости выпуска новых версий. Обработчик поддерживает передачу заголовков, верификацию HMAC-подписей, проверку токенов и фильтрацию по IP-адресам.
  • Расширенное событие модификации данных (On Edit): передача полных метаданных по каждой измененной ячейке (адрес, текущее значение, формула) с указанием источника правки (source).
  • Нативные интеграции и изоляция секретов: встроенная поддержка Telegram Bot API без внешних обёрток. Исключено хранение учетных данных и API-ключей в исходном коде.
  • Полное сравнение и порядок переноса

Три роли, три набора прав

Скрипт всегда работает от имени владельца скрипта, кто бы его ни запустил. Остальное зависит от роли в таблице.

Владелец скрипта

Создатель скрипта
  • ✓Код, ручной запуск, триггеры и макросы
  • ✓Секреты и список других таблиц, к которым у скрипта есть доступ
  • ✓Подтверждение кода после правок коллег
  • ✓Запись в защищённые диапазоны, если он владелец таблицы

Каждый запуск — вручную, по расписанию или по вебхуку — выполняется с правами владельца скрипта.

Редактор таблицы

Участник с правом редактирования
  • ✓Просмотр и правка кода, ручной запуск
  • ✓Настройка триггеров и макросов
  • !Добавленные им секреты не передаются в запуск, пока владелец не сохранит их заново
  • –Не меняет список других таблиц и не подтверждает код

После правок редактора права скрипта сужаются до общих прав владельца и редактора, пока владелец не подтвердит код.

Читатель

Доступ только для чтения
  • –Не видит код и журнал запусков
  • –Не запускает скрипты и макросы
  • –Не видит секреты и настройки триггеров
  • ✓Видит результат работы скрипта на листах

Для читателя изменения от скрипта выглядят как обычные правки при совместной работе.

Архитектура исполнения и безопасность каждого вызова

Путь одного уведомления ЮKassa: проверка отправителя, изоляция среды и контроль прав на каждом шаге.

  1. 1Приём и проверка вебхука

    Валидация подписи HMAC/токена и IP-адреса отправителя.

  2. 2Изоляция среды (Sandbox)

    Выполнение кода в изолированном контейнере.

  3. 3Права владельца скрипта

    Выдача кратковременного токена с правами Владельца.

  4. 4Маскирование секретов

    Ключи передаются только в текущий запуск.

  5. 5Фиксация в аудит-логе

    Обновление ячеек с проверкой правил защиты листов.

Тариф «Бизнес» даёт 5 часов работы скриптов в сутки, до 30 секунд на один запуск и до 3 запусков одновременно Данные в России с соответствием 152-ФЗ · реестр российского ПО № 32474 Сравнить тарифы · Права и безопасность скриптов
Вопросы

Часто задаваемые вопросы

Не нашли ответ — напишите нам, ответим в течение нескольких минут.

Скрипты Coverse — это программы на JavaScript, которые работают внутри онлайн-таблиц Coverse и выполняются на серверах Coverse, поэтому свой сервер не нужен. Скрипт запускается по расписанию, при изменении данных, при открытии таблицы, при отправке формы, по вебхуку или вручную из меню «Макросы». Код может написать встроенный AI-ассистент по описанию задачи. Скрипты доступны на тарифе «Бизнес» и выше, данные хранятся в России.

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

Нет. Сформулируйте задачу на естественном языке — AI-ассистент сформирует логическую структуру и код для валидации. Стоимость генерации по одному промпту — 15 AI-кредитов. Для глубокой кастомизации в базе знаний доступен справочник по основам JavaScript.

Выполнение скриптов включено в тарифные планы «Бизнес» и выше. Квота составляет 5 часов работы скриптов в сутки на все таблицы владельца аккаунта, что обеспечивает стабильную обработку тысяч вызовов со средней длительностью выполнения 1–2 секунды.

Ручной запуск скриптов блокируется с сообщением «Время работы скриптов на сегодня закончилось», триггерные вызовы по расписанию пропускаются до восстановления квоты. Суточный лимит обновляется в 00:00 по часовому поясу владельца аккаунта. Остаток отображается в панели скриптов: «Сегодня: N мин из 5 ч».

Доступны готовые сценарии интеграции с ключевыми B2B-сервисами:

  • Платёжные системы: ЮKassa, Т-Банк
  • CRM и учетные системы: amoCRM, Битрикс24, 1С, МойСклад
  • Маркетплейсы: Wildberries, Ozon
  • Аналитика и маркетинг: Яндекс Метрика, Яндекс Директ
  • Заявки с сайта: Tilda
  • Уведомления: Telegram

Поддерживается подключение к любой внешней системе через REST / HTTP API. Для каждого сервиса в базе знаний доступна инструкция с готовым кодом скрипта.

Доступ к коду, настройкам и журналам выполнения регулируется правами доступа к таблице:

  • Редакторы и Владелец: имеют доступ к исходному коду и конфигурации триггеров.
  • Читатели: полностью изолированы от кода, журналов и секретов.

Секреты и API-ключи хранятся в зашифрованном виде во вкладке «Секреты». Исходные значения не отображаются в открытом виде ни для кого из участников, а в журнале запусков автоматически маскируются (***).

Да. Пользователи с правами редактирования могут активировать сценарии через меню «Макросы», назначенную кнопку на листе или горячие клавиши. Доступ к редактору исходного кода при этом не требуется.

При сбое выполнения в журнале запусков фиксируется текст ошибки с указанием номера строки. Кнопка «Исправить ошибку последнего запуска» передаёт ошибку AI-ассистенту, он предлагает исправление кода, вы его принимаете. Также платформа сохраняет историю из 200 последних версий кода с возможностью мгновенного отката (Rollback).

Скрипты Coverse используют стандартный синтаксис JavaScript (ECMAScript) и привычную объектную модель таблиц.

Ключевые преимущества:

  • Мгновенные вебхуки: мгновенная генерация URL-эндпоинта без необходимости публикации веб-приложения.
  • Встроенные модули: нативная поддержка Telegram API, безопасный менеджер секретов и функция CoverseAI.ask.
  • Расширенные события: обработчики событий изменения (On Edit) получают полный контекст всех модифицированных ячеек.

Да. API Coverse поддерживают ключевые методы манипуляции данными (getRange, getValues, setValues, appendRow). Готовый скрипт обычно переносится за несколько минут. Пока не поддерживаются диалоги и собственные функции для ячеек. В базе знаний доступны таблица соответствия API-методов и пример переноса скрипта.

Максимальная длительность выполнения — 30 секунд, лимит RAM — 64 МБ, ограничение на внешние HTTP-запросы — до 50 за запуск.

Архитектурные рекомендации:

  • Пакетная обработка (Batching): разделяйте длительные процессы на итерации.
  • Сохранение состояния: фиксируйте промежуточный прогресс (курсор/смещение) в Properties.script и запускайте следующие этапы по расписанию.
  • Блокировка параллелизма: система предотвращает повторный одновременный запуск одного и того же скрипта (Mutex/Lock-механизм).

Да. Платформа предоставляет несколько способов взаимодействия:

  • Триггер по вебхуку: вызов скрипта осуществляется через POST-запрос на уникальный URL-эндпоинт.
  • Прямой REST API: позволяет читать и записывать данные таблицы напрямую, без создания промежуточных скриптов.
  • MCP-сервер: нативный протокол для интеграции с внешними AI-агентами и LLM-инфраструктурой.

Адрес вебхука всегда секретный. Проверка токена, HMAC-подписи и IP-адресов включается в настройках триггера, лимиты нагрузки и автоматическая блокировка действуют всегда:

  • Аутентификация и валидация: использование уникального случайного URL (Secret Endpoint), проверка токена в заголовке X-Coverse-Token и валидация целостности полезной нагрузки через HMAC-подпись.
  • Сетевые ограничения: фильтрация входящего трафика по белым спискам (IP allowlist до 20 IP-адресов или CIDR-подсетей).
  • Лимиты нагрузки (Rate Limiting): ограничение до 60 запросов в минуту и максимальный размер Payload до 100 КБ.
  • Автоматическая блокировка: при зафиксировании 20 последовательных неудачных попыток аутентификации триггер автоматически деактивируется платформой.

API, скрипты и ИИ-агенты работают с одними данными

Выберите, кто делает работу: ваша программа, код в таблице или нейросеть.

Быстрый старт автоматизации

Опишите задачу словами прямо в таблице Coverse. ИИ напишет скрипт и предложит запуск и нужные секреты.