Skip to content
FlowHubFluxonLab

Marketplace

3,557 ready-made workflow files you can download, plus 10,661 source-linked n8n references.

Csheets
free

Enrich LinkedIn profiles into full contacts with Tomba and Google Sheets

Quick overview This workflow runs on a schedule to read “Pending” LinkedIn profile URLs from Google Sheets, uses Tomba to find and enrich contact details (email and phone), and writes the results back to the same sheet with updated status and scoring. How it works Runs on a schedule trigger. Reads rows from a Google Sheets worksheet where the Status column is set to “Pending”. Processes each LinkedIn URL in batches and calls Tomba’s LinkedIn Finder to retrieve the person’s email and phone details. Normalizes the returned contact data (including combining multiple phone numbers) and sets an enrichment status based on whether an email is found. Updates the corresponding row in Google Sheets with the enriched fields (Email, Phone, Score) and marks the Status as “Done”. Setup Connect your Google Sheets OAuth2 credentials and set the target spreadsheet and worksheet that contains LinkedIn URL, Status, and output columns. Add your Tomba API credentials and ensure the LinkedIn URL column contains valid LinkedIn profile links. Make sure your sheet includes a row_number field (used for matching updates) and uses “Pending” as the Status value for rows you want to process.

by Zain Khan
ACsheetsgroqchatmodel
free

Audit website SEO with Groq, Google PageSpeed and Google Sheets

Quick overview This workflow audits a submitted website URL by extracting on-page SEO signals from the HTML, pulling Google PageSpeed Insights scores, and using Groq (Llama 3.3 70B) to generate a scored SEO report, then logs the results to Google Sheets and returns the audit via webhook. How it works Receives a POST webhook request containing a JSON body with a target url to audit. Fetches the page HTML for the provided URL and stops with an error response if no HTML is returned. Extracts on-page SEO signals from the HTML (title, meta description/keywords, headings, image alt coverage, links, canonical, robots, viewport, Open Graph/Twitter tags, schema, word count, and language). Calls the Google PageSpeed Insights API for mobile to retrieve performance, accessibility, SEO, and best-practices results. Combines the extracted on-page data with the PageSpeed results and sends it to Groq via a LangChain agent to produce a strict, structured JSON audit with scores, findings, fixes, and top priorities. Parses and validates the AI JSON output, appends/updates the audit record in Google Sheets, and returns the final audit JSON to the webhook caller (or returns a 400 error if parsing fails)

by Utkarsh Kapoor
free

Solve PopularCaptcha image challenges with CaptchaSonic via webhook

Quick Overview This workflow receives a PopularCaptcha image challenge via webhook or manual test input, sends it to CaptchaSonic for recognition/classification, and returns the solved result as JSON to the caller or as formatted output for testing. How it works Receives a POST webhook request containing a base64 image, question, websiteURL, and optional extra fields. Sends the challenge details to CaptchaSonic using the PopularCaptcha image recognition/classification operation. Returns CaptchaSonic’s solution data as a JSON webhook response. Optionally, runs a manual test path that loads sample image/question data and submits it to CaptchaSonic. Formats the manual test output by stringifying the solution data and adding a status and timestamp. Setup Install the n8n-nodes-captchasonic community node in your n8n instance. Create and select a CaptchaSonic credential with your CaptchaSonic API key. If using the webhook path, copy the production webhook URL for /solve-popularcaptcha and configure your client to POST image, question, websiteURL, and optionally extraFields in the request body. If needed, replace the hardcoded sample data in the manual test input to match your PopularCapt

by captchasonic
ACgmailsheets
free

Generate personalized cold email drafts from Google Sheets with Groq and Tavily

Quick overview This scheduled workflow reads leads from Google Sheets, researches each company with Tavily Search, uses Groq (Llama 3.3 70B) to generate a short personalized cold email, and saves the result as a Gmail draft while updating the lead status back in the sheet. How it works Runs on an hourly schedule trigger. Reads lead rows from Google Sheets and keeps only rows that have an email address and are not marked with status "sent". Processes leads one at a time and uses the Tavily Search API to fetch a brief company overview based on the lead’s company name. Sends the lead details plus the Tavily research summary to Groq (Llama 3.3 70B) to generate a JSON-formatted email subject, body, and personalization hook. Parses and validates the AI output to ensure a subject and body are present, and routes failures to an error log. Creates a Gmail draft with the generated subject and body, updates the corresponding row in Google Sheets with the new status and generated fields, and waits briefly before continuing to the next lead. Setup Create and connect a Google Sheets OAuth2 credential, then select the target spreadsheet and sheet in both the Google Sheets read and update steps. C

