Structured Output Parser Workflows
233 Ergebnisse — ausschließlich quellenverknüpfte n8n-Referenzen
Send weekly Salesforce sales behavior coaching reports with Groq and Gmail
Quick overview This scheduled workflow pulls last week’s Salesforce opportunities, tasks, and events for a specific rep, computes activity and pipeline health metrics, uses Groq (LLM) to generate coaching insights, creates a QuickChart performance chart URL, and emails a weekly behavioral report via Gmail. How it works Runs weekly on a schedule. Retrieves a target Salesforce user and queries that user’s opportunities with activity in the last week. Builds an Opportunity ID list, then pulls related Salesforce Tasks and Events and merges them into a single activity stream alongside the opportunities. Calculates per-opportunity engagement metrics (touches, calls, emails, follow-ups, meetings) and the days since last activity based on activity subjects and dates. Aggregates the opportunity metrics into per-rep totals including revenue, won/lost deals, and a stale-deal count based on activity gaps. Generates a QuickChart URL visualizing weekly activity versus outcomes and sends the rep metrics to Groq to produce structured coaching insights. Combines the chart and AI insights and sends an HTML weekly coaching email through Gmail. Setup Connect Salesforce OAuth2 credentials and set the S
Analyze LinkedIn profiles and posts with Apify and OpenAI GPT-4
Quick overview This workflow collects a LinkedIn profile URL via an n8n form, scrapes the profile’s recent posts with Apify, analyzes the profile and each post using OpenAI models, and stores the resulting profile summary and per-post insights in n8n Data Tables. How it works Receives a LinkedIn profile URL when a user submits the built-in n8n form. Extracts the LinkedIn username from the URL and runs an Apify actor to scrape the profile’s posts into a dataset. Generates an overall competitive-intelligence style profile analysis from the scraped posts using an OpenAI chat model and parses the result into structured JSON. Saves the structured profile summary, themes, messaging patterns, and content ideas to an n8n Data Table. Loops through each scraped post, stores the raw post text and engagement metrics in an n8n Data Table, and marks it as unprocessed. Analyzes each post with an OpenAI chat model to extract structured insights (topic, takeaway, engagement insight, and suggested use) and updates the corresponding Data Table row as processed. Setup Configure the n8n Form Trigger and share the form URL with users who will submit LinkedIn profile links. Add an Apify API token in n8n
Screen candidate CVs with Google Gemini, Google Sheets, and Gmail
Quick overview This workflow collects candidate applications via an n8n form, extracts text from uploaded PDF CVs, compares each CV to a job description stored in Google Sheets using Google Gemini (via OpenRouter), logs screening results back to Google Sheets, and creates a Gmail draft email for HR review. How it works Candidate submits the n8n-hosted form with their details and a PDF CV. Two operations run in parallel: CV text is extracted from the uploaded PDF, and the matching Job Description is fetched from Google Sheets using the role the candidate entered. Gemini Flash evaluates the CV against the JD and returns a structured recommendation: Strong Interview, Interview, Borderline, or Do Not Proceed, along with a score, matched skills, gaps, and a plain-text summary. The full screening record is logged to a Screening Results tab in Google Sheets. A Gmail draft is created for HR to review and send: a shortlist notification for Interview and above, a rejection for Borderline and below. Setup Open the Config node and fill in spreadsheet_id, jd_sheet_gid, results_sheet_gid, and company_name. Create two tabs in your Google Sheet: Job Description (columns: job_id, title, department,
Match packing list PDFs to purchase orders with docling-serve and Ollama
Quick overview This workflow checks an SFTP “pending” folder for packing list PDFs, converts them to OCR text with docling-serve, and uses Ollama (Gemma) to extract structured line items and match them to a purchase order, logging results and moving files to completed or error folders. How it works Runs every hour and lists files in the SFTP pending folder. Filters for PDFs, downloads each file from SFTP, and logs a PENDING status to an n8n Data Table. Uploads the PDF to docling-serve for OCR conversion (RapidOCR, English) and stops with an error status if conversion fails. Sends the converted Markdown text to an Ollama Gemma chat model to extract a normalized packing-list JSON (PO number, parties, and line items). Loads the matching purchase order data and cross-references PO vs packing-list SKUs and quantities to determine whether the document matches. If SKU count matches but SKU text differs, uses an Ollama-based healing step to detect likely OCR-misread SKUs, applies the corrections, and re-runs the cross-reference. Writes the final status (COMPLETED or ERROR) to the n8n Data Table and moves the PDF in SFTP into a folder named after the status (for example, completed/ or error
Answer legal questions with Groq using CanLII and CourtListener
Quick overview This workflow collects a legal question via an n8n form, retrieves supporting authorities from CourtListener or CanLII, and uses a Groq-hosted Llama model to produce an answer grounded only in the retrieved text with verified, non-hallucinated citations. How it works Receives a legal question through an n8n form and captures the selected source database (CourtListener or CanLII) plus optional CanLII database and case IDs. Routes the request to CourtListener full-text search or to CanLII case metadata and citator endpoints based on the selected database. For CourtListener, pulls the top search results and fetches the full text of the top-ranked opinion; for CanLII, loads the selected case and a list of related cases from the CanLII citator. Normalizes the retrieved items into a single numbered “sources” block with excerpts that the model can cite. Sends the question and sources to a Groq Chat Model (Llama 3.3 70B) and parses the response into a structured format containing an answer, a supported flag, and a list of citations. Verifies every cited source index against the retrieved sources, drops any mismatches, and renders an HTML result page showing the answer, verif
Qualify and route free signups with Twain, Claude, Slack, HubSpot and Gmail
Quick overview This workflow receives free-signup events via webhook, enriches the contact with Twain research (and optional Findymail LinkedIn lookup), uses Anthropic Claude to score ICP fit, then routes outcomes to Slack and, for high-fit leads, to HubSpot and Gmail. How it works Receives a POST webhook request for a new signup and authenticates it via a required header. Normalizes the signup fields (uid, email, name, LinkedIn URL) and deduplicates records across runs to avoid reprocessing the same user. If the signup has no LinkedIn URL but has an email, optionally calls Findymail reverse-email lookup to resolve a LinkedIn profile URL and merges it back into the contact. If the lead has neither a work email nor a LinkedIn URL, posts a “skipped” message to Slack and stops. Sends the contact to the Twain Generate/Research API to create research and add the contact to the specified Twain campaign, and posts a Slack alert if the research request fails. If Twain flags a hard disqualification (persona mismatch or incomplete profile), posts a disqualification message to Slack; otherwise, Anthropic Claude evaluates the research against the defined ICP tiers and returns a structured fit
Review GitHub pull requests with Mistral and send decisions to Slack
Quick overview This workflow receives GitHub webhook events for pull requests, pushes, and branch/tag creates, filters out actions from the repo owner, and posts alerts to Slack (optionally Discord). For pull requests, it uses Mistral to generate an AI review from the PR diff and supports a human approval form. How it works Receives a GitHub webhook request and filters for push, create, and pull_request events coming from non-owner accounts (and non-deleted branches). Routes the event by type and, for push and create events, extracts key details and posts a notification to Slack (optionally Discord). For pull request opened, reopened, or synchronize events, extracts PR metadata such as title, URLs, branch refs, and change counts. Uses Mistral (via an AI agent) to fetch the PR unified diff over HTTP and generate a structured JSON review, optionally consulting existing GitHub PR reviews for synchronize re-reviews. Posts the AI recommendation to Slack with a link to a hosted PR review form (optionally Discord) and waits up to 24 hours for a reviewer decision. Applies the reviewer decision back to GitHub by approving the PR and merging it, requesting changes with a comment, or closing
Triage and retry failed workflow executions with Anthropic, Jira and OpenTelemetry
Quick overview This workflow triggers on n8n execution errors, uses Anthropic (Claude) to classify the failure as transient or logic, and then either retries the failed execution via the n8n API with exponential backoff or creates a Jira issue, while also sending incident telemetry to an OpenTelemetry collector. How it works Triggers automatically when an n8n workflow execution errors. Extracts key telemetry like workflow name, failing node, error message/stack, execution URL, and any detected HTTP status code. Sends the error context to Anthropic (Claude) to return structured JSON with a category, confidence, and remediation guidance. Combines the AI diagnostics with telemetry and tracks a per-incident retry counter (up to three attempts) to decide if the failure is eligible for automated retry. If the error is transient with sufficient confidence and retry budget remains, waits using exponential backoff and calls the n8n API to retry the failed execution, then records the retry outcome. If the error is not retry-eligible (or the retry budget is exhausted), creates a Jira issue with the diagnostics, execution link, and failure details. Posts an OpenTelemetry trace span to your col
Manage KlickTipp contact tags with GPT-5-mini via chat input
Quick overview This workflow uses an n8n chat trigger, OpenAI (gpt-5-mini), and KlickTipp community nodes to interpret chat instructions and create, apply, or remove tags for an existing KlickTipp contact, returning a structured JSON result. How it works Receives a chat message containing a contact email address and explicit tag add/remove instructions. Uses OpenAI (gpt-5-mini) to extract the email plus the requested tags to apply and/or remove, enforcing strict rules to avoid inventing tags. Looks up the contact in KlickTipp by email and reads the contact’s currently assigned tag IDs. Retrieves the full tag list from KlickTipp and creates any missing tags that were explicitly requested for applying. Applies the resolved tag IDs to the contact in KlickTipp when an explicit apply action is present and the contact does not already have them. Removes specific tag IDs (or all currently assigned tag IDs when requested) from the contact in KlickTipp when an explicit remove action is present. Returns a structured JSON response summarizing what was requested, which tags were created, and which tag IDs were applied or removed. Setup Add KlickTipp credentials for the community KlickTipp node
Generate personalized email salutations for KlickTipp contacts with OpenAI
Quick Overview This workflow triggers when a contact is tagged in KlickTipp, uses OpenAI to generate an HTML-ready email salutation with a quality score, and updates the KlickTipp subscriber record with the salutation only when it meets a defined confidence threshold. How it works Triggers when a contact is tagged in KlickTipp and receives the contact’s profile fields (name, email, company, and address data). Sends the contact details to OpenAI to generate a JSON response containing an HTML-ready salutation plus language, style, and a salutation quality score. Parses and validates the OpenAI response against a structured JSON schema. Checks whether the generated salutation quality score is greater than 80. Updates the contact in KlickTipp by writing the generated salutation into a configured custom field when the score passes the threshold. Setup Add KlickTipp credentials and ensure the KlickTipp trigger for “contact tagged” is enabled for your account. Add an OpenAI API key for the chat model used to generate the salutation. In KlickTipp, create/identify the tag that should trigger this automation and configure it to call the n8n webhook URL from the trigger. Create a KlickTipp cu
Send multi-carrier shipping quotes via WhatsApp with Gemini and ShipEngine
Quick overview Youtube Video: https://youtu.be/jIGBUW_1Sx0?si=BNXzk95soO0Nefan This workflow responds to incoming WhatsApp messages, validates the sender in HighLevel, uses Google Gemini with Redis memory to collect shipment details, fetches multi-carrier rates from ShipEngine, applies a commission markup, logs the quote to Google Sheets, and sends the best options back via WhatsApp. How it works Triggers when a new WhatsApp message is received. Looks up the sender’s phone number in HighLevel and stops outreach if the contact is marked Do Not Disturb. Uses a Google Gemini-powered agent with Redis chat memory to collect and confirm shipment details, creating the contact in HighLevel if needed or marking them DND if they opt out. If shipment data collection is complete, requests shipping rates from the ShipEngine Rates API for the configured carriers. Calculates a commission markup, filters for valid rates, and selects the cheapest and fastest options to format a quote message. Appends the quote text and metadata to a Google Sheets spreadsheet and sends the quote back to the customer via WhatsApp. Setup Connect WhatsApp Business credentials for both the WhatsApp trigger and send acti
Answer HR policy and benefits questions with BambooHR, OpenAI and Supabase
Quick Overview This workflow ingests company policy PDFs from BambooHR into a Supabase vector database and provides an employee chat interface that answers policy and benefits questions using OpenAI, with an additional employee/department lookup powered by BambooHR employee data. How it works Starts a manual run to fetch files from BambooHR and keep only PDFs in the “Company Files” category. Downloads each selected PDF, splits it into chunks, generates OpenAI embeddings, and inserts the content into a Supabase vector table for retrieval. Exposes a chat trigger where employees submit questions to an HR assistant. Uses OpenAI with conversation memory and retrieves relevant policy content from the Supabase vector store to ground responses. When a question requires a contact person, looks up employee details in BambooHR by exact name or finds the most senior person in a requested department using an OpenAI-assisted department extraction and ranking step. Returns the final answer to the chat, including policy-based guidance and any retrieved employee contact details. Setup Add BambooHR credentials and ensure your policies/benefits PDFs are available in the BambooHR file category named “
Score and advance job applicants with Airtable, Google Workspace and GPT-4o
Quick Overview This workflow collects job applications via an n8n form, stores CVs in Google Drive, logs applicants in Airtable, and uses OpenAI to score CV-to-role fit. Shortlisted candidates receive an AI-generated questionnaire, a personalized Gmail outreach, an auto-booked Google Calendar phone screen, and saved screening questions. How it works Receives a job application through an n8n form submission, including applicant details and a PDF CV upload. Uploads the CV to Google Drive, builds a normalized applicant record (name, email, phone, experience, CV link), and creates an applicant entry in Airtable. Downloads the stored CV from Google Drive, extracts text from the PDF, and uses an OpenAI-powered agent to score the CV against the job description pulled from Airtable. Updates the applicant’s Airtable record as either “Interviewing” (score ≥ 0.7) or “No hire” (score < 0.7), including the numeric score and short reasoning. For shortlisted candidates, generates five interview questions with OpenAI, presents them in a follow-up n8n form, and saves the candidate’s responses back to Airtable. Uses OpenAI plus Airtable job/candidate context to draft a personalized outreach email, s
Review workflow JSON for risks and best practices with Groq (Llama 3.3)
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. This is the endpoi
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.
Enrich company records with social media URLs using Supabase and GPT-4o
Quick overview This workflow pulls companies from Supabase, uses an OpenAI (GPT-4o) agent to crawl each company website and collect social media profile URLs via HTTP requests and HTML parsing, and then writes the enriched company record (name, website, and social links) back to Supabase. How it works Runs manually and loads all company records from a Supabase companies_input table. Keeps only each company’s name and website fields and sends the website to an OpenAI (GPT-4o) agent. The agent fetches page text (HTML converted to Markdown) and extracts links from pages (anchor hrefs), following additional URLs as needed to find social profiles. The agent returns a structured JSON object of social media platforms and their profile URLs. The workflow combines the extracted social links with the original company name and website. Inserts the enriched record into the Supabase companies_output table. Setup Add a Supabase credential and set the correct workspace/project so the workflow can read from companies_input and write to companies_output. Add an OpenAI API key in the OpenAI Chat Model node (configured for GPT-4o). Ensure your input table contains name and website fields (or update t
Detect visual regressions with Apify, Google Gemini, Sheets and Linear
Quick overview This workflow generates baseline website screenshots with Apify, stores them in Google Drive, and logs the file IDs in Google Sheets, then runs scheduled visual regression checks by comparing new screenshots against the baselines with Google Gemini Vision and creating a consolidated Linear issue when changes are detected. How it works Manually starts to backfill missing baselines by reading URLs from Google Sheets that do not yet have a stored base image. For each missing baseline URL, calls Apify’s screenshot actor, downloads the rendered image, uploads it to Google Drive, and updates the matching Google Sheets row with the Drive file ID. Runs weekly on a schedule and reads the list of webpages to test from Google Sheets. For each webpage, downloads the baseline image from Google Drive and captures a fresh screenshot via Apify. Sends both images to Google Gemini (vision) to detect visual differences and returns a structured list of regressions (text, number, image, color, or position). Filters out pages with no detected changes, aggregates the remaining results, and creates a Linear issue containing the regression report. Setup Add an Apify API token as HTTP Query A
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
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
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
Create Seedance 2.0 short videos from Telegram ideas with OpenAI and Blotato
Quick overview This workflow takes a video idea sent via Telegram, uses OpenAI to generate a Seedance 2.0-ready prompt plus platform-specific captions, creates the video through AtlasCloud’s Seedance API, then publishes it to TikTok, Instagram, and YouTube using Blotato and confirms back in Telegram. How it works Receives a video idea as a Telegram message. Uses OpenAI (via an agent) to generate a structured JSON payload containing a Seedance 2.0 text-to-video prompt plus TikTok and Instagram captions and a YouTube title and description. Submits the prompt to AtlasCloud’s Seedance 2.0 video generation API and requests a 5-second video. Polls AtlasCloud every 30 seconds until the video generation status returns completed/succeeded. Extracts the final video URL and pairs it with the generated captions and YouTube metadata. Publishes the video to TikTok, Instagram, and YouTube via Blotato, then sends a Telegram confirmation message. Setup Create a Telegram bot and add Telegram credentials, then ensure the trigger and confirmation nodes use the correct bot and chat settings. Add an OpenAI API credential and select a chat model (configured for gpt-4o-mini) for prompt and caption generat
Generate gender-aware email greetings with OpenAI and KlickTipp
Quick overview This workflow triggers when a contact is tagged in KlickTipp, uses OpenAI to estimate gender from the contact’s first name or to extract a name from the email address, and then writes an HTML greeting (Lieber/Liebe/Hallo) back to a KlickTipp custom field. How it works Triggers when a contact is tagged in KlickTipp. If the contact already has a first name, OpenAI estimates the most likely gender and a confidence score from that first name. If the first name is missing but an email address exists, OpenAI extracts a first and last name from the email address, estimates gender, and returns confidence scores. If the gender confidence is below 85%, the workflow selects a neutral greeting (Hallo {first name},) and updates the KlickTipp contact. If the gender confidence is 85% or higher, the workflow chooses a gendered greeting (Liebe/Lieber {first name},) and updates the KlickTipp contact. When a name was extracted from the email address, the workflow also writes the parsed first name and conditionally updates the last name in KlickTipp if its confidence is high. Setup Create a KlickTipp tag that triggers this workflow and configure the KlickTipp trigger/webhook to fire whe