Quick overview This workflow automates LinkedIn outreach by using Airtable as a CRM, Unipile to fetch profiles and send connection requests/messages, and OpenRouter to generate personalized connection notes and follow-ups, while tracking accepts and replies via Unipile webhooks. How it works Runs every weekday at 09:00 to pull up to 15 Airtable leads with Connection Status set to New. For each lead, derives the LinkedIn public identifier, fetches the LinkedIn profile from Unipile, and uses OpenRouter to generate a personalized connection note capped at 300 characters. Sends the LinkedIn connection request via Unipile, updates the Airtable record with request details (note, timestamps, invitation ID), and waits 30–90 seconds between sends. Receives Unipile new_relation webhook events, matches the lead by Provider ID, and marks the Airtable record as Accepted with an Accepted At timestamp. Receives Unipile message_received webhook events, filters to inbound replies, finds the matching Airtable lead, and marks it Replied while stopping the campaign.
Tags
Related workflows
See all AI Automation→Handle WhatsApp support chats with OpenRouter, Pinecone, and Gemini
Quick overview This template implements a WhatsApp support suite that logs inbound events to a dashboard API, routes conversations through an OpenRouter-powered AI agent with Pinecone RAG and memory, exposes a webhook for human outbound replies, and provides a webhook to summarize recent chats for handoff. How it works Triggers on WhatsApp Cloud API events and routes status updates (sent/delivered/read) to a dashboard API endpoint for storage. For inbound messages, looks up the contact in the dashboard API and normalizes the message into a consistent schema (sender, type, timestamp, and best-effort content). If the message contains media (image/video/audio/document), fetches the WhatsApp media URL, downloads the file, uploads it to the dashboard’s media endpoint, and attaches the resulting media URL and MIME type. Stores inbound messages and reactions in the dashboard API, then checks via the cases endpoint whether the sender already has an open case. If the inbound message is text and no open case is found, queries Pinecone as a tool (using Google Gemini embeddings), uses an OpenRouter chat model with conversation memory to draft a reply or create a new case via the dashboard API,
Force AI to use a specific output format
This workflow is for anyone looking to automatically fetch, validate, and parse complex language-based queries into a structured format. Its unique capability lies in not only processing language but also fixing invalid outputs before structuring them. Note that to use this template, you need to be on n8n version 1.19.4 or later.
Confirm and log WhatsApp restaurant orders with Groq and Google Sheets
Quick Overview This workflow triggers on incoming WhatsApp orders, uses Groq to extract items and quantities, validates them against a live Google Sheets menu, logs the result to an orders sheet, and replies to the customer with either a clarification request or a priced confirmation (with optional VIP owner alerts). How it works Triggers when a new WhatsApp message is received on your WhatsApp Business Cloud number. Sends the message text to Groq (Llama 3.3) to extract a structured list of ordered items and quantities. Reads the latest menu (item name, price, availability) from a Google Sheets “Menu” tab. Matches extracted items to the menu, checks availability, calculates line subtotals and the total price, and compiles any validation issues. If there are issues, replies to the customer on WhatsApp asking for a corrected order and appends a “needs_clarification” entry to the Google Sheets “Orders” tab. If the order is valid, appends a “confirmed” entry to the Google Sheets “Orders” tab and sends a WhatsApp confirmation with the item summary and total. If the confirmed total meets or exceeds the VIP threshold, sends a separate WhatsApp notification to the owner number. Setup Conne