> 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="/files/vKvcYhgGUjrmUGqfFMyh" alt=""><figcaption></figcaption></figure>

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

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

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

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

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

<figure><img src="/files/HnuVcZVuAWpSDwzIIWUr" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/2e7eKCwrGAoSJpj6LCrT" 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="/files/BKaQ50e66y7h473w84mz" alt=""><figcaption></figcaption></figure>
2. Перенесли все буквы из таблицы построчно<br>

   <figure><img src="/files/WHexPXUHprE4nMkxQoIc" alt=""><figcaption></figcaption></figure>
3. Пренесли все названия столбцов соотнеся их с буквами\
   A = ID\
   B = Name\
   C = Channel\
   D = Room\
   E = Finishing\
   F = Floor\
   G = Budget<br>

   <figure><img src="/files/ncJwJqrHFHZHGIQW9dpr" 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="/files/ctkEXoaPCtQh5cxZT78B" alt=""><figcaption></figcaption></figure>

Нажимаем на иконку <img src="/files/e3bvXfDazwO7lHF3z76c" alt="" data-size="original">и выбираем "**Веб-приложение**"

<figure><img src="/files/TGeRF2vxmm8anDP3teiJ" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/cq2j2wyIicnrM7MEXIZ9" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/wCoOTWXDecjlAXk2JFUv" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/Q3PuQciCG6mbik4NwDtQ" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/sArLnYKP5jyaxUEOoky6" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/ahhfyYFwo77Wuga87Ab5" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/jB5XFCLjN52B8UGhUB9D" alt=""><figcaption></figcaption></figure>

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

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

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

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

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

<figure><img src="/files/E7EJxBktmkRpGRA0PziT" alt=""><figcaption></figcaption></figure>

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

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

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

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

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

<figure><img src="/files/8ENBjkYyQvo5WBLX4nmU" alt=""><figcaption></figcaption></figure>

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

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

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

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

<figure><img src="/files/ibR2qr57JsuX92tjiBgo" alt=""><figcaption></figcaption></figure>

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

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

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

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

<figure><img src="/files/XiTnrnHH6KbiP1VcAyuX" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/gxYdfTC7jBmWFa3dE3wJ" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/rune0kbbxfFrTyzQJblv" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7hB18DdOHrq27gXppvOe" alt=""><figcaption></figcaption></figure>

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

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

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

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