> For the complete documentation index, see [llms.txt](https://docs.leadconverter.su/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.leadconverter.su/integracii/google-tablicy-google-sheets/zapisyvaem-dannye-v-tablicu-s-obnovleniem-dannykh.md).

# Записываем данные в таблицу с обновлением данных

Перед тем как продолжить, нам нужно вернуться в Google-таблицы и добавить столбец с названием **ID** перед **Name**

Должно получится так

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FECsmSLCUtYqf8F3fB3tZ%2Fimage.png?alt=media&amp;token=5270d0c2-502c-4d17-b95a-7fd96b990c0d" alt=""><figcaption></figcaption></figure>

Это нужно для того, чтобы мы могли взять **ID LeadConverter** и проверять данные по нему, так как это уникальный параметр, он никогда не повторяется.

Если **ID повторяется** - то данные будут перезаписываться, если **ID такого нет**, то данные будут добавляться на новую строку.

Переходим на сайт <https://script.google.com/>

{% hint style="warning" %}
Нужно заходить на сайт под **тем же аккаунтом, что мы создали таблицу,** иначе скрипт будет работать некорректно
{% endhint %}

Нажимаем на "**+ Создать проект**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FEwralTIgkLOwj0ZFcVuX%2Fimage.png?alt=media&amp;token=87596020-d87a-44fe-8bb9-ef2835658888" alt=""><figcaption></figcaption></figure>

Даем название проекту "**Ответы из Квиз бота**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FAkDO0CZc8LTom2O8Bjll%2Fimage.png?alt=media&amp;token=ae20a9c4-71d7-4fb9-b8f0-98fd1ef0c184" alt=""><figcaption></figcaption></figure>

Далее вставляем удаляем текст в рабочей области и вставляем следующий код:

```javascript
function doGet(e)
{
  var sheet = SpreadsheetApp.openById("ВСТАВЛЯЕМ ID ТАБЛИЦЫ ИЗ 1 ПУНКТА ИНСТРУКЦИИ");
  var ID = e?.parameter?.ID;

  var lastRowIndex = sheet.getLastRow() + 1;
  var index = lastRowIndex;

  for(let i = 2; i < lastRowIndex; i++) {
    if(sheet.getRange("A" + i).getValue() == ID) {
      index = i;
      break;
    }
  }

  sheet.getRange("A"+index).setValue(ID);
  sheet.getRange("B"+index).setValue(e?.parameter?.Name);
  sheet.getRange("C"+index).setValue(e?.parameter?.Channel);
  sheet.getRange("D"+index).setValue(e?.parameter?.Room);
  sheet.getRange("E"+index).setValue(e?.parameter?.Finishing);
  sheet.getRange("F"+index).setValue(e?.parameter?.Floor);
  sheet.getRange("G"+index).setValue(e?.parameter?.Budget);
}
```

{% hint style="info" %}
Не забываем, первым делом, **заменить текст** ВСТАВЛЯЕМ ID ТАБЛИЦЫ ИЗ 1 ПУНКТА ИНСТРУКЦИИ, **на ID таблицы**, чтобы скрипт понимал куда писать данные
{% endhint %}

Что мы сделали в этом скрипте?

1. Обозначили столбец, по которому нужно проверять данные, повторяются ли они<br>

   <figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FxHT70llVuppvn0iNpNky%2Fimage.png?alt=media&amp;token=d0ae4a7d-9b86-4818-a2fb-44da4a8c7080" alt=""><figcaption></figcaption></figure>
2. Перенесли все буквы из таблицы построчно<br>

   <figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2F7BJkVNgH2ONl8zF6H5RT%2Fimage.png?alt=media&amp;token=eb0e1d9b-6269-4fc6-a782-bf407d396181" alt=""><figcaption></figcaption></figure>
3. Пренесли все названия столбцов соотнеся их с буквами\
   A = ID\
   B = Name\
   C = Channel\
   D = Room\
   E = Finishing\
   F = Floor\
   G = Budget<br>

   <figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FhmNfcfqqZdPo6n5elhY9%2Fimage.png?alt=media&amp;token=23b25d8b-dbd4-408c-9fc5-07976af899e4" alt=""><figcaption></figcaption></figure>

Шаблон для работы в своих проектах - будет ниже

```javascript
function doGet(e)
{
  var sheet = SpreadsheetApp.openById("ВСТАВЛЯЕМ ID ТАБЛИЦЫ ИЗ 1 ПУНКТА ИНСТРУКЦИИ");
  var Название 1 столбца = e?.parameter?.Название 1 столбца;

  var lastRowIndex = sheet.getLastRow() + 1;
  var index = lastRowIndex;

  for(let i = 2; i < lastRowIndex; i++) {
    if(sheet.getRange("A" + i).getValue() == Название 1 столбца) {
      index = i;
      break;
    }
  }

  sheet.getRange("A"+index).setValue(Название 1 столбца);
  sheet.getRange("B"+index).setValue(e?.parameter?.Переменная_в_ячейке_B);
  sheet.getRange("C"+index).setValue(e?.parameter?.Переменная_в_ячейке_C);
  sheet.getRange("D"+index).setValue(e?.parameter?.Переменная_в_ячейке_D);
  sheet.getRange("E"+index).setValue(e?.parameter?.Переменная_в_ячейке_E);
  sheet.getRange("F"+index).setValue(e?.parameter?.Переменная_в_ячейке_F);
  sheet.getRange("G"+index).setValue(e?.parameter?.Переменная_в_ячейке_G);
}
```

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

Нажимаем на кнопку "**Начать развертывание**", далее "**Новое развертывание**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FWXDjKgajHc7TgnAGniMt%2Fimage.png?alt=media&amp;token=d78de4c1-ea09-4edb-bc17-1ee5710238a2" alt=""><figcaption></figcaption></figure>

Нажимаем на иконку <img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2F6LaRULGI4amUBDqyDUr3%2Fimage.png?alt=media&amp;token=c3a44ce6-94dd-4ccb-8b23-84ea1962e2e9" alt="" data-size="original">и выбираем "**Веб-приложение**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2F7GOjZJBh0LmbL7Ek5YgB%2Fimage.png?alt=media&amp;token=06bf3a06-367b-448c-ab68-d131878eba08" alt=""><figcaption></figcaption></figure>

Заполняем "Описание" и выбираем "**У кого есть доступ**" - пункт "**Все**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FU9UR3IHHZmGoslHfGarz%2Fimage.png?alt=media&amp;token=4866a1ff-5f94-489d-a9e2-7859fefbbb2e" alt=""><figcaption></figcaption></figure>

Далее, нажимаем "**Начать развертывание**"

Повляется окно с запросом доступов к нашим данным, нажимаем "**Предоставить доступ**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2Fn5F4meISJDI2bii1dfs3%2Fimage.png?alt=media&amp;token=21450202-b14b-4d2c-99ae-7923a1f0d70d" alt=""><figcaption></figcaption></figure>

В сплывающем окне, выбираем аккаунт, с которого мы создали скрипт

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FTwhneGQ8dJaz2KbRbiN7%2Fimage.png?alt=media&amp;token=e6f2c41e-bec9-4413-8ecd-7ca94125fd8f" alt=""><figcaption></figcaption></figure>

Далее, гугл будет ругаться, что мы предоставляем данные неизвестному приложению. Но так как это приложение мы создаем для личного пользования - бояться нечего :)