by Utkarsh Kapoor
Aopenaichatmodelstructuredoutputparser
free

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

by KlickTipp
Aopenaichatmodel
free

Enrich KlickTipp contact fields using OpenAI GPT-5.5 and context

Quick Overview This workflow receives an email and a context block, uses OpenAI to extract and validate enrichment details against the existing KlickTipp subscriber record, and then updates approved mapped data fields in KlickTipp. How it works Receives an incoming request from another workflow containing a contact email address and a free-text context block. Fetches the existing subscriber record from KlickTipp using the provided email. Uses OpenAI to extract enrichment attributes from the context, compare them to the current KlickTipp values, and decide final values using a confidence threshold for overwriting non-empty fields. Updates the KlickTipp subscriber with the final approved values for the mapped fields (for example name, company, address, phone numbers, website, birthday, and social profile URLs). Setup Add KlickTipp credentials and ensure the target subscriber fields (including any custom fields for LinkedIn, Instagram, Facebook, and job title) exist in your KlickTipp account. Add an OpenAI API key credential and select the model you want to use in the OpenAI chat model configuration. Ensure the incoming payload sent to this workflow includes at least email and context

by KlickTipp
Aopenaichatmodelstructuredoutputparser
free

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

by KlickTipp
BCgmailsheets
free

Nurture leads from Google Sheets with Gmail, SMS, and OpenRouter AI

Quick overview Automatically nurture leads with AI-personalized email follow-ups (plus optional SMS) across 3 stages triggered hourly, respecting business hours, and fully tracked in Google Sheets. How it works Runs every hour, filtered to a business-hours window (default 9am–6pm, timezone configurable). Reads all leads from Google Sheets and filters those due for follow-up skipping replies, unsubscribes, and completed leads. Routes by stage Stage 1 (Welcome), Stage 2 (Check-in), or Stage 3 (Final nudge). AI writes the email an LLM (via OpenRouter) generates a personalized subject + body using the lead's name, source, and service of interest. Sends via Gmail, and optionally an SMS via Seven/Twilio (Day 1 and Day 4, with consent and dedupe checks). Updates Google Sheets advances the lead's stage, sets the next follow-up timestamp, and marks SMS sent. Setup Import all 4 workflows they share one Google Sheet. Paste your Sheet ID/tab name into each 🔧 CONFIG node (same Sheet ID throughout). Connect Google Sheets, Gmail, and OpenRouter credentials. Edit the 3 LLM prompt nodes to replace "YOUR NAME/company" with your actual brand name. (Optional) Connect Seven/Twilio for SMS, and adjust

by Syed Jawad
CW
free

Rank resumes by job description similarity using Gemini embeddings

Quick overview This workflow collects resume PDFs and a job description via an n8n form, generates embeddings with Google Gemini, calculates cosine similarity between each resume and the job description, and returns a CSV-style ranked list of filenames. How it works Receives resume PDF uploads and a job description text through an n8n Form trigger. Creates a semantic embedding for the job description using the Google Gemini Embeddings API (gemini-embedding-2). Splits the uploaded files into individual resume items and converts each PDF binary to a Base64 string. Sends each Base64-encoded PDF to the Google Gemini Embeddings API to generate a multimodal embedding for the resume. Calculates cosine similarity between the job description embedding and each resume embedding, then sorts resumes from most similar to least similar. Returns a CSV-formatted ranking (Rank, File Name) in the form completion response. Setup Create and add a Google Gemini (PaLM) API credential in n8n with an API key that can access the gemini-embedding-2 model. Ensure the Google Gemini credential is selected on both HTTP requests that create the job description embedding and the resume embeddings. Use the workflo

by Atha Ahsan Xavier Haris
sheets
free

Route medical equipment form leads to Google Sheets and Slack

Quick overview Youtube Video: https://youtu.be/Zi872Mz4GnE?si=5yhYcMMH633Sqdd9 This workflow captures medical equipment enquiries via an n8n form, stores or updates each submission in Google Sheets, flags low-quality leads based on free email domains, and routes qualified enquiries to the right Slack channel depending on the stated purchase timeline. How it works Receives a submission from an n8n form collecting company, contact, and equipment interest details. Appends or updates the enquiry in Google Sheets, matching on the Work Email Address. Checks whether the email domain is a free provider (for example, gmail.com or outlook.com) and posts a “Low Quality Lead” alert to Slack when it is. For non-free domains, looks up the matching row in Google Sheets and continues only when a record is found. Routes qualified enquiries based on Purchase Timeline, sending “Immediate Need” submissions to a dedicated Slack channel and “Budgeting for Next Fiscal Year” submissions to a follow-up campaign Slack channel. Setup Set up the n8n Form Trigger and publish the form so users can submit enquiries. Add a Google Sheets Service Account credential, share the target spreadsheet with the service acc

