Добро пожаловать в финальную часть курса — "Путеводитель по созданию GPT-ассистентов" от редакции GPTML! В этой серии мы покажем, как создавать GPT-ассистентов и использовать их в реальной работе. Все части путеводителя: 💎 Чат боты в ChatGPT 💎 Создаем GPT-ассистента для e-mail обработки 💎 Как создать Telegram-бота с GPT-ассистентом 💎 Как создать Email-ассистента с интеграцией в Telegram Помощник, который: - Читает входящие письма (например, на Gmail) - Передаёт содержимое в GPT - Получает от GPT текст ответа - Заполняет данные в таблиц - Уведомляет в Telegram о входящих письмах Этапы настройки Шаг 1. Создайте Telegram-бота Перейдите в @BotFather Отправьте команду /newbot Придумайте имя и username Скопируйте полученный Bot Token (сохраните) Сохраните ссылку на бота (например: t.me/MsemailBot). Шаг 2. Создайте сценарий на Make.com Зайдите в Make > Scenarios > Create a new scenario Добавьте модули: 1️⃣ Gmail > Watch Emails Connection — Подключение к вашей почте Нажмите Create a connection, выберите: - Gmail (если у вас почта на Gmail) - IMAP (если у вас другая почта) Пример: Если вы используете Gmail, появится окно авторизации Google — разрешите доступ. Folder в Make.com означает, откуда именно читать письма. INBOX — это ваша входящая почта. Выбирайте INBOX, если хотите проверять обычные входящие письма. Social, Newsletters, Receipts, Спам, Отправленные и др. — это категории, которые могут автоматически назначаться системой (например, Gmail или Mail.ru). ⚠ Обычно нельзя гарантировать, что важные письма окажутся именно в этих папках. Criteria — критерий выбора писем Выберите один из вариантов: All — обрабатывает все письма (если хотите, чтобы бот видел все входящие) Unread — только непрочитанные письма With attachments — только с вложениями Рекомендую: выбрать Unread, чтобы не читать одни и те же письма повторно. Sender email address — адрес отправителя, фильтрует письма по адресу, от кого пришли. Необязательно, но полезно для триггеров. Пример: support@domain.com — если нужно реагировать только на письма от службы поддержки. *@example.com — все письма от домена example.com. Recipient email address — кому адресовано письмо. Используйте, если у вас несколько почтовых ящиков в одном клиенте. Пример: you@domain.com Если у вас обычная ситуация (один email — одна почта), оставьте поле пустым. Make будет обрабатывать все входящие. Subject — заголовок письма. Фильтрация по теме письма. Пример: Новая заявка — только письма с темой "Новая заявка" =?utf-8?B?... — если приходит в кодировке, не используйте — лучше по фразе. Phrase — содержит фразу в тексте письма. Фильтрация по содержимому письма (в теле письма, не в теме). Пример: Сделать рассылку по новым клиентам — именно эта задача. Mark message(s) as read when fetched — помечать как прочитанные Yes — чтобы не обрабатывать повторно No — если хотите вручную потом работать с письмами Рекомендую: выбрать Yes, чтобы бот обрабатывал только новые. Maximum number of results — максимум писем за цикл Пример: 1 — только одно письмо за 1 запуск 5 — до 5 писем сразу Рекомендую: начать с 1 на тесте, потом увеличивать. Финальный шаг подключения модуля Email в Make — выбор точки отсчёта, с какого момента система начнёт читать письма. From now on (по умолчанию) Обрабатывает только те письма, которые придут после запуска сценария. Рекомендуется, если вы не хотите обрабатывать старую почту. Emails from after a specific date Позволяет указать дату и время — и Make обработает письма, пришедшие после этой даты. All emails Загрузит все письма, которые находятся в выбранной папке (например, INBOX или Social). ⚠️ Осторожно: может загрузить много старых писем, особенно если ящик давно активен. Select the first email Рекомендация: Выберите From now on, если хотите, чтобы всё началось «с чистого листа». Шаг 3. Модуль OpenAI (ChatGPT 1. Добавьте модуль: OpenAI → Create Chat Completion. 2. Настройка: Model: gpt-4 или gpt-4o 3. Message 1 (System Prompt). Нажмите + Add message. В поле Role выберите Developer / System. В поле Text Content вставьте: Ты email-ассистент. Отвечай на письма клиентов вежливо, кратко и по делу. Используй существующий thread_id для продолжения диалога. В поле Text Content вставьте: Ты email-ассистент. Отвечай на письма клиентов вежливо, кратко и по делу. Используй существующий thread_id для продолжения диалога. 4. Message 2 (User Message) - Нажмите снова + Add message. - В поле Role выберите User. - Включите Map для поля Text Content - Вставьте переменную Text content из модуля Email (1 — Watch Emails). Что должно получиться: Message 1: system → с инструкцией Message 2: user → текст письма, автоматически подставляемый из входящего email. 5. Max Completion Tokens зависит от длины писем и желаемой полноты ответа. - 2048 — универсальное и безопасное значение. Подходит для писем средней длины и развёрнутых ответов. - 1000–1500 — если письма и ответы короткие, можно уменьшить, чтобы: экономить токены (деньги) получать более лаконичные ответ - Оставить пустым — GPT использует максимум модели (до 4096 токенов у GPT-4o). Не рекомендую, если бюджет ограничен. Итог: оставьте 2048 — это оптимально. Позже, если GPT будет обрезать ответы — увеличите. 6. Image Input Type не требуется заполнять, потому что вы работаете с текстом писем, а не с изображениями. - Просто игнорируйте это поле - Оно нужно только если вы отправляете изображения в модель типа GPT-4o с поддержкой vision (например, для анализа изображений, скриншотов, графиков и т.д.). Если поле обязательно к заполнению (что бывает редко): Выберите значение: none — если изображения не используются (наиболее безопасно) или оставьте поле пустым, если система это позволяет. Шаг 4. Telegram → Отправка сообщения 1. Telegram Bot → Send a message. 2. Token: вставьте токен бота в Connection name. 3. Chat ID: ваш Telegram ID (можно узнать через @userinfobot) 4. В поле Text раскройте список OpenAI (ChatGPT). Найдите что-то вроде choices → 1 → message → content. Выберите content — именно это и есть текст ответа. 5. Вы ничего не указываете в Message Thread ID, если: - Вы отправляете сообщение в личный чат с ботом (как сейчас) - Или просто в обычную группу, не в форум-группу. Когда это поле используется: Если позже вы будете делать рассылку в форум-группу Telegram (например, чтобы каждый пользователь писал в своей ветке), тогда нужно будет: - заранее получить ID нужной ветки форума - подставлять его в это поле через Map. Сейчас оставьте поле Message Thread ID пустым. Оно не нужно в текущем сценарии. 6. Parse Mode в модуле Telegram Bot (Send a Text Message) отвечает за то, как будет форматироваться текст сообщения — например, жирный, курсив, ссылки, код и т. д. Если хотите просто текст без форматирования — оставьте пустым. Если хотите отправлять жирный, курсив или ссылки, удобно выбрать: Markdown — если короткие сообщения; HTML — если хотите больше гибкости. Рекомендация: Пока используете простой текст → оставьте Parse Mode пустым. Если позже будете оформлять ответы — можно включить HTML. 7. Disable Notifications. Уведомление о новом сообщении на устройстве получателя. Yes — отключает уведомление. Сообщение придёт тихо, без звука и вибрации. No — включено обычное уведомление (со звуком) Empty (пусто) — по умолчанию Telegram решает сам, в зависимости от настроек пользователя (обычно как “No”). Рекомендую: Если вы не хотите тревожить себя каждый раз — выберите Yes. Если нужно получать сигналы — оставьте No или пусто. 8. Disable Link Previews Отображение предпросмотра ссылок (карточки с заголовком, картинкой и описанием). Yes — ссылки будут отображаться как текст. No — Telegram добавит превью (если сайт его поддерживает). Empty – Telegram сам решит, показывать ли предпросмотр ссылки (превью с заголовком и картинкой). Рекомендую: Empty — это безопасный нейтральный выбор. Превью скорее всего будет отображаться. Если в будущем захотите, чтобы ссылки выглядели аккуратно и компактно — поставьте Yes, чтобы отключить превью 9. Нажать Save. Проверить сценарий — нажмите Run once и отправьте тестовое письмо на отслеживаемый Email. Шаг 5. Google Sheets → это модуль в Make.com, который, используется для ведения журнала событий 1. Создайте Google Таблицу: Название файла: Email Bot Log.Имя листа (вкладки): Log (или любое другое, но укажите точно в Make) Первая строка — заголовки колонок: Дата - Отправитель - Тема - Текст письма - Ответ GPT. 2. Добавьте модуль в Make. В цепочке модуль Telegram Bot уже стоит после OpenAI, и мы добавляем Google Sheets, чтобы записывать всё, что произошло. Порядок будет: Email →OpenAI → Google Sheets→Telegram Bot/ Нажмите "🔧" между модулем OpenAI и Telegram Bot, далее Add a module. Выберите модуль Google Sheets → Add a Row. Авторизуйтесь в Google-аккаунте (если ещё нет) Настройка: Подключите Google-аккаунт и дайте доступ к таблицам. Search Method: Select from all Spreadsheet ID: выберите вашу таблицу (или введите ID вручную — это часть между /d/ и /edit). Sheet name: например, LOG Table contains headers: Yes. Заполняемые поля (по колонкам): Что означают A, B, C, D, E Это колонки в вашей таблице. Предположим, у вас в Google Sheets заголовки такие: | A — Date | B — From | C — Subject | D — Body | E — AI Response | A (Дата). Нажмите на поле → выберите Email > Date[] B (От кого). Нажмите на поле → выберите Email > From[] C (Тема). Нажмите на поле → выберите Email > Subject[] D (Текст письма). Нажмите на поле → выберите Email > Text content (или Plain content) E (Ответ GPT). Нажмите на поле → выберите OpenAI > Choices[1] > Text (или просто Result, если модель другая — см. список слева при выборе полей). Unformatted — выбрать Yes или No? Опция Unformatted означает, будет ли Make вставлять данные в таблицу как обычный текст или пытаться преобразовать, например, URL-адреса в ссылки, числа в даты и т.д. Выберите: No Это гарантирует, что: Ссылки останутся ссылками; Даты — датами; Формат сохранится, как в Google Таблицах; Всё будет читабельно и логично. Нажмите SAVE Шаг 6. Протестируйте Нажмите Run Once Отправьте тестовое письмо на Gmail Убедитесь, что письмо обработано GPT сгенерировал ответ: Google Таблица заполнена: Telegram получил уведомление: Шаг 7. Запуск на постоянную работу Нажмите Save Перейдите в ⚙️ Schedule → ON Сценарий будет работать в фоновом режиме. На этом наше путешествия завершено. Уверен оно было для тебя полезным и всеобъемлющем. Успехов!