GenAiHub

Workflows

Browse 12,955 Workflows

Workflows Guide

Workflows are deterministic, multi-step pipelines that chain models, tools and agents in a fixed order — the predictable counterpart to an autonomous agent. Each entry records its platform and complexity, so the setup cost is visible before you import it.

109–120 of 12,955

Cl
Clean and deduplicate lead lists and export a review CSV file
Live

By Uzair Mallick

Quick overview This workflow takes a JSON lead list, normalizes email and website fields, validates basic email syntax, flags duplicates by email or domain, and exports a CSV review file with an accepted/duplicate/review status for each row. How it works Runs manually to process the sample input or your edited lead list. Validates that the input contains 1–5000 lead records and that the deduplication mode is set to email or domain. Normalizes each lead by trimming text, lowercasing emails, extracting a website hostname as a domain, and checking basic email syntax. Classifies each row as accepted, duplicate, or review based on invalid/missing fields and whether the email or domain has already appeared in the current run. Exports all rows to a downloadable CSV file that includes status, reason, and (for duplicates) the row number of the original record. Setup In the “Edit lead list and rules” step, replace the sample leads array with your own records using the same field names (company, email, website). Set deduplicateBy to email or domain depending on how you want duplicates detected. Execute the workflow and download clean-leads.csv from the final CSV export step. Requirements Built-in n8n nodes only; no credentials, API services or external accounts required. Processes 1–5000 records per run. Customization Choose email or exact normalized hostname deduplication in Edit lead list and rules. Replace the fictional sample records while retaining company, email and website field names. Additional info Email checks validate syntax only, not mailbox deliverability. Matching is limited to the current run, not a persistent CRM. Review every exported status before importing elsewhere. Processing logic and edge cases were tested locally; full n8n runtime execution has not yet been verified. An n8n automation workflow template by Uzair Mallick.

N8nUpdated 23 hours ago
Free
No ratings
  • 1 nodes
Workflows
  • Automation
PostWire logo
Test Instagram trial reel hooks with Gemini, Veo 3.1, PostWire, and Sheets
Live

By PostWire

Quick Overview This workflow collects a video idea via an n8n form, uses Google Gemini to generate multiple opening-hook variants and Veo 3.1 to render a short vertical video for each, then uploads and publishes them to Instagram as trial reels via PostWire while logging results to Google Sheets and emailing failures via Gmail. How it works Receives a submission from an n8n form with a video idea, target audience, and the number of variants to test. Uses Google Gemini to return JSON containing multiple variants with a hook, angle, Veo prompt, and Instagram caption. Splits the variants into individual items and, for each one, requests a PostWire upload URL, generates an 8-second 9:16 clip with Veo 3.1, uploads the video to PostWire, and finalizes it to get a hosted media URL. Creates an Instagram Reel via the PostWire API with trial-reel enabled, using an idempotency key to avoid duplicate posts for the same test and variant. Checks whether PostWire reports a successful publish and appends a row to Google Sheets with the idea, variant, hook, status, and link. If publishing fails, appends a “needs fix” row to Google Sheets and sends a Gmail message containing the error and suggested fix details. Setup Create a PostWire account, connect your Instagram professional account, and add an n8n HTTP Header Auth credential with Authorization: Bearer for the PostWire HTTP Request steps. Add Google Gemini credentials with access to gemini-2.5-flash and the Veo model used for video generation. Select or create a Google Sheets spreadsheet and worksheet, then map it to both Google Sheets append steps with columns for date, idea, variant, hook, status, link, and note. Connect your Gmail account and replace you@example.com with your email address for failure notifications. Open the form URL from the form trigger and submit a test idea to validate posting, logging, and email behavior. An n8n automation workflow template by PostWire.

N8nUpdated 23 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
  • AI
PostWire logo
Create Veo 3.1 short-form videos from Telegram with Gemini and PostWire
Live

By PostWire

