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.
61–72 of 12,955
By NewBrainsAI
Quick Overview This workflow receives new website leads via a webhook, uses OpenAI to classify urgency and draft an email reply, sends the reply with Gmail, notifies your team in Slack, logs the lead in Google Sheets, and sends a single follow-up email after two days if the lead is still marked New. How it works Receives a POST request from your website form via a webhook containing the lead’s name, email, phone, and message. Sends the lead details plus your business settings to OpenAI to label the request type and urgency and generate a reply subject/body and follow-up text. Sends the drafted reply email to the lead using Gmail. Posts a notification to a Slack channel with the lead details, detected urgency/type, and confirmation that an initial reply was sent. Appends the lead record to a Google Sheets “Leads” tab with Status set to New. Waits two days, looks up the lead by email in Google Sheets, and sends one Gmail follow-up email only if the Status is still New. Setup Configure your website form to POST to the workflow webhook URL and include the fields name, email, phone, and message. Add credentials for OpenAI, Gmail, Slack, and Google Sheets in their respective nodes. Create a Google Sheet with a tab named Leads and columns Date, Name, Email, Phone, Message, Type, Urgency, Status, then paste the Sheet ID and set your business details, reply-to address, and Slack channel in the Settings values. An n8n automation workflow template by NewBrainsAI.
- 4 nodes
- Automation
- AI
By WeblineIndia
Quick overview This workflow runs every 15 minutes to fetch recent blockchain transactions, matches them against whale and exchange address lists in Airtable, uses OpenAI to generate a cautious market interpretation for high-value events, then logs the result to Airtable and posts an alert to Slack. How it works Runs every 15 minutes on a schedule. Fetches recent blockchain transactions from an HTTP endpoint and normalizes them into individual transaction records. Loads tracked whale wallets and known exchange addresses from Airtable and classifies each transaction as an exchange deposit, exchange withdrawal, or wallet-to-wallet movement. Calculates the USD value for each classified transaction and filters to events worth at least $100,000. Checks Airtable to skip transactions that have already been recorded. Sends qualifying new events to OpenAI to generate a short JSON interpretation and confidence score, then normalizes the response. Creates a new record in Airtable for the whale movement event and posts a formatted alert to a Slack channel. Setup Provide Airtable credentials and update the base and table selections for Tracked Whales, Exchange Addresses, and Whale Movement Events. Populate the Airtable Tracked Whales and Exchange Addresses tables with wallet addresses (and set records to active where needed). Ensure the HTTP endpoint used to fetch transactions is reachable from your n8n instance and replace the URL if you are not using the included dummy API. Add an OpenAI API credential and confirm the model selection and prompt content meet your requirements. Add a Slack credential and choose the target channel for alerts. Adjust the $100,000 threshold (and any event-id/duplicate-check logic) if you want different alerting and deduplication behavior. Additional info Add-Ons The existing workflow can be extended with additional functionality. Multiple Alert Thresholds Add different alert levels for different transaction values, such as $100,000, $500,000, and $1 million. Additional Movement Categories Extend the classification logic with more movement types when suitable reference data is available. Historical Whale Analysis Use the logged Airtable events to identify repeated whale activity and historical movement patterns. Scheduled Summaries Add a separate reporting process to summarize whale activity over a selected period. Confidence-Based Routing Use the AI confidence value to route events differently based on confidence levels. Additional Notifications Extend the notification stage to deliver qualifying events through additional communication channels. Production Blockchain Data Source Replace the current configured transaction endpoint with a production transaction source while retaining the existing normalization, classification, validation, AI, logging, and notification structure. These features are possible extensions and are not part of the current workflow configuration. Use Case Examples 1. Large Whale Deposits to Exchanges A tracked whale sends funds to a known exchange wallet. The workflow classifies the movement as an Exchange Deposit, calculates its USD value, and generates an alert when the transaction meets the configured threshold and passes duplicate validation. 2. Large Exchange Withdrawals A known exchange wallet sends funds to a tracked whale. The workflow identifies the transaction as an Exchange Withdrawal and sends the resulting analysis and transaction information to Slack when the event qualifies. 3. Whale-to-Wallet Transfers A tracked whale sends funds to an address that is not listed as another tracked whale or known exchange. The workflow classifies the transaction as Wallet-to-Wallet and processes it when it meets the configured threshold. 4. High-Value Transaction Monitoring Teams can use the $100,000 threshold to focus the workflow on high-value whale movements rather than sending alerts for every transaction returned by the transaction source. 5. Centralized Whale Movement Records Qualifying events are stored in Airtable with transaction information, classification, USD value, AI interpretation, confidence, and alert metadata, providing a central event history. There can be many more use cases depending on the transaction data source, wallet registries, business rules, and notification requirements. Troubleshooting Guide | Issue | Possible Cause | Solution | | ------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | | No transactions are processed | The HTTP response does not contain a transactions array or the array is empty | Inspect the HTTP Request output and verify the response structure | | HTTP Request fails | The configured endpoint cannot be reached from n8n | Verify the URL and network accessibility | | Transactions disappear after normalization | The transaction collection is missing or empty | Check the HTTP response and confirm the transactions property | | Whale movement is not classified | The wallet is not present as an active whale or exchange address | Check the Airtable wallet registries and address values | | Exchange movement is classified incorrectly | The wallet is listed in the wrong registry or has an unexpected active value | Review the Tracked Whales and Exchange Addresses records | | USD value is incorrect | Amount or USD price is missing or not numeric | Verify amount and price_usd in the transaction response | | Transaction does not reach the AI step | The USD value is below the configured threshold or the event is considered a duplicate | Inspect Check Alert Threshold and Confirm New Whale Event | | Duplicate event is processed | The duplicate lookup identifier does not match the stored event identifier | Review the duplicate filter and the event_id mapping | | OpenAI does not return an interpretation | OpenAI credentials or node configuration are incorrect | Check the OpenAI credential and inspect the node execution output | | AI response is not parsed | The returned response does not match the expected JSON structure | Verify that the response contains interpretation and confidence | | AI confidence is incorrect | Confidence is missing, invalid, or outside the expected range | Inspect the AI response and normalization logic | | Airtable logging fails | Credential, table, or field mapping is incorrect | Verify the Airtable credential, table, and mapped fields | | Slack notification fails | Slack credential or channel configuration is incorrect | Verify the Slack credential and selected channel | | Workflow runs but no Slack alert appears | The transaction was filtered by threshold or duplicate validation | Review the execution path through the IF nodes | Important Configuration Note: Duplicate Event Identifier The current workflow contains an identifier mismatch that should be reviewed before production use. The duplicate-check node searches for: event_id = transaction_hash However, the Log Whale Movement Event node currently writes event_id using: sender-timestamp These values are different. As a result, the duplicate lookup may not reliably find an event that was previously logged. If the transaction hash is intended to be the unique event identifier, the event logging mapping should use the transaction hash consistently. Alternatively, the duplicate-check expression should use the same identifier that is stored in Airtable. Need Help? Setting up an n8n workflow for production use may require adjustments to data sources, Airtable structures, business rules, AI prompts, notification formats and error handling. WeblineIndia can help with: n8n workflow setup and configuration. Custom blockchain transaction integrations. Airtable database and automation design. OpenAI workflow integration. Slack notification automation. Custom whale movement classification. Workflow debugging and optimization. Production workflow deployment. Workflow customization and maintenance. Building similar business process automation workflows from scratch. Adding custom integrations and features to existing n8n workflows. If you need help setting up, customizing, extending, or deploying this workflow, contact WeblineIndia for professional n8n automation development and customization services. An n8n automation workflow template by WeblineIndia.
- 5 nodes
- Automation
- AI
By WeblineIndia
Quick overview This workflow runs monthly to read portfolio holdings from Google Sheets, fetch 90 days of historical prices via an HTTP endpoint, calculate pairwise correlations and a diversification score, store results back to Google Sheets, generate a QuickChart visualization, and post a diversification report to Slack. How it works Runs on a monthly schedule trigger. Loads portfolio holdings from Google Sheets and filters to rows with a non-empty ticker and asset type plus a positive quantity. Calculates per-holding portfolio weights and calls an HTTP market-data endpoint to retrieve 90 days of historical closing prices for each ticker. Consolidates the returned price data, converts prices into daily returns, and computes a Pearson correlation matrix and pairwise correlation list across all holdings. Derives portfolio diversification metrics such as average correlation, diversification score, risk level, and the highest/lowest correlated pairs. Builds a QuickChart bar chart URL from the pairwise correlations and requests the rendered chart image. Appends the diversification summary and pairwise correlation records to separate Google Sheets tabs and posts the formatted diversification report to a Slack channel. Setup Create a Google Sheets OAuth credential and point the workflow to your spreadsheet, ensuring you have tabs for “Portfolio Holdings”, “Diversification Log”, and “Pairwise Correlations” with matching column names. Populate the “Portfolio Holdings” sheet with at least two rows containing ticker, quantity, and asset_type values. Update the HTTP Request URL (and add any required authentication headers) to a market-data service that returns each ticker’s historical daily close prices for the requested number of days. Create a Slack credential/connection, select the destination channel, and verify the workflow has permission to post messages. Additional info Add-ons The following are optional extensions and are not included in the current workflow: Correlation Threshold Alerts:** Send an alert when selected asset correlations exceed a defined threshold. Diversification Trend Tracking:** Compare current diversification scores with previous analysis runs. Email Reporting:** Send the diversification report through Gmail in addition to Slack. Additional Charts:** Generate historical diversification or correlation trend charts. Advanced Portfolio Weighting:** Calculate weights using market value or another portfolio-specific methodology. Use Case Examples Monthly Portfolio Review: Automatically analyze asset correlations and diversification as part of a recurring portfolio review. Diversification Monitoring: Track the relationship between portfolio holdings and identify highly correlated assets. Investment Research: Review the strongest and weakest relationships between assets using historical price data. Team Risk Reporting: Send a concise diversification summary to a Slack channel after each scheduled analysis. Historical Correlation Tracking: Maintain portfolio-level and pairwise correlation records in Google Sheets for future analysis. Additional use cases can be supported through workflow customization. Troubleshooting Guide | Issue | Possible Cause | Solution | | ----------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | Workflow does not start | The workflow is inactive or the schedule has not executed | Run the workflow manually for testing and verify the schedule configuration | | Holdings are rejected | Ticker, quantity, or asset type is missing or invalid | Check the Portfolio Holdings sheet and provide valid values | | Fewer than two assets are available | Not enough valid portfolio holdings or market-data results | Ensure at least two holdings contain valid historical price data | | Market data request fails | The webhook-test endpoint is unavailable or the production API is incorrectly configured | Configure the appropriate production endpoint and verify its request and response format | | Correlation calculation fails | Insufficient overlapping historical observations | Ensure the assets have enough overlapping daily price data | | Google Sheets records are missing | Google Sheets credential or sheet configuration is incorrect | Verify the credential, spreadsheet, and target sheet configuration | | Slack notification is not received | Slack credential or channel configuration is incorrect | Verify the Slack credential and selected destination channel | | Correlation chart is not generated | QuickChart URL or chart configuration is invalid | Review Build Correlation Chart Configuration and verify the generated chart request | Need Help WeblineIndia can help with n8n workflow setup, Google Sheets and Slack integration, production market-data API configuration, customization, troubleshooting, and optional add-ons. If you need a similar n8n automation for portfolio monitoring, financial analysis, reporting or another business process, contact WeblineIndia for implementation and customization support. An n8n automation workflow template by WeblineIndia.
- 4 nodes
- Automation
By Vinh Le
Quick overview This workflow monitors your Gmail inbox for promises people make, logs them to a Google Sheets “Commitments” ledger using OpenAI extraction, and runs a daily sweep to draft follow-up emails into a “Chase-Queue” tab for approval, with alerts and digests sent to the owner via Gmail. How it works Runs every hour on a schedule and routes 08:00 (workflow timezone) to a daily sweep while all other hours run inbox intake. During intake, fetches recent unprocessed Gmail inbox messages, builds an extraction prompt from the email content, and uses OpenAI to decide whether the message contains a concrete promise or fulfills a previous one. Writes new promises to the Google Sheets “Commitments” tab using a dedupe key, or marks the oldest matching open commitment as done when a fulfillment message is detected. Labels processed Gmail messages with the configured label to prevent reprocessing, and emails the owner when the AI output is unparseable, missing a due date, or otherwise needs review. At 08:00, reads all commitment rows from Google Sheets and classifies each active item as due today, overdue, 3+ days overdue (escalate), on track, or closed. Uses OpenAI to draft follow-up emails for due-today and overdue items, stores the drafts in the Google Sheets “Chase-Queue” tab as pending approval, notifies the owner by Gmail, and updates the commitment status and chase count in the ledger. Sends the owner a daily digest email summarizing what is due/overdue/escalated (and any ledger alerts), and escalates 3+ day overdue items directly to the owner while marking them escalated so they only fire once. Setup Add credentials for Gmail, Google Sheets, and OpenAI. Run the one-time setup lane to create the “Promise Ledger — Follow-ups” spreadsheet (Commitments and Chase-Queue tabs) and copy the generated spreadsheet ID. Create a Gmail label named promises-processed, get its label ID, and paste the spreadsheet ID, label ID, and your owner email into the “Workflow Config” node. Set the workflow timezone as desired (08:00 is the daily sweep time) and activate the workflow after deleting the one-time setup/demo lanes if you don’t need them. An n8n automation workflow template by Vinh Le.
- 4 nodes
- Automation
By WeblineIndia
Quick Overview This workflow runs weekly to review procurement approval performance, detect policy changes, and generate a compliant optimization proposal using a demo recommendation or OpenAI. It validates the suggestion against company rules, waits for manager approval, versions the process update, and notifies stakeholders via Slack and Gmail. How it works Runs weekly on a schedule to start a procurement workflow review. Checks whether the company procurement policy version has changed, then loads recent purchase approval history, current approval-step rules, and buying policies. Normalizes the transaction and approval-step data, calculates per-role bottleneck metrics, and scores overall approval performance to decide whether optimization is needed. If optimization is needed, prepares a structured prompt and generates a recommendation using either a built-in demo output or OpenAI. Parses the AI response into JSON and validates it against compliance guardrails such as allowed roles, allowed actions, and mandatory approver preservation. If the recommendation is valid, creates a change request and pauses until a manager approves or rejects via the workflow’s resume webhook. When approved, creates a new version of the approval process (preserving the previous version for rollback), applies the updated configuration, records an audit log, and sends stakeholder notifications through Slack and Gmail. Setup (Optional for live AI) Add an OpenAI API credential for the OpenAI node and set the workflow to use live AI instead of the demo recommendation. Add Slack credentials and select the target channel for stakeholder notifications. Add a Gmail OAuth2 credential and update the recipient addresses used for approval and rejection emails. After enabling the workflow, copy the wait node’s resume webhook URL and use it to send manager approval payloads (for example, approvalStatus=APPROVED or REJECTED, and additionalApproval=APPROVED when required). An n8n automation workflow template by WeblineIndia.
- 4 nodes
- Automation
- AI
By PostWire
Quick Overview This workflow turns Telegram topic messages into platform-specific drafts for LinkedIn, Facebook, Bluesky, and Mastodon using OpenAI and brand rules from Google Docs, then publishes approved posts via PostWire and logs outcomes to Google Sheets. How it works Triggers when a new Telegram message arrives and ignores empty messages or commands starting with “/”. Fetches your brand rules from a Google Docs document and combines them with the submitted topic. Uses an OpenAI agent (optionally calling SerpApi Google Search for current facts) to generate a JSON object containing one draft per network plus any source URLs used. Sends the drafts back to Telegram and waits for an Approve or Decline response. If approved, posts the per-network text to PostWire and checks whether each platform publish succeeded. Appends a success or failure record (including links and notes) to Google Sheets and replies in Telegram with published URLs or required fixes. If declined, replies in Telegram confirming nothing was published. Setup Create a Telegram bot with @BotFather, add a Telegram credential in n8n, and select it for the trigger and messaging steps. Connect Google Docs and Google Sheets credentials, set your Google Doc URL for the brand rules, and choose the target spreadsheet and sheet for logging. Add an OpenAI credential for the chat model and a SerpApi API key for the Google Search tool. Create a PostWire account, connect your social profiles, and add an HTTP Header Auth credential with Authorization: Bearer for the PostWire request. Create the Google Sheet columns date, topic, status, links, and note to match the append operations. An n8n automation workflow template by PostWire.
- 7 nodes
- Automation
- AI
By PostWire
Quick Overview This workflow watches Google Sheets for new video ideas, uses Google Gemini to generate a Veo 3.1 short, sends it to Telegram for approval, and when approved publishes it to TikTok, Instagram Reels, and YouTube Shorts via PostWire while logging results back to Google Sheets. How it works Triggers when a new row is added to a Google Sheets document. Filters to rows that contain an idea and have an empty status so only unprocessed ideas continue. Uses Google Gemini to turn the idea into a Veo prompt plus platform-specific captions and a YouTube title/description. 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 get a media URL. Sends the rendered video and captions to Telegram and waits for an Approve or Decline response. If approved, publishes the video to TikTok, Instagram, and YouTube via PostWire with per-platform text and title, then updates Google Sheets and sends either the published links or any required fixes back to Telegram. If declined, updates the Google Sheets row to declined with a timestamp note. Setup Create a PostWire account, connect your TikTok/Instagram/YouTube accounts, and add an HTTP Header Auth credential in n8n with Authorization: Bearer for the PostWire HTTP requests. Add Google Sheets OAuth credentials and select the target document and sheet in the trigger and all Google Sheets update steps, ensuring columns exist for idea, status, links, and note. Add Google Gemini credentials with billing enabled and ensure the workflow has access to the Gemini model used for planning and the Veo 3.1 model used for video generation. Create a Telegram bot, add Telegram credentials in n8n, and replace YOUR_CHAT_ID with your chat ID so approvals and results are delivered to the right conversation. An n8n automation workflow template by PostWire.
- 4 nodes
- Automation
- AI
By Jason
Quick overview This workflow runs manually to read company websites from Google Sheets, sends the unique domains to Apify’s Contact Details Scraper to extract contact details and social profiles, and then writes the enriched results back to a Google Sheets results sheet. How it works Runs when you click Test workflow. Reads rows from a Google Sheets worksheet and extracts website values from common columns (website/url/domain). Normalizes the values to domains, removes duplicates, and builds a single list of unique websites. Sends the website list to Apify’s Contact Details Scraper (actor jipdiW9Rwbp1Lruzx) with a configurable page limit and spend cap, and retrieves the resulting dataset. Flattens the scraper output into one spreadsheet-friendly row per website (email, phones, socials, contact links, provider, and status). Appends the flattened rows to a Google Sheets results worksheet. Setup Add an Apify API token credential for the Apify community node and ensure you have access to the Contact Details Scraper actor (jipdiW9Rwbp1Lruzx). Connect your Google Sheets account and set the input spreadsheet/worksheet in the Read operation. Set the destination spreadsheet/worksheet in the Append operation and ensure it has columns that match (or can auto-map) the flattened output fields. Optionally adjust maxPagesPerWebsite and maxCostUsd in the Settings step to control crawl depth and total spend. Requirements Apify account (free plan works). The Contact Details Scraper bills only for websites where an email or phone is found (about $3 per 1,000), and each run is capped by maxCostUsd. Google Sheets account. Customization Run it on a Schedule trigger to enrich new rows weekly, add a Filter to keep only rows with an email, or send the results to Airtable or your CRM instead of Google Sheets. Additional info Uses the verified Apify community node (@apify/n8n-nodes-apify). On self-hosted n8n, install it from Settings > Community nodes. Contact details come only from public business websites; follow CAN-SPAM, GDPR and similar rules when contacting leads. An n8n automation workflow template by Jason.
- 2 nodes
- Automation
By Elvis Sarvia
Quick overview This workflow enriches a refund request, drafts an approval proposal with an AI agent, and waits for a human decision, so you can follow one execution across the wait with OpenTelemetry tracing. It is Exercise 5 from the n8n Production AI Playbook on Audit & Trace. How it works Receives a POST webhook request with a requestId, amount in cents, reason and a traceparent header. Enrich Request Sub-workflow validates the request and adds simulated customer context. Policy Service Call sends an HTTP request that carries the trace context to an echo service. Approval Proposal Agent drafts a proposal using an OpenRouter chat model. Return Approval Request responds with the proposal, executionId and resumeUrl. Wait for Human Approval pauses until a decision is posted to the resume URL. Validate Approval checks the decision and Record Approval saves it. Invalid decisions stop at Reject Approval. Setup Import, save and publish the Exercise 5 enrichment sub-workflow, then select it in Enrich Request Sub-workflow. Add an OpenRouter API credential to OpenRouter - Approval. Optionally enable OpenTelemetry tracing in Settings > OpenTelemetry. Select Execute workflow and POST {"requestId":"REQ-2001","amount":4999,"reason":"duplicate charge"} with a traceparent header. POST {"approved":true,"approver":"Demo reviewer"} to the returned resumeUrl, then search your traces by n8n.execution.id to find both parts of the run. Requirements n8n Cloud or a self-hosted n8n instance An OpenRouter API key The Exercise 5 enrichment sub-workflow A trace viewer such as Jaeger to inspect the spans (optional) Customization Replace Policy Service Call with a call to your own instrumented service so its spans join the same trace. Additional info No payment is processed. The approver field is a demo value. In production, take the reviewer's identity from an authenticated login and protect the resume endpoint. An n8n automation workflow template by Elvis Sarvia.
- 3 nodes
- Automation
- AI
By Lucas Peyrin
Quick Overview This workflow turns n8n into a centralized error handler with a browser-based dashboard, storing incidents in n8n Data Tables, optionally diagnosing failures with Google Gemini, notifying via Gmail (and optionally Slack/Telegram/Discord/Microsoft Teams/webhooks), and providing one-click retry and mute actions. How it works Runs once from a manual trigger to create n8n Data Tables for configuration, error fingerprints, and incident history, and seeds a default config row if missing. Serves a Settings web UI via webhook endpoints that read the current configuration from n8n Data Tables and render an HTML form. Accepts Settings form submissions via a POST webhook, validates inputs, saves the updated configuration to n8n Data Tables, and redirects to the workflow connection page or returns an HTML validation error. Serves a Connect web UI via webhook that lists all workflows using the n8n API and lets you bulk attach or disconnect this workflow as their error workflow. Triggers on failures from connected workflows, normalizes the error payload, fingerprints recurring errors, checks mute state, and applies severity escalation and exponential backoff based on the stored config. Optionally calls Google Gemini to generate a JSON diagnostic summary and retry/severity guidance, then formats and sends alerts via Gmail and any enabled channels (Telegram, Slack, Discord, Microsoft Teams, or HTTP webhook) and logs the incident. Exposes webhooks for Activity and Guide pages plus action links to retry executions through the n8n API and to mute/unmute specific error fingerprints, and runs a daily scheduled cleanup to delete old incident rows based on retention settings. Setup Add an n8n API credential (for the n8n node and execution retry HTTP requests) so the workflow can list workflows, set their error workflow, and retry executions. Add a Gmail OAuth2 credential for sending email alerts, and optionally add credentials for Google Gemini (Google PaLM), Telegram, Slack, Discord, and Microsoft Teams if you plan to enable those channels. Run the workflow once with the manual trigger to create the geh_config, geh_fingerprints, and geh_incidents Data Tables and seed the default configuration. Open the production webhook URL for /geh-config to set your base URL and notification settings, then use /geh-assign to connect the workflows you want to monitor. Protect the public webhook endpoints (for example /geh-config, /geh-assign, /geh-activity, /geh-guide, and action links) with Basic Auth or a reverse proxy sign-in before sharing the URLs externally. An n8n automation workflow template by Lucas Peyrin.
- 10 nodes
- Automation
- AI
By Gina Tsai
Quick overview This workflow runs weekly (or manually) to collect recent customer feedback from Salesforce Cases and Jira tickets, redact and deduplicate it, classify it with an OpenAI-compatible LLM, then cluster and route issues by category by creating or updating Jira VOC issues and creating Salesforce follow-up tasks. How it works Runs on a weekly schedule (or on demand) and computes a lookback time window for collecting new feedback. Pulls recent Salesforce Cases, Jira issues for a configured project, and Salesforce Account data (or uses built-in sample feedback when enabled). Normalizes the text, redacts emails and phone numbers, drops duplicates using workflow static data, and flags VIP items based on account revenue, rating, or an allowlist. Sends the batch of feedback to an OpenAI-compatible chat model (configured for Featherless AI) to classify each item by category, theme, sentiment, urgency, and churn risk. Aggregates the classified feedback into category clusters, assigns priority, and builds an HTML weekly digest summary. When live mode is enabled, routes clusters by team by commenting on or creating labeled VOC issues in Jira for product topics and creating Salesforce follow-up Tasks for billing, onboarding, sales/engagement, and escalations. Setup Add credentials for Salesforce and Jira Software Cloud, and an OpenAI-compatible API credential for the LLM node (update the base URL/model if you are not using Featherless AI). In the Config values, set your Jira project key, Jira project ID, and Jira issue type ID, and decide your lookback period, VIP rules, and max items per run. Set use_sample_data to false to pull from Salesforce and Jira, then set dry_run to false to allow the workflow to create Jira issues/comments and Salesforce Tasks. (Optional) Enable and configure Google Sheets logging by setting the spreadsheet ID and ensuring a “Feedback Log” sheet exists. (Optional) Enable the Gmail node and provide Gmail credentials, then set the recipient email to send the weekly digest. An n8n automation workflow template by Gina Tsai.
- 8 nodes
- Automation
- AI
By youssef farhan
Quick overview This workflow runs weekly to audit a website’s SEO/GEO/AEO readiness with Apify, compares results to the previous run stored in Google Sheets, and uses OpenAI to generate prioritized fix tickets that are saved to a sheet and sent to Telegram. How it works Runs every Monday at 7am on a schedule. Sends the configured website URL and page limit to an Apify actor to crawl and audit pages, returning scores and failed checks per URL. Reads last week’s scoreboard rows from Google Sheets to use as a baseline for comparison. Compares current vs. previous results per URL, flags pages that regressed by the configured point threshold, fall below the minimum score, or have critical issues, and writes all pages back to the Scoreboard tab for history. Limits the number of flagged pages to the maximum ticket count and uses OpenAI to generate a structured engineering ticket for each page based only on the failed checks. Appends each ticket to the Tickets tab in Google Sheets and sends the same ticket details to the configured Telegram chat. Setup Create a free Apify account at https://apify.com/?fpr=youssef and connect it in the Apify node. The node runs the SEO, GEO and AEO Audit Actor (https://apify.com/fayoussef/seo-geo-aeo-audit?fpr=youssef), which renders each page, scores it on classic SEO, generative engine readiness and answerability, and returns every failed check with a recommendation attached. Add an OpenAI API credential for the chat model used to generate tickets. Create a Google Sheet with two tabs (for example, “Scoreboard” and “Tickets”), paste the sheet URL, and set the tab names in the workflow. Create a Telegram bot and connect Telegram credentials, then set your target chat ID in the workflow. Update the website URL and adjust maxPages, minScore, dropPoints, and maxTickets to match how many pages you want to audit and when a page should generate a ticket. Requirements An Apify account (https://apify.com/?fpr=youssef). The free plan audits a few pages per run. An OpenAI account for the ticket writing step, a Google Sheet with two empty tabs, and a Telegram bot created with @BotFather. Nothing needs installing on the site itself and no analytics or Search Console access is required, because the audit reads the pages as a visitor does. Customization dropPoints is the fall in overall score that counts as a regression: 5 is sensitive, 10 is quiet. minScore is the floor below which a page always gets a ticket whether or not it moved. maxTickets caps what one run puts in front of a developer, which matters most on the first run when every page is new and nothing has a baseline yet. The Tickets tab is already shaped like an issue, so swapping the Save the ticket node for a Linear, Jira or Notion node maps the fields across without touching the rest of the workflow. Point the Telegram node at Slack if that is where your team works, and swap the OpenAI model node for Anthropic or Gemini if you prefer. Additional info Run it once by hand before you schedule it. The first run has no previous audit to compare against, so every page is treated as a first audit and only the floor and critical rules apply, which is also when maxTickets matters most. The Read the last audit node has alwaysOutputData enabled on purpose: a Google Sheets read on an empty tab returns no items, and without that setting the whole workflow would stop on its very first run. Read the ticket steps before passing them to a developer. The recommendations come from the audit itself, but the wording around them is written by a model, which is told to build every step from a check that actually failed and to make no promises about rankings or traffic. An n8n automation workflow template by youssef farhan.
- 6 nodes
- Automation
- AI