# Запись в Google Таблицу

**Задача:** получить имя и номер телефона пользователя и сохранить их в таблицу.

**Шаг 1.** Имеется простой агент "Секретарь".

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

**Системный промпт:**

{% code overflow="wrap" %}

```
Ты виртуальный секретарь, 
Спроси имя и номер телефона, после этого вызови функцию save_record_to_google_sheet
```

{% endcode %}

**Шаг 2.** В разделе **Функции** обязательно включите (если выключено) использование функций.

Создайте функцию `save_record_to_google_sheet` с описанием *"Сохранить запись в Google Таблице"*.

Добавьте два параметра: `name` и `phone_number`.

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

**Шаг 3.** Найдите ваш JSON-ключ, полученный на этапе [Подготовка Google аккаунта и получение ключа для интеграции](/functional/functions/sending-result/python/podklyuchenie-i-rabota-s-google-tablicam.md)

Прокрутите страницу вниз и включите **Python Script**.

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

**Шаг 4.** Удалите текущий код и вставьте подготовленный код:

```python
def write_to_google_sheet():
    scope = [
        'https://www.googleapis.com/auth/spreadsheets',
        'https://www.googleapis.com/auth/drive'
    ]

    # Надо заменить данные на ваш JSON ключ
    json_data = {
        "type": "service_account",
        "project_id": "your_project_id",
        "private_key_id": "your_private_key_id",
        "private_key": "-----BEGIN PRIVATE KEY-----\nyour_private_key\n-----END PRIVATE KEY-----\n",
        "client_email": "your_service_account_email",
        "client_id": "your_client_id",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "your_client_cert_url"
}
    # Получаем ServiceAccountCredentials из структуры словаря
    debug("Получаем ServiceAccountCredentials")
    ServiceAccountCredentials = oauth2client['service_account']['ServiceAccountCredentials']
    # Авторизация
    creds = ServiceAccountCredentials.from_json_keyfile_dict(json_data, scope)
    client = gspread.authorize(creds)

    # Открытие таблицы
    sheet = client.open(table_name).sheet1
    data_to_append = [args.get("name", ""), args.get("phone_number", "")]
    
    # Запись данных
    sheet.append_row(data_to_append)
    global result
    result = {
            'status': 'success',
            'write': {
                'message': 'Данные успешно записаны',
                'data': data_to_append
            }
    }
table_name = 'Имя Вашей Таблицы' #тут прописываем имя таблицы
result ={}
write_to_google_sheet()


```

{% hint style="warning" %}
Обязательно вставьте свои данные в `json_data` и укажите актуальное имя таблицы в `table_name`.
{% endhint %}

Код надо подготовить. Из файла с ключом скопируйте все что между фигурными скобочками и вставьте в json\_data переменную

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

Не забудьте прописать имя вашей таблицы

```python
table_name = 'Имя Вашей Таблицы' #тут прописываем имя таблицы
```

**Пример таблицы:**\
Таблица "Contacts" с двумя колонками: "Имя" и "Номер телефона".

![](/files/FjaEg38NcwtOSgWGaQlR)

**Тест:**

<figure><img src="/files/1CNEdyxwB222oG7SIEu8" alt="" width="375"><figcaption></figcaption></figure>

Оставьте в полях `name` и `phone_number` значения `test_value` , нажмите "Запустить тест"— и убедитесь, что запись появилась в таблице.

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

Можно проверить работу из диалога

<figure><img src="/files/6sL4Tq7EY0koXkfmUzA7" alt=""><figcaption></figcaption></figure>

Убедитесь что, что запись появилась в таблице.

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


---

# 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://doc.nextbot.ru/functional/functions/sending-result/python/podklyuchenie-i-rabota-s-google-tablicam/zapis-v-google-tablicu.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.