by iamvaar
ACgroqchatmodelsalesforce
free

Classify Salesforce deal complexity and notify sales with Groq and Slack

Quick overview This workflow monitors new Salesforce opportunities, enriches them with related contacts and products, uses Groq-hosted LLM analysis to classify deal complexity, then updates Salesforce with a processed flag, creates a follow-up task, and posts the outcome to a Slack channel. How it works Triggers when a new Opportunity is created in Salesforce. Retrieves Opportunity details and checks whether the opportunity has already been marked as processed. If it is already processed, posts a “no new opportunities” message to a Slack channel. If it is unprocessed, fetches related Salesforce Contacts for the Opportunity’s Account and OpportunityLineItem records for the Opportunity. Calculates simple deal metrics (stakeholder count, product count, and total product value) and sends them with Opportunity fields to a Groq LLM to classify complexity as Low/Medium/High with reasons and suggested actions. Parses the LLM’s JSON response, marks the Opportunity as Processed__c = true in Salesforce, creates a Salesforce Task containing the classification details, and sends a success notification to Slack. Setup Add Salesforce OAuth2 credentials and ensure your Opportunity object includes

by WeblineIndia
CgmailW
free

Score customer health and churn risk with Salesforce, Gemini, and Gmail

Quick Overview This workflow runs every minute to pull accounts from Salesforce, enrich each customer with order, payment, support, and marketing data via HTTP APIs, analyze the combined profile with Google Gemini, then update the Salesforce account and send Gmail alerts for high-risk customers and execution outcomes. How it works Runs every minute on a schedule and retrieves up to five Salesforce Account records. Processes accounts in batches and initializes a retry counter to control fault-tolerant data fetching. Fetches customer order data via an HTTP API, retrying up to three times with a wait delay and falling back to a backup HTTP endpoint if needed. Fetches payments, support tickets, and marketing engagement for the same customer via HTTP API requests and normalizes everything into a single customer profile. Sends the unified customer profile to Google Gemini to generate a JSON assessment with health score, churn risk, customer type, a summary, and a recommended action. Parses the AI output and emails a high-risk alert via Gmail when the churn risk equals HIGH. Routes by customer type, updates the Salesforce Account description with the AI summary, then logs the result and e

by WeblineIndia
C
free

Send prioritized forex risk alerts from ForexLive RSS with OpenAI and Slack

Quick Overview This workflow polls the ForexLive RSS feed every five minutes, filters for forex-relevant headlines, uses OpenAI to generate structured risk analysis, deduplicates items in an n8n Data Table, and sends high-priority alerts to a Slack channel. How it works Polls the ForexLive RSS feed on a */5 * * * * schedule and ingests newly published items. Normalizes each RSS item into consistent fields (title, description, link, and date) and checks the text for predefined forex and macroeconomic keywords. For relevant items, sends the title and description to OpenAI (GPT-4.1-mini) to return a strict JSON risk assessment including summary, impacted currency pairs, risk level, confidence score, and recommended action. Parses the OpenAI JSON response, merges it back with the original news data, and computes a final risk score, priority level, and a normalized deduplication key. Checks an n8n Data Table for the dedupe key and only continues when the item has not been seen before. Stores the processed item in the n8n Data Table and posts a formatted Slack message when the computed priority is HIGH. Setup Add OpenAI credentials and ensure the OpenAI node is set to a model you have ac

by WeblineIndia
ACsalesforce
free

Generate Salesforce opportunity next steps with Gemini and Slack

Quick Overview This workflow runs daily at 10:00 AM to find open Salesforce Opportunities with no Next Step, generates a recommended next action with Google Gemini, posts it to Slack, and updates the Opportunity’s Next Step field back in Salesforce. How it works Runs every day at 10:00 AM on a schedule trigger. Fetches all Salesforce Opportunities, reverses the list, and processes them in batches of 10. Retrieves key fields, filters to opportunities that are not Closed Won/Lost, have a close date on/after today, and have a blank Next Step. Builds a per-opportunity prompt containing the main deal details for an AI sales assistant. Processes opportunities one at a time and uses Google Gemini to generate a 1–2 sentence next-step recommendation. Posts the AI-generated recommendation to a specified Slack channel and updates the Opportunity’s Next Step field in Salesforce. Setup Connect Salesforce OAuth2 credentials with permission to read Opportunities and update the Opportunity Next Step field. Add Google Gemini (Google PaLM) API credentials for the Gemini chat model used by the agent. Add Slack credentials and select the channel where recommendations should be posted. Confirm your Sal

