Code Workflows
445 Ergebnisse — ausschließlich quellenverknüpfte n8n-Referenzen
Create SEO blog posts from YouTube videos with Gemini and Google Docs
Quick overview Submit a YouTube URL and get a publish-ready SEO blog post. Three Gemini agents research the video, write the article, and score it. Articles scoring 7+ auto-publish to Google Docs. Lower scores route to Telegram for review. How it works The workflow starts when a POST request hits the webhook with a YouTube URL, optional target keyword, and tone. A Code node extracts the video ID and validates the URL format, then an HTTP Request node calls YouTube Data API v3 to pull the video title, description, channel name, and tags. Three Basic LLM Chain nodes run in sequence, each powered by a Google Gemini Flash sub-node connected via the native ai_languageModel port. The first chain (Research Agent) receives the video context and returns a structured JSON brief containing an SEO title, four H2 headings, primary keyword, secondary keywords, key insights, target audience, and a content angle. A Code node parses this output with a JSON fallback in case Gemini adds unexpected formatting. The second chain (Writer Agent) takes the research brief and writes a complete 1,000–1,400 word blog post following strict rules: flowing paragraphs over bullet lists, primary keyword used 3–5 t
Classify workflow errors with Claude and deduplicate Jira and Slack alerts
Quick overview This global error-handling workflow classifies n8n execution failures with Anthropic Claude, deduplicates incidents in Jira using a hash label, and posts a detailed alert to Slack with links to the affected execution and Jira issue. How it works Triggers whenever any n8n workflow execution or trigger fails (when set as the instance Error Workflow). Normalizes the error event into a consistent payload that includes workflow details, error message, truncated stack trace, and an execution log URL. Sends the normalized payload to Anthropic Claude to return a structured JSON classification (category, severity, root cause, recommended action, and transient flag). Parses the classification, falls back to an UNKNOWN classification if the LLM response is invalid, and generates a deduplication hash used to group similar errors. Searches Jira for an open issue in the configured project that already has the matching deduplication label. If an open issue exists, appends a recurrence comment with the latest execution details; otherwise, creates a new Jira Bug with labels, priority, and a full incident description. Builds a Slack Block Kit message summarizing the incident and sends
Scrape Hacker News hiring threads with OpenAI GPT-4o-mini and Airtable
Quick overview This workflow manually runs a scraper that finds the latest Hacker News “Ask HN: Who is hiring?” thread via the Algolia HN Search API, pulls each job comment from the Hacker News Firebase API, uses OpenAI to structure postings into fields, and saves the results to Airtable. How it works Starts when you manually execute the workflow. Queries the Algolia Hacker News Search API for recent “Ask HN: Who is hiring?” stories and keeps only the relevant thread metadata. Filters the results to the most recent thread (created within the last 30 days) and fetches the full thread from the Hacker News Firebase API. Iterates through the thread’s comment IDs, fetching each individual job comment from the Hacker News Firebase API. Extracts and cleans the job text to remove HTML/entities and normalize links and whitespace. Sends the cleaned text to OpenAI (GPT-4o-mini) to extract a structured JSON record (company, title, location, type, salary, description, and URLs). Creates a new record in Airtable for each structured job posting. Setup Add an Airtable credential and set the target base and table in the Airtable create step. Add an OpenAI credential for the GPT-4o-mini chat model.
Send portfolio risk reports from Google Sheets with OpenAI and Gmail
Quick overview This workflow collects a portfolio request via an n8n Form, loads holdings from Google Sheets, calculates portfolio risk and concentration metrics, generates an HTML risk narrative with OpenAI, then emails the full report via Gmail and appends an audit record back to Google Sheets. How it works Receives a portfolio analysis request from an n8n Form containing the investor details, base currency, and a Google Sheet ID. Reads all holdings from the provided Google Sheets document (Portfolio tab) and bundles the rows into a single portfolio dataset. Calculates market value, allocations, sector and asset-class breakdowns, P&L, concentration flags, and a 0–100 risk score. Sends the computed portfolio summary, breakdowns, risk flags, and holdings to OpenAI to generate a structured risk report in HTML. Builds a branded HTML email that includes the AI narrative plus sector and top-holdings tables and a concentration alert banner. Sends the HTML risk report to the investor via Gmail and appends a summary row to a Google Sheets “Analysis Log” audit sheet. Setup Create a Google Sheet with a tab named “Portfolio” and headers: ticker, company, sector, asset_class, quantity, avg_bu
Send weekly narrative client reports with Google Sheets, Claude, and Gmail
Quick overview This workflow runs every Friday at 9:00 AM, pulls active client status data from Google Sheets, uses Anthropic Claude to generate a narrative weekly report with structured HTML and plain text output, and sends the finished report to each client via Gmail. How it works Runs every Friday at 9:00 AM on a schedule trigger. Reads all client rows from a specified Google Sheets document. Filters out paused/inactive or incomplete rows, extracts any “Metric:” columns, and builds a reporting week label for each client. Sends each client’s normalized data to Anthropic Claude to write a 3–4 paragraph narrative report and return JSON containing an email subject plus HTML and plain-text bodies. Emails the generated HTML report to each client’s email address using Gmail. Setup Create a Google Sheet with the required columns (at minimum “Client Name” and “Client Email”) and optional “Status” plus any “Metric:” columns you want included. Add Google Sheets OAuth2 credentials in n8n and replace the placeholder Sheet ID in the Google Sheets read step. Add an Anthropic credential for the Claude chat model used to generate the structured report. Add Gmail OAuth2 credentials and confirm th
Score and route inbound leads with Claude, Airtable, Slack, and Gmail
Quick overview This workflow receives inbound form leads via a webhook, normalizes the submission, optionally scrapes the lead’s website with Jina AI Reader, and uses Anthropic Claude to score and summarize the lead. It logs results to Airtable, posts a Slack alert, and creates a Gmail draft for hot leads. How it works Receives a POST webhook when a new lead submission comes in and immediately returns a JSON receipt response. Normalizes the incoming payload (Typeform, Tally, JotForm, or custom JSON) into consistent lead fields like name, email, company, website, and message. If a website is provided, fetches up to 2,000 characters of page content using Jina AI Reader and attaches it to the lead. Sends the lead details and scraped content to Anthropic Claude to produce structured JSON including a score, tier (hot/warm/cold), red flags, an enriched summary, and a first-reply draft. Builds a formatted Slack message and prepares a complete lead record (including routing flags) from the AI output. Creates a new record in Airtable and posts the lead alert to a Slack channel. If the lead is classified as hot, creates a Gmail draft using the generated first-reply text. Setup Copy the webho
Create vertical AI videos from web articles with OpenAI, Seedance and Blotato
Quick overview This workflow accepts an article URL from Telegram, extracts the page text, uses OpenAI to generate a Seedance 2.0 video prompt plus platform-specific captions, creates a vertical video via the AtlasCloud Seedance API, then publishes it to TikTok, Instagram, and YouTube through Blotato and confirms back on Telegram. How it works Receives a message in Telegram containing a web article URL. Fetches the web page HTML, strips it to plain text, and truncates the extracted content for prompting. Uses OpenAI to turn the URL and extracted text into a Seedance 2.0 text-to-video prompt plus TikTok and Instagram captions and a YouTube title and description. Submits the generated prompt to the AtlasCloud Seedance 2.0 generateVideo API with the configured duration, resolution, and FPS. Polls the AtlasCloud prediction endpoint on a wait interval until the video status returns completed/succeeded. Publishes the resulting video URL to TikTok, Instagram, and YouTube via Blotato using the generated captions and YouTube metadata. Sends a Telegram confirmation message that includes the video title and the final video URL. Setup Create a Telegram bot with @BotFather, add Telegram credent
Triage telehealth appointments with GPT-4o-mini, Telegram, Google Calendar
Quick overview This workflow collects telehealth appointment details via an n8n Form, uses OpenAI (GPT-4o-mini) to score no-show risk, then sends Telegram reminders and confirmations and updates Google Calendar based on the patient’s response, with Slack alerts on workflow errors. How it works Receives a new appointment submission from an n8n Form with patient, appointment, and Telegram chat details. Sends the appointment data to OpenAI (GPT-4o-mini) to generate a 0–100 no-show risk score and explanation. Routes the flow based on the risk score, sending a single friendly Telegram reminder for low-risk patients. For high-risk patients, sends escalating Telegram reminders and a final message that waits for a confirmation or cancellation reply. If the patient cancels, creates a new “rescheduled” time slot in Google Calendar and sends the patient a Telegram reschedule acknowledgement. If the patient confirms, updates the existing Google Calendar event to note the confirmation and sends a Telegram confirmation message. If any step fails, posts an error notification to a Slack channel. Setup Add credentials for OpenAI (Chat), Telegram Bot, Google Calendar OAuth2, and Slack OAuth2 used fo
Score mortgage loan risk from Google Drive PDFs with OpenAI and Gmail
Quick overview This workflow monitors a Google Drive folder for new loan application PDFs, extracts text, and uses OpenAI (GPT-4o-mini) to structure applicant data, score risk, generate a lending summary, and produce an underwriting recommendation, then emails the final report via Gmail and posts Slack alerts on failures. How it works Triggers when a new PDF is created in a specified Google Drive folder. Downloads the PDF from Google Drive and extracts its text content. Uses OpenAI (GPT-4o-mini) to extract key applicant and loan fields into a validated JSON structure. Uses OpenAI (GPT-4o-mini) to calculate a risk score, risk level, approval confidence, and key findings in JSON. Uses OpenAI (GPT-4o-mini) to write a plain-text lending summary and then generate a final underwriting decision (approve/conditional approval/further review/decline) with reasoning and conditions. Assembles a single report from the extracted data, risk analysis, summary, and decision, and sends it to the loan officer via Gmail. If extraction or risk scoring fails, sends a Slack alert and retries by re-downloading the application PDF. Setup Connect Google Drive OAuth2 credentials and replace YOUR_GOOGLE_DRIVE
Recover overdue invoices with GPT-4o-mini, Gmail, Google Sheets and Slack
Quick overview This workflow runs every 24 hours to read overdue invoices from Google Sheets, uses OpenAI (GPT-4o-mini) to draft personalized recovery emails and determine escalation, sends emails via Gmail, logs outcomes back to Google Sheets, and posts status and error alerts to Slack. How it works Runs every 24 hours on a schedule trigger. Reads invoice rows from a Google Sheets “invoices” tab and checks whether there are any valid invoice entries to process. If no invoices are found, posts a “no overdue invoices” message to a Slack channel. For each invoice found, uses OpenAI (GPT-4o-mini) to assign an escalation level, draft a personalized HTML email (including payment plans when applicable), and recommend an escalation action. Parses the AI output into structured fields and sends the recovery email to the client via Gmail. If the AI recommends escalation, sends an internal escalation alert email to the legal team via Gmail. Updates the invoice row in Google Sheets with the new escalation level and AI summary, then appends a full audit log row to a “Recovery sheet” tab. If AI processing fails, posts an error alert to Slack and continues with the next invoice. Setup Add Google
Log clinic chatbot inquiries from a website widget with OpenAI and Google Sheets
Quick overview This workflow receives website chatbot messages via a webhook, uses OpenAI to generate an AI receptionist reply with session-based context, extracts structured inquiry details, and appends or updates a single visitor row in Google Sheets before returning a clean JSON reply to the widget. How it works Receives a POST request from the website chat widget containing the visitor message, sessionId, and timestamp. Uses an OpenAI-powered receptionist agent with per-session memory to generate a contextual reply and a hidden JSON block of extracted inquiry details. Strips the hidden data block from the reply, parses the JSON into fields (name, contact, intent, appointment details, summary, status), and flags whether any meaningful data was captured. If collectible data exists, appends or updates a Google Sheets row matched on Session ID with the latest extracted details and a Last Updated timestamp. Returns the cleaned reply to the chat widget as a JSON response with CORS headers. Setup Add an OpenAI API credential for the OpenAI chat model used by the receptionist agent. Add a Google Sheets OAuth2 credential and set the target spreadsheet document ID and sheet/tab name used
Extract post-call glossary terms from transcripts with Anthropic Claude and Telegram
Quick overview This workflow accepts a meeting transcript via an n8n form or webhook, uses Anthropic Claude to extract technical terms and acronyms into a JSON glossary, and then sends either the formatted glossary or a “nothing to add” confirmation to Telegram. How it works Receives a transcript either from an n8n form submission or from an HTTP POST webhook. Normalizes the incoming payload into consistent transcript and sessionId fields. Sends the full transcript to an Anthropic Claude chat model to extract distinct technical terms and short definitions as a strict JSON block. Parses the model’s JSON response into structured fields and checks whether any terms were found. Formats a numbered glossary message when terms exist and sends it to a Telegram chat. Sends a short “Nothing to add” message to Telegram when no relevant terms are found. Setup Add an Anthropic API credential and select the model in the Anthropic Claude chat model node. Create a Telegram bot, add Telegram credentials in n8n, and replace `` with your target Telegram chat ID in both Telegram send steps. If using the webhook trigger, copy the webhook URL and configure your transcription tool to POST JSON like { "tr
Evaluate vendor proposal PDFs with OpenAI, Gmail, and Google Sheets
Quick overview This workflow collects vendor proposal PDFs via an n8n Form, extracts text from the PDF, uses an OpenAI ChatGPT model to summarize and flag risks, logs the evaluation to Google Sheets, and sends an approval or review-needed notification through Gmail. How it works Receives a submission from an n8n Form with the submitter’s details, optional notes, and a vendor proposal PDF upload. Extracts text from the uploaded PDF and cleans/limits it to a safe length for AI evaluation. Sends the cleaned proposal text and submitter notes to an OpenAI ChatGPT model to return structured JSON with vendor details, summary, key points, and risks. Parses the AI response, formats key points and risks for readability, and flags the submission as “REVIEW NEEDED” when any risks are present. Appends the evaluation results to an “Evaluations” tab in Google Sheets with the decision, summary, and risk metadata. Sends a Gmail alert to the review team when risks are found, otherwise emails an auto-approval notification to the approver. Setup Add an OpenAI API credential and select the model for the OpenAI Chat Model used by the evaluator. Connect Google Sheets OAuth2 and replace YOUR_PROPOSAL_LOG_
Run a multi-tool Telegram AI assistant with Groq Llama 3.3
Quick overview This workflow turns a Telegram bot into a personal assistant J.A.R.V.I.S - powered by Groq (Llama 3.3 70B) and a LangChain agent with chat memory, using tools for web search, weather, news, Wikipedia lookups, calculations, date/time, jokes, and URL reading. How it works Triggers when a new Telegram message is received by your bot. Sends the message text to a LangChain agent running on Groq’s chat model, using the Telegram chat ID to keep a rolling memory of the conversation. When needed, the agent calls external tools such as Tavily (web search), OpenWeatherMap (weather), NewsAPI (news), Wikipedia, JokeAPI, and a URL fetcher to gather or summarize information. For math and date/time questions, the agent runs built-in code tools to compute results or return the current date and time. Returns the agent’s final response to the same Telegram chat. Setup Create a Telegram bot with @BotFather, add a Telegram API credential in n8n, and select it in both the Telegram Trigger and Telegram send-message step. Add a Groq credential in n8n and ensure the Groq chat model is selected in the workflow. Replace placeholders with your API keys: YOUR_TAVILY_API_KEY (Tavily), YOUR_OPENWE
Categorize emails and draft Gmail replies with Groq and Google Sheets
Quick overview This workflow monitors Gmail for new emails, uses Groq (via the LangChain Agent node) to categorize and summarize each message and draft a reply, sends an alert email for high-priority items, and logs the analysis and draft details to Google Sheets. How it works Checks Gmail every minute for new incoming emails. Skips processing if the email has no body content or snippet. Extracts the sender, subject, received date, message ID, and a truncated body (up to 3000 characters) for analysis. Sends the email content to Groq to return a JSON analysis with category, priority, summary, key asks, action items, suggested labels, and a draft reply. Parses and validates the AI JSON output, stopping if it cannot be parsed. Sends a Gmail alert to your chosen address when the email is marked HIGH priority, then continues. Appends the parsed analysis fields to a Google Sheets “Email Log” sheet and creates a Gmail draft reply only when the analysis indicates a response is required. Setup Connect a Gmail OAuth2 credential with permission to read emails and create drafts, and select it in the Gmail Trigger, Alert email, and Create Draft nodes. Add a Groq API credential and select it in
Repurpose content into 5-platform posts with Groq Llama 3.3 and Upload-Post
Quick overview This workflow receives a webhook with either a URL or raw text, uses Groq (Llama 3.3 70B) to analyze and repurpose the content into Instagram, X, LinkedIn, email, and video formats, optionally logs results to Google Sheets, and posts the LinkedIn text to multiple platforms via Upload-Post.com. How it works Receives a POST webhook request containing a single content value that is either a URL or plain text. If the input starts with http, it fetches the page content over HTTP and packages it as cleaned source text; otherwise it uses the provided text as-is. Sends the prepared content to Groq (Llama 3.3 70B) to generate a structured analysis of the core message, key points, audience, tone, and hook angles. Uses Groq again to generate platform-specific outputs (Instagram caption/hashtags, X thread, LinkedIn post, email newsletter, and a short video script) as JSON. Parses the AI JSON, validates character limits for Instagram, LinkedIn, and X, and returns an error response if the output cannot be parsed. On success, appends the generated content and validation warnings to Google Sheets, posts the LinkedIn text to selected social platforms via the Upload-Post.com API, and
Post daily motivational quote images to Telegram with Gemini and HTML to Image
Quick overview This workflow runs daily on a schedule, uses Google Gemini to generate a short motivational quote and author, renders it into an image via htmlcsstoimg.com, and posts the resulting photo to a Telegram channel. How it works Runs once per day at the configured hour using a schedule trigger. Sends a prompt to Google Gemini to generate an original motivational quote and an author name in a strict two-line format. Extracts the quote and author from the Gemini response and falls back to default values if parsing fails. Calls the htmlcsstoimg.com API to render the quote and author into a styled 1080×1080 image using an HTML/CSS template. Sends the generated image URL to Telegram and posts it as a photo to the configured channel. Setup Add Google Gemini (PaLM) API credentials in n8n for the quote generation step. Create a Telegram bot with @BotFather, add it as an admin to your target channel, and connect the bot token as a Telegram credential in n8n. Sign up for an htmlcsstoimg.com API key and set it in the HTTP request header as CLIENT-API-KEY. Replace @your_channel_username with your Telegram channel username and adjust the schedule time and quote prompt as needed.
Publish science newsletter posts from YouTube using Ghost and Google Sheets
Quick overview This workflow turns science keywords from Google Sheets into researched Ghost newsletter posts by discovering and screening YouTube videos with Apify, validating claims using Brave Search, storing sources in Qdrant with Cohere embeddings, drafting content with LLMs, and publishing via a custom Ghost HTTP endpoint. How it works Runs either manually to qualify “FAIR GAME” keywords from Google Sheets or on a schedule to start the automated publishing pipeline. Uses Brave Search with an LLM agent to research each keyword’s current context and writes a structured relevance, domain, and angle assessment back to the Keywords sheet. On schedule, randomly selects an eligible keyword, uses Apify’s YouTube Scraper to fetch recent videos with English transcripts, and appends normalized candidates to the Candidate Videos sheet. Scores each candidate’s virality from views, engagement, channel size, and publish age, marks rows as VIRAL or NOT VIRAL, and archives NOT VIRAL items to an Archive sheet. Reviews VIRAL candidates with an editorial LLM agent to select exactly one evidence-worthy video (or reject all), updates statuses and reasoning in Google Sheets, and archives rejected v
Monitor warehouse receiving performance with Google Sheets, Gemini, and Gmail
Quick overview This workflow runs hourly to analyze warehouse receiving logs from Google Sheets, calculates per-user performance and compliance metrics, enriches results with department data, uses Google Gemini to generate recommendations for flagged users, emails managers via Gmail when escalation is needed, and appends results to an analytics dashboard sheet. How it works Runs every hour on a schedule trigger. Reads receiving log rows from Google Sheets and normalizes key fields like duration, errors, and compliance. Aggregates the log data by user_id and computes performance status, severity score, and alert tier based on time, errors, and compliance rate. Looks up each user’s department and manager email in a Google Sheets “Departments” tab and attaches this context to the analysis. For users not rated “good,” sends the metrics to Google Gemini to generate structured root-cause and action-step recommendations. If the alert tier is not “none,” sends an info/warning or critical escalation email via Gmail (using manager_email when available). Appends the final per-user analysis (metrics, issues, recommendations, and whether an email was sent) to a Google Sheets “AnalyticsDashboard
Detect maverick spend and alert reviewers via Slack, Gmail, Sheets and Gemini
Quick Overview This workflow runs daily to compare procurement transactions in Google Sheets against an approved supplier list, flags unapproved (maverick) spend, uses Google Gemini to generate compliant alternatives, alerts reviewers via Slack and Gmail, logs violations back to Google Sheets, and escalates unresolved cases after two hours. How it works Runs every day at 11:00 AM on a schedule. Loads the approved supplier list and the latest transactions from Google Sheets and normalizes supplier names for consistent matching. Compares each transaction’s supplier against the approved list and flags transactions from unapproved suppliers as maverick spend. For approved suppliers, marks the transaction as processed in Google Sheets and ends. For maverick spend, sends the transaction details and the approved supplier list to Google Gemini to generate corrective recommendations and alternative suppliers. Formats the AI output with a timestamp, posts a Slack alert, and sends a detailed violation email through Gmail. Appends the violation details to a Google Sheets log, marks the transaction as processed, waits two hours, and then posts an escalation message to Slack. Setup Connect Googl
Monitor budget variance with Google Sheets, Gemini, Slack, and Gmail
Quick overview This workflow runs daily to compare department budgets and actual spend from Google Sheets, calculates variance, uses Google Gemini to generate root-cause insights, sends Slack alerts when variance breaches a threshold, logs results back to Google Sheets, and emails a daily report via Gmail. How it works Runs every day at 9:00 AM on a schedule. Reads budget and actual spend data from two Google Sheets tabs and matches records by Department. Calculates spend variance and variance percentage, then assigns a status label (Healthy/Warning/Critical) and run context like date and summary. Sends the variance details to Google Gemini to generate a JSON response with root cause, risk level, and recommendations. Checks whether the variance percentage is greater than 10% and sends a Slack alert with the AI insights when the threshold is exceeded. Appends the final analysis (including whether an alert was sent) to a Google Sheets log and sends the same report via Gmail. Setup Connect Google Sheets OAuth credentials and set the correct spreadsheet and sheet tabs for Budget Data, Actual spend, and the Final report log. Add a Google Gemini (PaLM) API credential for the Gemini model
Enrich B2B leads with Tavily search, Groq Llama 3.3, and Google Sheets
Quick overview This workflow receives a company name via webhook, runs three Tavily web searches (company info, recent news, and key people), uses Groq (Llama 3.3 70B) to synthesize a structured lead profile, optionally appends the results to Google Sheets, and returns the enriched profile in the webhook response. How it works Receives a POST webhook request containing a company name and an optional domain. Queries the Tavily Search API for company overview details, then searches Tavily again for recent news and key executives/leadership. Sends the combined search results to a Groq LLM agent to generate a sales-ready lead enrichment profile as strict JSON (company details, products, signals, news, pain points, and outreach angles). Parses the AI output, extracts valid JSON if possible, and flattens key fields into a single row-friendly structure. If parsing succeeds, appends the enriched lead data to a Google Sheets spreadsheet and returns the full profile in the webhook response. If parsing fails, returns an HTTP 422 error response with the raw AI output for troubleshooting. Setup Create a Groq API key, add it as an n8n Groq credential, and select it in the Groq LLM node. Create a
Evaluate AI prompts with OpenRouter LLM-as-judge and Notion reports
Quick overview This workflow collects a prompt and model choice via an n8n Form, uses OpenRouter LLMs to generate an evaluation dataset, run the prompt against each test case, and grade the responses, then saves per-item results and a synthesized one-line report to Notion. How it works Receives prompt, dataset size, and target model input from an n8n Form submission. Uses OpenRouter (via LangChain) to generate a JSON evaluation dataset with categorized questions and difficulty distribution. Iterates through each evaluation question and calls the selected OpenRouter model using the submitted prompt as the system message to produce an answer. Sends each answer to a separate OpenRouter grader model that returns a JSON score plus strengths, weaknesses, and reasoning. Saves each graded evaluation item as a new page in a Notion database. Aggregates all graded items and uses an OpenRouter synthesis model to produce a concise overall evaluation line, then saves it as a Notion page under a specified parent page. Setup Add an OpenRouter API credential in n8n and ensure the models referenced in the form and LLM nodes are available to your OpenRouter account. Add a Notion integration credentia
Transcribe and analyze sales meetings with Deepgram, Gemini, GHL, Slack & Gmail
Quick overview Youtube Video: https://youtu.be/GNAplBWdCDE?si=TjojVTZX7ViiRUiG This workflow receives meeting voice recording via webhook, transcribes it with Deepgram, and uses Gemini to extract client details and next-step tasks. It then updates GoHighLevel, posts a task summary to Slack, emails the client their action items via Gmail, and logs the meeting to Sheets. How it works Receives a POST webhook request containing a meeting ID, attendee email, meeting date/time, and an audio file. Looks up the contact in GoHighLevel by email and creates/updates the contact if it does not already exist. Checks Google Sheets for the meeting ID and only continues if no existing row is found. Sends the audio binary to Deepgram to transcribe the recording with speaker diarization and utterances enabled. Formats the transcript and sends it to a Google Gemini–powered agent that returns structured JSON with client identification and task lists. Creates a GoHighLevel task with the extracted service-provider tasks, posts the task summary to Slack, and emails the client their tasks via Gmail. Appends the meeting details, extracted company name, and action items to Google Sheets and returns a webhook