Quick Overview This workflow listens for a text idea sent to a Telegram bot, uses Google Gemini to generate a Veo 3.1 prompt and platform-specific copy, renders an 8-second vertical video with Veo 3.1, uploads and publishes it to TikTok, Instagram Reels, and YouTube Shorts via PostWire, and logs results to Google Sheets. How it works Triggers when your Telegram bot receives a new message and ignores empty messages or slash commands. Replies in Telegram to confirm the render has started. Uses Google Gemini to turn the idea into a Veo prompt plus captions/text for TikTok, Instagram, and YouTube (including a YouTube title). Requests an upload URL from PostWire, generates an 8-second 9:16 clip with Veo 3.1, uploads the video to PostWire, and finalizes it to get a hosted video URL. Sends the generated video back to the Telegram chat as a preview. Publishes the video to TikTok, Instagram, and YouTube through PostWire using per-platform text and an idempotency key to avoid duplicate posts on retries. Appends a success or failure record to Google Sheets and replies in Telegram with the published links or the required fixes for any platforms that failed. Setup Create a Telegram bot with @BotFather, add the Telegram credentials in n8n, and (optionally) restrict usage to your chat ID in the Telegram trigger. Add Google Gemini credentials with billing enabled for both Gemini text generation and Veo 3.1 video generation. Create a PostWire account, connect TikTok/Instagram/YouTube, and configure an n8n HTTP Header Auth credential that sends Authorization: Bearer for the PostWire requests. Create/select a Google Sheets spreadsheet and worksheet with columns for date, idea, status, links, and note, then set the document and sheet in both Google Sheets append steps. Adjust the target platforms list and Gemini system prompt if you want different networks or different caption/style output. An n8n automation workflow template by PostWire.

N8nUpdated 23 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
  • AI
Mo
Monitor service uptime and send incident alerts via HTTP checks and Telegram
Live

By Homelab Agent

Quick overview This workflow runs every five minutes to check a configured health URL and sends a Telegram alert when the endpoint returns an HTTP error status. How it works Runs every 5 minutes on a schedule. Loads the target URL, service name, and Telegram chat ID from a configuration step. Sends an HTTP request to the URL with a 10-second timeout and captures the full response without failing the workflow on errors. Checks whether the HTTP status code is greater than 399. Sends a Markdown-formatted Telegram message with the service name, status code, URL, and check timestamp when the status indicates a failure. Ends silently without sending anything when the status indicates the service is up. Setup Create a Telegram bot with BotFather and add your Telegram bot token as an n8n Telegram credential. Update the URL, service name, and Telegram chat ID in the configuration step (or map them to the HTTP_URL, SERVICE_NAME, and TELEGRAM_CHAT_ID environment variables). Select your Telegram credential in the Telegram alert step and activate the workflow. Requirements n8n (self-hosted or cloud - built and tested on 2.35.x) and a Telegram bot token from BotFather. Customization Change the interval on the Schedule Trigger, add more items to the Config node to monitor several services at once, or replace the Telegram node with Slack, Discord or email. Additional info Also published as a free, MIT-licensed workflow with setup notes at https://github.com/gregorymammone-coder/n8n-uptime-telegram-alert. An n8n automation workflow template by Homelab Agent.

N8nUpdated 23 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
Un
Unload idle Ollama models and log GPU usage with HTTP and file writes
Live

By Kevin

