> For the complete documentation index, see [llms.txt](https://doc.nextbot.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.nextbot.ru/functional/functions/sending-result/python-v.2/keisy-kastomnykh-integracii/keis-umnye-napominaniya-cherez-python-skript.md).

# Кейс: Умные напоминания через Python-скрипт

Клиент говорит «свяжитесь со мной в следующем месяце», и менеджер почти наверняка забывает о нём. В этом кейсе агент сам распознаёт причину переноса диалога и планирует напоминание на конкретную дату, используя Python-скрипт, Webhook и собственный сервер.

Автор проекта: [Михаил](https://t.me/msg_kz)

#### Контекст

Заказчик занимается производством термопанелей. Это ниша с долгим циклом сделки и специфическим спросом: клиенты интересуются материалами заранее, когда стройка ещё в процессе или только планируется. В таких условиях диалоги в WhatsApp часто обрываются на фразах: «свяжитесь со мной через пару недель» или «я изучу предложение и напишу вам позже».

Стандартные инструменты NextBot для дожима в таких случаях работают плохо. Они не учитывают причину и желаемый срок паузы.

![](/files/doYiAvvuxmNKDIIDL9dd)

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

#### Как устроена работа агента

Когда клиент пишет, что сейчас не готов продолжать разговор, агент анализирует причину и вызывает функцию `schedule_delayed_message`.

![](/files/XawvMa2cwUHQkN31546c)

Агент различает три типа ситуаций:

1. **Бытовая задержка.** Клиент занят прямо сейчас: «нужно измерить стены», «я за рулём», «посмотрю проект и вернусь». В этом случае напоминание отправляется через 48 часов.
2. **Абстрактная отговорка.** Фразы вроде «пока нет денег» или «я в отпуске». Скрипт ставит паузу на 14 дней.
3. **Конкретная дата.** Если клиент сам называет срок («напишите завтра» или «свяжемся весной»), агент фиксирует эту дату и планирует сообщение на 10 утра указанного дня.

![](/files/qFopB9AAo2qWYJ1AvnqG)

Функция записывает дату, когда отправить напоминание, контекст диалога, причину паузы и передаёт их с помощью Python-скрипта на отдельный сервер, где хранится база данных. Чтобы написать такой код, партнёр использовал нейросеть: она помогла собрать логику обработки дат и настройки планировщика.

![](/files/JcbDoTFu6EvhAG26Mkd9)

Раз в минуту планировщик проверяет список задач. Как только наступает нужное время, сервер отправляет вебхук обратно в Nextbot, и агент отправляет клиенту сообщение, продолжая диалог с того места, где они остановились. Например, если клиент ушёл мерить стены, через два дня бот спросит: «Удалось сделать замеры? Можем приступать к расчёту».

Если клиент вернётся в чат раньше срока и сам напишет какое-нибудь сообщение, сработает функция отмены напоминания `cancel_delayed_message` — агент тут же удалит запланированную задачу из базы. Это исключает ситуации, когда бот пишет «Ну что, узнали размеры?» человеку, который их уже прислал.

![](/files/iADdPWOLwFXrl0yIyir4)

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

![](/files/nOETR16xN9BYurQHyerM)

#### Результат

Агент перестал терять лиды, которые раньше просто висели в истории переписки. Теперь каждый перенос диалога превращается в конкретную задачу для системы. Затраты на содержание такой инфраструктуры минимальны — аренда сервера обходится примерно в 4 доллара в месяц.

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://doc.nextbot.ru/functional/functions/sending-result/python-v.2/keisy-kastomnykh-integracii/keis-umnye-napominaniya-cherez-python-skript.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
