by Fahmi Fahreza
Automated Multi-Bank Balance Sync to BigQuery This workflow automatically fetches balances from multiple financial institutions (RBC, Amex, Wise, PayPal) using Plaid, maps them to QuickBooks account names, and loads structured records into Google BigQuery for analytics. Who’s it for? Finance teams, accountants, and data engineers managing consolidated bank reporting in Google BigQuery. How it works The Schedule Trigger runs weekly. Four Plaid API calls fetch balances from RBC, Amex, Wise, and PayPal. Each response splits out individual accounts and maps them to QuickBooks names. All accounts are merged into one dataset. The workflow structures the account data, generates UUIDs, and formats SQL inserts. BigQuery node uploads the finalized records. How to set up Add Plaid and Google BigQuery credentials, replace client IDs and secrets with variables, test each connection, and schedule the trigger for your reporting cadence.
by Jadai kongolo
Overview This n8n workflow automates the creation of AI-generated news recap videos using HeyGen's avatar technology. The template scrapes daily newsletter content, uses AI to generate engaging scripts, and produces professional video summaries with synthetic avatars and voices—all without manual intervention. Use Cases Daily News Digests: Automatically convert Morning Brew or similar newsletters into short-form video content for social media platforms like TikTok, Instagram Reels, or YouTube Shorts. Content Repurposing: Transform written blog posts, articles, or reports into engaging video summaries for broader audience reach. Automated Social Media Content: Schedule daily video updates for your audience without recording equipment or on-camera presence. How It Works The workflow operates in three main stages: Stage 1 - Content Acquisition: The Apify Web Scraper node fetches the latest newsletter content from Morning Brew, extracting markdown-formatted text for processing. Stage 2 - Script Generation: An AI agent powered by GPT-4 analyzes the content and creates a concise 40-60 word script highlighting the top 2-4 stories in an engaging, conversational tone perfect for short-form video. Stage 3 - Video Production: The script is sent to HeyGen's API, which generates a video featuring your custom AI avatar delivering the content. The workflow includes intelligent polling to check video completion status before proceeding. Customization Options Avatar & Voice Selection**: Use the "Get Avatars" and "Get Voices" nodes to browse available options and customize your video presenter Content Source**: Modify the News Scraper node URL to pull from any website or RSS feed Script Style**: Adjust the AI prompt in the Script Writer node to change tone, length, or focus areas Video Dimensions**: Configure aspect ratios (landscape, portrait, square) for different platforms Prerequisites HeyGen API key (for video generation) OpenRouter API key (for AI script writing) Apify token (for web scraping) 🛠️ Setup Guide Author: Jadai Kongolo Follow these steps to configure your HeyGen + n8n automation workflow: Go to HeyGen, create your AI avatar and voice. You can import your ElevenLabs voice clone, or let HeyGen clone your voice automatically. Connect your HeyGen API key to the following nodes: Generate Video Get Video Get Avatars Get Voices If you want to test out the "Create video with polling" flow: Connect your OpenRouter API key. Connect your Apify token in the node called News. Make sure all credentials are properly stored and referenced in your environment or credentials store for best security and reuse. Recommended Node Renaming for Clarity To improve workflow readability, consider renaming these nodes: | Current Name | Suggested Name | Purpose | |--------------|----------------|---------| | News | Scrape Morning Brew Newsletter | Fetches newsletter content | | Script Writer | AI Script Generator | Creates video script from content | | Generate Video1 | HeyGen Video Creation | Initiates video generation | | Get Video1 | Check Video Status | Polls for video completion | | 30 Seconds | Wait for Video Processing | Initial wait period | | If | Check if Video Complete | Validates completion status | | Wait | Retry Video Status Check | Waits before re-polling |
by Trung Tran
AWS IAM Inactive User Automation Alert Workflow > Weekly job that finds IAM users with no activity for > 90 days and notifies a Slack channel. > ⚠️ Important: AWS SigV4 for IAM must be scoped to us-east-1. Create the AWS credential in n8n with region us-east-1 (even if your other services run elsewhere). Who’s it for SRE/DevOps teams that want automated IAM hygiene checks. Security/compliance owners who need regular inactivity reports. MSPs managing multiple AWS accounts who need lightweight alerting. How it works / What it does Weekly scheduler – kicks off the workflow (e.g., every Monday 09:00). Get many users – lists IAM users. Get user – enriches each user with details (password status, MFA, etc.). Filter bad data – drops service-linked users or items without usable dates. IAM user inactive for more than 90 days? – keeps users whose last activity is older than 90 days. Last activity is derived from any of: PasswordLastUsed (console sign-in) AccessKeyLastUsed.LastUsedDate (from GetAccessKeyLastUsed if you add it) Fallback to CreateDate if no usage data exists (optional) Send a message (Slack) – posts an alert for each inactive user. No operation – path for users that don’t match (do nothing). How to set up Credentials AWS (Predefined → AWS) Service: iam Region: us-east-1 ← required for IAM Access/Secret (or Assume Role) with read-only IAM perms (see below). Slack OAuth (bot in your target channel). Requirements n8n (current version). AWS IAM permissions** (minimum): iam:ListUsers, iam:GetUser (Optional for higher fidelity) iam:ListAccessKeys, iam:GetAccessKeyLastUsed Slack bot with permission to post in the target channel. Network egress to iam.amazonaws.com. How to customize the workflow Change window:** set 60/120/180 days by adjusting minus(N, 'days'). Audit log:** append results to Google Sheets/DB with UserName, Arn, LastActivity, CheckedAt. Escalation:** if a user remains inactive for another cycle, mention @security or open a ticket. Auto-remediation (advanced):** on a separate approval path, disable access keys or detach policies. Multi-account / multi-region:** iterate a list of AWS credentials (one per account; IAM stays us-east-1). Exclude list:** add a static list or tag-based filter to skip known service users. Notes & gotchas Many users never sign in; if you don’t pull GetAccessKeyLastUsed, they may look “inactive”. Add that call for accuracy. PasswordLastUsed is null if console login never happened. IAM returns timestamps in ISO or epoch—use toDate/toDateTime before comparisons.
by phil
This workflow automates the search and extraction of hotel data from Booking.com. Triggered by a chat message, it uses a combination of web scraping with Bright Data's Web Scraper and AI-powered data processing with OpenRouter to deliver a concise, human-friendly list of hotels. The final output is a clean and formatted report, making it a valuable tool for travelers, event planners, and business professionals who need to quickly find accommodation options. Who's it for This template is ideal for: Event Planners:** Quickly identify and compare hotel options for conferences, meetings, or group travel. Travel Agents:** Efficiently research and provide clients with a curated list of accommodations based on their specified destination. Business Travelers:** Instantly find and assess hotel availability and pricing for upcoming trips. Individuals:** Streamline the hotel search process for personal vacations or short-term stays. How it works The workflow is triggered by a chat message containing a city name from an n8n chat application. It uses Bright Data to initiate a web scraping job on Booking.com for the specified city. The workflow continuously checks the status of the scraping job. Once the data is ready, it downloads the snapshot. The extracted data is then passed to a custom AI agent powered by OpenRouter. This AI agent uses a calculator tool to convert prices and an instruction prompt to refine and format the raw data. The final output is a well-presented list of hotels, ready for display in the chat application. How to set up Bright Data Credentials: Sign up for a Bright Data account and create a Web Scraper dataset. In n8n, create new Bright Data API credentials and copy your API key. OpenRouter Credentials: Create an account on OpenRouter and get your API key. In n8n, create new OpenRouter API credentials and paste your key. Chat Trigger Node: Configure the "When chat message received" node. Copy the production webhook URL to integrate with your preferred chat platform. Requirements An active n8n instance. A Bright Data account with a Web Scraper dataset. An OpenRouter account with API access. How to customize this workflow Search Parameters:** The "Initiate batch extraction from URL" node can be modified to change search criteria, such as check-in/check-out dates, number of adults and children, or property type. Output Format:** Edit the "Human Friendly Results" node's system message to change the format of the final report. You can modify the prompt to generate a JSON object, a CSV, or a different text format. Price Conversion:** The "Calculator" tool can be adjusted to perform different mathematical operations or currency conversions by modifying the AI agent's prompt. . Phil | Inforeole | Linkedin 🇫🇷 Contactez nous pour automatiser vos processus
by jason
Receive a new book recommendation each Friday from Open Library. You can select the subject from thousands of options and have a new recommendation delivered to you automatically.
by Robin Geuens
Overview Use this workflow to create SEO-friendly outlines based on articles that do well in Google. Enter a keyword, and the workflow scrapes the top results, scrapes the content, analyzes it with AI, and builds a MECE (mutually exclusive, collectively exhaustive) outline. It’s useful for content creators and SEO specialists who want relevant, well-structured content. How it works Accepts a keyword submitted through a form Uses the SerpAPI to get top Google results for a chosen country Collects the top five URLs. We use five because we expect some to fail at the scraping stage Scrapes each URL separately Uses the first three articles to fit the AI model’s context window Extracts the main text from the page body Converts HTML to Markdown to get rid of tags and attributes. Combines the cleaned text into a single list for AI processing Analyzes the content with an AI language model to find common topics and headings Generates an SEO-focused outline based on the most frequent topics Setup steps Sign up for a SerpAPI account (free tier available) Create an OpenAI account and get an API key Set up your credentials within N8N Run the workflow and enter your keyword in the form. The workflow will generate an SEO-friendly outline for your content Improvement ideas Add another LLM to turn the outline into an article Use the Google docs API to add the outline to a Google doc Enright the outline with data from Perplexity or Tavily
by jason
A workflow to automatically create groups of three based on a Mattermost channel and send out invitations to each group member.
by Will Stenzel
This workflow recieves webhook data from a form submission and creates a new user (with name and email) if necessary. It also add the current semester of the program to the relation for the user.
by Gareth Roll
This workflow uses OpenAI to generate tweets to be stored in Airtable for review. A JS snippet handles the topics to be tweeted about in the form of hashtags.
by Valor
This workflow gets latest RSS from different RSS Sources and categorizes them with conditional. *Reference https://n8n.io/workflows/1507 https://n8n.io/workflows/617 https://n8n.io/workflows/199*
by Ghazi Triki
Fetches Zammad tickets at daily basis at 08:30 then sends them to #customer support>ticket on zulip for daily standups.
by Luka Zivkovic
Description A production-ready authentication workflow implementing secure user registration, login, token verification, and refresh token mechanisms. Perfect for adding authentication to any application without needing a separate auth service. Get started with n8n now! What it does This template provides a complete authentication backend using n8n workflows and Data Tables: User Registration**: Creates accounts with secure password hashing (SHA-512 + unique salts) Login System**: Generates access tokens (15 min) and refresh tokens (7 days) using JWT Token Verification**: Validates access tokens for protected endpoints Token Refresh**: Issues new access tokens without requiring re-login Security Features**: HMAC-SHA256 signatures, hashed refresh tokens in database, protection against rainbow table attacks Why use this template No external services**: Everything runs in n8n - no Auth0, Firebase, or third-party dependencies Production-ready security**: Industry-standard JWT implementation with proper token lifecycle management Easy integration**: Simple REST API endpoints that work with any frontend framework Fully customizable**: Adjust token lifespans, add custom user fields, implement your own business logic Well-documented**: Extensive inline notes explain every security decision and implementation detail How to set up Prerequisites n8n instance (cloud or self-hosted) n8n Data Tables feature enabled Setup Steps Create Data Tables: users table: id, email, username, password_hash, refresh_token refresh_tokens table: id, user_id, token_hash, expires_at Generate Secret Keys: Run this command to generate a random secret: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" Generate two different secrets for ACCESS_SECRET and REFRESH_SECRET Configure Secrets: Update the three "SET ACCESS AND REFRESH SECRET" nodes with your generated keys Or migrate to n8n Variables for better security (instructions in workflow notes) Connect Data Tables: Open each Data Table node Select your created tables from the dropdown Activate Workflow: Save and activate the workflow Note your webhook URLs API Endpoints Register: POST /webhook/register-user Request body: { "email": "user@example.com", "username": "username", "password": "password123" } Login: POST /webhook/login Request body: { "email": "user@example.com", "password": "password123" } Returns: { "accessToken": "...", "refreshToken": "...", "user": {...} } Verify Token: POST /webhook/verify-token Request body: { "access_token": "your_access_token" } Refresh: POST /webhook/refresh Request body: { "refresh_token": "your_refresh_token" } Frontend Integration Example (Vue.js/React) Login flow: const response = await fetch('https://your-n8n.app/webhook/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email, password }) }); const { accessToken, refreshToken } = await response.json(); localStorage.setItem('accessToken', accessToken); Make authenticated requests: const data = await fetch('https://your-api.com/protected', { headers: { 'Authorization': Bearer ${accessToken} } }); Key Features Secure Password Storage**: Never stores plain text passwords; uses SHA-512 with unique salts Two-Token System**: Short-lived access tokens (security) + long-lived refresh tokens (convenience) Database Token Revocation**: Refresh tokens can be revoked for logout-all-devices functionality Duplicate Prevention**: Checks username and email availability before account creation Error Handling**: Generic error messages prevent information leakage Extensive Documentation**: 30+ sticky notes explain every security decision Use Cases SaaS applications needing user authentication Mobile app backends Internal tools requiring access control MVP/prototype authentication without third-party costs Learning JWT and auth system architecture Customization Token Lifespan**: Modify expiration times in "Create JWT Payload" nodes User Fields**: Add custom fields to registration and user profile Password Rules**: Update validation in "Validate Registration Request" node Token Rotation**: Implement refresh token rotation for enhanced security (notes included) Security Notes :warning: Important: Change the default secret keys before production use Use HTTPS for all webhook endpoints Store secrets in n8n Variables (not hardcoded) Regularly rotate secret keys in production Consider rate limiting for login endpoints Support & Documentation The workflow includes comprehensive documentation: Complete authentication flow overview Security explanations for every decision Troubleshooting guide Setup instructions FAQ section with common issues Perfect for developers who want full control over their authentication system without the complexity of managing separate auth infrastructure. Get Started with n8n now! Tags: authentication, jwt, login, security, user-management, tokens, password-hashing, api, backend