Workflows
1–12 of 12,207
By iamvaar
Quick overview Video Explanation: https://youtu.be/TeYVU4NSgrE This workflow pulls UK Copart auction listings via Apify, saves selected lots to Google Sheets, then analyzes newly added rows with Google Gemini to estimate repairability and resale economics from listing images, logging results back to Sheets and posting high-scoring deals to Slack. How it works Runs on a schedule (or manually) and calls an Apify actor to fetch up to 100 UK Copart lot search results. Limits the number of returned items and filters lots into two groups: PURE_SALE with NEVERBID status, and a curated set under 60,000 miles that are automobiles and not water/flood damaged. Appends or updates matching lots in a Google Sheets spreadsheet using the lot number as the unique key. Triggers every hour when a new row is added to the Google Sheet and prepares a small set of inspection image URLs from the lot’s images. Sends the images and basic lot/price fields to Google Gemini (via a LangChain agent) to generate a structured reparability score, breakdown, financial analysis, and verdict. Writes the AI assessment fields back to Google Sheets and, if the reparability score is greater than 80, posts a formatted report to a Slack channel. Setup Create and connect an Apify HTTP Header Auth credential with your Apify token, and confirm the Copart search URL and actor endpoint match your desired market and filters. Add Google Sheets service account credentials, share the target spreadsheet with the service account email, and update the spreadsheet ID and sheet tab as needed. Add a Google Gemini (Google PaLM) API credential and keep the selected model (models/gemini-3.1-flash-lite) or replace it with your preferred Gemini model. Add Slack OAuth credentials and select the channel where deal alerts should be posted. Ensure the Google Sheet contains the expected columns (for example lotNumber and lotImages/thumbnail_image, plus output columns like reparability_score and verdict) so rows can be matched and updated correctly. Additional info automate salvage car deal sourcing n8n, scrape copart uk auction data google sheets, ai car damage assessment n8n workflow, gemini flash multimodal vehicle damage appraisal automation, automated salvage flipping flip car profit calculator, n8n copart apify integration slack alerts, ai car repair feasibility agent google sheets, n8n salvage car deal finder template, copart scraper n8n workflow json, n8n gemini structured output car inspection, automated auction bidding sniper sheet, car flipping lead tracker n8n template, apify copart actor to google sheets pipeline. An n8n automation workflow template by iamvaar.
By iamvaar
Quick overview Video: https://youtu.be/FUI6QNU9IJE This workflow runs weekly to pull dentist leads from Apify Google Maps scraping results, normalizes the data, and syncs them to HighLevel (GoHighLevel) by upserting contacts and creating opportunities when needed, with Slack alerts sent if the workflow fails. How it works Runs weekly on a schedule. Calls the Apify Google Maps actor to fetch dental clinic listings for the configured locations and keywords. Limits processing to the first 5 results, normalizes fields (name, phone, website, domain, address, ratings), and drops entries without a name plus at least a phone or website. Searches HighLevel contacts by phone number and marks each lead as new or existing based on whether a matching contact is found. For new leads, upserts the contact in HighLevel and then checks whether an opportunity already exists for that contact. For existing leads, checks HighLevel for an existing opportunity using the lead’s phone number. Creates a new HighLevel opportunity in the specified pipeline and stage for any lead that does not already have an opportunity. If any node errors, posts a failure message to the configured Slack channel with the node name and error details. Setup Add an Apify API token (HTTP Header Auth) and update the Apify actor input (search terms, locations, max results) to match your targeting. Connect your HighLevel (GoHighLevel) OAuth2 credentials and replace the locationId, pipelineId, and stageId values with those from your account. Ensure your HighLevel account is set up to allow contact upserts and opportunity creation in the selected pipeline. Add Slack credentials and select the channel where you want workflow failure alerts to be posted. Adjust the item limit if you want to process more than 5 leads per run. An n8n automation workflow template by iamvaar.
By iamvaar
Quick overview Video: https://lnkd.in/p/dCCv3avg This workflow runs daily to scrape roofing contractor leads via Apify, deduplicates them against a Google Sheets lead list, enriches new leads with website and email data using SerpApi and Hunter, and then appends results to Google Sheets with Slack notifications. How it works Runs on a daily schedule trigger. Calls the Apify API to scrape Angi roofing contractor profiles for Austin, TX and normalizes the results while removing duplicates within the same scrape batch. Loads existing leads from a Google Sheets “Leads” tab and flags any scraped records that match by proId, phone, or a name+location fallback key. Sends new leads to SerpApi (Google Search) to discover a likely company domain while skipping common directory and social sites. If a domain is found, queries the Hunter Domain Search API and selects the best available contact email based on seniority/title; otherwise marks the lead as phone-only. Appends the finalized lead (including enrichment status, website, and contact details when available) to Google Sheets. Posts to Slack when a new lead is saved and posts a separate Slack message when a duplicate lead is skipped. Setup Add credentials for Apify (HTTP Header Auth), SerpApi (HTTP Query Auth), Hunter (HTTP Query Auth), Google Sheets OAuth2, and Slack OAuth. Replace REPLACE_WITH_SHEET_ID with your Google Sheets document ID in both Google Sheets steps and ensure the sheet name is “Leads” with matching columns (e.g., proId, phone, fallbackKey, companyName, website, email, enrichmentStatus). Update the Apify scrape parameters (searchTerms, location, maxResults, and detailLevel) if you want different contractor types or service areas. Set the Slack channel ID for both Slack messages to the channel where you want lead and duplicate notifications. An n8n automation workflow template by iamvaar.
By Marián Današ
Quick overview This workflow converts invoice JSON into compliant e-invoices (EN 16931, XRechnung, or Factur-X) by mapping your data to Peppol BIS Billing 3.0 UBL and generating the final XML or PDF/A-3 using PDF Generator API. How it works Triggers either manually with a sample invoice or when a POST request hits the webhook endpoint. Loads template and default format settings and merges them with the incoming invoice data. Maps the invoice into a Peppol BIS Billing 3.0 UBL payload and calculates line totals, VAT subtotals, and monetary totals. Routes the request by target format and calls the corresponding PDF Generator API e-invoice endpoint (Factur-X, XRechnung, or EN 16931) to generate a base64-encoded document. Reads the API response metadata to derive the correct filename and MIME type and prepares the document content. Converts the base64 response into a binary file so it can be stored or sent onward (for example via email, cloud storage, or an ERP). Setup Create and select a PDF Generator API credential (API key, secret, and account email) and allow the workflow’s PDF Generator API domains for HTTP requests. Update the Settings values for your Factur-X template ID, default output format (facturx/xrechnung/en16931), and (for Factur-X) the profile to use. If you use the webhook path, copy the webhook URL and configure your ERP/billing system to POST invoice JSON to it. Adjust the field mapping logic so your source invoice structure matches the UBL payload expected by PDF Generator API (optionally enable the schema request to retrieve the latest field list). Replace the final “store or send” placeholder with your target delivery step (for example Gmail, Google Drive, S3, or your accounting/ERP system). An n8n automation workflow template by Marián Današ.
By Intuz
Quick overview This workflow closes the loop on Jira support tickets by sending an acknowledgement on ticket creation, requesting CSAT when an issue is marked Done, and saving CSAT results back to Jira with optional HubSpot notes, using Gmail and a WAHA WhatsApp API. How it works Receives a ticket-created payload from another n8n workflow and loads the close-loop configuration. Normalizes the payload, determines the customer channel (WhatsApp or Gmail), and checks whether the workflow has enough contact data to send an acknowledgement. Sends the auto-reply to the customer via WAHA (WhatsApp) or Gmail, then adds a Jira comment and label to record that the auto-reply was sent. Receives a Jira webhook when an issue changes status and validates the webhook token and that the issue is Done and not already CSAT-tagged. Fetches the Jira issue, builds a CSAT form URL, sends the CSAT request via the same channel (WAHA or Gmail), and then comments and labels the Jira issue to mark CSAT as sent. Receives the CSAT form submission, validates the ticket key, fetches the Jira issue to confirm it exists, and writes the CSAT score/comment back to Jira (including an optional custom field update). If a HubSpot contact ID is present, creates and associates a HubSpot note for the auto-reply and/or CSAT submission, and then returns a confirmation page to the CSAT form submitter. Setup Create Jira credentials (API token via HTTP Basic Auth) and configure a Jira automation/webhook to POST to the workflow’s Jira webhook endpoint with the correct token. Add Gmail OAuth2 credentials for the account that sends customer emails. Add WAHA HTTP Header Auth credentials and set your WAHA base URL and session ID in the workflow configuration. Add HubSpot private app token (HTTP Header Auth) if you want CRM notes, and ensure your Jira issues store the HubSpot contact ID in the configured custom field. Update the Jira base URL/project key, Done status name, labels, and Jira custom field IDs (channel, customer email/phone, CSAT score, WAHA session) in the configuration code nodes. After importing the workflow, copy the CSAT Form Trigger path/webhook ID into the CSAT Form Path Config node so generated CSAT links point to the correct form URL. Additional info Connect with us: Website: https://www.intuz.com/n8n-workflow-automation-templates/ Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation https://www.intuz.com/get-started/. An n8n automation workflow template by Intuz.
By Intuz
Quick overview This workflow listens for new Slack messages, runs an OpenAI-powered conflict-intake agent that queries a Google Sheets–backed MCP tools endpoint, replies in the original Slack thread with a preliminary conflict summary, and appends an audit record to a Google Sheets log. How it works Triggers when a new message is posted in the configured Slack channel. Ignores bot or empty messages, then extracts the message text and key Slack metadata (user, channel, timestamp). Builds a unique event key from the Slack channel and timestamp and checks a Google Sheets “ConflictAuditLog” tab to prevent processing the same message twice. Sends the message text to an OpenAI agent, which extracts the prospective client and opposing party and calls a conflict-search MCP endpoint that queries Google Sheets records. Parses the agent’s structured output to determine whether it indicates a potential conflict and routes the message accordingly. Posts a “potential conflict” or “no potential conflict found in searched records” reply back to the original Slack thread. Appends the request and key fields from the Slack reply to the Google Sheets ConflictAuditLog for auditing. Setup Connect Slack credentials, add the Slack app/bot to your target channel, and select the channel in the Slack trigger and thread-reply steps. Connect Google Sheets credentials and ensure the spreadsheet contains the required tabs (ConflictAuditLog, Clients, Matters, Parties, RelatedEntities) with the expected lookup columns (for example, event_key and name/entity_name). Create or update the ConflictAuditLog sheet columns used for deduplication and logging (at minimum event_key, created_at, channel_id, message_ts, request_text, and status). Connect an OpenAI credential and confirm the chat model selection used by the agent. Activate the MCP server workflow (the MCP trigger path is /conflict-tools) and set the MCP Client endpoint URL to your own n8n MCP endpoint. Additional info Connect with us: Website: https://www.intuz.com/n8n-workflow-automation-templates/ Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation https://www.intuz.com/get-started/. An n8n automation workflow template by Intuz.
By Khairul Muhtadin
Quick Overview This workflow monitors Gmail for unread wholesale order emails, uses OpenAI to extract order line items, validates them against a Google Sheets price list, and then sends either a confirmation or a revision request by email while logging the order and alerting the order desk via Telegram, plus a weekly digest. How it works Triggers every minute when an unread Gmail message arrives matching the search filter is:unread subject:(wholesale order). Normalizes key fields from the email (sender, subject, received time, and body text) and routes very short emails to an error log. Uses OpenAI (gpt-4o-mini) to extract structured order data (customer details, PO number, delivery date, notes, and line items) from the email text. Loads the PriceList tab from Google Sheets and checks each extracted line for valid SKUs, active status, case-pack multiples, and any quoted price mismatches. If issues are found, emails the customer a revision request listing the problems, logs the order to the Orders tab in Google Sheets, and alerts the order desk in Telegram. If no issues are found, emails an order confirmation with priced lines, logs the order to Google Sheets, and alerts the order desk in Telegram. Marks the original Gmail message as read after the order is logged. Every Monday at 08:00, reads the past week’s Orders from Google Sheets, uses OpenAI to write a short digest email, then sends the digest via Gmail and posts a Telegram summary. Setup Connect Gmail OAuth2 credentials and adjust the Gmail trigger search query and mailbox/label settings to match how your wholesale orders arrive. Connect an OpenAI API credential and confirm the selected model (gpt-4o-mini) is available in your account. Connect Google Sheets OAuth2 credentials and update the spreadsheet ID and sheet names, ensuring you have PriceList, Orders, and Errors tabs. Populate the PriceList sheet with the expected columns (at least sku, product, unit_price, case_pack, and status) so matching and validation work correctly. Connect a Telegram bot credential and set the target chat ID for order desk alerts. Update the weekly digest recipient email address in the digest email step (currently set to test@atlr.dev). An n8n automation workflow template by Khairul Muhtadin.
By Oneclick AI Squad
Quick overview This workflow ingests failed job payloads via webhook or a scheduled sweep, logs them to a Google Sheets dead-letter queue, retries the original HTTP operation with exponential backoff, and posts outcomes to Slack, escalating permanently failed jobs after the maximum retry attempts. How it works Receives a failed job payload through a webhook (or a manual test run) and normalizes fields like job ID, error details, retry limits, backoff settings, and target URL. Writes the failure to a Google Sheets “DeadLetterQueue” sheet so the job is tracked before any retry is attempted. Determines whether the error code is retryable and whether the job is still under the maximum attempt limit, calculating the next backoff delay. If the job is eligible, waits for the computed backoff time and retries the original operation by sending an HTTP POST request to the configured downstream URL. If the retry succeeds, updates the Google Sheets record as resolved and posts a resolution message to a Slack channel. If the retry fails, increments the attempt count, updates the Google Sheets record to pending retry with the latest response snippet, and re-enters the eligibility check. If the job is not retryable or exceeds the attempt limit, marks it exhausted in Google Sheets and escalates the incident to a Slack channel. Setup Create a Google Sheets spreadsheet with a “DeadLetterQueue” sheet (including columns like jobId, status, errorCode, attemptCount, errorMessage, and lastUpdatedAt) and connect Google Sheets credentials. Connect Slack credentials and set the escalation and resolution channel names used by the workflow (for example, #dlq-escalations and #dlq-activity). Configure HTTP Header Auth credentials for the downstream retry call and replace the retryTargetUrl with the endpoint that should be re-attempted. Replace REPLACE_WITH_DEAD_LETTER_SHEET_ID with your Google Sheet document ID (including in the scheduled sweep fetch), and adjust maxRetryAttempts, backoff values, and nonRetryableErrorCodes as needed. If ingesting failures from another system, copy the webhook URL for POST /dead-letter/ingest and configure the source workflow/application to send failed job payloads to it, then adjust the sweep interval if you want different retry cadence. An n8n automation workflow template by Oneclick AI Squad.
By Divyanshu Gupta
Quick overview Captures real estate leads from web forms, WhatsApp and Facebook Lead Ads, then deduplicates and qualifies them with DeepSeek AI.Assigns each lead to the next available agent through fair round robin rotation, logs everything in HubSpot, and automatically emails the agent lead details plus a booking link to the lead. How it works Receives a new lead via one of three webhook endpoints (web form, WhatsApp, or Facebook Lead Ads). Normalizes the incoming payload into a consistent lead record (name, phone, email, message, and source) and standardizes the phone number. Searches HubSpot for the normalized phone number and stops the workflow when it detects a duplicate enquiry. Uses a DeepSeek chat model to classify the lead (type, priority, budget signal) and generate a one-sentence intent summary. Reads an Agents tab in Google Sheets, selects the agent with the oldest LastAssignedAt value, and updates their timestamp to claim the slot. Creates or updates the contact in HubSpot with the AI qualification fields and the assigned agent details. Sends an email to the assigned agent with the lead details and sends the lead an email with the agent’s booking link (or a fallback message if no agent is available). Setup Add HubSpot credentials (app token/service key) and create the required contact properties: lead_type, priority, budget_signal, intent_summary, assigned_agent_name, assigned_agent_email, lead_status. Add a Google Sheets OAuth2 credential and create an Agents sheet with columns Name, Email, Status, LastAssignedAt, and CalComLink, then update the workflow’s spreadsheet and sheet references if needed. Add a DeepSeek API credential for the LangChain agent’s chat model. Add a Gmail OAuth2 credential and set the recipient fields in the two email steps (agent notification and lead reply) to use your desired addresses. Copy each webhook URL and configure your web form, WhatsApp provider, and Facebook Lead Ads integration to POST lead data to the matching endpoint paths. An n8n automation workflow template by Divyanshu Gupta.
By Akshat
Quick overview This workflow watches a Google Drive folder for new LinkedIn post screenshots or PDFs, extracts the text (including OCR), uses Groq and Google Gemini to extract reusable writing patterns, embeds the results with Gemini embeddings, stores them in a Pinecone index, and logs processed files in Supabase to avoid duplicates. How it works Triggers every minute when a new file is created in a specific Google Drive folder. Checks Supabase for an existing ingestion record matching the Google Drive file ID and stops if the file was already processed. Downloads the file from Google Drive and routes processing based on MIME type (PDF vs JPEG image). Extracts text from PDFs directly, or runs Tesseract OCR on images and uses Groq to clean and reconstruct the OCR text. Sends the normalized text to Google Gemini to extract structured writing patterns (hook type, structure, tone, formatting notes, CTA type, and anti-patterns) as JSON. Converts the extracted pattern fields into chunked documents, creates embeddings with Google Gemini, and upserts them into a Pinecone vector index with metadata. Logs the ingestion details (source file ID, file name, and timestamp) back to Supabase so the file is skipped on future runs. Setup Connect credentials for Google Drive, Supabase, Groq, Google Gemini (chat + embeddings), and Pinecone. In Google Drive Trigger, select the folder to watch (for example, a /reference-content folder). Create the Supabase table reference_ingestions (and index) as shown in the template notes, and ensure the Supabase nodes point to that table. In Pinecone, create or select the target index (for example, linkedin-reference-content) with dimensions compatible with Gemini embeddings. Ensure the incoming files are PDFs or JPEGs, since the workflow routes only those MIME types. An n8n automation workflow template by Akshat.
By Muhammad Sami Ullah
Quick overview This workflow monitors an IMAP inbox, uses Groq to classify property support emails and draft replies, then routes tickets to Slack channels, creates a Gmail draft, and logs the ticket to Airtable with a Google Sheets backup when Airtable fails. How it works Triggers when a new email arrives in your IMAP inbox. Cleans and truncates the email body to 500 characters for consistent processing. Sends the subject and cleaned body to Groq Chat Completions to return a JSON classification (category, urgency, property reference, and suggested reply). Parses the AI response and normalizes the sender details, falling back to a manual-review payload if the API response is missing or unparseable. Routes the ticket by category and posts the full details to the appropriate Slack channel (Maintenance, Tenant Query, Viewing, Enquiry, or Manual Review), while spam is only logged. For non-spam tickets, creates a Gmail draft reply to the original sender using the suggested reply text. Saves the ticket to Airtable and emails a processing confirmation, or appends the ticket to a Google Sheets backup and emails an alert if the Airtable write fails. Setup Connect credentials for IMAP Email Read, Groq API, Slack OAuth2, Gmail OAuth2, Airtable, and Google Sheets. Configure the IMAP mailbox to watch and ensure it can access the message subject and body fields used in the workflow. Select your Slack channel IDs for maintenance, tenant queries, viewings, enquiries, and manual review. Choose your Airtable base and table and ensure the table has fields matching the mapped columns (for example: Category, Urgency, Subject, Body, Draft, Sender Email, and Property Reference). Set the Google Sheets document URL/ID and sheet (gid) for backup logging used for both spam and Airtable-failure scenarios. Requirements IMAP email account, Groq API key, Slack workspace, Gmail account, Airtable account, Google Sheets access. An n8n automation workflow template by Muhammad Sami Ullah.
By Khairul Muhtadin
Quick overview This workflow collects three product photos from n8n form, uses OpenAI to describe and craft a studio-shot prompt, generates an edited image and motion clips with fal.ai, archives assets to Google Drive, logs URLs to Google Sheets, publishes the final video to YouTube via Blotato, and sends Telegram alerts. How it works Receives three uploaded product images (and optional notes) through an n8n Form trigger. Validates that all three images are present and sends a Telegram alert if any uploads are missing. Splits the three photos into individual items, describes each image with OpenAI vision, and uploads the originals to Google Drive. Combines the Drive links and OpenAI descriptions into a single set of inputs, then uses an OpenAI agent to generate a structured image-edit prompt. Sends the prompt and reference image URLs to fal.ai to generate a new studio-shot image, waits for the render, fetches the result, and crops it into top/middle/bottom thirds. Uploads the three crops to Google Drive and updates a Google Sheets row with the new image URLs. Uses fal.ai to generate two short motion clips from the crop pairs, stitches them into a single video with a fal.ai ffmpeg merge endpoint, then uploads and publishes the final video to YouTube via Blotato. Appends a full run log (source image URLs, descriptions, generated image URL, clip URLs, and final video URL) to Google Sheets and sends a success message on Telegram. Setup Add OpenAI credentials for the image description and prompt-generation steps (GPT-4o and a chat model such as gpt-4.1-mini). Create a fal.ai API key and replace the placeholder Authorization headers used by the image generation, video generation, and video merge HTTP requests. Connect Google Drive credentials and set the target Drive/folder IDs used to archive originals and publish the cropped images. Connect Google Sheets credentials and replace the placeholder spreadsheet ID and sheet tab name, and ensure your sheet includes the columns referenced (for example image_1, new_image_1-3, video_1-2, Final video, description_all, image_nanobanana, status, created_at). Configure Telegram credentials, set TELEGRAM_CHAT_ID in your environment variables, and choose the chat/channel that should receive failure and success notifications. Set up Blotato credentials and select your YouTube account ID in the YouTube publishing step (and adjust the title/privacy settings as needed). An n8n automation workflow template by Khairul Muhtadin.