# Как использовать Google Sheets для рассылок

* [Как настроить лист](#how-to-set-up-the-sheet)
* [Как активировать скрипт](#how-to-activate-the-script)
* [Как настроить чат-бота](#how-to-configure-the-chat-bot)
* [Как настроить триггер](#how-to-set-up-a-trigger)

## Как создавать рассылки с помощью Google Sheets

Как это работает: бот собирает новые адреса и вставляет их один за другим в первый столбец (A3:A на листе «Sending»). Google-скрипт запускается, когда задано время или когда вы изменяете лист (в зависимости от того, что является триггером), он создаёт рассылку с новыми адресами и перемещает их на лист «Log» с отметкой времени.

```
function SendMail() {

var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName("Sending")
var email = sheet.getRange("a3:a").getValues()
var subj = sheet.getRange("c2").getValue()
var body = sheet.getRange("d2").getValue()
var arr = []

MailApp.sendEmail(email, subj, body)
arr = [[new Date(), email]]

//записать отправленные адреса в Log
ss.getSheetByName("Log").getRange(ss.getSheetByName("Log").getLastRow()+1, 1, 1, 2).setValues(arr)
//очистить лист Sending
sheet.getRange("a3:a").clearContent()
}
```

Настройка состоит из 4 частей: **настройка листа, активация скрипта, настройка чат-бота** и **настройка триггера**

## Как настроить лист

Создайте копию [листа с кодом](https://docs.google.com/spreadsheets/d/1SJYyF1YRJ-BWflqy_8Ad9zvbJCO1Tv7nIItiBadmeIc/edit?usp=sharing): Файл -> Создать копию

![](https://lh4.googleusercontent.com/0znfipVFnBgjF0xaHim-CaAE2jpFerBN07E_eWb7w_6qg0-HKaL91a1GartyWuiNL-5IdyXEZ6eP9_hptfzLdas86wEnknas5lYRM155hbFBZvRjVMmhq3TPWH00hqNGpfTDHWTReIEVd9Y7JA)

Обратите внимание, что там указано, что скрипты тоже будут скопированы — убедитесь, что так и есть при копировании листа. Нажмите «Создать копию».

![](https://lh6.googleusercontent.com/WmeNROF_YPBTaR5YQ7pUu_YRO6sJ7VmZ9JUS3oOmpdDVDqFYJNV2sGPcSG8Vtya6jBe6ul9xTHU7z1YM0mK7PiKUMVrj4UqMpF7KmiDivpVEGAB1Q_Fsrq0UNap_sn30WUvt8eEJto-qEKFSMQ)

На листе «Sending» вы изменяете только столбцы B2 и C2:

![О листе: бот вставляет адреса в первый столбец (A3:A на листе «Sending»). Вам нужно изменить только столбцы темы и сообщения, ничего больше](https://lh3.googleusercontent.com/dL8NVFfqvpbXApcPNBN98na1DpwkRt5h30uPtLspmvGgSHenjO3GWyLjV1TYjyXrlcb0qkBeNDNu5qJVZP4kBko_o9bVZW9hHpyd93ZSkGGP1lHAQCkN4xTn1SivbYo0ILKCdSdll_OA98sdMQ)

Теперь нужно проверить доступ к вашему листу, он должен быть доступен для редактирования всем, у кого есть ссылка, как на скриншоте ниже.

![](https://lh4.googleusercontent.com/hUpiJdh33M7hKw-DG1jLic1N9vl6HSBnHet6TMKbATLsZG-CraY7-oI3hNKLKsCmlXXhP9QCfu5TdlN1F_odYBy1N0Eki9jebxEtPVowSBLMm61Ci2E5by80nQVg7dhrYWxV4Max2vCyvk9tcQ)

## Как активировать скрипт

В ваших таблицах Расширения -> Apps Script

![](https://lh4.googleusercontent.com/EQxeAihqUiXpWkR06psB0UY2ZqYGpkJ_Djk1GBlg9ASWZZ22m4QL48OBGiu8mBG7Y3SAruChb8xqzUjL2F2uWsEocOc0N5VEB9jgXdN39E8nKWpwIkBqFjk73iy1U7T5MWprgykr94wa9wHVtA)

Выберите **«SendMail»**

![](https://lh3.googleusercontent.com/CznVVRkKKT4vG95VASXmWbFrnnptM91Bkaz_8oTcQ6i6mBJ7o8zaQOnKjtDo5r-DuCcoAsB24cA7wWz0TpkOzcXrLBIcWQlgk0Q8QJwOmtvW7OcyXjlB1klYsat4PG12j9UuhjB2Kc_3wkDi6Q)

Нажмите **«Run»**

![](/files/c0f29e110d11e934ec9fe393f4c3c207f8c05395)

Нажмите **«Review permissions»**

![](https://lh5.googleusercontent.com/mkuOfM_1Q2ZOhrZV-y3wvdjSmiMIIVvG08hv15N9iWb5UkqKFUgOpvYFKFTNJdhn-6do7DyFTPDqwr4Zw9GlxvgaOdQp8ehiRCZKgumr9sDmhJsN-uD_saMsawV88YVm3fwe5nDEFvSdzVqxoQ)

Выберите аккаунт, с которого хотите отправлять рассылку.

![](https://lh4.googleusercontent.com/WMnh64nzsoFhNHlbTEOYeniFcXMd4UKOauXFxmTgOb_t4vHzyC_fb6bOl_WNxDRsDgYA9sggerakcy1_6SIZ_fG0PbKER8-cDR3swEngIaTcFD3aIfFVc-tkHUrl_qKHUVnWp7ooIiiNxjngLw)

Нажмите **«Advanced»**

![](https://lh6.googleusercontent.com/KKVlceduQy1mvcFBb_Fzdkb9dAVCG4oBcxBkdSfBPV92_zkZGKn6sVpZfbrHVC8EQo3U_-7I1dGpkUzgYRCTrxvfg5Uu61ZJgcSVaEd5GJf2DSEEE2WMZmbB4l-ILT_ncPqeOvGbNlP-LQXcrA)

Нажмите **«Go to (имя скрипта) (unsafe)»**

![](https://lh3.googleusercontent.com/d0h-SyYP_emJpadCb4je04Md04JCj4W7Y6Nnk34LpFY96Vu_G_E6aJ8rhq1N-fJAdu0fYgisCgJLAuvD-ZwSaL5NlC_9k0Sasq5OWLMWyohx2Fok2oJFSy278l-9iDVPL8aHpMj6uu2S388F8A)

Нажмите **«Allow»**

![](https://lh3.googleusercontent.com/ed24LwyVea_PNw09wUZNFWwC8Vlu7jt96z3hajRQz-rBR63Hjws473KrFhppSEMXdFJTHJ5dCfbz_UPl0lmdnZgiujvgOtDTgAGfNk9ajglJhTy8MvCJU71DGCo1TnlfkN_IPs7_kjLI2XswSA)

Теперь нужно убедиться, что скрипт активирован, проверив письмо с предупреждением безопасности в вашем аккаунте

![](https://lh6.googleusercontent.com/CA0T1ucBr43qZm2mGtnNKXhQB7r6aAlLLD6dqZ60ADBGrH9ewKIENTx96ohZfPYlfL2rxSA9wOa_3off0NnimW3yUSiNVt34s1ko9TYfPEWhLxZBo-2GCYTo8ZfSrEikHbpkfkoQHMEeKfFPDA)

## Как настроить чат-бота

Возьмём в качестве примера следующую схему, состоящую из трёх блоков

![](https://lh3.googleusercontent.com/CZWqjtQ4jFIV44IYZGjF4K6HGaEBN2cdBFYGr1PbwoW-7_hq37l51n4aHFkH3pUZyAM5rrN9DoMxkZPxG26VYNqgGdmBmF9EChesJXIfcWtffqHskemFU5-kakeJcwzERMxxMsgVfFCIUrEx7A)

1\) Первый зелёный блок **«Primary condition check»** запускает диалог с ботом. Здесь мы вводим фразу, которая запустит его, в условиях. Чтобы убедиться, что настройки сохранены в блоках, не забудьте нажать **"Сохранить"** после добавления.

![](https://lh6.googleusercontent.com/6ffv52weuudLlHsC1AXgyl48u4QXdyxSv2O0K6sfxPVBrOlYJkGVbsqQ6hGNRsk4VjNGWZn9dtdCPjOWXKbujTm8iR_N-JL1L8hO4WKfixQ_FAY3eiN6m0H_5WCN-Adc5OwJ0G8UtfimAPbbgg)

2\) Теперь создайте блок ниже и отредактируйте соединение. Откройте вкладку «User enters data» и вставьте имя переменной (client\_mail, как в примере). Затем укажите регулярное выражение в условии для проверки email. На этом этапе важно проверить точность введённых данных, иначе скрипт будет сильно зависать. Вы можете использовать одно из следующих выражений:

^\[a-z0-9]\[a-z0-9\_.-]*@(\[a-z0-9]+.)*\[a-z0-9]\[a-z0-9-]+.(\[a-z]{2,6})$

^\[-\w.]+@(\[A-z0-9]\[-A-z0-9]+.)+\[A-z]{2,4}$

![](https://lh6.googleusercontent.com/50dUCHfRgUdqhue-PmZ5nCi5ndIWEnZdCOZijnq6e26HtTVcgzQRzLSoYsVOJ0CMKDmuYLWEpbA5J29GDD4oO4xJsQoC9brKIpv7j-udJ3qsX335tMrFjsLvRIbW9c99Rwc14GaIM0gTBeE_kw)

Подробнее о регулярных выражениях [здесь](https://docs.salebot.ai/variables/list-of-useful-regular-expressions)

3\) Следующий блок — тот, который переносит данные в таблицу. Настройте всё так, как на скриншоте (описание полей ниже)

![](https://lh5.googleusercontent.com/zkwBa6IAlb8tbGQsyYyancfz-svS1jEZ_5IqOoW4hMqaupiEgFP7QboWH8t6C5a-efwgxdhOhMhi62LAG0leRyUsWBxFEOF5MVmouhAyPpxBTw7GH1ncpAjiz_tI7HMH834EAZvAD9UpPH55LA)

* Выберите тип запроса POST-json.
* Вставьте URL функции во вкладку «URL request».

  \_<https://store.salebot.ai/function/gsheets_&#x20>;
* Вставьте следующую строку во вкладку «JSON parameters» \
  \
  \&#xNAN;*{"id": "(your id parameter)", "mapping":{"a":"#{client\_mail}"}, "list\_name": "Sending"}*\
  \
  Вставьте свой параметр id из ссылки на вашу таблицу. Вы можете найти его в ссылке на неё после d/

![](https://lh5.googleusercontent.com/o6lwAhIQht-QCEaMmgKJigcS_YGkWcQ3lnyBL7ny0NTgcl160dBbwsu6lFuhjntkKxzElimLGXll5vhEv5ZlzqkQJ75A-TM9p_8Tr8cNVUCRTwQbp6f5UURrvAmzsxxrrJ3JkYDTfk0M100vjg)

## Как настроить триггер

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

![](https://lh5.googleusercontent.com/of8l8zMhl_K_0TQu016FdRxrpqiynd7rSYtvDbURmpZw3Nl8fxA5tAdenyG-r1bNVHW7kZmZCnCwNin3-auJpSPKQIa6WvdPqmbQNsR0GzEmbHEGM18ZIGkscbggkkDVbnKH07NsuTrVF_wp-w)

Если всё прошло успешно, откройте Extensions -> Apps Script -> SendMail, а затем Triggers в меню слева.

![](https://lh4.googleusercontent.com/C8vlOIX_davRzXgp6aqzkwnmNSIutirJSrajGNdyg2fDtTVZrk2s6l3KUBgo3DX_AgMKCCS1DQixPM6Wt72aGF6Pr2ExuUfGE1m76-nQj0J1dOUOk8_xnCNpKGpN8aoz1EAjyD1c87WuCqQNrQ)

Создайте новый Trigger с помощью кнопки в правом нижнем углу экрана

![](https://lh6.googleusercontent.com/rZBUefTUe_7NH70qsa9xEW_jbYf0IAGMvUcstUzHEoaZSUTzr041wisei6UNxCxFB1y938qHjg2gBnFGEdqB1_OLvarMltZQbYZxKw1LJuEE-BzDElQ1PtBjYOSjofG-QE8Ml6G2QDz77mKjSA)

Настройте его как на скриншоте. Если вы настраиваете Time-driven, то знайте, что интервал должен быть не менее 30 минут. Вы можете выбрать свои значения, но помните, что существуют определённые [квоты](https://developers.google.com/apps-script/guides/services/quotas). Затем нажмите **"Сохранить"**.

![](https://lh5.googleusercontent.com/K6zGZeA95Cxg0ylq4ZpwOjBGwovnvpAIHbxutgTT0pwosoQD2e69VhvM87O-qVwykxjIPCslC4Ht2eFSdl2ecAg4WTJ1CqKCEGNBnlf9vPqGtG3tncEyguFmv1WYn7zWhTV5iynnNdzibw6zLA)

Теперь в списке есть триггер. Настройка завершена!

![](https://lh6.googleusercontent.com/jyjPMqqLvPL0yUZcvNFWexSmaCXJ91JyWykbMylzqitwEBKNtmU2SUo0gU4SQwd5unJLAcuphVMvD61IVR79lFhOdULbuNsaJwOgxkMRVq45RmVitPSr70YAw2HNqebe6IalO1mbey4ebZN1ng)

#### Другие полезные ссылки:

[Лимиты отправки Gmail в Google Workspace](https://support.google.com/a/answer/166852?hl=en)

[Подробнее о Gmail Service](https://developers.google.com/apps-script/reference/gmail/)

[Квоты для сервисов Google](https://developers.google.com/apps-script/guides/services/quotas)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ru/osobye-vozmozhnosti/kak-ispolzovat-google-sheets-dlya-rassylok.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
