Google Таблицы: блок «Обновить строку»

Блок «Обновить строку» позволяет найти нужную строку в таблице по заданному значению (например, по email, номеру заказа или Telegram ID), и заменить данные в ячейках на новые — те, что уже есть в переменных сценария.

Это удобно, когда вы хотите:

  • обновлять статусы заявок,

  • записывать прогресс пользователя,

  • сохранять результат опросов или данных,

  • вносить изменения без добавления новых строк.

💡 Где пригодится блок

  • Клиент заполняет повторную форму → обновляется его статус или комментарий.

  • При оплате заказа → в таблице меняется колонка «Статус» на «Оплачено».

  • Пользователь вносит правки в профиль → обновляются имя, email или телефон.

  • Внутренние процессы: менеджеры вручную добавляют комментарии, а бот дополняет автоматические поля.

⚠️ Важно

  • Строка не добавляется, а заменяется содержимое уже существующей строки.

  • Поиск происходит по точному совпадению значения.

  • Если строка не найдена — данные не будут обновлены.


Что подготовить в Google Таблице перед использованием блока

Чтобы блок «Обновить строку» работал корректно, нужно предварительно привести таблицу к нужному виду. Вот что важно учесть:

1. Заголовки в первой строке

Первая строка таблицы (строка 1) должна содержать названия всех столбцов, с которыми вы планируете работать. Например: Email, Телефон, Имя, ID заказа, Статус, Комментарий.

📌 Эти заголовки вы будете использовать при настройке поиска и сопоставлении полей.
⚠️ Без заголовков таблица не загрузится, и блок не сможет определить, куда вносить изменения.

 2. Только столбцы A–Z

  • При подключении таблицы BotMan запрашивает только первые 26 столбцов — от A до Z.

  • Даже если в таблице есть более широкие столбцы (AA, AB и т. д.) — они не будут отображаться и не смогут участвовать в поиске.

Пояснение: В Google Таблицах действительно существуют столбцы за пределами Z — например, AA, AB и далее.
Они просто не отображаются, пока вы не начнёте в них вводить данные.

Однако в некоторых случаях эти столбцы могут появиться автоматически:

  • если вы импортировали таблицу из Excel, CSV или другой системы;

  • если скопировали данные с листа, где использовались широкие формулы;

  • если случайно что-то ввели или вставили в ячейки после колонки Z.

🔧 BotMan по техническим причинам обрабатывает только диапазон A1–Z1 — это ограничение со стороны API.
Поэтому всё, что находится за пределами этих колонок, не будет подгружено при настройке блока.

3. Права доступа — обязательно «Редактор»

Для корректной работы таблица должна быть доступна подключённому Google-аккаунту с правами «Редактор».

Возможны два варианта:

  • таблица принадлежит аккаунту, подключённому в интеграции;

  • таблица расшарена на этот аккаунт напрямую или по ссылке — обязательно с правами «Редактор».

Если у подключённого аккаунта есть только права:

  • Читатель — блок не работает, данные не загружаются;

  • Комментатор — также не работает;

  • Редактор — ✅ всё работает корректно.

При недостаточных правах блок не покажет ошибку, но данные не будут подгружаться или записываться — это может выглядеть как «тихий сбой».

4. Уникальное значение для поиска

В одном из столбцов должен быть уникальный идентификатор — например, Email, Telegram ID, или номер заказа.

  • Именно по нему бот будет искать нужную строку.

  • Если таких значений в таблице нет — данные могут обновиться не в ту строку, либо вообще не обновиться.

5. Пустые таблицы допустимы

Вы можете использовать Google Таблицу, в которой ещё нет данных (строк), — главное, чтобы в первой строке были заголовки столбцов. Это обязательное условие.

Для чего это важно: Блок «Обновить строку» работает с заголовками, чтобы понять, куда записывать значения. Без заголовков таблица не будет загружена, и вы не сможете настроить блок.

Рекомендация: На этапе настройки и тестирования лучше временно добавить 1–2 строки данных вручную. Это поможет убедиться, что:

  • таблица читается корректно;

  • блок находит нужную строку;

  • обновление выполняется правильно.

После успешной проверки вы можете удалить тестовые строки и использовать таблицу уже в рабочем режиме.


 Настройка блока «Обновить строку»

Пошаговая инструкция по настройке блока, который обновляет данные в выбранной строке Google Таблицы на основе переменных из BotMan.

Шаг 1. Укажите ссылку на таблицу

Вставьте URL Google Таблицы, в которой нужно обновлять данные.
Ссылка копируется из адресной строки браузера.