by WeblineIndia
Ahighlevelredischatmemory
free

Schedule and manage pet clinic visits with WhatsApp, Gemini, and HighLevel

Quick overview Youtube Video: https://youtu.be/81QSPEr5Yio?si=4EeaBFVofW0dK2Z_ This workflow handles pet clinic appointment conversations over WhatsApp, using Google Gemini for replies, Redis for chat memory, and GoHighLevel (LeadConnector) to look up or create contacts, save visit notes, and book, cancel, or reschedule calendar appointments. How it works Triggers when a new WhatsApp message is received. Validates the sender and ignores unsupported message types. Searches GoHighLevel for an existing contact that matches the sender’s WhatsApp phone number. Uses Google Gemini with Redis chat history and the contact context to chat with the owner, capture the pet’s issue, and save it as notes in GoHighLevel. Fetches available GoHighLevel calendar free slots for the requested weekday date range and presents times to the user. Creates or updates the GoHighLevel contact if required, then books the selected appointment, or fetches upcoming appointments to cancel or reschedule when explicitly confirmed. Sends the assistant’s formatted response back to the owner via WhatsApp. Setup Connect WhatsApp Cloud API credentials for both the WhatsApp Trigger and WhatsApp send action, and set your Wh

by iamvaar
ACsheets
free

Run a hotel WhatsApp concierge using Google Gemini and Google Sheets

Quick overview Youtube Video: https://youtu.be/q2vPN9eub1o?si=lSo4c0kQMNQd_Aad This workflow acts as a WhatsApp hotel concierge that looks up guest profiles, reservations, and open service requests in Google Sheets, consults a Google Docs amenities guide, and uses Google Gemini with Redis memory to reply and optionally create or update reservations and service requests. How it works Triggers when a WhatsApp message is received and continues only if the incoming message contains text. Looks up the guest by WhatsApp number in a Google Sheets “Guest Details” spreadsheet and checks whether Do Not Disturb (DND) is enabled. If the guest is not in DND, fetches the guest’s reservations and any incomplete service requests from Google Sheets. Determines whether the guest is new, currently checked in (based on today’s date between check-in and check-out), and whether any requests are pending, then packages this context for the assistant. Uses Google Gemini with Redis chat memory to generate a WhatsApp-ready reply, calling a Google Docs amenities document when answering policy/pricing/amenity questions. When appropriate, the assistant writes back to Google Sheets to create or update guest prof

by iamvaar
Csupabase
free

Manage gym check-ins and subscriptions with Supabase, Google Sheets, and QR codes

Quick overview Youtube Video: https://youtu.be/QyIalCCy6s8?si=Zlmde_oZz3qbDGwJ Github Repo: https://github.com/blankarrayy/automated-gym-checkin-system This workflow handles gym entry via QR codes by validating check-in requests against Supabase subscription data, logging entry attempts in Supabase, it also generates QR codes for check-in and registration and syncs new user IDs to Google Sheets. How it works Receives a POST request on the /gymcheckin webhook with header authentication and an entry_id query parameter. Looks up the entry_id in the Supabase entry_logs table to detect whether the QR code was already used. If the entry_id is unused, extracts the user ID from the request body and fetches subscription records from the Supabase gym_sub table. Validates that the user exists and has an active subscription, then writes an entry attempt record to the Supabase entry_logs table. Returns a webhook response granting entry (200), rejecting unknown users (401), rejecting inactive subscriptions (401), or rejecting reused QR codes (409). On the /qr-for-gym-checkin webhook, generates a new check-in QR code (pointing to the /gymcheckin URL with a random entry_id) and returns it as a bin

by iamvaar
ACsheets
free

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

by iamvaar
supabasewhatsappbusinesscloud
free

Send fee-due WhatsApp reminders to students using Supabase

