by Harshil Agrawal
This workflow demonstrates how to merge data for different executions. The Merge Data Function node fetches the data from different executions of the RSS Feed Read node and merges them under a single object. Note: If you want to process the items that get merged, you will have to convert the single item into n8n understandable multiple items.
by Dataki
Workflow updated on 17/06/2024:** Added 'Summarize' node to avoid creating a row for each Notion content block in the Supabase table.* Store Notion's Pages as Vector Documents into Supabase This workflow assumes you have a Supabase project with a table that has a vector column. If you don't have it, follow the instructions here: Supabase Langchain Guide Workflow Description This workflow automates the process of storing Notion pages as vector documents in a Supabase database with a vector column. The steps are as follows: Notion Page Added Trigger: Monitors a specified Notion database for newly added pages. You can create a specific Notion database where you copy the pages you want to store in Supabase. Node: Page Added in Notion Database Retrieve Page Content: Fetches all block content from the newly added Notion page. Node: Get Blocks Content Filter Non-Text Content: Excludes blocks of type "image" and "video" to focus on textual content. Node: Filter - Exclude Media Content Summarize Content: Concatenates the Notion blocks content to create a single text for embedding. Node: Summarize - Concatenate Notion's blocks content Store in Supabase: Stores the processed documents and their embeddings into a Supabase table with a vector column. Node: Store Documents in Supabase Generate Embeddings: Utilizes OpenAI's API to generate embeddings for the textual content. Node: Generate Text Embeddings Create Metadata and Load Content: Loads the block content and creates associated metadata, such as page ID and block ID. Node: Load Block Content & Create Metadata Split Content into Chunks: Divides the text into smaller chunks for easier processing and embedding generation. Node: Token Splitter
by Muhammad Farooq Iqbal
This n8n template demonstrates how to create an automated emotional story generation system that produces structured video prompts and generates corresponding images using AI. The workflow creates a complete story with 5 scenes featuring a Pakistani character named Yusra, converts them into Veo 3 video generation prompts, and generates images for each scene. Use cases include: Automated story creation for social media content Video pre-production with AI-generated storyboards Content creation for educational or entertainment purposes Multi-scene narrative development with consistent character design Good to know: Uses Gemini 2.5 Flash Lite for story generation and prompt conversion Uses Gemini 2.0 Flash Exp for image generation The image generation model may be geo-restricted in some regions Workflow includes automatic Google Drive organization and Google Sheets tracking How it works: Story Creation: Gemini AI creates a 5-scene emotional story featuring Yusra, a Pakistani girl aged 20-25 in traditional dress Folder Organization: AI generates a unique folder name with timestamp for project organization Google Sheets Setup: Creates a new sheet to track all scenes and their processing status Scene Processing: Each scene is processed individually with character and action prompts Veo 3 Prompt Conversion: Converts natural language scene descriptions into structured JSON format optimized for Veo 3 video generation, including parameters like: Detailed scene descriptions Camera movements and angles Lighting and mood settings Style and quality specifications Aspect ratios and technical parameters Image Generation: Uses Gemini's image generation model to create visual representations of each scene File Management: Automatically uploads images to Google Drive and organizes them in project folders Status Tracking: Updates Google Sheets with processing status and file URLs Automated Workflow: Includes conditional logic to handle different processing states and file movements How to use: Execute the workflow manually or set up automated triggers The system will automatically create a new story with 5 scenes Each scene gets processed through the AI pipeline Generated images are organized in Google Drive folders Track progress through the Google Sheets interface The workflow handles all file management and status updates automatically Requirements: Gemini API access for both text and image generation Google Drive for file storage and organization Google Sheets for project tracking and management n8n instance with appropriate node access Customizing this workflow: Modify the character description in the Story Creator node Adjust the number of scenes by changing the story prompt Customize the Veo 3 prompt parameters for different video styles Add additional AI models or processing steps Integrate with other content creation tools Modify the folder naming convention or organization structure Technical Features: Automated retry logic for failed operations Conditional processing based on status flags Batch processing for multiple scenes Error handling and status tracking File organization with timestamp-based naming Integration with Google Workspace services This template is perfect for content creators, educators, or anyone looking to automate story-based content creation with AI assistance.
by Zacharia Kimotho
Usage This workflow gets all the posts from your WordPress site and sorts them into a clear format before publishing them to medium. Step 1. Set up the HTTP node and set the URL of the source destination. This will be the URL of the blog you want to use. We shall be using https://mailsafi.com/blog for this. Step 2. Extract the URLs of all the blogs on the page This gets all the blog titles and their URLs. Its an easy way to sort ou which blogs to share and which not to share. Step 3. Split the entries for easy sorting or a cleaner view. Step 4. Set a new https node with all the blog URLs that we got from the previous steps. Step 5. Extract the contents of the blog Step 6. Add the medium node and then set the contents that you want to be shared out. Execute your workflow and you are good to go
by Akhil Varma Gadiraju
π Form-Based X/Twitter Poster (v2) A user-friendly n8n workflow that enables users to submit tweets through a simple web form β with optional image, video, or GIF uploads β and posts them to a connected X/Twitter account. Designed for ease of use, this workflow handles both media and text-only posts, providing clear feedback upon submission. π§ Overview Workflow Name: Form-Based X/Twitter Poster (v2) Goal: Provide a web form for users to create tweets, upload optional media, and post directly to X/Twitter. π How It Works 1. Form Submission Trigger Node:** On form submission Type:** formTrigger Purpose:** Renders a web form for tweet creation. Fields:** Post Content: Required textarea for tweet text. Media: Optional file upload (.jpg, .png, .gif, .mp4, etc.). Button:** "Submit" Output:** JSON with text and binary media (if any). 2. Extract Media Details Node:** Extract Media Details Type:** code Purpose:** Extracts tweet text, checks for media, determines media type. Output Example:** { "content": "My tweet!", "mime_type": "image/jpeg", "media_type": "IMAGE" } 3. If Media Exists Node:** If Media Exists Type:** if Purpose:** Checks whether media was uploaded. True Path:** Media was uploaded. False Path:** No media uploaded. 4. Upload Media to X/Twitter (True path only) Node:** Upload Media (X) Type:** httpRequest Purpose:** Uploads media to Twitter via API v1.1. Media Category:** TWEET_IMAGE (can be customized) Auth:** Twitter OAuth1 API Output:** Includes media_id_string 5. Post Tweet with Media (True path) Node:** X Type:** twitter Purpose:** Posts tweet with uploaded media. Auth:** Twitter OAuth2 API 6. Post Text-Only Tweet (False path) Node:** X1 Type:** twitter Purpose:** Posts tweet without media. Auth:** Twitter OAuth2 API 7. Show Confirmation Message Node:** End Form Type:** form Purpose:** Displays thank-you message post-submission. Title:** Thank you so much for sharing your experience on X! π€ Message:** We truly appreciate your support and are so glad we could make a positive impact. Your words mean the world to us! π How to Customize Form Fields:** Change form title, labels, help texts, or file formats. Media Logic:** Add logic for distinguishing GIF vs VIDEO. Adjust media upload URL dynamically: https://upload.twitter.com/1.1/media/upload.json?media_category={{ $json.media_type === 'VIDEO' ? 'TWEET_VIDEO' : ($json.media_type === 'GIF' ? 'TWEET_GIF' : 'TWEET_IMAGE') }} Error Handling:** Add Error Trigger nodes to catch and manage failures gracefully. Tweet Text:** Customize tweet text with extra formatting or default content. Advanced Ideas:** Schedule tweets Post to multiple accounts Add content approval steps π Required Credentials 1. Twitter OAuth1 API Used by:** Upload Media (X) Required for:** Media upload via v1.1 Credentials:** Consumer Key, Consumer Secret, Access Token, Access Token Secret Workflow Credential Name:** X OAuth - Akhil 2. Twitter OAuth2 API Used by:** X, X1 Required for:** Posting tweets Scopes:** tweet.read, tweet.write, users.read, offline.access Workflow Credential Name:** X OAuth2 - Akhil π‘ Use Cases Easy Tweet Tool:** For non-technical users to share content. Content Approval:** Internal review system before posting. Announcements:** Quickly broadcast updates. Campaign Posting:** Streamline recurring content sharing. π§βπ» Node Naming Suggestions | Old Name | Suggested Name | |--------------------|--------------------------| | If Image Exists | If Media Exists | | X | Post Tweet with Media | | X1 | Post Text-Only Tweet | β€οΈ Made with love by Akhil using n8n
by The Higher Pitch
This workflow automatically pulls articles from an RSS feed, translates the content and title from English to Hindi using OpenAI, extracts the featured image from the HTML content, and publishes the translated post as a draft on a connected WordPress site. π§ Key Features: Polls RSS feed every 10 minutes for new articles Extracts and parses the featured image from custom HTML tags Translates content and title from English to Hindi using OpenAI Assistant Uploads the featured image to WordPress media library Associates the image with the new draft post Publishes the translated article as a draft for review π― Use Case: Ideal for multi-language blog automation or content localization workflows where original content is in English and needs to be localized into Hindi before publishing.
by Varritech
Workflow: Publish to Contentful with Rich Text Formatting β‘ About the Creators This workflow was created by Varritech Technologies, an innovative agency that leverages AI to engineer, design, and deliver software development projects 500% faster than traditional agencies. Based in New York City, we specialize in custom software development, web applications, and digital transformation solutions. If you need assistance implementing this workflow or have questions about content management solutions, please reach out to our team. ποΈ Architecture Overview This workflow takes a JSON article payload, splits its markdown content into logical chunks, converts each chunk into Contentful Rich Text JSON via an AI agent, merges the resulting rich text nodes back into a single document, formats the entire entry according to Contentful's field schema, and finally publishes it to Contentful. Trigger β Executes when called by another workflow Split by Headings β Breaks markdown into ##-delimited chunks Markdown β Rich Text β AI agent converts each chunk to Contentful Rich Text JSON Combine Rich Text Objects β Aggregates all chunk outputs into one document Format Entry β Wraps metadata and rich-text content into Contentful schema Publish Entry β HTTP POST to Contentful API π¦ Node-by-Node Breakdown flowchart LR A[When Executed by Another Workflow] --> B[Split by Headings] B --> C[Markdown to Contentful format] C --> D[Combine Rich Text Objects] D --> E[Merge1] E --> F[Format1] F --> G[Create newly formatted Contentful Entry] 1. When Executed by Another Workflow Type: Execute Workflow Trigger Input Example: title, slug, category.id, description, keywords, content, metaTitle, metaDescription, readingTime, difficulty Purpose: Receives the JSON payload from the upstream workflow. 2. Split by Headings Type: Code Logic: Splits input.content into an array of markdown chunks at each second-level heading (##). Emits one item per chunk with index, slug, title, and contentChunk. 3. Markdown to Contentful format Type: LangChain Agent (+ OpenAI Chat model) System Prompt: Defines rules for generating valid Contentful Rich Text JSON (must include nodeType, data:{}, content:[], etc.). Provides examples for paragraphs, headings, lists, links, and images. User Prompt: Here is the markdown content to convert: Purpose: Converts each markdown chunk into an array of rich-text nodes. 4. Combine Rich Text Objects Type: Code Logic: Parses and merges all content arrays returned by the AI agent into one combined content array under a document root. 5. Merge1 Type: Merge Purpose: Joins the original item (with metadata) and the combined rich-text document into a single data stream. 6. Format1 Type: Code Logic: Maps workflow data into the Contentful entry schema by setting each field (title, slug, category link, description, keywords, rich-text content, metaTitle, metaDescription, readingTime, difficulty) under the appropriate locale and structure required by Contentful. 7. Create newly formatted Contentful Entry Type: HTTP Request Method: POST URL: https://api.contentful.com/spaces Headers: Authorization: Bearer token for Contentful Management API Content-Type: application/vnd.contentful.management.v1+json X-Contentful-Version: entry version number X-Contentful-Content-Type: content type ID Body: The formatted fields object produced by the previous node Purpose: Publishes the new entry with rich-text content to Contentful. π Design Rationale & Best Practices Chunked Conversion Splitting by headings prevents AI context limits and keeps conversions modular. Strict Rich Text Schema Enforcing nodeType, data, and content structure avoids validation errors on Contentful. Two-Phase Merge Separating "combine AI outputs" and "format entry" keeps transformations clear and testable. Idempotent Publish Uses explicit versioning and content type headers to ensure correct entry creation.
by Niranjan G
Slack Bot n8n Integration Hub - Workflow Submission π Showcase: Endless Possibilities with n8n Integration This repository demonstrates a powerful Slack Bot Socket App that seamlessly integrates with n8n for automation workflows. This is just a showcase of what's possible when combining Slack's interactive capabilities with n8n's automation power - the possibilities are truly endless! π Project Overview Repository: slack-n8n-integration-hub Status: β Committed and Ready for Submission This project showcases how to create seamless interactions between Slack users and n8n workflows, demonstrating: Real-time Data Submission** from Slack to n8n workflows Interactive Approval/Rejection** workflows triggered from Slack Secure Webhook Communication** with optional Basic Authentication Dynamic Modal Interactions** with immediate feedback Error Handling and User Experience** optimization π― Key Features Demonstrated 1. Data Input Integration Users can submit custom data directly from Slack Data is instantly sent to n8n workflows for processing Real-time feedback and confirmation messages 2. Approval Workflow Automation Interactive approve/reject buttons in Slack modals Decisions trigger different n8n workflow paths Automated decision logging and processing 3. Enhanced User Experience Modal closes automatically after actions Submit button positioned below input for better UX Comprehensive error handling and user feedback 4. Security & Authentication Optional HTTP Basic Auth for webhook security Environment-based configuration management Secure credential handling π§ Technical Implementation Slack Bot Features: Socket Mode for real-time communication Custom slash commands (/automation) Interactive modals with dynamic content Button actions and form submissions n8n Integration: Webhook triggers for data reception Structured payload formats Authentication support Error handling and response management Workflow Payload Examples: Data Submission: { "type": "data_submission", "data": "User input data here", "user": { "id": "U1234567890", "name": "username" }, "timestamp": "2024-01-01T12:00:00.000Z", "source": "slack_bot" } Approval Action: { "type": "approval_action", "action": "approve", "user": { "id": "U1234567890", "name": "username" }, "timestamp": "2024-01-01T12:00:00.000Z", "source": "slack_bot" } π Why This Matters for n8n Community This project demonstrates how n8n can be the backbone for: Human-in-the-loop** automation workflows Interactive approval** processes Real-time data collection** from team communication tools Seamless integration** between chat platforms and automation Scalable workflow triggers** from multiple sources π Endless Possibilities This is just the beginning! With this foundation, you can build: IT Service Desk** automation with Slack approvals Content Publishing** workflows with team reviews Data Collection** and processing pipelines Incident Management** with automated escalations Project Management** with status updates and approvals Customer Support** ticket routing and responses DevOps Deployments** with approval gates Financial Approvals** with audit trails HR Processes** with automated workflows Marketing Campaigns** with content approvals π Repository Structure slack-n8n-integration-hub/ βββ app.js # Main Slack Bot application βββ package.json # Dependencies and scripts βββ .env.example # Environment configuration template βββ README.md # Complete setup documentation βββ CONTRIBUTING.md # Contribution guidelines βββ Slack_Bot_n8n_Integration_Hub.json # n8n workflow export βββ n8n-workflow-examples.json # Additional workflow examples βββ test-webhook.js # Webhook testing utilities π Ready for n8n Community This workflow is: β Fully Tested and working β Well Documented with setup instructions β Open Source and ready for community use β Extensible for various use cases β Production Ready with error handling π Get Started Clone the repository: git clone https://github.com/iam-niranjan/slack-n8n-integration-hub.git Follow the setup guide in the main README.md Import the n8n workflows from the JSON files Customize for your use case and explore the possibilities! This showcase demonstrates that with n8n and Slack integration, the automation possibilities are truly endless! π Ready to submit to n8n community for sharing and collaboration.
by Jimleuk
This n8n workflow shows an easy way to automate the creation of social media assets using AI and a service like BannerBear. Designed for the busy marketer, leveraging AI image generation capabilities can help cut down production times and allow reinvesting into higher quality content. How it works This workflow generates social media banners for online events. Using a form trigger, a user can define the banner text and suggest an image to be generated. This request is passed to OpenAI's Dalle-3 image generation service to produce a relevant graphic for the event banner. This generated image is uploaded and sent to BannerBear where a template will use it and the rest of the form data to produce the banner. BannerBear returns the final banner which can now be used in an assortment of posts and publications. Requirements A BannerBear.com account and template is required An OpenAI account to use the Dalle-3 service. Customising the workflow We've only shown a small section of what BannerBear has to offer. With experimentation and other asset generating services such as AI audio and video, you should be able to generate more than just static banners!
by simonscrapes
Use Case Automate image replacement in Google Docs: You need to update document images dynamically You want to create multiple versions of a template with different images You need to batch process document images from a URL database You want to generate shareable documents with custom images What this Workflow Does The workflow automates image replacement in Google Docs: Accepts image URLs from your database Finds and replaces images in template documents Creates new document copies with updated images Optionally converts to PDF and makes documents shareable Setup Connect your image URL database (column name must be "url") Set up Google Docs OAuth 2 API credentials Optional: Create a template document in Google Drive with placeholder images Optional: Configure Google Drive authentication for additional features How to Adjust it to Your Needs Remove template copying for single document processing Adjust image ID selection for documents with multiple images Configure sharing settings and download formats Customize file naming and storage location More templates and n8n workflows >>> @simonscrapes
by Derek Cheung
How it works: Using a Crew of AI agents (Senior Researcher, Visionary, and Senior Editor), this crew will automatically determine the right questions to ask to produce a detailed fundamental stock analysis. This application has two components: a front-end and a Stock Q&A engine. The front end is the team of agents automatically figuring out the questions to ask, and the back-end part is the ability to answer those questions with the SEC 10K data. This template implements the Stock Q&A engine. For the front-end of the application, you can choose one of two options: using CrewAI with the Replit environment (code approach) fully visual approach with n8n template (AI-powered automated stock analysis) Setup steps: Use first workflow in template to upsert a company annual report PDF (such as from SEC 10K filling) Get URL for Webhook in second workflow template CrewAI front-end: Youtube overview video Fork this AI Agent environment Crew Agent Environment Set the webhook URL into N8N_WEBHOOK_URL variable Set OpenAI_API_KEY variable
by Jimleuk
This n8n template takes a video and extracts frames from it which are used with a multimodal LLM to generate a script. The script is then passed to the same multimodal LLM to generate a voiceover clip. This template was inspired by Processing and narrating a video with GPT's visual capabilities and the TTS API How it works Video is downloaded using the HTTP node. Python code node is used to extract the frames using OpenCV. Loop node is used o batch the frames for the LLM to generate partial scripts. All partial scripts are combined to form the full script which is then sent to OpenAI to generate audio from it. The finished voiceover clip is uploaded to Google Drive. Sample the finished product here: https://drive.google.com/file/d/1-XCoii0leGB2MffBMPpCZoxboVyeyeIX/view?usp=sharing Requirements OpenAI for LLM Ideally, a mid-range (16GB RAM) machine for acceptable performance! Customising this workflow For larger videos, consider splitting into smaller clips for better performance Use a multimodal LLM which supports fully video such as Google's Gemini.