📌 Убедитесь, что:

  • Таблица доступна из подключённого аккаунта с правами Редактор.

  • В первой строке есть заголовки.

🔗 Пример ссылки:  https://docs.google.com/spreadsheets/d/1aBcD... 

Шаг 2. Выберите рабочий лист

После того как вы вставили ссылку на Google Таблицу, BotMan автоматически подгрузит список всех листов, которые есть в этом файле.

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

Обратите внимание:

  • Если список не подгружается:
    - проверьте корректность ссылки;
    - убедитесь, что у подключённого аккаунта есть доступ к таблице;
    - проверьте, есть ли заголовки в первой строке на выбранном листе (A1–Z1).

  • Если названия листов слишком длинные, они могут обрезаться визуально — но данные при этом подтягиваются корректно.

⚠️ Если выбранный лист не содержит заголовков, BotMan покажет предупреждение и не позволит продолжить настройку.

 Шаг 3: Укажите столбец для поиска

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

Это критически важное поле: именно в этом столбце бот будет искать совпадение со значением из переменной.

Что сюда указывается— например:

  • Telegram ID

  • Email

  • Телефон

  • Номер заказа

  • Уникальный код

⚠️ Важно:

  • Поиск происходит только по выбранному столбцу. Если нужное значение находится в другом столбце — оно не будет учтено.

  • Сравнение происходит по точному совпадению значения: учитываются пробелы, регистр, символы и формат (например, +7999... и 8999... — это разные значения).

  • Если столбец содержит несколько одинаковых значений, будет обновлена первая строка, в которой найдено совпадение.

  • Если переменная пуста — поиск не выполнится.

  • Если совпадение не найдено — строка не будет обновлена. Ошибки не произойдёт, сценарий продолжит выполняться.

💡 Рекомендуем:
Используйте уникальные значения для поиска: лучше всего подойдут Telegram ID или Email.

Номер телефона может быть проблемным, если формат ввода отличается между ботом и таблицей (с +7 / 8, пробелами и т.д.).

Шаг 4: Укажите значение для поиска

Теперь укажите, что именно искать в выбранном столбце.
Это значение обычно подставляется из переменной, которую бот уже получил ранее (например, при подписке, вводе или передаче через шаги)

🔽 Что можно выбрать:

  • Системные переменные. Например: Telegram ID, Email, Телефон, Имя, Статус активности.

  • Пользовательские поля. Все поля, созданные вами в разделе: Настройки → Пользовательские поля.

  • Глобальные переменные. Доступны в разделе: Настройки → Глобальные переменные.

  • Метки. Подтягивается полный список меток в вашей учётной записи, независимо от того, назначены ли они пользователю.

⚠️ Обратите внимание:

  • Значение должно быть непустым на момент выполнения блока. Если переменная пуста — строка не будет найдена, и обновление не произойдёт.

  • Поиск выполняется строго по совпадению — любые лишние пробелы, символы или несовпадение регистра приведут к тому, что строка не найдётся.

💡 Рекомендуем:

Перед использованием блока «Обновить строку» добавьте шаг «Проверка поля» (в блоке Условие), чтобы убедиться, что переменная содержит нужное значение.

Это поможет избежать «тихих сбоев» и точно понять, работает ли поиск.

Пример. Вы выбрали:

  • Столбец поиска: Telegram ID

  • Искомое значение: переменная{{telegram_id}}

При выполнении сценария бот найдёт строку, в которой Telegram ID совпадает с ID текущего пользователя, и обновит в ней нужные значения.

Шаг 5: Укажите, какие данные записать в таблицу

После того как бот найдёт строку по заданному условию, вы можете указать, какие значения нужно обновить в этой строке.

Для этого нужно сопоставить:

  • слева — переменную BotMan, содержащую нужное значение;

  • справа — столбец в таблице, в который это значение будет записано.

Пример сопоставления:

  • {{user_name}} → столбец Имя

  • {{status}} → столбец Статус

  •  {{comment}}  → столбец Комментарий

Что произойдёт при выполнении блока:

  • Если строка найдена — значения из переменных перезапишут содержимое выбранных ячеек этой строки.

  • Если строка не найдена — блок не выполнится, но ошибок не будет. Данные не обновятся, сценарий продолжит выполнение.

Обратите внимание:

  • Вы можете сопоставить любое количество полей — от одного до всех доступных в таблице (в пределах A–Z).

  • Название переменной нельзя вводить вручную — выбирайте из выпадающего списка.

В списке доступны:

