by Bazhard
TOTP Validation with Function Node This template allows you to verify if a 6-digit TOTP code is valid using the corresponding TOTP secret. It can be used in an authentication system. The inputs need to be: a base32 totp secret (String) a 6 digits code (String) ++Important:++ The 6-digit code must be in text format. If the code starts with zeros and is treated as a number, it could cause validation issues. The function node will generate a 6-digit code from the TOTP secret, then compare it with the provided code. If they match, it will return 1 otherwise, it will return 0. Example usage: You retrieve the user's TOTP secret from a database, then you want to verify if the 2FA code provided by the user is valid. Setup Guidelines You only need the ==TOTP VALIDATION== node. You will need to modify lines 39 and 40== of the node with the correct values for your specific context. Testing the Template You can define a sample secret and code in the EXAMPLE FIELDS node of the template, then click "Test Workflow". If the code is valid for the provided secret, the flow will proceed to the true branch of the IF CODE IS VALID node. Otherwise, it will go to the false branch.
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 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 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 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 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 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 Nadia Privalikhina
This n8n template offers a free and automated way to convert images from a Google Drive folder into a single PDF document. It uses Google Slides as an intermediary, allowing you to control the final PDF's page size and orientation. If you're looking for a no-cost solution to batch convert images to PDF and need flexibility over the output dimensions (like A4, landscape, or portrait), this template is for you! It's especially handy for creating photo albums, visual reports, or simple portfolios directly from your Google Drive. How it works The workflow first copies a Google Slides template you specify. The page setup of this template (e.g., A4 Portrait) dictates your final PDF's dimensions. It then retrieves all images from a designated Google Drive folder, sorts them by creation date. Each image is added to a new slide in the copied presentation. Finally, the entire Google Slides presentation is converted into a PDF and saved back to your Google Drive. How to use Connect your Google Drive and Google Slides accounts in the relevant nodes. In the "Set Pdf File Name" node, define the name for your output PDF. In the "CopyPdfTemplate" node: Select your Google Slides template file (this sets the PDF page size/orientation). Choose the Google Drive folder containing your source images. Ensure your images are in the specified folder. For best results, images should have an aspect ratio similar to your chosen Slides template. Run the workflow to generate your PDF by clicking 'Test Workflow' Requirements Google Drive account. Google Slides account. Google Slides Template stored on your Google Drive Customising this workflow Adjust the "Filter: Only Images" node if you use image formats other than PNG (e.g., image/jpeg for JPGs). Modify the image sorting logic in the "Sort by Created Date" node if needed.
by Joseph LePage
βοΈπ WordPress + AI Content Creator This workflow automates the creation and publishing of multi-reading-level content for WordPress blogs. It leverages AI to generate optimized articles, automatically creates featured images, and provides versions of the content at different reading levels (Grade 2, 5, and 9). How It Works Content Generation & Processing π― Starts with a manual trigger and a user-defined blog topic Uses AI to create a structured blog post with proper HTML formatting Separates and validates the title and content components Saves a draft version to Google Drive for backup Multi-Reading Level Versions π Automatically rewrites the content for different reading levels: Grade 9: Sophisticated language with appropriate metaphors Grade 5: Simplified with light humor and age-appropriate examples Grade 2: Basic language with simple metaphors and child-friendly explanations WordPress Integration π Creates a draft post in WordPress with the Grade 9 version Generates a relevant featured image using Pollinations.ai Automatically uploads and sets the featured image Sends success/error notifications via Telegram Setup Steps Configure API Credentials π Set up WordPress API connection Configure OpenAI API access Set up Google Drive integration Add Telegram bot credentials for notifications Customize Content Parameters βοΈ Adjust reading level prompts as needed Modify image generation settings Set WordPress post parameters Test and Deploy π Run a test with a sample topic Verify all reading level versions Check WordPress draft creation Confirm notification system This workflow is perfect for content creators who need to maintain a consistent blog presence while catering to different audience reading levels. It's especially useful for educational content, news sites, or any platform that needs to communicate complex topics to diverse audiences.