Передача данных из «Google Таблиц» в Telegram – это просто!
Вы думаете, что настроить передачу данных из Google Sheets в Telegram – это сложно? На самом деле, всё гораздо проще, чем можно себе представить!
Настройка передачи информации из «Гугл Таблиц» в «Телеграмм» открывает бизнесу, фрилансерам и обычным пользователям массу возможностей и может избавить их от необходимости выполнят рутинные задачи. Зачем тратить время на ручную отправку сообщения о добавлении новых строк в таблицу, когда можно сделать так, чтобы соответствующие уведомления отправлялись автоматически.
Кому могут понадобиться такие возможности и как их реализовать — об этом и пойдет речь ниже.
Кому и зачем нужна интеграция «Телеграмма» с «Гугл Таблицами»?
Рассмотрим только две ситуации, хотя на самом деле их огромное множество. Допустим, у вас есть интернет-магазин, вы пока не используете CRM и фиксируете информацию о заказах и клиентах в «Гугл Таблице». Вам может понадобиться распределить поступающие заказы между ответственными менеджерами. Часто при этом передача данных осуществляется вручную. Если заказов 10-20, то справиться можно, хотя это и потребует дополнительных временных затрат. Но как быть, если в день поступает 50, 100 и больше заказов и идут они из разных источников? Трудно ничего не пропустить и не допустить ошибку.
Другой пример, вы работаете на фрилансе и получаете задачи от клиента в «Гугл Таблицах», чтобы ничего не пропустить нужно постоянно заглядывать в файл или ждать, когда о новых задачах сообщит заказчик. Если оба замотались — пропущена задача и снова потеряно время.
Получается, в обоих случаях ручная рутинная работа и мониторинг отнимают время, которое могло быть потрачено на более важные задачи, и приводит к ошибкам, а это уже упущенная прибыль, репутационные риски.
После настройки автоматизации уведомления об изменениях в таблице будут сразу же приходить в мессенджер ответственному менеджеру или фрилансеру, как в примерах выше. К тому же можно сделать так, чтобы вы могли указать, какие именно данные будут передаваться в мессенджер и при каких условиях.
Но сначала давайте разберемся, как настроить связь таблицы с Telegram с помощью ApiX-Drive на примере упомянутого выше интернет-магазина.
Как связать работу «Google Таблиц» и Telegram с помощью ApiX-Drive?
Не будем останавливаться подробно на регистрации в сервисе, делается это очень просто и быстро, тут сможет разобраться каждый.
После того, как процедура регистрации успешно завершена, заходим в личный кабинет и нажимаем «Создать связь».
Настраиваем Google Sheets
Дальше нужно выбрать систему, из которой будут экспортироваться данные, в нашем случае «Гугл Таблицы».
Указываем, о каком действии будут отправляться уведомления в «Телеграмм». Нам нужно, чтобы приходила информация о новых заказах, поэтому выбираем «Загрузить строки (новые)».
Теперь подключаем аккаунт, в котором находится таблица с заказами. Если вы выполнили вход в профиль любого сервиса «Гугла» — система сама распознает, ваш аккаунт, вам останется только предоставить ей доступ к данным.
Выбираем файл, с которым будем связывать Telegram. ApiX-Drive подгрузит все таблицы с вашего «Гугл Диска», указываем нужную. Если в ней много листов — понадобится указать конкретный лист, с которого системе нужно брать данные.
После этого нужно прописать порядковый номер строки, начиная с которой будут передаваться заказы. Если информировать менеджеров о первых заказах, которые уже выполнены, не нужно, и вы хотите, чтобы приходила информация только о будущих заказах, то указываем номер первой пустой строки. В нашем примере это строка 7.
Затем ApiX-Drive предлагает настроить фильтры, если это необходимо. Допустим, нам не интересны заказы с суммой меньше 200 долларов. Их будут обрабатывать в обычном режиме, а менеджеры получат оповещения в «Телеграмм» только о тех, которые равны или больше этой цифры. Так они смогут проследить лично за исполнением крупных заказов.
Свяжите сервисы между собой без программистов за 5 минут!
Как настроить выгрузку новых заказов из PrestaShop в Retail CRM?
Подключение Ecwid
В «Поле для фильтрации» указываем столбец, в котором вы записываете цены. В пункте «Действие» выбираем «больше равно», затем появится поле «Значение», сюда записываем цифру 200.
Можно выбирать и другие условия для передачи, например, по статусу сделки, дате её исполнения, источнику. Так, возможно вы хотите отправлять менеджеру информацию о заказах, полученных именно с сайта, игнорируя все офлайн-заказы. В таком случае выбираем колонку с источником сделки в «Поле для фильтрации», выбираем действие «регулярное выражение», а в «значении» пишем «сайт».
Обратите внимание, что есть возможность одновременно подключать сразу несколько фильтров по разным значениям, сочетая их между собой. При этом можно задействовать два варианта условий. «И» – если вам нужно, чтобы выполнялось условие всех фильтров одновременно; «ИЛИ» – когда достаточно срабатывания лишь одного из фильтров.
Так, в первом случае можно настроить передачу уведомлений, когда заказ больше или равен 200 долларов И получен с сайта. Во втором же случае достаточно, чтобы выполнялось то ИЛИ другое условие.
Как видим, фильтры – это очень мощный инструмент, позволяющий не ограничиваться простой передачей данных, но сделать так чтобы при этом учитывались самые разные условия.
Настраиваем Telegram
На этом настройка «Гугл Таблиц» завершена, переходим к Telegram, который будет использоваться как приёмник данных.
Выбираем его в списке и добавляем нужное нам действие действие — «Отправить сообщение».
Теперь подключаем аккаунт «Телеграмм». Для этого необходимо найти в «Телеграмме» бота ApiX-Drive: @apix_drive_bot. Отправьте ему сообщение, в которое скопируйте строку подключения, ее вам на этом этапе уже сгенерировала система. Бот отреагирует на это вот таким сообщением:
Это означает, что вы всё сделали правильно. Теперь настраиваем сообщение, которое будет приходить в мессенджер.
Системные данные — это информация о том, когда произошло событие. Если вам важно, чтобы менеджер получил время и дату, когда заказ был добавлен в таблицу — добавляем эти значения. Лучше в столбик, так удобнее будет форматировать и просматривать.
Когда закончили с системными, переходим к данным из «Гугл Таблиц». Чтобы менеджеру приходила не только сумма, но и информация о заказе, выбираем нужные колонки, например, добавим еще ФИО клиента, у нас эти данные в колонке В.
Включаем интеграцию
На этом настройка связи завершена, чтобы проверить, что всё работает, можно отправить тестовое сообщение. Осталось включить автообновление.
Добавим в «Гугл Таблицу» новый заказ в графу 7, с которой мы настроили прием уведомлений:
И вот в «Телеграмм» пришло сообщение о новом заказе:
Теперь добавим заказ со значением 200 долларов. И для чистоты эксперимента добавляем еще заказ с меньшей суммой, например, 150 долларов:
Уведомление о заказе на 200 пришло пришло, а вот на 150 – нет. Все работает!
Заключение
На самом деле настраивать связь и передавать нужные данные очень просто. У сервиса интуитивно понятный интерфейс. На каждом этапе вам будут предлагаться пошаговые инструкции. Если же всё равно что-то будет непонятно, то к вашим услугам подробная справка со скриншотами и даже видеоуроками.
У ApiX-Drive очень широкие возможности, можно выстраивать целые структуры, позволяющие автоматизировать практически что угодно. Например, зачем вносить данные о новых заказах в Google Sheets вручную, если можно сделать так, чтобы они автоматически погружались с сайта магазина. Получается уже более интересная схема – сначала данные автоматически приходят в таблицы, а затем уже отправляются в мессенджеры менеджерам.
И подобных идей можно придумать множество – все зависит от потребностей вашего бизнеса! Например, почему бы не настроить отправку уведомлений из Trello в Telegram?
Читайте также о других интеграциях ApiX-Drive
- Как я настроила получение уведомлений из «Трелло» в Telegram
- Передаём лиды из Facebook в Telegram, Google Sheets и вообще куда угодно
- Интеграция Google-таблиц и Viber: настраиваем автоматическую передачу данных
- Как настроить передачу обращений из ManyChat в Google Sheets
- Интеграция Google Sheets и amoCRM: как настроить автоматическую передачу данных
Как настроить работу Телеграм-бота с Google Sheets
Разные команды в REG.RU пользуются чат-ботами в Телеграме. SEO-команда оперативно отслеживает изменения на сайте, руководители клиентских служб мониторят работу своего отдела, а сотрудники техподдержки могут посмотреть график работы на день/неделю без авторизации во внутренних сервисах, что очень удобно, если сотрудник, например, за городом.
Часто подобные боты имеют несложное устройство. Например, они могут загружать для работы из Google-таблиц список товаров с ценами и количеством, имена работников отдела с указанием времени работы/отпуска. Сегодня разберемся, как сделать такого чат-бота.
В продолжение статьи о создании Телеграм-бота расскажем, как настроить совместную работу бота и Google Sheets API v4 вместе со специалистами команды вёрстки REG.RU Анной К. и Виктором Ш.
Попробуем научиться получать данные из нашей Google-таблицы, в которой, например, указаны дни рождения наших друзей. Мы хотим, чтобы бот в ответ на имя друга подсказывал его день рождения. Начнем!
Настройка Google API
В меню «Учетные данные» нажимаем «Создать учетные данные».
Через сервисный аккаунт мы будем соединять бота и таблицу. Указываем название аккаунта, роли, предоставляем пользователям доступ к сервисному аккаунту, если это необходимо.
Заходим на сервисный аккаунт
и выбираем «Создать ключ».
Выбираем нужный нам формат. Мы оставим рекомендуемый json.
После загрузки разместим json-файл в корне проекта по Телеграм-бота и переименуем, например, в credentials.json. Не забудьте указать этот файл в перечне.gitignore!
В настройках доступа Google-таблицы предоставим сервисному аккаунту права на редактирование. Для этого нужно добавить в список пользователей почту сервисного аккаунта.
Теперь напишем код для аутентификации.
const fs = require('fs'); const path = require('path'); const < promisify >= require('util'); const < google >= require('googleapis'); const readFile = promisify( fs.readFile ); const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; const CREDENTIALS_PATH = path.join( __dirname, '..', 'credentials.json' ); /** * Создает клиента для аутентификации с помощью JWT * в сервисах Google. * @async * @returns > google.auth.JWT instance */ const getAuthClient = async () => < const content = await readFile( CREDENTIALS_PATH ) .catch( error =>console.log( 'Error loading client secret file:', error ) ); const < client_email, private_key >= JSON.parse( content ); const client = new google.auth.JWT( client_email, null, private_key, SCOPES, null, ); return client; >; module.exports = < getAuthClient, >;
Запускаем код
Для запуска используем библиотеку для работы с ботом Telegraf и сделаем так, чтобы при получении текста бот выполнял функцию saysBirthday из файла saysBirthday.js.
const Telegraf = require('telegraf'); const < saysBirthday >= require('./saysBirthday'); const bot = new Telegraf( BOT_TOKEN ); bot.start( ( ctx ) => < ctx.reply('Привет! Я бот по работе с гугл табличкой!'); >); bot.on( 'text', ( ctx ) => < saysBirthday( ctx ); >); bot.launch();
В файле saysBirthday.js напишем наш код и проверим:
const saysBirthday = async ( ctx ) => < ctx.reply(`Кажется, ты сказал: $`); >; module.exports = < saysBirthday, >;
Отлично, бот отзывается. Теперь научим его получать из таблицы дни рождения.
Получаем данные из таблицы
Исправим файл saysBirthday.js. Добавим в код библиотеку googleapis и функцию аутентификации Google.
const < google >= require('googleapis'); const < getAuthClient >= require('./googleAuth');
Используя функцию getAuthClient, создадим клиента для работы с API Google Sheets.
const getApiClient = async () => < const authClient = await getAuthClient(); const < spreadsheets: apiClient >= google.sheets( < version : 'v4', auth : authClient, >); return apiClient; >;
Теперь получим лист нашей таблицы с днями рождения друзей.
Используем метод API spreadsheets.get — укажем spreadsheetId (берем из URL таблицы с данными) и остальные необходимые параметры.
const getValuesData = async ( apiClient, range ) => < const < data >= await apiClient.get( < spreadsheetId : '1Dj9iugewBOFMeGDb-AIKK26LUHTK0SPjumZpQXhlPPg', ranges : range, fields : 'sheets', includeGridData : true, >); return data.sheets; >;
Теперь получим эти данные из функции saysBirthday, которую бот выполняет при вводе любого текста. В качестве второго аргумента «range» передаем название листа Google-таблицы «Дни рождения».
const saysBirthday = async ( ctx ) => < const range = 'Дни рождения'; const apiClient = await getApiClient(); const [sheet] = await getValuesData( apiClient, range ); console.log( sheet ); >;
Запустим и проверим, какие данные появились в консоли:
Можно проверить, что за массив в rowData. Выведем в консоль значения sheet.data[0].rowData:
Посмотрим, что лежит, например, во втором элементе массива — выведем в консоль sheet.data[0].rowData[1].
Отлично, мы выяснили, что в каждом элементе из массива sheet.data[0].rowData в values лежит информация об имени друга и его дне рождения. Давайте научим бота правильно отвечать на основе этой информации.
Напишем функцию, которая ищет соответствие введенного имени друга строке в таблице.
const findRowIndex = ( sheet, message ) => < const rowIndex = sheet.data[0].rowData.findIndex( ( item ) =>( item.values[0].formattedValue === message ) ); return rowIndex; >;
И используем эту функцию в saysBirthday. Найдем день рождения друга в массиве данных sheet.data[0].rowData, исходя из найденного индекса в функции findRowIndex.
const saysBirthday = async ( ctx ) => < const range = 'Дни рождения'; const message = ctx.message.text; const apiClient = await getApiClient(); const [sheet] = await getValuesData( apiClient, range ); const rowIndex = findRowIndex( sheet, message ); const birthday = sheet.data[0].rowData[rowIndex].values[1].formattedValue; ctx.reply(`День Рождения твоего друга: $.`); >;
Поправим текст, который бот выдает на старте.
bot.start( ( ctx ) => < ctx.reply('Привет! Я бот по работе с гугл табличкой! Напиши имя друга, День Рождения которого хочешь узнать.'); >);
Проверяем работу функции.
Еще немного модернизируем код на случай, если имя друга в таблице не будет найдено.
const saysBirthday = async ( ctx ) => < const range = 'Дни рождения'; const message = ctx.message.text; const apiClient = await getApiClient(); const [sheet] = await getValuesData( apiClient, range ); const rowIndex = findRowIndex( sheet, message ); if ( rowIndex.length ) < const birthday = sheet.data[0].rowData[rowIndex].values[1].formattedValue; ctx.reply(`День Рождения твоего друга: $.`); > else < ctx.reply('Попробуй снова, указанное имя не найдено('); >>;
Отлично! Бот работает так, как мы задумали.
Это простейший пример для начала работы с Google Sheets API v4. Разобравшись, какой формат данных возвращает метод spreadsheets.get, попробуйте получить данные с помощью метода spreadsheets.values.get. Он возвращает данные меньшего объема и меньшей вложенности, но вполне подойдёт, если не нужно считывать и записывать данные о форматировании ячеек. Советуем изучить документацию, с помощью которой можно будет реализовывать более сложную логику, переписывать значения ячеек и форматировать их.
Ещё о создании бота:
- Как написать Телеграм-бота на JavaScript
- Телеграм-бот на сервере
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Передача данных из Google Таблиц в Telegram – это просто!
Вы думаете, что настроить передачу данных из Google Sheets в Telegram – это сложно? На самом деле, всё гораздо проще, чем можно себе представить!
Настройка передачи информации из Google Таблиц в Telegram открывает бизнесу, фрилансерам и обычным пользователям массу возможностей. Она может избавить их от необходимости выполнять рутинные задачи. Зачем тратить время на ручную отправку сообщения о добавлении новых строк в таблицу, когда можно сделать так, чтобы соответствующие уведомления отправлялись автоматически.
Кому могут понадобиться такие возможности и как их реализовать — об этом и пойдет речь ниже.
Кому и зачем нужна интеграция Телеграмма с Гугл Таблицами?
Рассмотрим только две ситуации, хотя на самом деле их огромное множество. Допустим, у вас есть интернет-магазин, вы пока не используете CRM и фиксируете информацию о заказах и клиентах в Google Таблице. Вам может понадобиться распределить поступающие заказы между ответственными менеджерами. Часто при этом передача данных осуществляется вручную. Если заказов 10-20, то справиться можно, хотя это и потребует дополнительных временных затрат. Но как быть, если в день поступает 50, 100 и больше заказов и идут они из разных источников? Трудно ничего не пропустить и не допустить ошибку.
Другой пример, вы работаете на фрилансе и получаете задачи от клиента в Гугл Таблицах. Чтобы ничего не пропустить нужно постоянно заглядывать в файл или ждать, когда о новых задачах сообщит заказчик. Если оба замотались — пропущена задача и снова потеряно время.
Получается, в обоих случаях ручная рутинная работа и мониторинг отнимают время. А могло бы быть потрачено на более важные задачи. Это и приводит к ошибкам, а это уже упущенная прибыль и репутационные риски.
После настройки автоматизации уведомления об изменениях в таблице будут сразу же приходить в мессенджер ответственному менеджеру или фрилансеру, как в примерах выше. К тому же можно сделать так, чтобы вы могли указать, какие именно данные будут передаваться в мессенджер и при каких условиях.
Но сначала давайте разберемся, как настроить связь таблицы с Telegram с помощью ApiX-Drive. Примером будет упомянутый выше интернет-магазин.
Как связать работу Google Таблиц и Telegram с помощью ApiX-Drive?
Не будем останавливаться подробно на регистрации в сервисе, делается это очень просто и быстро, тут сможет разобраться каждый.
После того, как процедура регистрации успешно завершена, заходим в личный кабинет и нажимаем «Создать связь». Дальше нужно выбрать систему, из которой будут экспортироваться данные, в нашем случае «Гугл Таблицы».
Указываем, о каком действии будут отправляться уведомления в Телеграмм. Нам нужно, чтобы приходила информация о новых заказах, поэтому выбираем «Загрузить строки (новые)».
Теперь подключаем аккаунт, в котором находится таблица с заказами. Если вы выполнили вход в профиль любого сервиса Гугла — система сама распознает ваш аккаунт. Вам останется только предоставить ей доступ к данным.
Выбираем файл, с которым будем связывать Telegram. ApiX-Drive подгрузит все таблицы с вашего Гугл Диска, указываем нужную. Если в ней много листов — понадобится указать конкретный лист, с которого системе нужно брать данные.
После этого нужно прописать порядковый номер строки, начиная с которой будут передаваться заказы. Если информировать менеджеров о первых заказах, которые уже выполнены, не нужно, и вы хотите, чтобы приходила информация только о будущих заказах, то указываем номер первой пустой строки. В нашем примере это строка 7.
Затем ApiX-Drive предлагает настроить фильтры, если это необходимо. Допустим, нам не интересны заказы с суммой меньше 200 долларов. Их будут обрабатывать в обычном режиме. Менеджеры получат оповещения в Телеграмм только о тех, которые равны или больше этой цифры. Так они смогут проследить лично за исполнением крупных заказов.
Чтобы это настроить, нажимаем «Добавить условие фильтрации».
В «Поле для фильтрации» указываем столбец, в котором вы записываете цены. В пункте «Действие» выбираем «больше равно», затем появится поле «Значение», сюда записываем цифру 200.
Можно выбирать и другие условия для передачи, например, по статусу сделки, дате её исполнения, источнику. Так, возможно вы хотите отправлять менеджеру информацию о заказах, полученных именно с сайта, игнорируя все офлайн-заказы. В таком случае выбираем колонку с источником сделки в «Поле для фильтрации», выбираем действие «регулярное выражение», а в «значении» пишем «сайт».
Обратите внимание, что есть возможность одновременно подключать сразу несколько фильтров по разным значениям, сочетая их между собой. При этом можно задействовать два варианта условий. «И» – если вам нужно, чтобы выполнялось условие всех фильтров одновременно; «ИЛИ» – когда достаточно срабатывания лишь одного из фильтров.
Так, в первом случае можно настроить передачу уведомлений, когда заказ больше или равен 200 долларов И получен с сайта. Во втором же случае достаточно, чтобы выполнялось то ИЛИ другое условие.
Как видим, фильтры – это очень мощный инструмент, позволяющий не ограничиваться простой передачей данных, но сделать так, чтобы при этом учитывались самые разные условия.
На этом настройка Гугл Таблиц завершена, переходим к Telegram, который будет использоваться как приёмник данных.
Выбираем его в списке и добавляем нужное нам действие — «Отправить сообщение».
Теперь подключаем аккаунт «Телеграмм». Для этого необходимо найти в Телеграмме бота ApiX-Drive: @apix_drive_bot. Отправьте ему сообщение, в которое скопируйте строку подключения, ее вам на этом этапе уже сгенерировала система. Бот отреагирует на это вот таким сообщением:
Это означает, что вы всё сделали правильно. Теперь настраиваем сообщение, которое будет приходить в мессенджер.
Системные данные — это информация о том, когда произошло событие. Если вам важно, чтобы менеджер получил время и дату, когда заказ был добавлен в таблицу — добавляем эти значения. Лучше в столбик, так удобнее будет форматировать и просматривать.
Когда закончили с системными, переходим к данным из Гугл Таблиц. Чтобы менеджеру приходила не только сумма, но и информация о заказе, выбираем нужные колонки, например, добавим еще ФИО клиента, у нас эти данные в колонке В.
На этом настройка связи завершена, чтобы проверить, что всё работает, можно отправить тестовое сообщение. Осталось включить автообновление.
Добавим в Гугл Таблицу новый заказ в графу 7, с которой мы настроили прием уведомлений:
И вот в Телеграмм пришло сообщение о новом заказе:
Теперь добавим заказ со значением 200 долларов. И для чистоты эксперимента добавляем еще заказ с меньшей суммой, например, 150 долларов:
Уведомление о заказе на 200 пришло, а вот на 150 – нет. Все работает!
На самом деле настраивать связь и передавать нужные данные очень просто. У сервиса интуитивно понятный интерфейс. На каждом этапе вам будут предлагаться пошаговые инструкции. Если же всё равно что-то будет непонятно, то к вашим услугам подробная справка со скриншотами и даже видеоуроками.
У ApiX-Drive очень широкие возможности. Можно выстраивать целые структуры, позволяющие автоматизировать практически что угодно. Например, зачем вносить данные о новых заказах в Google Sheets вручную, если можно сделать так, чтобы они автоматически погружались с сайта магазина. Получается уже более интересная схема. Сначала данные автоматически приходят в таблицы, а затем уже отправляются в мессенджеры менеджерам.
И подобных идей можно придумать множество – все зависит от потребностей вашего бизнеса!
Интеграция Telegram и
Google Sheets
Не тратьте время на сведение данных и синхронизируйте Telegram и Google Sheets за 5 минут.
Упростите рутинную работу за счет Albato.
Как работает Albato
Создайте собственную интеграцию между вашими сервисами
Придумайте интеграцию между ними, которая подойдет для решения ваших задач
Соберите придуманный сценарий при помощи ««конструктора» Albato, без участия программистов
Решайте сами, какие данные и в какой момент нужно передавать
Просто нажмите «Запустить», чтобы ваша интеграция заработала
Подключите к Albato сервисы, которыми пользуетесь в 2 клика
Доступные Триггеры и Действия
- Триггеры
- Действия
- Триггеры и Действия
Без кода и программистов
Легко подключайте и интегрируйте нужные сервисы самостоятельно. С Albato вам не потребуется помощь и участие программистов.
Быстрый старт за 5 минут
Чтобы начать не нужны технические навыки. С помощью конструктора интеграций Albato вы можете реализовать даже сложные сценарии с множеством условий.
Поддержка и сообщество
Задавайте вопросы и консультируйтесь с экспертами Albato прямо из личного кабинета, без длительных ожиданий ответов на почте. Или исследуйте и вдохновляйтесь с помощью нашей Базы знаний и сообщества Albato в Telegram
Доступная цена
Оптимизируйте ваш бюджет на разработку или расходы на множество отдельных коннекторов. Соберите все важные интеграции в одном месте и управляйте ими
Раскрыть про без кода Не требуется разработчик Поддержка 24/7 (консультация и помощь в настройке на любом этапе Быстрое закрытие задач Быстрый запуск за 5 минут Подключение к любому API База знаний (большое кол-во статей, видео примерами использования) Поддержка, которая проконсультирует по любому вопросу Решай сам как будет выглядеть сценарий твоей автоматизации