Quick overview This workflow exposes a webhook that accepts an exported n8n workflow JSON, runs static validation and risk checks, then uses Groq (Llama 3.3 70B) via an AI agent to return a structured JSON review with metrics, risks, and best-practice recommendations. How it works Receives a POST request via a webhook containing a workflow object with exported n8n workflow JSON. Validates the payload structure and analyzes the workflow to generate metrics and findings such as orphan nodes, dead ends, missing error handling, placeholder credentials, deprecated nodes, and documentation gaps. Routes valid analyses to a Groq-powered AI agent that explains each finding (why it matters, risk, business impact, and best-practice fix) and formats the response as structured JSON. Routes invalid or malformed inputs to a formatter that returns a consistent { success: false, error } JSON response. Responds to the original webhook request with the final JSON analysis. Setup Add a Groq API credential in the Groq Chat Model node. You can generate a free API key at console.groq.com if you don't have one yet. Activate the workflow and copy the webhook URL from the Webhook trigger.
Tags
Related workflows
See all AI Automation→Report workflow errors to Asana tasks with Google Chat and Grok 4.5 analysis
Quick overview When a monitored workflow fails, this reads its Description field to find the owning client and assignee, looks them up in Asana, analyses the error with Grok 4.5, and creates an assigned task with a severity-based due date. Repeat failures comment on the existing task. How it works Any workflow that names this one as its error workflow triggers it on failure. There is no production trigger by design. The error payload only carries a workflow ID, so an HTTP Request calls the n8n API to read that workflow's own Description field, which holds a small JSON object naming the client and the assignee. Asana projects and users are fetched live and matched by name, so no GID is ever hardcoded. A failed match raises a warning that travels downstream instead of failing silently. Asana is searched for an open task covering the same workflow and node. If one exists, a comment carrying the new execution ID is added rather than a duplicate task. For a new error, Grok 4.5 via OpenRouter returns a root cause, a solution, concrete steps, a severity, and a category, held to a fixed shape by a structured output parser. Severity sets the due date: Critical today, High tomorrow, Medium i
Send and track Slack invoice requests with Gemini, Google Sheets and Gmail
Quick overview Youtube Video: https://youtu.be/42-oHh9w9Eo This workflow listens for Slack @mentions, uses Google Gemini to classify the request and extract invoice details, then reads and updates Google Sheets, generates invoice PDFs with PdfBro, sends invoices or reminders via Gmail, and posts confirmations or errors back to Slack. How it works Triggers when the workflow’s Slack app is mentioned in a specified Slack channel. Uses Google Gemini to classify the message intent (send invoice, remind invoice, or check status) and extract the recipient email and invoice due date. Routes the request based on the extracted intent and stops if the intent cannot be determined. For SEND_INVOICE, looks up the client in a Google Sheets “Client Bill” spreadsheet and posts a Slack error if no matching email is found. If a client is found, generates an invoice PDF with PdfBro, emails it to the client via Gmail, appends/updates the invoice record in a Google Sheets “Client Invoices” spreadsheet, and posts a Slack confirmation. For REMIND_INVOICE, finds an UNPAID invoice for the email in the “Client Invoices” Google Sheet, regenerates the invoice PDF with PdfBro, emails a reminder via Gmail, and p
Draft personalized cold emails from Google Sheets using Gemini and HubSpot
Quick overview This workflow batch-processes leads from Google Sheets, researches each person and company using Tavily plus Google Gemini, drafts a personalized cold email, then creates/updates the contact in HubSpot with a research note and a saved email draft before marking the lead as Done in the sheet. How it works Runs manually and sets a batch size that controls how many leads to process per run. Reads leads from Google Sheets, skips rows already marked as Done, and normalizes the selected batch into clean lead fields. Processes the batch one lead at a time and uses Tavily search (last 60 days) with Google Gemini to extract the most recent public activity, pain points, and a personalization hook. Cleans and parses the research JSON so it can be reused reliably downstream. Uses Google Gemini to draft a 90–120 word cold outreach email (subject and body) that incorporates the research and offers a free “Automated LinkedIn Post Creator” n8n workflow. Creates or reuses the HubSpot contact, logs a HubSpot note with the research and drafted email, and saves the email as a HubSpot engagement in DRAFT status. Updates the matching row in Google Sheets (by Email) to set Status to “Done