🔹 Системные переменные — например, Имя, Телефон, Email
🔹 Пользовательские поля, созданные вами
🔹 Глобальные переменные, добавленные в настройках

Если переменная пуста:

  • В соответствующую ячейку таблицы будет записано пустое значение (ячейка обнулится).

  • Если вы не хотите очищать ячейки — добавьте перед блоком проверку переменной через шаг «Проверка поля».


Финальный шаг: протестируйте сценарий

После настройки блока «Обновить строку» обязательно убедитесь, что всё работает корректно:
данные действительно обновляются, переменные заполняются, сценарий выполняется без сбоев.

Как это сделать:

  1. В режиме редактирования сценария перейдите в верхнюю панель.

  2. Нажмите кнопку «Тестировать».

  3. Выберите режим:

  • Тестировать — запускает сценарий с задержками, как увидит пользователь.

  • Тестировать без задержек — ускоренный запуск без пауз и таймеров.

Что стоит проверить:

  • Обновляется ли строка с нужным значением в таблице?

  • Подставились ли значения из переменных?

  • Все ли нужные столбцы были обновлены?

  • Что происходит, если переменная пуста или строка не найдена

💡 Советы по отладке:

  • Добавьте временный шаг с сообщением до или после блока — выведите в сообщении нужные переменные, чтобы убедиться, что они содержат значения.

  • Проверьте, что:
    - В таблице есть заголовки в первой строке;
    - Столбец поиска существует;
    - Указано значение для поиска;
    - Все переменные сопоставлены корректно.

 Если обновление не происходит:

  • Проверьте интеграцию с Google — возможно, она отключена;

  • Убедитесь в наличии прав «Редактор» у подключённого аккаунта;

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


Возможные ошибки и внешние причины, по которым блок может не сработать

Даже если блок настроен правильно, его выполнение может быть прервано внешними факторами. Ниже — список наиболее частых ситуаций и что с ними делать.

❌Интеграция с Google была отключена

Что происходит:

  • Таблицы не подгружаются.

  • Данные не обновляются, блок не срабатывает.

Причины:

  • Интеграция была отключена вручную.

  • У пользователя вышел срок авторизации или изменён аккаунт Google.

Что делать:

  • Перейдите в «Интеграции» и заново подключите Google-аккаунт.

  • Убедитесь, что выбран нужный аккаунт, доступ к которому выданы права.

 ❌Права доступа к таблице изменились

Что происходит:

  • Таблица была расшарена ранее, но права были понижены (например, только просмотр).

  • Блок не может изменить данные — и "молчит".

Что делать:

  • Проверьте права доступа в Google Таблицах.

  • Убедитесь, что у подключённого аккаунта есть права “Редактор”.

 ❌Таблица была удалена или перемещена

Что происходит:

  • Ссылка остаётся в блоке, но Google Таблица уже недоступна.

  • При выполнении блок ничего не делает.

Что делать:

  • Проверьте вручную: открывается ли таблица у подключённого аккаунта.

  • Если файл удалён — создайте заново и обновите ссылку в блоке.

❌Таблица изменилась после настройки блока

Что происходит:

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

  • Столбец был удалён.

  • Переименован рабочий лист или изменены позиции столбцов.

Что делать:

  • Перепроверьте:
    - Названия заголовков;
    - Наличие столбца поиска;
    - Сопоставление переменных.

❌Таблица принадлежит другому аккаунту

Что происходит:

  • Вы вставили ссылку на таблицу, к которой подключённый аккаунт не имеет доступа.

Что делать:

  • Убедитесь, что таблица:
    - Либо принадлежит подключённому аккаунту,
    - Либо расшарена на него с правами “Редактор”.

❌Таблица пуста или структура нарушена

Что происходит:

  • В таблице нет заголовков в строке 1.

  • Пусто в ячейке, по которой выполняется поиск.

  • Несопоставлены необходимые переменные.

Что делать:

  • Добавьте строку заголовков в первую строку (строка 1).

  • Временно добавьте тестовые строки с реальными значениями для отладки.

  • Убедитесь, что переменные заполнены на момент выполнения блока. 


💡 Как избежать "тихих сбоев"

  • Используйте блок “Проверка поля” перед или после “Обновить строку”, чтобы убедиться, что переменные не пусты.

  • Тестируйте сценарий вручную с реальными значениями.

  • Добавляйте тестовые строки в таблицу, чтобы проверить корректность обновлений.

  • Периодически проверяйте ссылку и права доступа к таблице.

  • Храните резервную копию таблицы, если от неё зависит критическая логика.

👆 На этом пока всё