Quick overview This workflow runs daily to fetch pending student fee records from Supabase, filters fees due in three days, and sends WhatsApp Business template reminders via the Meta WhatsApp Cloud API, then updates Supabase to mark each reminder as sent. How it works Runs every day at 9:00 AM on a schedule. Pulls all pending fee records from Supabase where reminder_sent is false and status is pending. Filters the results to only students whose due_date matches exactly three days from today. Sends a pre-approved WhatsApp template message (Meta WhatsApp Cloud API) to each student’s phone number. Updates the corresponding Supabase row to set reminder_sent to true so the reminder is not sent again. Setup Create a Supabase project, add a student_fees table (including student_phone, due_date, amount_due, status, and reminder_sent fields), and ensure your fee records are stored there. Add Supabase credentials in n8n and set the correct table name in the Supabase nodes. Set up Meta WhatsApp Business Cloud API access in n8n (system user token/credentials) and fill in your WhatsApp phone number ID. Create and get approval for a WhatsApp message template, then replace REPLACE_WITH_YOUR_APPR

by Kanishka Shrivastava
AautofixingoutputparserbamboohrB
free

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 “

by Redowan Ahmed Farhan
Aairtablegmailgoogledrive
free

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

by Redowan Ahmed Farhan
ADembeddingsopenaiW
free

Answer HR and IT policy questions on Telegram with OpenAI and Postgres PGVector

Quick overview This workflow builds a searchable HR policy knowledge base from a PDF and runs a Telegram helpdesk bot that answers employee questions from that content, handling both text messages and voice notes via OpenAI transcription and retrieval from a Postgres PGVector vector store. How it works Manually runs once to download an HR policy PDF over HTTP and extract its text. Splits the extracted policy text into chunks, generates OpenAI embeddings, and inserts the vectors into a Postgres PGVector store. Triggers on new Telegram messages sent to your bot. Routes incoming Telegram updates by type, sending text directly to the assistant, transcribing voice messages with OpenAI, or replying that other formats are unsupported. Uses an OpenAI chat model with Postgres-backed chat memory and a PGVector retrieval tool to answer questions grounded in the stored policy content. Sends the final answer back to the user in Telegram. Setup Add an OpenAI API key for embeddings, chat completions, and audio transcription. Set up a Postgres database with the PGVector extension enabled and add the Postgres credentials for both the vector store and chat memory. Create a Telegram bot with BotFathe

by Redowan Ahmed Farhan
CWsendemail
free

Send SAP Business One low stock alerts via WhatsApp and email

Quick overview This workflow polls SAP Business One every 6 hours for active, unfrozen items whose on-hand quantity is below the minimum inventory level, then sends de-duplicated low-stock alerts via WhatsApp (Meta API) and email, storing the last-alerted quantity in an n8n Data Table to prevent repeated notifications. How it works Runs every 6 hours on a schedule. Logs in to SAP Business One Service Layer and queries the Items endpoint for valid, non-frozen items where QuantityOnStock is less than MinInventoryQuantity. Splits the SAP response into one item per record and skips the alert flow if no items are returned. Looks up each item’s previous alert state in an n8n Data Table and only continues if the item has never been alerted before or its stock has dropped further since the last alert. Formats a WhatsApp message and an HTML email (including an “out of stock” message when QuantityOnStock is 0). Sends the alert via the WhatsApp Business Cloud API (Meta Graph API) and via SMTP email, then upserts the latest alerted quantity to the Data Table. Logs out of SAP Business One. Setup Configure SAP Business One Service Layer access by updating the server URL in the SAP login, item qu

by Taseeb Saeed
supabasewhatsappbusinesscloud
free

Recover missed clinic appointments with Supabase and WhatsApp

Quick overview This workflow runs every 15 minutes to find unprocessed clinic appointments in Supabase that are more than 30 minutes past their scheduled time and sends a WhatsApp Business template message to the patient to prompt rebooking, then flags the appointment so it is not messaged again. How it works Runs every 15 minutes on a schedule. Reads appointments from Supabase where the patient is not checked in and the no-show reminder has not been processed. Filters the results to appointments that are at least 30 minutes past the scheduled appointment time. Loops through each qualifying appointment and sends a pre-approved WhatsApp Business template to the patient’s phone number. Updates the appointment record in Supabase to mark it as processed so it is not nudged again. Setup Create a Supabase project with an appointments table (including appointment_time, patient_phone, checked_in, and no_show_processed) and ensure your booking system writes appointments into it. Add a Supabase credential in n8n with access to the project and table used by the workflow. Set up Meta WhatsApp Business Cloud API access in n8n (token/connection), then enter your WhatsApp phone number ID and an a

by Kanishka Shrivastava