Workflows
Browse 12,955 Workflows
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.
385–396 of 12,955
By Khairul Muhtadin
Quick overview This workflow receives operations requests via webhook, uses Jev (TypeSafe) to classify and evaluate them, logs outcomes to Google Sheets, and notifies teams via Gmail and Telegram, then generates a weekly route summary using OpenAI and emails it to ops. How it works Receives an operations request via a POST webhook and normalizes fields like run ID, requester, request text, and destination. Rejects requests with missing request text and emails ops via Gmail about the intake problem. Sends usable requests to Jev (TypeSafe) to classify them into vendor invoice, production incident, user/content report, external data share, or an unclear/needs-review route. For vendor invoices, Jev extracts required invoice fields, the workflow logs the result to a Google Sheets “Invoice Intake” tab, then emails AP if the invoice clears the completeness gate or posts a Telegram message to chase missing details. For production incidents, Jev scores severity, the workflow appends the scored incident to a Google Sheets “Jev Console” log, and pages the on-call engineer via Telegram. For user/content reports and external data shares, Jev checks for personal data, the workflow logs the decision to Google Sheets and either sends an acknowledgment/approval via Gmail or escalates via Telegram when a privacy gate is triggered. Every Monday at 09:00, the workflow reads the Google Sheets “Jev Console” log, summarizes runs by route, drafts a short report with an OpenAI chat model, and emails the weekly console report via Gmail. Setup Configure the source system to POST requests to the webhook path (jev-c5-ops-console) and include body fields for requester, request_text, destination, and optionally run_id. Add credentials for Jev (TypeSafe) Classification API, Google Sheets OAuth2, Gmail OAuth2, Telegram bot API, and OpenAI. Update the Google Sheets document ID and ensure the “Jev Console” and “Invoice Intake” sheets exist with the expected columns. Replace placeholder email recipients (ops@yourcompany.com, ap@yourcompany.com, reporter@yourcompany.com, data-owner@yourcompany.com) and set the correct Telegram chat ID for paging/escalations. Review and tune the Jev thresholds and gate criteria (classification confidence, personal-data probability, and invoice completeness) to match your operations policies. An n8n automation workflow template by Khairul Muhtadin.
- 5 nodes
- Automation
- AI
By Ali Abdullah
Quick overview This workflow runs every 5 minutes to fetch NASA DSN status, NASA DONKI CME events, NOAA GOES X-ray flux, and NASA NeoWs near‑Earth object data, then uses an OpenRouter-hosted LLM to generate a brief and sends it to Telegram while logging it in PostgreSQL. How it works Runs every 5 minutes on a schedule. Fetches Deep Space Network antenna status from NASA’s DSN XML feed and pulls recent CME events from NASA DONKI using your NASA API key. Fetches the last 6 hours of NOAA GOES X-ray flux data and today/tomorrow near‑Earth object feed data from NASA NeoWs using your NASA API key. Aggregates all sources into a single summary, including DSN tracking/maintenance counts, potential downlink anomalies, CME totals, X-ray classification, and hazardous asteroid names. Sends the summary to an OpenRouter chat model to produce a short, structured monitoring brief with status, actions, and verdict. Sends the generated brief to a Telegram chat and stores the alert text plus raw context data in a PostgreSQL table. Setup Add an OpenRouter API credential and ensure the selected model is available in your OpenRouter account. Add a Telegram Bot credential, then set your target chat ID and bot token (and update the chat ID variable in the workflow). Provide a NASA API key (api.nasa.gov) and update the nasaApiKey variable in the workflow. Add PostgreSQL credentials and create an aegis_alerts table that matches the insert query columns used by the workflow. Review the schedule interval (default: every 5 minutes) and adjust it to match your desired monitoring cadence. Requirements NASA API key (free from api.nasa.gov) Telegram Bot token and chat ID PostgreSQL database with a aegis_alerts table OpenRouter API key Customization Adjust the Schedule Trigger interval to change monitoring frequency Add more data sources by duplicating fetch nodes Change alert channel from Telegram to Slack or Email Modify anomaly thresholds inside the Code node Additional info This template uses only core n8n nodes and free public APIs (NASA, NOAA). No external subscriptions are required. An n8n automation workflow template by Ali Abdullah.
- 6 nodes
- Automation
- AI
By Khairul Muhtadin
HOA architectural requests that no longer disappear into an inbox. This workflow takes each homeowner change request through an n8n Form, has AI summarize and flag it for the board, logs everything in Google Sheets, and keeps the owner and board updated by email until a decision is made. Last updated: September 2026. Quick Overview This workflow collects homeowners association architectural change requests via an n8n Form, summarizes and flags them with gpt-6-luna, logs everything in Google Sheets, and sends intake, decision, and deadline reminder emails through Gmail. How it works Receives an architectural change submission through an n8n Form. Normalizes the fields, generates a unique ARC ID, timestamps the request, and sets a 30-day review deadline. Validates required fields and, if any are missing, appends an error row to a Google Sheets “Errors” tab and emails the board via Gmail. For valid requests, sends the request details to gpt-6-luna to produce advisory flags, a short board summary, and an acknowledgment note to the owner. Appends the request (including AI output) to the Google Sheets “ARC Requests” tab, emails the owner an acknowledgment with the deadline, and emails the board a new-request notification. Accepts board decisions via a POST webhook, updates the matching Google Sheets row, and emails the owner a decision letter (or alerts the board if the payload is malformed or the ARC ID is not found). Runs daily at 07:00, scans Google Sheets for pending requests due within 5 days, and emails the board a reminder list. Setup Connect OpenAI credentials and select the model used for the ARC review (configured as gpt-6-luna). Connect Google Sheets OAuth2 credentials and set the spreadsheet ID and sheet names for “ARC Requests” and “Errors.” Connect Gmail OAuth2 credentials and update the board-facing recipient addresses (use user@example.com as the placeholder) for invalid submissions, new requests, and deadline reminders. Publish the n8n Form and share its URL with homeowners for submissions. Copy the “hoa-arc-decision” webhook URL and configure your board/admin process to POST decisions with arc_id and decision (approved, conditions, or denied), plus an optional conditions_note. Quick Answers What happens right after a homeowner submits a request? The form data is normalized, given a unique ARC ID with a timestamp and a 30-day review deadline, then sent to gpt-6-luna for advisory flags, a board summary, and an acknowledgment note. The request is logged to the ARC Requests sheet, the owner gets an acknowledgment email with the deadline, and the board gets a new-request notification. What does the AI actually produce? Advisory flags and a short board summary for the board notification and the Sheets record, plus an acknowledgment note that goes to the owner. How do board decisions reach the homeowner? Post the decision to the hoa-arc-decision webhook with arc_id and a decision of approved, conditions, or denied. The matching Google Sheets row is updated and the owner receives a decision letter by email; a malformed payload or an unknown ARC ID alerts the board instead. What stops old requests from going stale? A daily 07:00 run scans Google Sheets for pending requests due within 5 days and emails the board a reminder list. Additional info Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/. An n8n automation workflow template by Khairul Muhtadin.
- 5 nodes
- Automation
- AI
By Dodo Flux
Quick overview This workflow receives customer reviews via a webhook, drafts a short public reply with Anthropic Claude, runs basic safety checks (length, compensation language, and numbers), and emails the review plus the suggested response to Gmail for human approval. How it works Receives a POST request on a webhook containing review details such as author, rating, and text. Builds a structured prompt from your business settings and the incoming review, ensuring the review text is treated as data rather than instructions. Sends the prompt to the Anthropic Messages API (Claude) to generate a public review reply in the review’s language. Checks the drafted reply against a maximum word limit, scans for blocked “compensation” phrases, and flags numbers that look like dates or amounts. Composes an email that includes the original review, the suggested reply, and any check alerts. Sends the email through Gmail to the configured approval address so you can review and publish the reply manually. Setup Add an Anthropic API credential and select it for the HTTP request to the Anthropic Messages API. Add a Gmail OAuth2 credential and select it in the Gmail node used to send the approval email. Update the Settings values for business name, signature, approval email address, maximum word limit, Claude model name, and your site link. Copy the webhook URL from the webhook trigger and configure your review source (or test tool like curl) to POST JSON fields for author, rating, and text. Requirements An Anthropic API key with credit, and a Gmail account that will send you the drafts. No access to any review platform is required, and the workflow reads none on its own. Customization Every sentence comes from the Settings node: edit prompt_system for the tone, blocked_phrases for what gets flagged, and email_body for the email you receive. Raise or lower the word limit, or point the webhook at a different review source. An n8n automation workflow template by Dodo Flux.
- 3 nodes
- Automation
By jasonchuh
Quick overview This workflow runs manually to start a Google Maps Lead Finder Agent API job for a single Google Maps keyword, polls until the job completes, then fetches up to 100 lead results and appends them as new rows in a Google Sheets worksheet. How it works Runs when you click Test workflow. Sets the search keyword, API base URL, and polling interval. Calls the GMaps Lead Finder API to check account/credit status and then creates a leads scraping job for the keyword. Waits and repeatedly polls the GMaps Lead Finder job status until it returns completed, partial, or failed. When the job finishes, requests the job results (limit 100) from the GMaps Lead Finder API. Splits the returned results into individual lead items and appends them to Google Sheets as new rows. Setup Create an HTTP Header Auth credential for the GMaps Lead Finder API using Authorization: Bearer (Growth+ plan required). Connect a Google Sheets OAuth credential. Select the target spreadsheet and worksheet in the Google Sheets append step. Update the keyword (and optionally the base URL and poll interval) in the configuration step before running. An n8n automation workflow template by jasonchuh.
- 3 nodes
- Automation
By Cory
Quick overview This manual workflow starts or resumes an Apify Supplier Catalog Comparison actor run, polls until it succeeds, then downloads SUMMARY, REVIEW, and COMPARISON.csv outputs and exports a validated CSV plus a DIAGNOSTICS.json report. How it works Runs manually and loads comparison settings, defaulting to resuming an existing Apify actor run ID. Validates the settings and either starts a single new Apify Supplier Catalog Comparison run (when explicitly confirmed) or continues with the provided existing run ID. Polls the Apify actor run status up to 18 times, waiting 10 seconds between checks while the run is still in progress. When the run succeeds, fetches SUMMARY and REVIEW JSON records and the COMPARISON.csv file from the run’s Apify key-value store. Validates the downloaded outputs (status codes, row counts, required CSV headers, CSV formatting, and size limits) and flags common data risks. Outputs COMPARISON.csv and a DIAGNOSTICS.json file as binary attachments for download and downstream processing. Setup Create an Apify HTTP Header Auth credential in n8n (for example, Authorization: Bearer ) and select it in all Apify HTTP Request steps. To resume, paste the 17-character Apify run ID into the settings and run the workflow manually. To start a new comparison, set mode to start, provide two public HTTPS PDF URLs (before/after), set currency/number format/page limits and budget, and set confirmation to START_ONE_COMPARISON to allow the chargeable run start. Requirements An Apify account and protected API credential; Apify usage charges may apply. New comparisons require two authorized, publicly accessible HTTPS text-based supplier PDFs with visible table borders. Scanned PDFs and borderless layouts are not supported. Customization Adjust currency, number format, page limit and budget in the settings node. Default resume mode collects an existing run. No automatic schedule, durable duplicate prevention, or destination write is included. Additional info Setup guide and workflow download: https://supplier-pdf-to-csv.maag8484.chatgpt.site/price-changes?utm_source=n8n&utm_medium=referral&utm_campaign=price_changes The template is free; Apify usage is separately billed. Never retry an uncertain chargeable start: reconcile the run in Apify Console and resume by run ID. Inspect DIAGNOSTICS.json for partial output and review flags before using results. Tested with n8n 2.40.5 import and local fictional HTTP fixtures; those tests do not demonstrate live Apify billing or customer outcomes. An n8n automation workflow template by Cory.
- 2 nodes
- Automation
By Brice MAURIN
Quick overview This workflow triggers on each La Growth Machine inbox message and syncs it to Attio by finding or creating the matching person record, updating key fields, and logging the message content as a dated note in Attio. How it works Triggers when a message is sent or received in La Growth Machine. Queries the Attio People object to find a matching person by email address, full name, or LinkedIn URL. If no match is found, creates a new Attio person record using the lead’s name, email, and job title. Uses the existing or newly created Attio record ID and updates the person with the latest job title and short bio from La Growth Machine. Creates an Attio note on the person record containing the message body and a timestamped title indicating channel and direction (sent/received). Setup Add La Growth Machine API credentials for the trigger. Create an Attio API credential using HTTP Header Auth with Authorization: Bearer . Verify and, if needed, update the Attio attribute slugs used in the API bodies and filter (job_title, email_addresses, linkedin, description) to match your workspace, or remove the LinkedIn filter if you don’t have that field. An n8n automation workflow template by Brice MAURIN.
- 1 nodes
- Automation
By Daniele Crupi
Quick overview This workflow runs nightly at 22:30 and uses the n8n API to list all active workflows on your n8n instance, exclude specified IDs, log them to an n8n Data Table, and deactivate the remaining workflows for maintenance. How it works Runs every day at 22:30 on a schedule. Calls the n8n API to fetch up to 250 workflows that are currently active. Splits the API response into one item per workflow. Skips the current workflow and any workflow IDs listed in the excluded list. For each remaining workflow, writes its ID, name, and deactivation timestamp to an n8n Data Table. Calls the n8n API to deactivate each logged workflow. Setup Create an n8n API credential (Settings → n8n API) and select it in both n8n API HTTP requests. Update the base_url value to your n8n instance URL and fill excluded_workflow_ids with any workflow IDs you never want to deactivate. Create or select an n8n Data Table (for example, maintenance_log) with columns workflow_id (string), workflow_name (string), and deactivated_at (date/time), and set it in the Data Table step. Adjust the schedule time if needed, and add pagination to the “list active workflows” request if you have more than 250 active workflows. An n8n automation workflow template by Daniele Crupi.
- 1 nodes
- Automation
By Huseyin Hobek
Quick overview Ask a question in chat and get an answer that survived review: one model drafts it, a second challenges it, and a third rules on the result, either approving the answer or replacing it with its own corrected version. How it works Receives a chat message containing the user’s question (and optional domain, maxRounds, and maxCycles settings). Sends the question to OpenAI (GPT) to generate an initial answer, optionally incorporating feedback from prior rounds. Sends GPT’s answer to AWS Bedrock Claude Sonnet to critically evaluate it and return a structured verdict with agreement status and objections. If Claude Sonnet disagrees and rounds remain, feeds the objections back to GPT and repeats the answer-and-evaluate loop up to the configured maxRounds. When Claude Sonnet agrees (or rounds are exhausted), sends the question, GPT answer, and Claude evaluation to AWS Bedrock Claude Opus to make a final approve/reject decision and provide a final answer. If Opus rejects and cycles remain, feeds Opus’s reason back to GPT and re-runs the debate and judging loop up to maxCycles, then returns either the approved answer or Opus’s corrected answer with a status note. Setup Add an OpenAI API credential and select the model used for the GPT debater. Add an AWS credential with Bedrock access and ensure the Claude Sonnet and Claude Opus chat models are available in your region/account. Configure the chat trigger/channel in n8n Chat and, if desired, pass domain, maxRounds, and maxCycles values in the incoming chat payload. Requirements n8n 1.60+ with the LangChain nodes (Chat Trigger, AI Agent) Credentials for three chat models - the template ships with OpenAI for the debater and AWS Bedrock for the evaluator and the judge Any chat model node works instead: Anthropic, Google Gemini, OpenRouter, Azure OpenAI or a local Ollama model can be dropped in without touching the logic Customization Swap any of the three models. The debater, the evaluator and the judge are separate language model sub-nodes, so Bedrock can be replaced with the Anthropic, Gemini, OpenRouter or Ollama node Change the debate budget by sending maxRounds and maxCycles in the chat payload (defaults: 3 rounds, 2 cycles) Set domain in the payload to give the debater a field of expertise, for example "security" or "clinical research" Replace the Chat Trigger with a Webhook or a Slack trigger to run the same debate from another surface Additional info The loop reads a single line from each reviewer: the evaluator ends with VERDICT: {...} and the judge with DECISION: {...}. Any model that follows that instruction can take either seat. The judge does not only approve or reject: when it rejects, it writes its own corrected answer, and that is what the chat returns. Round and cycle counters come from the node run index, so the loop always terminates even when the models never agree. An n8n automation workflow template by Huseyin Hobek.
- 5 nodes
- Automation
- AI
By Khairul Muhtadin
Freight check-ins that update the load board while the driver is still on the road. This workflow takes every driver check-in by webhook, has gpt-6-luna normalize the status and risk, updates your Google Sheets load board, and pushes customer, ops, and Discord updates before a problem turns into a late delivery. Last updated: September 2026. Quick Overview This workflow ingests freight driver check-ins via webhook, uses gpt-6-luna to normalize status and risk, updates a Google Sheets load board and log, and sends Discord and Gmail notifications; it also runs a daily sweep to generate an AI-written dispatch brief from the same sheet. How it works Receives a POST webhook check-in with load and status details from a driver app, dispatcher, or message relay. Normalizes the payload and rejects missing load IDs or status notes by appending an error row to Google Sheets and alerting the dispatch desk in Discord. Sends the driver’s update to gpt-6-luna to extract a normalized shipment status, ETA, delay details, risk level, and customer-ready text. Looks up the load in the Google Sheets “Load Board,” calculates lateness against the delivery appointment, and adjusts risk (for example, escalating to exception when very late). Appends the check-in to a Google Sheets “Check Log” and updates the matching “Load Board” row with the latest status, risk, driver name, and last check-in time. Routes by risk to post updates to Discord and send Gmail emails to the customer for at-risk loads, escalate exceptions to ops, and send delivery confirmations when marked delivered. Runs daily at 07:00 to scan the Google Sheets load board for quiet or due-soon loads, uses gpt-6-luna to write a dispatch brief, then posts it to Discord and emails it via Gmail. Setup Create (or update) a Google Sheets file with “Load Board,” “Check Log,” and “Errors” tabs and ensure the column names match the fields used by the workflow (for example, load_id, status, delivery_appt, customer_email, last_check_in). Add credentials for Google Sheets OAuth2, OpenAI, Discord bot, and Gmail OAuth2. Copy the webhook URL from the “Driver Check In” trigger and configure your driver app/relay to POST JSON containing at least load_id and a status/message field (optionally driver_name, location, eta_text, notes, and source). Update the Discord guild/channel targets and replace the default email recipients (customer fallback and ops escalation) with your real addresses before activating the workflow. Confirm the schedule trigger time (07:00 in the workflow timezone) matches your dispatch desk’s morning routine. Quick Answers What can a driver send in? A POST webhook check-in with at least load_id and a status or message field. driver_name, location, eta_text, notes, and source are optional. What happens to an incomplete check-in? Missing load IDs or status notes are rejected: an error row is appended to Google Sheets and the dispatch desk gets a Discord alert. How is risk decided? gpt-6-luna extracts a normalized shipment status, ETA, delay details, risk level, and customer-ready text. The workflow then checks that against the delivery appointment in the Load Board and escalates very late loads to exception. When does a customer hear about a load? At-risk loads trigger Discord updates plus customer emails, exceptions are escalated to ops, and check-ins marked delivered send the customer a confirmation. What does the 07:00 run do? It scans the load board for quiet or due-soon loads, uses gpt-6-luna to write a dispatch brief, then posts it to Discord and emails it. Additional info Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/. An n8n automation workflow template by Khairul Muhtadin.
- 6 nodes
- Automation
- AI
By MADIAD
Quick overview This workflow runs a Telegram RAG chatbot that answers questions using PDFs synced from Google Drive into a Supabase vector store, automatically re-indexing when files are added or updated and removing knowledge when files are moved to a trash folder. How it works Triggers when a user sends a Telegram message and passes the text to a LangChain AI Agent. The agent uses an OpenRouter chat model, Postgres chat memory, and a Supabase vector store tool (with OpenAI embeddings) to retrieve relevant context and generate an answer. Sends the generated response back to the user in Telegram. Triggers when a new file is created in a watched Google Drive folder, downloads the PDF, extracts its text, chunks it, generates OpenAI embeddings, and inserts the vectors into a Supabase table. Triggers when a file is updated in another watched Google Drive folder, deletes existing Supabase vectors that match the file name, then re-downloads the PDF, re-extracts/chunks it, embeds it with OpenAI, and re-inserts it into Supabase. Triggers when a file appears in a designated Google Drive “trash” folder, deletes matching vectors from Supabase and deletes the file from Google Drive. Setup Create a Telegram bot and add a Telegram credential in n8n. Add credentials for Google Drive OAuth2, Supabase, OpenRouter, OpenAI (for embeddings), and Postgres (for chat memory). In Supabase, create the documents table configured for vector search (pgvector) and match the table name in the Supabase vector store nodes. Update the Google Drive trigger nodes to point at your source folder(s) (new files, updated files, and trash) and ensure the workflow has permission to download and delete files. If you rely on file-name matching for deletes, ensure your chunk metadata includes fileName consistently so updates and removals target the correct vectors. An n8n automation workflow template by MADIAD.
- 9 nodes
- Automation
- AI
By Amplence
Quick overview Turn every website form submission into a scored, routed lead. Claude scores fit and intent against your ideal-customer profile, HubSpot gets the contact, Slack gets a five-second brief on hot leads, and the prospect gets an acknowledgement at any hour. The model never picks the route. How it works Receives a new lead submission via a POST webhook. Normalizes the incoming fields (name, email, company, website, message, source) and checks that an email and message are present, otherwise posting a “needs a look” alert to Slack. Fetches the company website over HTTP and extracts a short, cleaned text sample from the HTML. Sends the lead details and website text to the Anthropic Messages API (Claude) and requests a structured JSON response with a 0–100 score, reasons, concerns, a summary, and a recommended next step. Parses Claude’s response, assigns the lead to hot/warm/cold (or “review” if parsing/refusal fails) using the configured thresholds, and timestamps the result. Routes by tier: hot leads trigger a detailed Slack alert, warm and hot leads receive a Gmail acknowledgement email, and all scored leads are upserted as contacts in HubSpot. Setup Configure the webhook URL in your lead form tool to POST JSON fields like name, email, company, website, message, and (optionally) source. Add an Anthropic API key as an HTTP Header Auth credential (x-api-key) and attach it to the Claude HTTP request. Connect your Slack credentials and set the target channel name in the workflow settings. Connect your HubSpot app token credentials for contact upserts. Connect your Gmail credentials for sending acknowledgement emails and update the company name, ICP text, thresholds, and reply-within promise in the Settings values. Requirements An Anthropic API key stored as a Header Auth credential named x-api-key, plus Slack, HubSpot (private app token) and Gmail credentials. Core nodes only, so it runs on n8n Cloud or self-hosted. Customization Swap HubSpot for Pipedrive, Salesforce or a Google Sheet (fields needed: name, email, company, websiteUrl, score, tier, summary). Change the thresholds and the ideal-customer paragraph in the Settings node. The scoring call is a plain HTTP Request, so another model provider drops in; keep JSON output or the tier code sends everything to review. Nothing AI-written reaches the prospect; add a review step before the send if you want personalised replies. Additional info Built by Amplence. The costs, the decision boundary and the reasoning behind each node are explained in the companion article: https://amplence.com/blog/n8n-lead-qualification-workflow Want it wired into your own CRM? We build and maintain n8n workflows: https://amplence.com/services/n8n-automation-services All our free templates as JSON on GitHub: https://github.com/muneeb-ashraf/n8n-workflow-templates. An n8n automation workflow template by Amplence.
- 5 nodes
- 15 views
- Automation