Нажмимаем на "**Advanced**" (В русской версии будет кнопка "**Дополнительно**")

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2F2zdOvkJAQyZiIjlScLQt%2Fimage.png?alt=media&amp;token=a6866216-de1b-4db6-ae6c-e0c610e66953" alt=""><figcaption></figcaption></figure>

Далее нажимаем на "**Go to Ответы из Квиз бота (unsafe)**" (В русской версии будет "**Подолжить**")

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FtKPktwB5U3gKy8utxkov%2Fimage.png?alt=media&amp;token=33cd1fa7-907a-48b4-8351-37534f0c3969" alt=""><figcaption></figcaption></figure>

Далее в окне, нажимаем "**Разрешить**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FU6ZycG8glLFK8pmMs6Dl%2Fimage.png?alt=media&amp;token=da045e61-8379-400b-be1b-3c1be247d107" alt=""><figcaption></figcaption></figure>

Далее у нас окрывается окно с **ID развертывания** и **URL**

Нам нужен **URL**, его мы будем использовать в боте и передавать данные

{% hint style="warning" %}
После внесения изменений и каждого нового развертывания, **ID** и **URL** меняются!

**URL** нужно будет заменять после внесений изменений в действии "**Отправить через вебхук**"
{% endhint %}

Нажимаем кнопку "**ОК**" после **URL** и нажимаем кнопку "**Готово**"

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FNPgz2CR599wMnGmK58OE%2Fimage.png?alt=media&amp;token=92ca8714-b1e0-412b-bbbb-38ef307ee069" alt=""><figcaption></figcaption></figure>

