by Kristian Jønsson
Quick overview On every Shopify order, this workflow pairs the purchased item with your newest arrival and generates one personalized on-model photo in dreem.ai: the new piece as the main garment, the customer's purchase styled into the look. Can be added to your email provider. How it works A Shopify webhook fires on every new order and picks up the purchased item. The workflow pulls your catalog's newest arrival as the second half of the look. The Dreem node renders both pieces styled together on your chosen virtual model. Dreem renders in the background (up to 20 minutes) and calls the workflow back. The finished pairing posts to Slack, so a human sees every look before a customer does. A documented hand-off shows how to fire the render into Klaviyo, Drip, or any ESP as a custom event on the customer's profile. Setup Add Shopify Admin API access token credentials with permission to read orders and products, and connect them to the Shopify trigger and product nodes. Install the Dreem community node and add a Dreem API key credential, then set the Dreem talentId/shotCodes and confirm the callback URL uses the workflow resume URL. Add Slack OAuth2 credentials, choose the target channel in both Slack message steps, and update the message text if you want a different approval/review format. Requirements Dreem account + API key, Shopify store with Admin API access (orders + products), Slack, an ESP (Klaviyo, Drip, etc.) for the email step Customization Swap the pairing logic (newest arrival → bestseller), the talent and pose, or the ESP event payload.
by Adil Khan
This workflow bridges the gap between anonymous website traffic and on-chain wallet activity. It captures wallet connections via a webhook, enriches the data with real-time USD balances from the Zerion API, and syncs the results to Google Analytics 4, BigQuery, and Discord for immediate action. This directly helps Web3 marketing and growth teams identify high-value "whales" the moment they connect to your dApp, allowing for real-time monitoring and advanced attribution analysis. How it works Video tutorial: https://youtu.be/2_wuTRzRpkg How it works Webhook Trigger: Receives the wallet address, GA Client ID, and Session ID from your website via GTM. Zerion API Integration: Queries the real-time USD balance and individual chain distributions for the connected wallet. Whale Filtering (Switch): A logic that filters wallets based on a USD threshold (e.g., >$50) to trigger high-priority alerts. Dynamic Discord Alerts: Sends a formatted message to Discord with a 2-decimal rounded total balance and a dynamic breakdown of assets across all active chains (Base, Ethereum, etc.). GA4 Push: Sends the wallet_usd_balance as a custom metric to GA4 via the Measurement Protocol to maintain session continuity. BigQuery Archive: Records the wallet address, hashed ID, and USD balance into a secure table for SQL joining with raw GA4 data Prerequisites Zerion API Key: Required for fetching real-time balance and chain data. Discord Bot Token: Required to send automated whale alerts to your team server. Google Cloud Project: A project with BigQuery enabled and a JSON Service Account key for secure data insertion. GA4 Measurement Protocol API Secret: Required to push custom metrics back into active GA4 sessions.
by InfyOm Technologies
✅ What problem does this workflow solve? Missed return pickups create logistics delays, extra follow-ups, and unhappy customers for e-commerce teams. This workflow automates return pickup reminders, ensuring customers are notified on the day of pickup via WhatsApp messages and automated voice calls, without any manual effort. ⚙️ What does this workflow do? Runs automatically on a daily schedule. Reads return pickup data from Google Sheets. Identifies customers with: 📅 Pickup date = today ⏳ Status = Pending Sends personalized WhatsApp reminders. Places automated voice call reminders when required. Updates reminder status in Google Sheets for clear tracking. 🧠 How It Works – Step by Step 1. ⏰ Scheduled Trigger The workflow starts at a fixed time every day (e.g., 9–10 AM) using a Schedule Trigger. 2. 📄 Read Pickup Data from Google Sheets It fetches rows from Google Sheets where: Pickup Date** = today Status** = Pending This ensures only relevant pickups are processed. 3. 🔁 Loop Through Pickups Each matching row is processed individually to send customer-specific reminders. 4. ✍️ Generate Personalized Messages Using a Code node, the workflow creates: 📲 A WhatsApp text message 📞 A voice message script Messages include: Customer name Product name Pickup address Return reason Pickup timing reminder 5. 📲 Send WhatsApp Reminder A personalized WhatsApp message is sent via Twilio, reminding the customer to keep the package ready. 6. 📞 Place Voice Call Reminder If required, the workflow places an automated voice call using Twilio and reads out a clear pickup reminder using text-to-speech. 7. ✅ Update Pickup Status Once notifications are sent: The workflow updates the Status column to “Reminder Sent” Ensures the same pickup is not notified again 📊 Sample Google Sheet Columns | Order ID | Customer Name | Phone Number | Product | Pickup Date | Address | Return Reason | Status | |--------|----------------|--------------|---------|-------------|---------|---------------|--------| 🔧 Integrations Used Google Sheets** – Pickup data source and tracking Twilio WhatsApp API** – Message delivery Twilio Voice API** – Automated call reminders n8n Schedule + Logic Nodes** – Automation orchestration 👤 Who can use this? Perfect for: 🛒 E-commerce brands 📦 Reverse logistics teams 🚚 Delivery & pickup operations 🧑💼 Customer support teams It also works well for service visits, deliveries, appointments, and field operations. 💡 Key Benefits ✅ Fewer missed pickups ✅ Improved customer compliance ✅ Reduced manual follow-ups ✅ Clear tracking in Google Sheets ✅ Scalable and fully automated 🚀 Ready to Use? Just connect: ✅ Google Sheets with pickup data ✅ Twilio credentials (WhatsApp + Voice) ✅ Schedule trigger time
by Alex Berman
Who is this for This workflow is built for real estate investors, wholesalers, and skip tracers who need to find contact details -- phone numbers, emails, and addresses -- for property owners at scale. It automates the entire lookup process using the ScraperCity People Finder API and stores clean results in Airtable for follow-up. How it works A manual trigger starts the workflow. A configuration node lets you define the list of property owner names (or phones/emails) to look up. The workflow submits a skip trace job to the ScraperCity People Finder API, which returns a runId for async tracking. An async polling loop checks the job status every 60 seconds until the result is marked SUCCEEDED. Once complete, the workflow downloads the results CSV and parses each contact record using a code node. Duplicate records are removed, and each unique contact is synced into an Airtable base as a new row with name, phone, email, and address fields. How to set up Create a ScraperCity API credential in n8n (HTTP Header Auth, header name Authorization, value Bearer YOUR_KEY). Update the Configure Search Inputs node with your target names, phones, or emails. Connect your Airtable credential and set your Base ID and Table name in the Sync Contacts to Airtable node. Requirements ScraperCity account with People Finder access (scrapercity.com) Airtable account with a base set up to receive contact data How to customize the workflow Change max_results in Configure Search Inputs to return more contacts per person. Swap the Airtable node for a Google Sheets node if preferred. Add a filter node after parsing to keep only records that have a verified phone number.
by Fahmi Fahreza
Automated Multi-Bank Balance Sync to BigQuery This workflow automatically fetches balances from multiple financial institutions (RBC, Amex, Wise, PayPal) using Plaid, maps them to QuickBooks account names, and loads structured records into Google BigQuery for analytics. Who’s it for? Finance teams, accountants, and data engineers managing consolidated bank reporting in Google BigQuery. How it works The Schedule Trigger runs weekly. Four Plaid API calls fetch balances from RBC, Amex, Wise, and PayPal. Each response splits out individual accounts and maps them to QuickBooks names. All accounts are merged into one dataset. The workflow structures the account data, generates UUIDs, and formats SQL inserts. BigQuery node uploads the finalized records. How to set up Add Plaid and Google BigQuery credentials, replace client IDs and secrets with variables, test each connection, and schedule the trigger for your reporting cadence.
by Alex Berman
Who is this for This workflow is built for real estate investors, private investigators, recruiters, and sales teams who need to skip trace individuals -- finding contact details, addresses, and phone numbers from a name, email, or phone number -- and store the enriched records automatically in Notion. How it works A user fills out an n8n form with one or more search inputs (name, email, or phone number). The workflow submits that data to the ScraperCity People Finder API, which begins an async enrichment job. The workflow then polls the job status every 60 seconds until it completes. Once the scrape succeeds, the results are downloaded, parsed, deduplicated, and each enriched person record is written as a new page in a Notion database. How to set up Create a ScraperCity account at scrapercity.com and copy your API key. In n8n, create an HTTP Header Auth credential named "ScraperCity API Key" with the key Authorization and value Bearer YOUR_KEY. Create a Notion integration and share your target database with it. Create a Notion credential in n8n. Open the Configure Search Defaults node and set your preferred max_results value. Open the Save Person Record to Notion node and set your Notion Database ID. Requirements ScraperCity account (scrapercity.com) with People Finder access n8n instance (cloud or self-hosted) Notion workspace with a database for storing people records How to customize the workflow Change the form fields to accept bulk CSV input instead of a single name. Add a Filter node after parsing to only save records that include a valid phone number. Route results to Google Sheets or HubSpot instead of Notion by swapping the final node.
by Yusei Miyakoshi
Who's it for This template is for teams that want to stay updated on industry trends, tech news, or competitor mentions without manually browsing news sites. It's ideal for marketing, development, and research teams who use Slack as their central hub for automated, timely information. What it does / How it works This workflow runs on a daily schedule (default 9 AM), fetches the top articles from Hacker News for a specific keyword you define (e.g., 'AI'), and uses an AI agent with OpenRouter to generate a concise, 3-bullet point summary in Japanese for each article. The final formatted summary, including the article title, is then posted to a designated Slack channel. The entire process is guided by descriptive sticky notes on the canvas, explaining each configuration step. How to set up In the Configure Your Settings node, change the default keyword AI to your topic of interest and update the slack_channel to your target channel name. Click the OpenRouter Chat Model node and select your OpenRouter API key from the Credentials dropdown. If you haven't connected it yet, you will need to create a new credential. Click the Send Summary to Slack node and connect your Slack account using OAuth2 credentials. (Optional) Adjust the schedule in the Trigger Daily at 9 AM node to change how often the workflow runs. Activate the workflow. Requirements An n8n instance (Cloud or self-hosted). A Slack account and workspace. An OpenRouter API key stored in your n8n credentials. If self-hosting, ensure the LangChain nodes are enabled. How to customize the workflow Change the News Source:* Replace the *Hacker News* node with an *RSS Feed Read** node or another news integration to pull articles from different sources. Modify the AI Prompt:* In the *Summarize Article with AI** node, you can edit the system message to change the summary language, length, or tone. Use a Different AI Model:* Swap the *OpenRouter* node for an *OpenAI, **Anthropic, or any other supported chat model. Track Multiple Keywords:* Modify the workflow to loop through a list of keywords in the *Configure Your Settings** node to monitor several topics at once.
by Port IO
Complete incident workflow from detection through resolution to post-mortem, with full organizational context from Port's catalog. This template handles both incident triggered and resolved events from PagerDuty, automatically creating Jira tickets with context, notifying teams via Slack, calculating MTTR, and using Port AI Agents to schedule post-mortem meetings and create documentation. How it works The n8n workflow orchestrates the following steps: On Incident Triggered: PagerDuty webhook — Receives incident events from PagerDuty via POST request. Event routing — Routes to triggered or resolved flow based on event type. Port context enrichment — Uses Port's n8n node to query your software catalog for service context, on-call engineers, recent deployments, runbooks, and past incidents. AI severity assessment — OpenAI assesses severity based on Port context and recommends investigation actions. Escalation routing — Critical incidents automatically escalate to leadership Slack channel. Jira ticket creation — Creates incident ticket with full context, investigation checklist, and recommended actions. Team notification — Notifies the team's Slack channel with incident details and resources. On Incident Resolved: Port context extraction — Gets post-incident context from Port including stakeholders and documentation spaces. MTTR calculation — Calculates mean time to resolution from incident timestamps. Post-mortem generation — AI generates a structured post-mortem template with timeline. Port AI Agent scheduling — Triggers Port AI Agent to schedule post-mortem meeting, invite stakeholders, and create documentation. Resolution notification — Notifies team with MTTR, post-mortem document link, and meeting details. Metrics logging — Logs MTTR metrics back to Port for service reliability tracking. Setup [ ] Register for free on Port.io [ ] Configure Port with services, on-call schedules, and deployment history [ ] Set up Port AI agents for post-mortem scheduling [ ] Connect PagerDuty webhook for incident events [ ] Configure Jira project for incident tickets (use project key 'INC' or customize) [ ] Set up Slack channels for alerts (#incidents and #leadership-alerts) [ ] Add OpenAI credentials for severity assessment [ ] Test with a sample incident event [ ] You should be good to go! Prerequisites You have a Port account and have completed the onboarding process. Port's integrations are configured (GitHub, Jira, PagerDuty if available). You have a working n8n instance (Cloud or self-hosted) with Port's n8n custom node installed. PagerDuty account with webhook capabilities. Jira Cloud account with appropriate project permissions. Slack workspace with bot permissions to post messages. OpenAI API key for severity assessment and post-mortem generation. ⚠️ This template is intended for Self-Hosted instances only.
by Intuz
This n8n template from Intuz provides a complete solution to automate the syncing of new subscribers from Google Sheets to MailerLite. It intelligently identifies and adds only new contacts, preventing duplicates and ensuring your email lists are clean and accurate. Who's this workflow for? Marketing Teams Email Marketers Small Business Owners Community Managers How it works 1. Read from Google Sheets: The workflow begins by reading all contact rows from your designated Google Sheet. 2. Check for Existing Subscribers: For each contact, it performs a search in MailerLite to check if a subscriber with that email address already exists. 3. Handle Duplicates: If the subscriber is found in MailerLite, the workflow stops processing that specific contact, preventing any duplicates from being created. 4. Create New Subscribers: If the contact is not found, the workflow proceeds to create a new subscriber in MailerLite, using all the details from the Google Sheet (like name, company, and country) and assigns them to the specified group. Setup Instructions 1. Google Sheets Setup: Connect your Google Sheets account to n8n. Create a sheet with the required columns: Email, first_name, last_name, Company, Country, and group_id. In the Get row(s) in sheet node, select your credentials and specify the Document ID and Sheet Name. 2. MailerLite Setup: Connect your MailerLite account to n8n using your API key. In both the Get a subscriber and Create subscriber... nodes, select your MailerLite credentials. Make sure the group_id values in your Google Sheet correspond to valid Group IDs in your MailerLite account. 3. Activate Workflow: Save the workflow and click "Execute workflow" to run the sync whenever you need to update your subscriber list. Connect with us Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by Rahul Joshi
Quick overview This workflow syncs WhatsApp conversations from Wati into GoHighLevel by adding each delivered or incoming message as a contact note, using Google Sheets to track Wati conversation-to-contact mapping and Slack to alert on workflow errors. How it works Receives a webhook from Wati when a sent WhatsApp message is marked as delivered. Pulls the conversation details from Wati, checks a Google Sheets tracker for the conversation ID, fetches the sender profile from Wati, and searches GoHighLevel for a matching contact by WhatsApp ID. If a matching GoHighLevel contact is found, creates a contact note containing the WhatsApp message text. Receives a second webhook from Wati when a new inbound WhatsApp message arrives. Looks up the sender in Wati and checks Google Sheets to determine whether the conversation ID has already been logged. If the conversation is already logged, searches GoHighLevel by WhatsApp ID and appends the inbound message as a note on the existing contact. If the conversation is new, appends the Wati ID and conversation ID to Google Sheets, then searches GoHighLevel by Wati ID and either adds a note to the existing contact or creates a new contact and adds the note. If any workflow execution fails, posts an error alert to a Slack channel. Setup Add Wati API credentials and configure Wati webhook events (message delivered and message received) to point to this workflow’s two webhook URLs. Connect Google Sheets OAuth credentials and update the spreadsheet ID, sheet name, and ensure columns exist for “Wati ID” and “Conversation ID”. Create a GoHighLevel Private Integration Token and replace the placeholder token and location ID in all GoHighLevel HTTP requests. Add Slack OAuth credentials and select the channel where workflow error alerts should be posted.
by Tushar Mishra
1. Data Ingestion Workflow (Left Panel – Pink Section) This part collects data from the ServiceNow Knowledge Article table, processes it into embeddings, and stores it in Qdrant. Steps: Trigger: When clicking ‘Execute workflow’ The workflow starts manually when you click Execute workflow in n8n. Get Many Table Records Fetches multiple records from the ServiceNow Knowledge Article table. Each record typically contains knowledge article content that needs to be indexed. Default Data Loader Takes the fetched data and structures it into a format suitable for text splitting and embedding generation. Recursive Character Text Splitter Splits large text (e.g., long knowledge articles) into smaller, manageable chunks for embeddings. This step ensures that each text chunk can be properly processed by the embedding model. Embeddings OpenAI Uses OpenAI’s Embeddings API to convert each text chunk into a high-dimensional vector representation. These embeddings are essential for semantic search in the vector database. Qdrant Vector Store Stores the generated embeddings along with metadata (e.g., article ID, title) in the Qdrant vector database. This database will later be used for similarity searches during chatbot interactions. 2. RAG Chatbot Workflow (Right Panel – Green Section) This section powers the Retrieval-Augmented Generation (RAG) chatbot that retrieves relevant information from Qdrant and responds intelligently. Steps: Trigger: When chat message received Starts when a user sends a chat message to the system. AI Agent Acts as the orchestrator, combining memory, tools, and LLM reasoning. Connects to the OpenAI Chat Model and Qdrant Vector Store. OpenAI Chat Model Processes user messages and generates responses, enriched with context retrieved from Qdrant. Simple Memory Stores conversational history or context to ensure continuity in multi-turn conversations. Qdrant Vector Store1 Performs a similarity search on stored embeddings using the user’s query. Retrieves the most relevant knowledge article chunks for the chatbot. Embeddings OpenAI Converts user query into embeddings for vector search in Qdrant.
by Michael Taleb
Workflow Summary This automation keeps your Supabase vector database synchronized with documents stored in Google Drive, while also making the data contextual and vector based for better retrieval. When a file is added or modified, the workflow extracts its text, splits it into smaller chunks, and enriches each chunk with contextual metadata (such as summaries and document details). It then generates embeddings using OpenAI and stores both the vector data and metadata in Supabase. If a file changes, the old records are replaced with updated, contextualized content. The result is a continuously updated and context-aware vector database, enabling highly accurate hybrid search and retrieval. To setup 1. Connect Google Drive • Create a Google Drive folder to watch. • Connect your Google Drive account in n8n and authorize access. • Point the Google Drive Trigger node to this folder (new/modified files trigger the flow). 2. Configure Supabase • Please refer to the Setting Up Supabase Sticky Note. 3. Connect OpenAI (or your embedding model) • Add your OpenAI API key in n8n credentials.