Организация электронной почты с помощью Nodul

5000+ новых писем на почте — таким количеством никого не удивишь. Что удивляет, так это то, как среди этого завала из промоакций, спама и прочих уведомлений найти нужное и важное.

Представьте, что вместо хаоса вы получаете одно понятное сообщение — краткую сводку ключевых писем за последние 24 часа. С Nodul это уже давно не фантазия, а реальная возможность. Рассказываем и показываем, как легко и быстро настроить автоматизацию почты.

Кратко о том, что такое Nodul и кому он нужен

Low-code платформа Nodul помогает доступно и быстро автоматизировать рутинные бизнес-задачи: интеграцию с другими сервисами, обработку данных, отправку уведомлений. Отличный выбор для тех, кто хочет упростить процессы и сосредоточиться на важных бизнес-задачах, при этом не тратя время на сложные технические детали.

С Nodul вам не нужны глубокие знания в программировании. Удобный визуальный конструктор позволит без труда собирать нужные решения, а если понадобится написать код — встроенный ИИ сделает всё за вас.

Автоматизация персональной email-сводки: как это работает

Алгоритм работы сценария:

  1. Собираем все ваши письма, полученные за последние сутки.
  2. С помощью ИИ отфильтровываем те, которые действительно требуют вашего внимания.
  3. Компонуем краткую и понятную сводку без лишней воды.
  4. Отправляем эту сводку в удобный для вас канал: Telegram, Slack и т.д.

Как настроить свой email-дайджест: подробная инструкция

Шаг 1. Сначала создайте триггер по расписанию и настройте интервал запуска с помощью cron-выражения **0 8 * * ***, чтобы сценарий запускался каждый день в 8 утра. Дополнительно укажите ваш часовой пояс для точного времени выполнения.

Шаг 2. Далее используйте узел «find email» , чтобы получить все письма за последние 24 часа. Для этого примените фильтр newer_than:24h.

Шаг 3. Далее добавьте узел JavaScript, чтобы извлечь только ключевую информацию (тема письма, отправитель, текст) и исключить письма по определённым ключевым словам: например, от нежелательных отправителей и спама.

Для этого используйте наш готовый код:

/** @CustomParams
{
  "messages": {
    "title": "Email Messages",
    "key": "messages",
    "description": "JSON array of email messages",
    "type": "string"
  },
  "exclude_keywords": {
    "title": "Exclude Keywords",
    "key": "exclude_keywords",
    "description": "Comma-separated list of keywords to exclude messages",
    "type": "string"
  }
}
*/

export default async function run({ data }) {
  const messages = JSON.parse(data.messages);
  const excludeKeywords = data.exclude_keywords ? data.exclude_keywords.split(',').map(keyword => keyword.trim()) : [];

  const extractedMessages = messages
    .filter(msg => {
      let bodyData = '';
      if (msg.payload.parts) {
        msg.payload.parts.forEach(part => {
          if (part.body && part.body.data) {
            bodyData += part.body.data;
          }
        });
      }

      const body = Buffer.from(bodyData, 'base64').toString('utf-8');
      return !excludeKeywords.some(keyword => body.includes(keyword));
    })
    .map(msg => {
      const subjectHeader = msg.payload.headers.find(header => header.name === "Subject");
      const fromHeader = msg.payload.headers.find(header => header.name === "From");

      let body = "No Body";
      if (msg.payload.parts) {
        const bodyPart = msg.payload.parts.find(part => part.mimeType === "text/plain");
        if (bodyPart && bodyPart.body && bodyPart.body.data) {
          body = Buffer.from(bodyPart.body.data, 'base64').toString('utf-8');
        }
      }

      return { subject: subjectHeader?.value || "No Subject", from: fromHeader?.value || "No Sender", body };
    });

  return { extractedMessages };
}

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

Шаг 4. Затем отправьте отфильтрованные данные в узел ChatGPT. Для этого используйте следующий промпт — он создаст саммари по всем письмам, разделив их по категориям:

«Используй следующие данные из писем, которые пришли за последний день: {{$40.extractedMessages}}

Раздели письма по этим категориям, если подходят:

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

Пропусти спам или письма, которые вообще не относятся к этим категориям. Сгруппируй письма по категориям с маркерами. Для каждого письма напиши краткое описание в таком формате:

:newspaper: Новости и обновления:
Имя отправителя: Коротко о содержании.

:shopping_cart: Акции:
Имя отправителя: Коротко об акции.

:bell: Уведомления:
Имя отправителя: Коротко об уведомлении.

:date: Работа или встречи:
Имя отправителя: Коротко о встрече.

:page_facing_up: Подтверждения и квитанции:
Имя отправителя: Коротко о подтверждении.

Ответ должен быть кратким, письма сгруппированы по категориям с маркерами. Если писем для какой-то категории нет, эту категорию просто не включай.»

Итоговое сообщение отправится в выбранный вами канал: Slack, Telegram или Discord.

Так выглядит дайджест в Telegram:

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

Эта простая автоматизация сэкономит ваше время и поможет не пропустить важное среди сотен писем.

Начните новый год с чистого листа во всех смыслах — автоматизируйте свои почтовые сводки на Nodul c помощью готового шаблона. Переходите на Nodul

1 лайк