Перейти к основному содержимому

Скрипты для отдела продаж

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

Заявки попадают в таблицу сами​

ОткудаЧто сделать
Форма на сайте TildaЗаявки с сайта на Tilda
Форма Coverseответы записываются в таблицу без скрипта; уведомление в Telegram — Заявки с формы в Telegram
Бот TelegramБот Telegram записывает в таблицу
amoCRM или Битрикс24Сделки из amoCRM и Битрикс24
Интернет-магазинПриём заказов с сайта через вебхук

Распределение заявок по очереди​

Каждая новая заявка с формы получает менеджера по кругу: первая — Анне, вторая — Борису, третья — Вере, четвёртая снова Анне. Счётчик хранится в Памяти таблицы.

Триггер: при отправке формы, функция onFormSubmit. В листе с ответами формы добавьте столбец «Менеджер».

const MANAGERS = ["Анна", "Борис", "Вера"];

function onFormSubmit(event) {
if (!event) return;

const sheet = Coverse.table.getSheet(event.sheet);
const column = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0].indexOf("Менеджер") + 1;
if (column === 0) throw new Error("Добавьте на лист с ответами столбец «Менеджер»");

const next = Number(Properties.table.get("nextManager")) || 0;
sheet.getRange(event.row, column).setValue(MANAGERS[next % MANAGERS.length]);
Properties.table.set("nextManager", next + 1);
}

Ответы формы обрабатываются по очереди, поэтому два менеджера не получат одну заявку. В очереди ждёт до 50 ответов: если их больше, лишние останутся без менеджера.

Дата смены статуса​

Когда менеджер ставит в столбце «Статус» значение «Оплачен», в соседний столбец справа записывается дата.

Триггер: при изменении, функция onEdit, лист «Заказы», диапазон со столбцом статусов, например E:E.

function onEdit(event) {
if (!event) return;

const paid = event.changes.filter((change) => change.row > 1 && change.value === "Оплачен");
if (paid.length === 0) return;

const sheet = Coverse.table.getSheet("Заказы");
for (const change of paid) {
sheet.getRange(change.row, change.column + 1).setValue(new Date());
}
}

Запись даты не запускает onEdit повторно: изменения, которые делают скрипты, триггер не вызывают.

Подсветка и контроль​

Отчёты​

Частые вопросы​

Как автоматически распределять заявки между менеджерами?​

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

Можно ли получать отчёт о продажах каждое утро?​

Да, скрипт по расписанию считает заказы и выручку за вчера и присылает их в Telegram.

Как собирать заявки с сайта и CRM в одну таблицу?​

Используйте руководства по Tilda, amoCRM и Битрикс24: заявки и сделки будут попадать в таблицу автоматически.

Что дальше​