Quick Overview This workflow runs manually or every 10 minutes to check which Ollama models are loaded, log state changes to a file, and optionally unload models that have been idle too long to free GPU memory. How it works Runs on a manual trigger or on a 10-minute schedule. Loads configuration values (Ollama URL, idle thresholds, dry-run mode, and log file path). Calls Ollama’s /api/ps endpoint to list currently loaded models and their expires_at timestamps. Calculates which models are idle (and which are “pinned” based on a far-future expires_at) and marks each model as keep, pinned-skip, would-unload, or unload while tracking the previous state. Appends a log line to the configured file only when a model’s state changes since the last run. When dry-run is disabled, sends a POST request to Ollama’s /api/generate with keep_alive: 0 for each model marked for unload. Setup Ensure your n8n instance can reach your Ollama server and set the correct base URL in the workflow settings (for example http://host.docker.internal:11434 when using Docker). Create the log directory and update logPath to a writable location for the n8n runtime. Review and adjust idleMinutes, assumedKeepAliveMinutes (to match your Ollama keep-alive behavior), and whether pinned models can be unloaded (unloadPinned). Run the workflow once with dryRun set to true and verify the log output, then set dryRun to false to enable live unloading. An n8n automation workflow template by Kevin.

N8nUpdated 23 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
Cr
Create UGC video ads with Google Flow Omni 1.1 Flash and useapi.net
Live

By useapi.net

Quick overview This workflow uses an n8n multi-step form and the useapi.net Google Flow API to generate UGC-style video ads with a consistent presenter and voice, creating/choosing presenter images, voice previews, product reference images, scenes, and final multi-clip Omni 1.1 Flash videos with optional upscaling. How it works Starts from an n8n form where you choose the Google Flow account email, presenter source (generate/upload/saved character), number of products, intro/closing clips, format, and takes per clip. Collects detailed inputs (presenter/voice/scene and per-product descriptions, actions, durations, and optional photos) and uploads any provided images to your Google Flow account via useapi.net. Checks the connected Google Flow account status and available credits via useapi.net and stops with an explanation page if the account is unhealthy, unpaid, or underfunded. If needed, generates presenter images, a second-angle image, and voice preview candidates via useapi.net, lets you re-roll, and saves the selected face+voice as a reusable Google Flow character. Generates four-view product sheets (or uses uploaded product photos), then generates multiple scene keyframes that include the chosen character and product references and lets you pick or re-roll. Submits one Omni 1.1 Flash video job per clip (intro/product/closing) with multiple takes, polls job status until completion, and lets you pick takes or re-roll specific clips. Optionally upscales selected takes to 1080p, then provides a playback/download page that joins the chosen clips on demand through a webhook and supports re-joining with adjustable trim cuts. Setup Create a useapi.net account, connect your Google Flow account email in useapi.net, and ensure the Google account is on a paid Google AI plan with enough Flow credits for the selected number of clips and takes. In n8n, add an HTTP Header Auth credential for useapi.net (Authorization: Bearer ) and select it for the workflow’s HTTP Request nodes. Activate the workflow and open the “Start form” URL to run the guided, multi-page flow (and keep the “Download ad” webhook URL unchanged unless you also update links generated on the final page). Requirements A useapi.net subscription and API token (one flat monthly plan covers every useapi.net API). A Google account connected to useapi.net on a paid Google AI plan. Omni 1.1 Flash clips spend its Flow credits: 7, 10, 12 or 15 per take for 4, 6, 8 or 10 seconds. n8n with core nodes only (Form, HTTP Request, Code, Wait, Switch, If), no community nodes. Tested on self-hosted n8n 2.41. Customization On the start form: 1 to 5 products, optional intro and closing clips, vertical 9:16 or horizontal 16:9, and 1 to 4 takes per clip. The Settings node holds the details-page defaults, the image model and the captcha attempts per request. The clip prompt is in the Clip requests node, and every other step calls a documented useapi.net endpoint you can change. Additional info Full walkthrough with screenshots and example ads: https://useapi.net/docs/articles/google-flow-n8n-ugc-ads Images, voices, the character, the 1080p upscale and the final join are free. Only the Omni 1.1 Flash clips spend Flow credits, and the scene page shows the cost before anything is paid. Disclosure: this template is published by useapi.net, the third-party API service it calls. An n8n automation workflow template by useapi.net.

N8nUpdated 23 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
V3nom tech logo
Send daily CISA KEV EPSS risk digests to Slack with OpenAI
Live

By V3nom tech

Quick Overview This workflow runs daily to monitor the CISA Known Exploited Vulnerabilities (KEV) catalog for CVEs matching your tech stack, enriches them with FIRST EPSS scores, uses OpenAI to generate a Slack-ready analyst digest, and posts the alert to a Slack channel. How it works Runs every day at 8 AM on a schedule. Downloads the latest CISA Known Exploited Vulnerabilities (KEV) JSON catalog and filters to entries added within your lookback window that match your configured vendors/products. De-duplicates results by CVE ID across executions so each CVE is only alerted once. Queries the FIRST EPSS API for each remaining CVE to retrieve exploitation probability data. Calculates a Critical/High/Medium priority based on ransomware campaign use and EPSS thresholds, then sorts the CVEs by priority and score. Uses OpenAI to write a Slack-formatted vulnerability digest from the structured CVE data and posts it to your selected Slack channel. Setup Add an OpenAI API credential in the OpenAI Chat Model node. Add a Slack credential and select the target channel in the Post Digest to Slack node. Update the Configuration values (techStack, lookbackDays, epssHighThreshold) to match your environment, then run a test and activate the workflow. An n8n automation workflow template by V3nom tech.

N8nUpdated 23 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Re
Report overlapping Google Calendar appointments by email with Gmail
Live

By Zinddin · Webs del Camp

Quick overview Checks one Google Calendar for overlapping timed appointments and prepares an email report for its owner. It starts with a fictional example you can run without Google credentials. In live mode, Gmail sends a report when a clash or invalid date needs attention. How it works Runs either manually or every morning on a schedule. Loads and validates the audit settings (calendar ID, recipient email, timezone, lookahead window, and report limits). Uses demo mode to generate fictional events, or otherwise fetches upcoming events from Google Calendar while expanding recurring events. Filters out cancelled, free (transparent), all-day, self-declined, and duplicate events, then detects overlapping timed appointment pairs. Builds a text report summarizing overlap counts, excluded events, and any events that could not be checked due to invalid timed dates. If demo mode is off and the report needs attention, sends the report by Gmail to the configured internal recipient; otherwise it outputs the audit result for inspection. Setup Run the template manually with demo_mode enabled. The example needs no Google credentials and sends no email; five fictional events produce one overlap. For live use, connect Google Calendar and Gmail, then configure the calendar ID, an authorized internal recipient, timezone, review window and report limit in the configuration node. Switch demo_mode off for a manual live check. Review its output and confirm the report destination before enabling the schedule. Requirements Use one calendar for a single person or bookable resource. Intentional overlaps in a shared team calendar will also be reported. All-day events are excluded. Additional info Created by Webs del Camp, web and business automation services in Spain. The included demo was run in n8n 2.41.6: five fictional appointments produce three busy events and one overlapping pair. Demo mode sends no email. An n8n automation workflow template by Zinddin · Webs del Camp.

N8nUpdated 23 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Asmita Fahim logo
Manage QA CAPA lifecycle with Google Sheets, Gmail, and Google Gemini
Live

By Asmita Fahim

Quick overview This workflow collects QA/QC audit findings via an n8n form, uses Google Gemini to assess severity and CAPA need, and then tracks CAPAs in Google Sheets while sending assignment, verification, closure, and rework notifications through Gmail. How it works Receives a new QA/QC finding submission through an n8n form trigger. Generates a unique finding ID, normalizes the submitted fields, and sends the finding details to Google Gemini to determine category, risk level, severity score, CAPA requirement, and recommended actions. If CAPA is not required, appends the decision and rationale to a Google Sheets “No_CAPA_Log” tab for audit trail purposes. If CAPA is required, creates a CAPA entry in the Google Sheets “CAPA_Log”, assigns an owner based on the department, calculates a due date based on assessed risk, and updates the CAPA record to “Assigned.” Looks up the assigned owner’s email address from a Google Sheets “Owner_Directory” tab, sends a CAPA assignment email via Gmail, and logs the send status back to the CAPA log. When the CAPA owner submits completion notes and evidence via a second n8n form, updates the CAPA record in Google Sheets to “Awaiting QA Verification” and emails the QA team to review the submission. When QA submits a verification decision via a third n8n form, updates the CAPA record in Google Sheets to either “Closed” (and emails a closure notice) or “Rework Required” (and emails a rework request and logs the notification). Setup Create and connect Google Sheets OAuth credentials, and ensure the spreadsheet contains the tabs and columns used by the workflow (CAPA_Log, Owner_Directory, and No_CAPA_Log, including matching keys like CAPA_ID and Department). Add Google Gemini (Google AI) credentials for the assessment step. Add Gmail credentials and replace placeholder recipients (for example, qa-team@example.com and capa-owner@example.com) with your real QA team and owner directory email addresses. Populate the Owner_Directory sheet with Department-to-email mappings (for example, a CAPA_Owner_Email column) so assignments and rework notifications can be addressed correctly. Publish the three n8n forms and share their URLs with your reporters, CAPA owners, and QA verifiers so each stage (finding, evidence, verification) can be submitted. An n8n automation workflow template by Asmita Fahim.

N8nUpdated 23 hours ago
Paid
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Luca logo
Collect and reconcile rent with Google Sheets, Gmail, Twilio, and OpenAI
Live

By Luca

Quick Overview This workflow runs hourly to calculate rent due from Google Sheets leases, match incoming bank statement lines to tenants, and automatically chase arrears via Twilio SMS and Gmail email, using OpenAI to classify tenant replies and pause, escalate, or route cases to a manager. How it works Runs every hour on a schedule, and also triggers when an inbound Twilio SMS or Gmail inbox email arrives. Loads lease, owner, index, bank, and log data from Google Sheets to rebuild the current rent ledger and previous actions. Calculates rent charges (including proration and optional late fees), matches bank statement credits/returns to leases, and decides which reminders, escalations, rent reviews, digests, and owner statements are due. Appends every decision (charges, matched payments, reminders, holds, reviews, and alerts) as new rows in the Google Sheets Log tab. Sends queued outbound messages via Twilio (SMS) or Gmail (email) based on each log entry’s target channel and contact. When a tenant or manager replies, normalizes the message, uses OpenAI to extract intent and evidence, updates the log with holds/promises/opt-outs or review approvals, and sends acknowledgements or forwards items to the manager by email. If the workflow errors, sends an alert email via Gmail with the execution details. Setup Create a Google Sheets spreadsheet with tabs named Leases, Owners, Index, Bank, and Log, and provide a Google Sheets credential with access to it. Add Gmail credentials for sending emails and for the Gmail trigger, then set the manager email and failure alert recipient email in the workflow. Add Twilio credentials, configure a Twilio phone number for outbound SMS, and set the number in the rent settings. Add an OpenAI credential for the information extraction step used to classify replies. Update the Set Rent Settings node with your Google Sheet ID, business/manager details, bank payment details, timezone/locale/currency, and chasing/review rules, and edit Set Message Texts to match your wording and language. Paste or sync your bank statement data into the Bank tab using the expected columns (date/amount/reference/payer and optional lease_id) so payments can be matched reliably. An n8n automation workflow template by Luca.

N8nUpdated 23 hours ago
Paid
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Se
Send scheduled real estate lead follow-up emails with Google Sheets and Gmail
Live

By Christophe REVOIRE

Quick Overview This workflow runs every weekday at 9am to read real estate leads from Google Sheets, send the next scheduled follow-up email via Gmail based on each lead’s intent and status, and then updates the lead row with the new follow-up step and next due date. How it works Runs every weekday at 9am on a schedule. Reads lead rows from the “Leads” sheet in Google Sheets. Checks each lead’s status, last contact date, and follow-up step against the configured follow-up day sequence and skips leads in stop statuses (for example replied or unsubscribed). Builds a personalized HTML follow-up email (buy/sell/rent) with your booking link and unsubscribe text for leads that are due, up to the maximum emails per run. Sends each follow-up email through Gmail. Updates the matching lead in Google Sheets with the new status, incremented follow-up step, last contact timestamp, and next follow-up date. Setup Connect Google Sheets credentials with access to the spreadsheet that contains the “Leads” sheet. Connect Gmail credentials for the mailbox you want to send follow-ups from. In the Config step, paste your Google Sheet ID and set your agency name, agent name, booking link, follow-up day sequence, stop statuses, and per-run email limit. Ensure your Google Sheet “Leads” tab includes the required columns (at minimum Email, Lead ID, Status, Follow-up Step, Last Contact At/Last Enquiry At, Intent, and Name) and that “Lead ID” uniquely identifies each row for updates. An n8n automation workflow template by Christophe REVOIRE.

N8nUpdated 3 days ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Lo
Log daily LinkedIn job postings to Google Sheets with Apify
Live

By Matvey

Quick overview This workflow runs every morning to search LinkedIn jobs via the Apify LinkedIn Jobs Scraper and appends new job postings to Google Sheets while preventing duplicates by LinkedIn job ID. How it works Runs every morning on a schedule trigger. Builds the search parameters (keywords, location, date range, per-keyword limit, and cost cap) for the LinkedIn job search. Calls the Apify LinkedIn Jobs Scraper Actor to fetch recent LinkedIn job postings (including any extracted contact emails). Filters the results to keep only valid job rows, formats fields (including salary and a “foundAt” timestamp), and stops the run with an error if no jobs are returned. Appends new jobs to Google Sheets or updates existing rows by matching on the job id to avoid duplicates. Setup Create an Apify account, copy your Apify API token, and add an n8n HTTP Header Auth credential that sends Authorization: Bearer . Create a Google Sheet with columns id, title, company, location, seniority, employmentType, salary, applicants, postedAt, url, emails, and foundAt, then connect your Google Sheets credentials in the Google Sheets node. Select your target Google Sheet document and tab in the Google Sheets node and adjust the keywords, location, limits, and maxTotalChargeUsd values in the search settings before activating the workflow. Additional info Get fresh LinkedIn job postings in a Google Sheet every morning, without a LinkedIn account, cookies or any risk to your profile. Who it is for: recruiters, job seekers, freelancers, agencies and sales teams who watch which companies are hiring for which roles. How it works A schedule trigger starts the workflow every morning at 8:00. You list your job titles and location once, in the "Search settings" node. The LinkedIn Jobs Scraper Actor on Apify reads LinkedIn's public job pages (no login) and returns title, company, location, seniority, salary when posted, number of applicants, link and recruiter emails found in the posting. Error rows are removed. If a run returns no jobs at all, the workflow stops with a clear error message instead of quietly leaving an empty sheet. New jobs are added to your Google Sheet. A job already in the sheet is not duplicated (matched on the LinkedIn job id). Setup (about 5 minutes) Create a free Apify account and copy your API token (Settings > API & Integrations). In n8n add a Header Auth credential: Name Authorization, Value Bearer YOUR_TOKEN. Create a Google Sheet with these column headers in row 1: id, title, company, location, seniority, employmentType, salary, applicants, postedAt, url, emails, foundAt. Connect it in the last node. Edit the job titles and location, run once manually, then activate. Cost: about $0.003 per job (+$0.002 when the posting contains an email). The run has a spending cap (default $1), so a wrong setting cannot turn into a big bill. 25 jobs per run is roughly 8 cents. Actor used: https://apify.com/lergassy/linkedin-jobs-scraper. An n8n automation workflow template by Matvey.

N8nUpdated 23 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation