Для начала нужен гугл аккаунт, авторизируемся, переходим в гугл таблицы https://docs.google.com/spreadsheets и создаём новую таблицу

Далее заходим в меню "расширения" -> "Apps script"

В нём пишем функцию заполнения данных из скрипта BAS через get-запрос. Отправлять мы будем номер строки для записи данных и сами данные:
function doGet(e) {
var rowNumber = e.parameter.rowNumber;
var data = e.parameter.data;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(rowNumber, 1).setValue(new Date().getTime());
sheet.getRange(rowNumber, 2).setValue(data);
return ContentService.createTextOutput("Your advertisement could be here :)");
}
Благодаря этому скрипту данные будут заполнятся в таблице в таком виде:

Что бы проверить, что всё работает как надо, нужно сохранить скрипт

Затем нужно развернуть приложение "Начать развёртывание" -> "Новое развёртывание":

В описании укажите хотя бы цирфу, что бы потом не запутаться. В поле "запуск от имени" нужно указать "От моего имени" что бы данные в таблицу можно было добавлять без авторизации в гугле через get-запросы из BAS. В поле "У кого есть доступ" указать нужно "Все" тоже для того, что бы не авторизовываться в гугле при добавлении данных в таблицу

Затем нужно нажать "Начать развёртывание" и в появившемся окне скопировать ссылку на веб-приложение и нажать кнопку "Готово"

Сохранённая ссылка будет подобного вида:
https://script.google.com/macros/s/AKfyмногобукавOia06eA/exec
Пробуем передать данные. Для этого к ссылке нужно добавить параметры "rowNumber" и "data"
https://script.google.com/macros/s/AKfyмногобукавOia06eA/exec?rowNumber=1&data=potok_1
Заходим в BAS и создаём get-запрос с этой ссылкой. После выполнения проверяем добавились ли данные в таблицу:

Убедившись, что всё хорошо продолжаем работу. Теперь нам нужно создать функцию отправки сообщения в телеграмм. Для этого нужно создать бота телеграмм и получить id чата. Расписывать подробно не буду, проще прочитать здесь https://habr.com/ru/articles/306222/
Добавляем в наш скрипт в "Apps script" функцию отправки:
function sendTelegramMessage(messageText) {
var telegramToken = "BOT_TOKEN";
var chatId = "CHAT_ID";
var url = "https://api.telegram.org/bot" + telegramToken + "/sendMessage?chat_id=" + chatId + "&text=" + encodeURIComponent(messageText);
var response = UrlFetchApp.fetch(url);
}
Для проверки добавляем чуть ниже вызов функции:
sendTelegramMessage("hello")
выбираем функцию "sendTelegramMessage" и нажимаем кнопку "Выполнить". В итоге вам в тг от бота должно придти сообщение "hello".
Если всё хорошо, удаляем из кода строку sendTelegramMessage("hello") и приступаем к написанию функции проверки данных.
function checkForData() {
var minutesCheck = 5 //количество минут прошедших с последнего обновления данных, для регистрации проблемы
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
var currentTime = new Date().getTime();
var resultArray = [];
for (var i = 0; i < data.length; i++) {
var timestamp = data[i][0];
var timeDifference = (currentTime - timestamp) / (1000 * 60);
if (timeDifference > minutesCheck) {
resultArray.push(data[i][1]);
}
}
if(resultArray.length > 0) {
sendTelegramMessage("Проблема с потоками:\n" + resultArray.join('\n'))
}
}
Функция проверяет столбец "A" с записанным временем и сверяет, прошло ли с того времени 5 минут, если прошло, то функция берёт данные с этой строки из столбца "B" и отправляет в тг
Для проверки выбираем функцию "checkForData" и жмём кнопку "Выполнить". В итоге вам в тг от бота должно придти сообщение

Если всё хорошо, можно приступить к установке тригера по времени. Для этого нужно нажать на значок с часами на левой панели "Apps scripts"

Справа внизу будет кнопка "Добавить триггер"

Функцию нужно выбрать "checkForData". Развёртывание лучше указать "Основное развёртывание". Тип триггера указать "по минутам" и промежуток указать "раз в минуту" (ну или по больше, если не так важно)

Нажимаем кнопку "Сохранить" и в списке триггеров должен появится только что созданный триггер:

В конце нужно сделать снова новое развёртывание и получить ссылку. Разворачивать кстати придётся при каждом изменении скрипта в будущем.
Приступаем к проверке работы всей системы. Создаём скрипт BAS на 10 потоков, в которых каждый поток узнаёт свой номер и отправляет его в качестве номера строки в таблице и данных. Для корректной передачи данных для параметра "data" нужно использовать действие "Url компонент кодировать/декодировать", а номер потока можно передавать просто цифрой:

Данные в таблице будут в таком виде:

Всё. Если остановить скрипт, то через минуту придёт сообщение в тг:

Сообщение об ошибках будет приходить в тг каждую минуту, потому что в настройках триггера было установлено частота выполнения "раз в минуту"