Цель:
Автоматизировать сбор актуальных новостей и видео по выбранным темам, формируя и публикуя персонализированную ленту контента на ваш мини-сайт.
Область применения:
Для данной автоматизации вам потребуются следующие сервисы:
Первым делом установите апи ключи и подключите ваши 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-файл и инструкцию в видеоформате вы всегда можете получить, вступив в наш уникальный Клуб автоматизаций.