Переходим в [LeadConverter](https://leadconverter.ru/)

### 3. Создаем вебхук для отправки данных в Google-таблицы

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

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

Создаем действие и выбираем "**Отправить через вебхук**".

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2F5z57liWz8BfxhlnnjmlN%2Fimage.png?alt=media&amp;token=b01ed43d-4ac7-4370-a40d-ebdb29b3bc11" alt=""><figcaption></figcaption></figure>

Заполняем все поля:

URL-адрес обработчика: **Вставляем скопированную ссылку из шага выше**\
Отправить запрос методом: **GET**

Далее нажимаем на "**+Добавить параметр**" и заполняем построчно параметры запроса

**Name** значение **{{first\_name}}**\
**Channel** значение **{{channel.resource}}**\
**Room** значение **{{Комнаты}}**\
**Finishing** значение **{{Отделка}}**\
**Floor** значение **{{Этаж}}**\
**Budget** значение **{{Сумма}}**\
**ID значение {{id}}**

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2Fi4T4aIRotv16COnv19jj%2Fimage.png?alt=media&amp;token=bc7f9b88-fbdb-44a6-be5b-6bc8ee5c2732" alt=""><figcaption></figcaption></figure>

**Что мы сделали?**&#x20;

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

Нажимаем "**Сохранить**" и приступаем к тестированию

**Первый запуск**

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FnMN4aZTPj8hdqQi2YTFN%2Fimage.png?alt=media&amp;token=2245c4c8-5f88-420c-820f-c6eaf4fdfa2b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2F1g5DyF6th7i4qUcZvg2D%2Fimage.png?alt=media&amp;token=4b942212-1d22-415a-8289-c7998f24f1e3" alt=""><figcaption></figcaption></figure>

Все работает :)

**Второй запуск и указываем другие данные**

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FG4EMjSgMOo44VoMgtTIe%2Fimage.png?alt=media&amp;token=bedce097-7625-4955-92f0-e0fe6ddad60d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1545507669-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MYOiJSIpC8f-Cm8cOEc%2Fuploads%2FbmyJyEM7MdLtmQosS3Jd%2Fimage.png?alt=media&amp;token=c0b16e2a-81db-4515-a5a7-fb7b501858cc" alt=""><figcaption></figcaption></figure>

Данные обновились :)

Теперь каждый пройденный квиз в боте, данные будут попадать и в **личные сообщения операторов**, и в **Google-таблицу** и если пользователь **изменит первоначальные данные** при повторном прохождении, данные просто обновятся

{% hint style="success" %}
Если остались вопросы, всегда можно задать вопрос в техподдержку или в чат поддержки, мы всегда поможем :)
{% endhint %}

{% content-ref url="/pages/-MasAPNcg291uNezFqb4" %}
[Как задать вопрос в поддержку?](/kak-zadat-vopros-v-podderzhku.md)
{% endcontent-ref %}
