n8n автоматизация сбора и публикации актуальных новостных постов и YouTube-видео по конкретно заданной тематике

Цель:
Автоматизировать сбор актуальных новостей и видео по выбранным темам, формируя и публикуя персонализированную ленту контента на ваш мини-сайт.
Область применения:
- Персональные дайджесты (блогеры, исследователи)
- Бизнес-аналитика (отслеживание нишевых трендов)
- Медиаресурсы (автонаполнение сайтов)
- Образование (подборки материалов для обучения)
🟩 1. Инициализация и источники данных
- When Clicking 'Test workflow' — ручной запуск процесса.
- YouTube Users (Set) — список YouTube-каналов, за которыми нужно следить.
- Queries (Set) — список поисковых запросов: top ai news, ai models, ai tools, ai prompting. (Вы можете поставить себе другие)
🟦 2. Получение новостей через Tavily
- Split Out1 → Loop Over Items3 — разбивает список запросов и обрабатывает каждый.
- Tavily — API-запрос к Tavily по каждому запросу, чтобы получить свежие новости.
- OpenAI — LLM обрабатывает полученные новости.
- Basic LLM Chain — переписывает новости в лёгкой форме: короткий заголовок + engaging текст.
- Parser — приводит ответ в нужный JSON-формат.
- Supabase — сохраняет готовую новость в таблицу news с типом News.
🟨 3. Получение YouTube-видео
- Split Out → Loop Over Items1 → Get Channel ID — получает ID каждого канала по username.
- Set → Loop Over Items2 → Get 1 Video — получает последние видео с этих каналов.
- Split Items Again → Set VideoId — извлекает videoId.
🟧 4. Обработка YouTube-видео
- Loop Over Items → Transcribe — получает расшифровку видео через RapidAPI.
- Wait — задержка (на случай rate-limit).
- Summarization Chain (GPT-4o) — делает краткое содержание видео.
- Basic LLM Chain1 (OpenAI) — переписывает его в engaging формат.
- Parserx — структурирует данные.
- Supabase1 — сохраняет в news с типом YouTube.
🟪 5. Индексация в Pinecone
- Token Splitter → Default Data Loader → Pinecone Vector Store1/2 — векторизует и сохраняет тексты в Pinecone (по отдельности для статей и видео).
- Embeddings OpenAI — используется для эмбеддингов.
🟫 6. Chatbot-интерфейс
- Webhook — входящий запрос от юзера (например, в Telegram/Vercel).
- AI Agent — агент с промптом: ищет по Pinecone на основе запроса.
- 4o-minix — модель, обслуживающая этот агент.
- Pinecone Vector Store — отвечает на вопрос, извлекая релевантный контент.
- Respond to Webhook — возвращает ответ пользователю.
📦 Промежуточные данные и хранение
- Supabase — база данных, где хранятся все новости и видео.
- Pinecone — векторное хранилище, обеспечивающее быстрый и умный поиск.
Для данной автоматизации вам потребуются следующие сервисы:
- SupaBase https://supabase.com/dashboard/project/pspttgyqfviazhuxuaxg/settings/api
- Tavily AI https://app.tavily.com/home
- Lovable https://lovable.dev/
- Google Cloud Console - Youtube Data API https://console.cloud.google.com/marketplace/product/google/youtube.googleapis.com?q=search&referrer=search&authuser=1&inv=1&invt=AbwHvg&project=astute-expanse-457620-b7
- Pinecone https://app.pinecone.io/
- RapidApi https://rapidapi.com/solid-api-solid-api-default/api/youtube-transcript3/playground/apiendpoint_b46d1962-a219-453c-afd6-b94a336a61ae
Первым делом установите апи ключи и подключите ваши credentials в OpenAI

Далее в Pinecone vector store подключите ваши credentials

Для этого перейдите в раздел indexes и нажмите Create index, после дайте название и выберите в configuration: text-embedding-3-small

После перейдите в раздел: API keys и создайте новый апи ключ

И после вставьте апи ключ в n8n

Далее в Tavily подключите ваш апи ключ

https://app.tavily.com/home

И вставьте справа от слова Bearer

В нодах Get 1 Video и Get Channel ID подключите ваши OAuth credentials, которыми мы в прошлых автоматизациях подключали Google Drive. Только перед этим перейдите в https://console.cloud.google.com/marketplace/product/google/youtube.googleapis.com?q=search&referrer=search&authuser=1&inv=1&invt=AbwHvg&project=astute-expanse-457620-b7 и нажмите Enable API, чтобы активировать API YouTube.


Теперь в ноде Transcribe подключите апи ключ от сервиса RapidAPI

У вас откроется вот такая страница

Здесь копируем и вставляем в n8n данные из 'x-rapidapi-host: и 'x-rapidapi-key:

Далее подключите Supabase

Перейдите и войдите в свой аккаунт https://supabase.com/dashboard/
Создайте новую организацию и новый проект
Далее перейдите в раздел SQL Editor

И тут введите следующие команды:
CREATE TABLE public.news (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
content TEXT NOT NULL,
type TEXT DEFAULT 'general',
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
);
CREATE TABLE public.completed (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title TEXT NOT NULL,
content TEXT NOT NULL,
type TEXT DEFAULT 'general',
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
);
CREATE TABLE public.webhooks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
webhook_url TEXT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
);
CREATE TABLE public.chat_options (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
chat_text TEXT NOT NULL,
chat_query TEXT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
);
CREATE OR REPLACE FUNCTION public.delete_news_item(item_id uuid)
RETURNS boolean
LANGUAGE plpgsql
SECURITY DEFINER
AS $function$
DECLARE
deleted_count INTEGER;
BEGIN
DELETE FROM public.news
WHERE id = item_id
RETURNING 1 INTO deleted_count;
-- Return true if one or more rows were deleted
RETURN COALESCE(deleted_count, 0) > 0;
END;
$function$;
CREATE OR REPLACE FUNCTION delete_rows()
RETURNS BOOLEAN AS $function$
DECLARE
deleted_count INTEGER;
BEGIN
-- Example deletion (replace with your actual DELETE statement)
DELETE FROM some_table WHERE some_condition;
GET DIAGNOSTICS deleted_count = ROW_COUNT;
-- Return true if one or more rows were deleted
RETURN COALESCE(deleted_count, 0) > 0;
END;
$function$ LANGUAGE plpgsql;
Теперь настройте себе внешний сайт, где всё будет отображаться
Перейдите на https://lovable.dev/projects/ed99ca42-7ba8-46ef-835e-ee12a96f5ab8
И нажмите справа вверху кнопку Remix it
Нажмите на зеленую иконку SupaBase

И подключите ваш Supabase аккаунт
Также в n8n в ноде SupaBase убедитесь, что у вас в разделе Table Name or ID стоит таблица completed, сюда после срабатывания автоматизации будут загружаться данные и отображаться на сайте.

Также можете настроить нужные вам тематики для поиска новостей и видео в этих двух нодах:


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