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.
241–252 of 12,955
By Amplence
Quick overview This workflow monitors a Gmail intake label, uses Anthropic Claude and a Google Sheets checklist to generate an internal triage brief, runs deterministic conflict and limitation screening in code, posts outcomes to Slack, replies with a fixed acknowledgement (real emails only), and logs every enquiry to Google Sheets. How it works Triggers on new unread Gmail messages with the label intake (or runs a manual sample enquiry for testing). Normalizes sender, subject, and body text, then uses Anthropic Claude to extract named parties, a matter type, and the key date from the email. Reads a conflict register from Google Sheets and runs an auditable name-matching conflict check in code, sending a Slack hold alert and logging the intake if any match is found. Screens the extracted key date against matter-type limitation rules in code, and if the deadline appears expired sends a Slack attorney-review alert and logs the intake without replying. For non-expired matters, an Anthropic Claude agent pulls the relevant intake checklist from Google Sheets and generates a structured staff-only brief (summary, key facts, missing information, call questions, reviewer, and priority). Flags advice-like lines in the generated brief, posts the formatted brief to a Slack intake channel, replies to the original Gmail thread with a fixed acknowledgement for real emails only, and appends a row to an Intake log sheet in Google Sheets. Setup Connect credentials for Gmail, Google Sheets, Slack, and Anthropic Claude. Create a Google Sheets file with Conflicts, Checklists, and Intake log tabs and update the Sheet ID in the workflow’s firm settings. Populate the Conflicts sheet (names and aliases) and the Checklists sheet (matter_type, questions, reviewer) to match your firm’s intake process. Set your Slack channel name and customize the fixed acknowledgement template in the firm settings. Create a Gmail label (default intake) and ensure the Gmail trigger query matches your labeling and unread-email workflow. Replace the example limitation periods in the limitation screening code with rules approved for your jurisdiction and practice areas. Requirements Gmail and Google Sheets accounts (Google OAuth credentials in n8n) Slack workspace with a channel for intake alerts Anthropic API key for the Claude chat model nodes Customization Edit the matterType list in the extractor schema and the matching rules in Limitation check (code) to fit your practice areas Swap the Gmail Trigger for a Form Trigger to triage website enquiries instead Change limitationWarningDays in Firm settings to widen or narrow the urgent window Replace the Slack nodes with Microsoft Teams or email if your firm doesn't use Slack Additional info Based on an intake agent Amplence built for a US law firm: https://amplence.com/case-studies/ai-agents-for-law-firms-daniel-law-firm The three hard stops (conflict, limitation, advice boundary) run in Code nodes, not in the model, so they behave the same on every run and can be audited. The limitation periods included are examples only; have your attorneys confirm the rules for your jurisdiction before going live. This workflow supports intake triage and is not legal advice. Need it adapted to your firm's systems? 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.
- 8 nodes
- 15 views
- Automation
- AI
By Javed Iqbal
Quick overview This workflow monitors Gmail and Microsoft Outlook for new support emails, uses OpenAI to classify and prioritize them, creates or updates Jira issues, notifies the right Slack channels (optionally Microsoft Teams), and logs every processed email to Google Sheets for auditing. How it works Triggers every minute when a new email arrives in Gmail (Inbox with filters) or Microsoft Outlook. Normalizes each message into a common format, removes quoted history, trims the body, and skips internal or automated/no-reply senders. Uses OpenAI (GPT-4.1-mini) to classify the email (Bug/Issue/New Requirement/Other) and extract priority, title, summary, product area, sentiment, and confidence. Routes high-confidence customer requests to Jira by finding an existing open issue for the email thread and adding a comment, or creating a new Jira issue if none exists. Posts the Jira result to the appropriate Slack channel based on the category and optionally sends an Adaptive Card to Microsoft Teams if a webhook URL is configured. Optionally replies to the customer in the original thread via Gmail or Outlook (or creates a draft) based on the acknowledgement mode setting. Sends low-confidence or failed classifications to a Slack review channel and appends an audit row with the outcome to Google Sheets. Setup Connect credentials for Gmail and/or Microsoft Outlook, OpenAI, Jira Software Cloud, Slack, and Google Sheets. Update the workflow configuration values (internal domains, confidence threshold, Jira base URL/project key/issue types, Slack channel names, and acknowledgement mode). Select the target Google Sheets document and sheet for the triage log. Select the Slack channel used for workflow error alerts and set this workflow as its own error workflow in n8n workflow settings. (Optional) Add a Microsoft Teams incoming webhook URL to enable Teams notifications, and disable the unused email trigger (Gmail or Outlook) before activating. An n8n automation workflow template by Javed Iqbal.
- 10 nodes
- Automation
- AI
By Faceless Channel OS
Quick overview This workflow logs expenses sent as Telegram messages into an n8n Data Table and responds with confirmations, monthly spending reports by category, an undo option, and a help menu, all without external databases or AI services. How it works Triggers when your Telegram bot receives a new message. Parses the message to detect a command (/report, /undo, /help) or extract an expense amount, category (from keywords or a #tag), note, and month. When an expense is detected, saves a normalized row to the n8n Data Table named expenses and sends a formatted confirmation back in Telegram. When /report is sent (optionally with YYYY-MM), fetches that month’s rows for the sender’s chat ID from the expenses Data Table, aggregates totals by category, and sends a monthly summary back in Telegram. When /undo is sent, retrieves the most recent expense row for the sender’s chat ID, deletes it from the expenses Data Table, and posts the undo result in Telegram. When /help is sent or no amount is found, sends usage examples and available commands back in Telegram. Setup Create a Telegram bot with @BotFather and add a Telegram API credential in n8n, then select it on the Telegram Trigger and Telegram send-message nodes. Create an n8n Data Table named expenses with columns chat_id (string), amount (number), category (string), note (string), month (string), and spent_at (string). Update the configuration values for currency, locale, timezone, and (optionally) categoryKeywords and smallNumbersAreThousands to match your formatting and categorization needs. Activate the workflow and ensure your n8n instance is reachable over public HTTPS so Telegram can deliver trigger updates. Requirements An n8n version with Data Tables (Cloud or self-hosted; tested on n8n 2.30) and a Telegram bot token from @BotFather. No OpenAI key and no external database needed. Customization Edit categoryKeywords in the "Prepare Configuration Settings" node to match how you talk about money — first match wins, and typing #category in a message always overrides. Set smallNumbersAreThousands to false if "50" should mean 50 rather than 50,000. Additional info Amounts are parsed in code, so the workflow runs at $0: it understands 50k, 1.5tr, 2m, 120.000, 1,250,000 and 12.50. Every query is filtered by Telegram chat ID, so several people can share one bot. Need credit-card statement cycles (what lands on which statement and when it's due), morning due-date reminders, category budgets with alerts, month-over-month reports and CSV export? Search "Expense Tracker PRO" on n8n.io or see my creator page for the PRO version. An n8n automation workflow template by Faceless Channel OS.
- 2 nodes
- Automation
By Rahul Joshi
Quick overview This workflow tracks insurance policy renewals and claim document collection using Google Sheets, automates outbound WhatsApp template reminders via WATI on a daily schedule, and handles inbound WhatsApp replies with OpenAI intent classification, Google Drive document storage, and Sheets updates plus agent alerts. How it works Runs daily at 10:00 AM (Asia/Kolkata) and also triggers on incoming WhatsApp events via a WATI webhook. On the daily run, reads Policies and Claims from Google Sheets and calculates which customers need renewal reminders, claim document chasers, and a daily digest for the agent. Sends the appropriate WATI WhatsApp template message for each planned action (renewal reminder, documents pending reminder, and agent digest). Writes back to Google Sheets to record reminder stages and timestamps on Policies and the last chase timestamp on Claims. On inbound messages, normalizes the WATI payload, matches the sender to policy/claim records in Google Sheets, and uses OpenAI (gpt-4o-mini) to classify intent and draft a contextual reply. If the customer sends media, downloads the file from WATI, uploads it to Google Drive, and updates the claim record with received documents and Drive links in Google Sheets. Sends a WhatsApp session reply to the customer via WATI and, when needed, sends an additional WATI template alert to the agent. Setup Add credentials for WATI (HTTP Header Auth token), Google Sheets OAuth2, Google Drive OAuth2, and OpenAI. Update the Config values for your Google Sheet ID, WATI tenant endpoint and template names, agent WhatsApp number/name, and the Google Drive folder ID for storing claim documents. Create Google Sheets tabs named Policies and Claims with matching key columns (policy_id and claim_id) and the status/reminder fields the workflow updates. Copy the production webhook URL from the WATI inbound webhook trigger and register it in your WATI account for message events. Confirm the schedule time zone and reminder/chase settings in Config (reminder_days, grace_days, chase_every_days) before activating the workflow. An n8n automation workflow template by Rahul Joshi.
- 5 nodes
- Automation
- AI
By Rahul Joshi
Quick overview This workflow runs monthly and builds a multi-channel client performance report by pulling KPIs from Google Analytics 4, Google Ads, and Meta Ads, generating an OpenAI executive summary, converting a branded HTML report to PDF with PDFShift, uploading it to Google Drive, and emailing it via GoHighLevel (LeadConnector). How it works Runs on a schedule at 9:00 AM on the 1st of every month. Loads a JSON client roster (IDs and email addresses), calculates the current vs previous reporting windows, and processes each client as a separate item. Fetches current/previous period website and channel KPIs from the Google Analytics Data API (GA4). Pulls campaign performance data from the Google Ads API for the date range and requests campaign insights from the Meta Graph API. Aggregates GA4, Google Ads, and Meta results into a single KPI model with period-over-period deltas and blended paid-media metrics. Sends the KPI model to OpenAI (gpt-4o-mini) to produce a JSON executive summary and recommendations. Builds a branded HTML report, converts it to a PDF using PDFShift, uploads it to Google Drive, and creates a shareable link. Upserts the client as a GoHighLevel contact and sends an email with the PDF link and PDF URL as an attachment. Setup Add credentials for Google Analytics OAuth2 (GA4) and Google Drive OAuth2 (Drive upload/sharing). Add Google Ads OAuth2 credentials and set your Google Ads developer token and login customer ID (MCC) values used in the request headers. Provide a Meta access token for HTTP header authentication and confirm the Graph API version and ad account IDs you use. Add an OpenAI API credential (for the gpt-4o-mini summary) and a PDFShift API key for HTML-to-PDF conversion. Add your GoHighLevel (LeadConnector) Private Integration Token and set the GHL location ID and sender email used for delivery. Update the client list and required IDs/emails in the configuration, and set the target Google Drive folder ID where PDFs are stored. An n8n automation workflow template by Rahul Joshi.
- 4 nodes
- Automation
- AI
By Rahul Joshi
Quick overview This workflow captures new leads from IndiaMART and JustDial webhooks, normalizes and deduplicates them, uses OpenAI (gpt-4o-mini) to qualify and draft a reply, then creates/updates the lead in GoHighLevel and sends an instant WhatsApp template message via WATI. How it works Receives new enquiries from IndiaMART Push API and JustDial Lead Manager via two webhook endpoints and immediately returns an acknowledgement response. Normalizes each platform’s payload into a single lead format, cleans/validates contact details (phone/email), and generates a deduplication key. Removes duplicate leads across workflow executions to avoid reprocessing the same enquiry. Adds your business context (business details, GoHighLevel IDs, and WATI settings) and sends the lead to OpenAI (gpt-4o-mini) to classify it as HOT/WARM/COLD/SPAM and draft a short WhatsApp reply. Parses the AI result to build GoHighLevel contact/opportunity payloads, a detailed qualification note, and the WATI template parameters. If the lead is not spam, upserts the contact in GoHighLevel, creates an opportunity in the configured pipeline stage, and attaches the AI qualification note to the contact. Sends the WhatsApp template message through WATI and tags the GoHighLevel contact as either auto-replied or reply-failed based on the WATI response. Setup Create n8n credentials for OpenAI, a GoHighLevel Private Integration Token (HTTP Header Auth), and a WATI API Bearer Token (HTTP Header Auth). In the configuration step, set your GoHighLevel location ID, pipeline ID, and stage IDs (hot/warm/cold), plus your WATI tenant API endpoint and approved template name. Copy the two webhook URLs from n8n and configure them in IndiaMART Seller Panel (CRM Integration/Push API) and JustDial Lead Manager so they POST leads to your workflow. In WATI, create and get approval for the WhatsApp template referenced by the workflow (for example, lead_auto_reply) with parameters matching name/product/message/business. Verify your GoHighLevel pipeline stages exist and that your integration token has permission to upsert contacts, create opportunities, add notes, and apply tags. An n8n automation workflow template by Rahul Joshi.
- 4 nodes
- Automation
- AI
By Dominik
Quick overview This workflow receives a day-trip question via Telegram, WhatsApp, or n8n Chat, uses Anthropic Claude to interpret the request and search for local events, and combines Open-Meteo, OpenHolidays, OSRM, and transport.opendata.ch data to score expected crowds and suggest quieter alternatives. How it works Write to the bot on Telegram, WhatsApp or in the n8n chat, for example "Sunday Klewenalp from Basel". Claude reads destination, start point and day(s) from free text. Claude suggests up to three similar destinations that are usually less crowded. Open-Meteo geocodes all places. For each place the workflow checks public and school holidays (OpenHolidays), the forecast including the "first sunny day after rain" effect (Open-Meteo), the driving time (OSRM) and, within Switzerland, public transport (transport.opendata.ch). Claude searches the web for events on that day, such as festivals, races or organised hiking days. You get a crowd score per place, a quieter or drier alternative and travel times, in German or English. Optionally, a copy goes out by email. Setup Create an Anthropic credential and select it in Extract Trip Request, Suggest Alternatives and Search Local Events. Set up either a Telegram bot credential (and start a chat with the bot) or use n8n Chat; for WhatsApp, configure WhatsApp Business Cloud credentials and enable the WhatsApp trigger and send nodes. Update the configuration values (time zone, departure time, reply language, and allowedChatIds) and replace the default email addresses (emailCopyTo and senderMailbox) as needed. For email copies, add a Microsoft Entra Service Principal credential with permission to send mail from the configured mailbox and select it in the Microsoft Outlook node. For WhatsApp, create both WhatsApp credentials and enable the two WhatsApp nodes. Requirements A recent n8n version An Anthropic API key with web search enabled A Telegram bot token from @BotFather, or just the n8n chat Optional: WhatsApp Business Cloud, and an Entra app registration with Mail.Send for email copies Holiday data is available for European countries Customization Change alternativesCount or claudeModel, or set useEventSearch to false to save API costs. Tune the weights in Score Places. The public OSRM server is meant for light use. For more traffic, point Fetch Driving Time to your own routing service. Set showAttribution to false to remove the template credit. An n8n automation workflow template by Dominik.
- 5 nodes
- Automation
By Alicia Graham
Quick overview Turn concert planning into an interactive economics lesson. This workflow powers a companion website where learners adjust ticket prices, explore costs and demand, compare outcomes, and ask questions. Deterministic calculations supply the numbers; TypeSafe AI and OpenAI guide explanations. A second webhook provides simulated or researched competing events. How it works Receives a POST request to the “Lesson request” webhook and validates the payload, normalizes inputs, and calculates concert metrics (attendance, revenue, costs, profit, ROI) from the provided scenario. Classifies the learner’s question intent with TypeSafe AI and determines whether the intent is supported with sufficient confidence. If the intent is supported, sends a structured request to the OpenAI Responses API to select 1–3 approved, prewritten paragraph IDs and a scene focus for the explanation. Validates the OpenAI response and falls back to a prebuilt explanation if the response is missing or invalid. Returns the interactive lesson JSON (calculation results, explanation text, scene actions, and metadata) to the webhook caller, or returns a 400 error describing how to correct invalid input. Receives a POST request to the “Event research request” webhook, validates the city/date/time window, and builds a research query for listings. If simulation mode is selected, returns clearly labeled fictional event listings; otherwise uses the OpenAI Responses API web search tool and then verifies geography, date ranges, and duplicates before returning up to eight events. Setup Create Header Auth credentials (header name X-Lesson-Key) and select them on both webhook nodes, then store the same secret in any calling app. Add an OpenAI API credential and select it for both OpenAI HTTP Request nodes (lesson explanation selection and event research retrieval). Install the @typesafe-ai/n8n-nodes-typesafe-ai community node and add TypeSafe AI credentials for the intent classification step. Publish the workflow and copy both production webhook URLs, then configure your client app/server to call the correct endpoint (economics-concert-v1 and concert-events-v1). If the webhook paths already exist in your n8n instance, change the webhook paths and update any external callers accordingly. Requirements An n8n instance supporting the TypeSafe AI community node; TypeSafe AI and OpenAI credentials; and an HTTPS deployment of the companion Node.js website. ElevenLabs credentials are optional for spoken replies. Provider and hosting charges may apply. Additional info Created by Alicia Graham for The Economics of Everything. Live demonstration: https://web-production-af12a.up.railway.app Walkthrough video: https://youtu.be/JP_wxRAzGkc Source code: https://github.com/Empower21/economics-of-everything-flow4gold Complete setup instructions: https://github.com/Empower21/economics-of-everything-flow4gold/blob/main/submission/TEMPLATE-SETUP.txt The public demonstration uses the creator’s backend. Independent users deploy their own website and connect their own n8n workflow. Financial assumptions and simulation listings are fictional teaching data, not forecasts. AI-assisted live listings require independent confirmation. An n8n automation workflow template by Alicia Graham.
- 2 nodes
- Automation
By Zvid
Quick Overview This workflow runs on a schedule or manually, reads the next unprocessed property listing from Google Sheets or Airtable, builds and validates a Zvid vertical video project, and renders an MP4 listing reel with optional music, then stores the resulting video URL back in Google Sheets. How it works Runs daily at 9am (or on manual execution) and loads branding, source, and render settings. Reads listings from Google Sheets or fetches records from Airtable, then selects the first item with an empty Status field. Normalizes the listing fields (address, price, beds/baths/sqft, photos, and agent details) and stops with an error if required data like Address or at least two photo URLs is missing. Checks the configured music URL and removes it from the project if the file is unreachable, errors, or exceeds the configured size limit. Builds a Zvid Instagram Reel–style project JSON from the listing data and validates it with Zvid’s free validation endpoint to get a credit estimate and any warnings. If dryRun is enabled, optionally saves a draft project to the Zvid editor and outputs a preview summary instead of rendering. If dryRun is disabled, submits the Zvid render job, polls until completion or timeout, and outputs a run summary with the final video URL. In Google Sheets mode, updates the source row with Status=done and the VideoUrl, then optionally downloads the rendered video file for review. Setup Install the community node package @zvid/n8n-nodes-zvid and create a Zvid API credential (API key with base URL https://api.zvid.io) for the Zvid nodes. Choose a source in the Config node (sheet or airtable) and fill in the required IDs (Google Sheets document and sheet name, or Airtable base ID/table/view). For Google Sheets, ensure your sheet has headers like Address, City, Price, Beds, Baths, Sqft, Photo1–Photo5, AgentName, AgentPhone, AgentPhotoUrl, Status, and VideoUrl, and leave Status empty for listings you want rendered. For Airtable, add an HTTP Bearer Auth credential with a read-capable Airtable personal access token and ensure records include the needed fields (especially Address, Photo URLs, and Status). Review and customize branding and media settings in Config (brandName, contactUrl, colors, fonts, musicUrl, and statusDoneValue), then set dryRun=true for preview-only or dryRun=false to render and spend credits. An n8n automation workflow template by Zvid.
- 3 nodes
- Automation
By Oneclick AI Squad
Quick Overview This workflow receives an LLM task via webhook (or manual run), uses Anthropic Claude to classify its needs, routes the request to the cheapest capable Claude model, and optionally escalates to higher tiers based on a quality score, returning the final answer with cost and routing details. How it works Receives a POST request on the /webhook/llm-router endpoint (or runs manually) and normalizes inputs like task, context, budget, and minimum quality settings. Rejects requests without a non-empty task and returns a 400 validation error to the caller. Uses Anthropic Claude (Haiku) to classify the task’s complexity, risk, and requirements (for example code, reasoning, web search, long context), falling back to a built-in heuristic if classification fails. Selects the cheapest model from a configurable Anthropic Claude catalog that meets the required tier, context window, web search capability, and optional max-cost constraints, and builds an escalation chain. Executes the task with the current selected Claude model and records tokens, estimated cost, and any execution errors. If judging is enabled, uses Anthropic Claude (Haiku) to score the response quality and escalates to the next model in the chain with reviewer feedback when the score is below the threshold. Returns a JSON response to the webhook caller containing the final answer, routing trace, and cost breakdown (including savings vs a premium baseline model), and optionally posts call events to an external execution-ledger webhook. Setup Create an HTTP Header Auth credential for Anthropic using header x-api-key, and select it for the Classify Task, Execute Model, and Judge Quality HTTP request steps. Review and update the router configuration values (model catalog IDs/tiers/pricing, premium baseline model, quality threshold, max attempts, and Anthropic API URL) to match your current Anthropic plan and preferred routing behavior. Send tasks to the webhook by copying the production URL for /webhook/llm-router into your client and POSTing JSON with at least a task field (optionally context, maxCostUsd, minTier, forceModel, minQualityScore, and maxAttempts). (Optional) Deploy an execution-ledger endpoint and set ledgerUrl so the workflow can POST routing decisions and token/cost events to your ledger webhook. An n8n automation workflow template by Oneclick AI Squad.
- 2 nodes
- Automation
By PostWire
Quick Overview This workflow runs daily, pulls the next “ready” video idea from Google Sheets, uses Google Gemini to write a Veo prompt and platform-specific captions, generates an 8‑second vertical video with Veo 3.1, and publishes it to multiple social platforms via the PostWire API. How it works Runs every day at 9:00 and reads Google Sheets rows where the status is set to "ready". Takes the first matching idea and updates the same row in Google Sheets to mark it as "generating". Uses Google Gemini to produce a Veo prompt plus captions (and a YouTube title/description) based on the idea and optional style. Requests an upload URL from PostWire, generates an 8-second 9:16 video with Veo 3.1, uploads the file to PostWire, and finalizes it to obtain a hosted media URL. Calls the PostWire posting endpoint to publish the video to the selected platforms with per-platform text (and a YouTube title), using the sheet row as an idempotency key. Updates the Google Sheets row with the published links and a "posted" status, or writes the required fixes to the row and sends a Gmail alert when any platform fails. Setup Connect Google Sheets credentials and select the target spreadsheet and sheet in the read/update steps. Create a Google Sheet with columns for idea, style, networks, status, posted_at, links, and note, and set one or more rows to status "ready". Add Google Gemini credentials and ensure billing is enabled for Veo access in Google AI Studio. Create a PostWire account, connect your social profiles, and add an HTTP Header Auth credential with Authorization: Bearer for the PostWire API requests. Connect Gmail credentials and replace the recipient address in the email step so failures are sent to your inbox. An n8n automation workflow template by PostWire.
- 4 nodes
- Automation
- AI
By Václav Čikl
Quick Overview This workflow manually processes a contacts CSV, fetches website/Facebook/Instagram page text via an MCP browser endpoint, then uses OpenAI to classify each contact as active, inactive, or uncertain and writes the results to an output CSV. How it works Starts manually and reads a contacts CSV file from the local filesystem. Parses the CSV into individual contact records and processes them in batches. For each contact, builds browser automation steps to visit the provided website, Facebook, and Instagram URLs (when present) and extract visible page text through an MCP Client endpoint. Cleans and aggregates the scraped text per channel and constructs an evidence-based screening prompt. Sends the prompt to OpenAI (gpt-4o-mini) to return a JSON verdict (active/inactive/uncertain) with confidence and reasoning. Formats one output row per contact (including evidence excerpts and timestamps) and writes all results to a CSV file, aborting if an unexpected runaway loop produces too many rows. Setup Add your OpenAI API credentials and confirm the model selection in the OpenAI node. Set up and run an MCP endpoint reachable at the configured URL (default: http://localhost:8931/mcp) and ensure it supports the browser_navigate, browser_wait_for, and browser_evaluate tools. Update the input CSV path and output CSV path to valid locations for your n8n host, and ensure the input columns match the expected fields (e.g. name, website_url, facebook_url, instagram_url). Adjust the maximum expected row limit in the safety check code if you plan to process larger batches. An n8n automation workflow template by Václav Čikl.
- 3 nodes
- Automation
- AI