by Margo Rey
Generate and send MadKudu Account Brief into Outreach This workflow generates an account brief tailored to your company using MadKudu MCP and OpenAI and syncs it to a custom field in Outreach. Its for Sales who want to give reps rich account context right inside Outreach, and draft Outreach email with Outreach Revenue Agent based on MadKudu account brief. ✨ Who it's for RevOps or GTM teams using MadKudu + Salesforce + Outreach Sales teams needing dynamic, AI-generated context for target accounts 🔧 How it works 1. Select Accounts: Use a Salesforce node to define which accounts to brief. Filter logic can be updated to match ICP or scoring rules (e.g., MadKudu Fit + LTB). 2. Generate Brief with MadKudu MCP & AI MadKudu MCP provides the account brief instructions, research online for company recent news and provides structured account context from your integrations connected to MadKudu + external signals (firmographics, past opportunities, active contacts, job openings...) The AI agent (OpenAI model) turns this into a readable account brief. 3. Send to Outreach Match account in Outreach via domain. Update a custom field (e.g., custom49) with the brief text. 📋 How to set up Connect your Salesforce account Used to pull accounts that need a brief. Set your OpenAI credentials Required for the AI Agent to generate the brief. Create a n8n Variable to store your MadKudu API key named madkudu_api_key used for the MadKudu MCP tool The AI Agent pulls the account brief instructions and all the context necessary to generate the briefs. Create an Oauth2 API credential to connect your Outreach account Used to sync to brief to Outreach. Customize the Salesforce filter In the “Get accounts” node, define which accounts should get a brief (e.g. Fit > 90). Map your Outreach custom field Update the JSON Body request with your actual custom field ID (e.g. custom49). 🔑 How to connect Outreach In n8n, add a new Oauth2 API credential and copy the callback URL Now go to Outreach developer portal Click “Add” to create a new app In Feature selection add Outreach API (OAuth) In API Access (Oauth) set the redirect URI to the n8n callback Select the following scopes accounts.read, accounts.write Save in Outreach Now enter the Outreach Application ID into n8n Client Id and the Outreach Application Secret into n8n Client secret Save in n8n and connect via Oauth your Outreach Account ✅ Requirements MadKudu account with access to API Key Salesforce Oauth Outreach Admin permissions to create an app OpenAI API Key 🛠 How to customize the workflow Change the targeting logic** Edit the Salesforce filter to control which accounts are eligible. Rewrite the prompt** Tweak the prompt in the AI Agent node to adjust format, tone, or insights included in the brief. Change the Outreach account field** Update the Outreach field where the brief is sync-ed if you're using a different custom field (e.g. custom48, custom32, etc). Use a different trigger** Swap the manual trigger for a Schedule or Webhook to automate the flow end-to-end.
by iamvaar
Workflow explanation: Watch on YouTube Automated Missed Call Recovery with Gohighlevel + Twilio + Gemini Prerequisites for the HVAC n8n Workflow Before setting up the workflow in n8n, ensure you have completed the following foundational steps: Twilio Call Status Webhook:** Set the webhook of Sub-workflow 1 in the Twilio Voice section for "Call Status Changes". GoHighLevel Custom Fields:** Create two custom fields in GoHighLevel (GHL): called phone number call sid Twilio API Integration:** Ensure your Twilio API credentials are ready and configured in n8n. GoHighLevel Developer App:** Create a free GoHighLevel Developer App with the following scopes: contacts.readonly, contacts.write, opportunities.readonly, opportunities.write, locations.readonly. Generate the Client ID and Secret within the Developer App. Enter these into the n8n GHL OAuth credentials. Copy the OAuth Redirect URL from n8n to the App OAuth redirection settings and complete the authentication process. GoHighLevel Automation Workflow:** Create a workflow inside GHL that triggers when a "New Appointment is Created" and fires a POST webhook to the URL generated by Sub-workflow 3 in n8n. GoHighLevel Pipeline Setup:** Create a pipeline in GHL named "Missed call to appointment" with the following 3 stages: SMS sent No Reply Engaged | Appointment Link Sent BOOKED Scheduling Link:** Note down your GoHighLevel scheduling link and keep it handy to insert into the Twilio SMS node. Workflow Breakdown This n8n architecture is divided into three distinct sub-workflows. Here is the node-by-node explanation. Sub-Workflow 1: Automated Missed Call Follow-Up Goal: Detect a missed call, log it in GoHighLevel, and immediately text the prospect. When Webhook Received (n8n-nodes-base.webhook):** Acts as the entry point. It receives incoming POST call data from your telephony provider (Twilio) whenever a call status changes. Filter Valid Call Statuses (n8n-nodes-base.if):** Evaluates the incoming webhook payload. It only allows the workflow to continue if the CallStatus contains busy, no-answer, or canceled. Prepare Lead Data (n8n-nodes-base.set):** Cleans and maps the incoming JSON data. It extracts the caller's phone number, removes the + sign for clean formatting, grabs the called number and CallSid, and attaches specific tags like missed-call-lead. Create Lead in HighLevel (n8n-nodes-base.highLevel):** Pushes the cleaned data into GHL to create a new Contact. It maps the custom fields you created (called phone number and call sid) and assigns the hvac-inbound-missed tag. Create Opportunity in HighLevel (n8n-nodes-base.highLevel):** Creates a pipeline opportunity for the newly generated lead. It names the opportunity dynamically (e.g., "Missed Call.... [Phone].... [Date/Time]"). Send SMS via Twilio (n8n-nodes-base.twilio):** Sends the initial outreach text message to the caller (e.g., "Hi, I believe you missed a call with us... Please state your issue directly here"). Update Opportunity Status (n8n-nodes-base.highLevel):** Updates the GHL opportunity stage to the first stage in your pipeline ("SMS sent No Reply") to track that the initial outreach has occurred. Sub-Workflow 2: AI-Powered SMS Lead Qualification & Booking Goal: Process replies to the initial SMS, use AI to determine if it's a valid HVAC opportunity, and send a booking link. When SMS Received (n8n-nodes-base.twilioTrigger):** Listens for incoming SMS messages on your Twilio number. Check If Lead (n8n-nodes-base.highLevel):** Searches GHL to see if the sender's phone number already exists as a contact. Check Pipeline State (n8n-nodes-base.highLevel):** Looks up the specific opportunity associated with this contact in the "Missed call to appointment" pipeline. Lead Analyzer Agent (@n8n/n8n-nodes-langchain.agent):** The core AI brain of this sub-workflow. It consists of three integrated parts: The Agent: Prompted to act as an HVAC Opportunity Finder. It evaluates the user's SMS context to determine if they need HVAC services and if it's appropriate to send a booking link. Gemini Chat Model: Uses Google's gemini-3.1-flash-lite-preview model to process the prompt and context. Parse Structured Output: Forces the AI to return a clean JSON response (e.g., {"HVAC_oppurtunity?": "yes"}). If HVAC Opportunity Found (n8n-nodes-base.if):** Checks the parsed JSON output from the AI. If the AI determined the answer is "yes" or "yeah", the workflow proceeds. Send Response SMS (n8n-nodes-base.twilio):** Sends a text message containing your GHL scheduling link to prompt the prospect to book a visit. Update Lead Opportunity (n8n-nodes-base.highLevel):** Moves the GHL opportunity stage forward to "Engaged | Appointment Link Sent". Sub-Workflow 3: GoHighLevel Appointment Sync & Pipeline Advancement Goal: Finalize the pipeline sequence once the prospect actually books an appointment through your scheduling link. When Appointment Booked (n8n-nodes-base.webhook):** Receives the payload triggered by the GHL automation workflow you created in the prerequisites (fired when an appointment is booked). Check Lead SMS Origin (n8n-nodes-base.highLevel):** Queries GHL using the phone number from the appointment payload to ensure it matches up with the correct existing contact record. Check Pipeline State1 (n8n-nodes-base.highLevel):** Retrieves the current opportunity linked to this phone number that is currently sitting in the "Engaged" stage. Update Contact in HighLevel (n8n-nodes-base.highLevel):** Fills in the missing data gaps. Since the initial missed call only gave you a phone number, this node uses the data submitted in the booking form to update the contact's First Name, Last Name, and Email address. Update Opportunity in HighLevel (n8n-nodes-base.highLevel):** Moves the opportunity to its final stage: "BOOKED".
by SpaGreen Creative
Bulk WhatsApp Campaign Automation with Rapiwa API (Unofficial Integration) Who’s it for This n8n workflow lets you send bulk WhatsApp messages using your own number through Rapiwa API, avoiding the high cost and limitations of the official WhatsApp API. It integrates seamlessly with Google Sheets, where you can manage your contacts and messages with ease. Ideal for easy-to-maintain bulk messaging solution using their own personal or business WhatsApp number. This solution is perfect for small businesses, marketers, or teams looking for a cost-effective way to manage WhatsApp communication at scale. How it Works / What It Does Reads data from a Google Sheet where the Status column is marked as "pending". Cleans each phone number (removes special characters, spaces, etc.). Verifies if the number is a valid WhatsApp user using the Rapiwa API. If valid: Sends the message via Rapiwa. Updates Status = sent and Verification = verified. If invalid: Skips message sending. Updates Status = not sent and Verification = unverified. Waits for a few seconds (rate-limiting). Loops through the next item. The entire process is triggered automatically every 5 minutes. How to Set Up Duplicate the Sample Sheet: Use this format. Fill Contacts: Add columns like WhatsApp No, Name, Message, Image URL, and set Status = pending. Connect Google Sheets: Authenticate and link Google Sheets node inside n8n. Subscribe to Rapiwa: Go to Rapiwa.com and get your API key. Paste API Key: Use the HTTP Bearer token credential in n8n. Activate the Workflow: Let n8n take care of the automation. Requirements Google Sheets API credentials Configured Google Sheet (template linked above) WhatsApp (Personal or Business) n8n instance with credentials setup How to Customize the Workflow Add delay between messages**: Use the Wait node to introduce pauses (e.g., 5–10 seconds). Change message format**: Modify the HTTP Request node to send media or templates. Personalize content**: Include dynamic fields like Name, Image URL, etc. Error handling**: Add IF or SET nodes to capture failed attempts, retry, or log errors. Workflow Highlights Triggered every 5 minutes** using the Schedule Trigger node. Filters messages** with Status = pending. Cleans numbers* and *verifies WhatsApp existence** before sending. Sends WhatsApp messages** via Rapiwa (Unofficial API). Updates Google Sheets** to mark Status = sent or not sent and Verification = verified/unverified. Wait node** prevents rapid-fire sending that could lead to being flagged by WhatsApp. Setup in n8n 1. Connect Google Sheets Add a Google Sheets node Authenticate using your Google account Select the document and worksheet Use filter: Status = pending 2. Loop Through Rows Use SplitInBatches or a Code node to process rows in small chunks (e.g., 5 rows) Add a Wait node to delay 5 seconds between messages 3. Send Message via HTTP Node How the "Send Message Using Rapiwa" Node Sends Messages This node makes an HTTP POST request to the Rapiwa API endpoint: https://app.rapiwa.com/api/send-message It uses Bearer Token Authentication with your Rapiwa API key. When this node runs, it sends a WhatsApp message to the specified number with the given text and optional image. The Rapiwa API handles message delivery using your own WhatsApp number connected to their service. JSON Body**: { "number": "{{ $json['WhatsApp No'] }}", "message": "{{ $json['Message'] }}" } Sample Google Sheet Structure A Google Sheet formatted like this sample | SL | WhatsApp No | Name | Message | Image URL | Verification | Status | |----|----------------|------------------------|----------------------|---------------------------------------------------------------------------|--------------|---------| | 1 | 8801322827799 | SpaGreen Creative | This is Test Message | https://spagreen.sgp1.cdn.digitaloceanspaces.com/... | verified | sent | | 2 | 8801725402187 | Abdul Mannan Zinnat | This is Test Message | https://spagreen.sgp1.cdn.digitaloceanspaces.com/... | verified | sent | Tips Modify the Limit node to increase/decrease messages per cycle. Adjust the Wait node to control how fast messages are sent (e.g., 5–10s delay). Make sure WhatsApp numbers are properly formatted (e.g., 8801XXXXXXXXX, no +, no spaces). Store your Rapiwa API key securely using n8n credentials. Use publicly accessible image URLs if sending images. Always mark processed messages as "sent" to avoid duplicates. Use the Error workflow in n8n to catch failed sends for retry. Test with a small batch before going full-scale. Schedule the Trigger node for every 5 minutes to keep automation running. Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support & Community Need help setting up or customizing the workflow? Reach out here: WhatsApp: Chat with Support Discord: Join SpaGreen Server Facebook Group: SpaGreen Community Website: SpaGreen Creative Envato: SpaGreen Portfolio
by Robert Breen
This n8n workflow template creates an intelligent data analysis system that converts natural language questions into Google Sheets SQL queries using OpenAI's GPT-4o model. The system generates proper Google Sheets query URLs and executes them via HTTP requests for efficient data retrieval. What This Workflow Does Natural Language to SQL**: Converts user questions into Google Sheets SQL syntax Direct HTTP Queries**: Bypasses API limits by using Google Sheets' built-in query functionality Column Letter Mapping**: Automatically maps column names to their corresponding letters (A, B, C, etc.) Structured Query Generation**: Outputs properly formatted Google Sheets query URLs Real-time Data Access**: Retrieves live data directly from Google Sheets Memory Management**: Maintains conversation context for follow-up questions Tools Used OpenAI Chat Model (GPT-4o)** - SQL query generation and natural language understanding OpenAI Chat Model (GPT-4.1 Mini)** - Result formatting and table output Google Sheets Tool** - Column metadata extraction and schema understanding HTTP Request Node** - Direct data retrieval via Google Sheets query API Structured Output Parser** - Formats AI responses into executable queries Memory Buffer Window** - Conversation history management Chat Trigger** - Webhook-based conversation interface Step-by-Step Setup Instructions 1. Prerequisites Before starting, ensure you have: An n8n instance (cloud or self-hosted) An OpenAI account with API access and billing setup A Google account with access to Google Sheets The target Google Sheet must be publicly accessible or shareable via link 2. Import the Workflow Copy the workflow JSON provided In your n8n instance, go to Workflows → Import from JSON Paste the JSON and click Import Save with a descriptive name like "Google Sheets SQL Query Generator" 3. Set Up OpenAI Connections Get API Key: Go to OpenAI Platform Sign in or create an account Navigate to API Keys section Click Create new secret key Copy the generated API key Important: Add billing information and credits to your OpenAI account Configure Both OpenAI Nodes: OpenAI Chat Model1 (GPT-4o): Click on the node Click Create New Credential Select OpenAI API Paste your API key Save the credential OpenAI Chat Model2 (GPT-4.1 Mini): Apply the same OpenAI API credential This handles result formatting 4. Set Up Google Sheets Connection Create OAuth2 Credentials: Go to Google Cloud Console Create a new project or select existing one Enable the Google Sheets API Go to Credentials → Create Credentials → OAuth 2.0 Client IDs Set application type to Web Application Add authorized redirect URIs (get this from n8n credentials setup) Copy the Client ID and Client Secret Configure in n8n: Click on the Get Column Info2 node Click Create New Credential Select Google Sheets OAuth2 API Enter your Client ID and Client Secret Complete the OAuth flow by clicking Connect my account Authorize the required permissions 5. Prepare Your Google Sheet Option A: Use the Sample Data Sheet Access the pre-configured sheet: Sample Marketing Data Make a copy to your Google Drive Important**: Set sharing to "Anyone with the link can view" Critical: Set sharing to "Anyone with the link can view" for HTTP access Copy the Sheet ID from the URL Update the Get Column Info2 node with your Sheet ID and column metadata sheet 6. Configure Sheet References Get Column Info2 Node: Set Document ID to your Google Sheet ID Set Sheet Name to your columns metadata sheet (e.g., "Columns") This provides the AI with column letter mappings HTTP Request Node: No configuration needed - it uses dynamic URLs from the AI agent Ensure your sheet has proper sharing permissions 7. Update System Prompt (If Using Custom Sheet) If using your own Google Sheet, update the system prompt in the AI Agent3 node: Replace the URL in the system message with your Google Sheet URL Update the GID (sheet ID) to match your data sheet Keep the same query structure format Contact Information Robert Ynteractive For support, customization, or questions about this template: Email**: robert@ynteractive.com LinkedIn**: Robert Breen Need help implementing this workflow, want to add security features, or require custom modifications? Reach out for professional n8n automation services and AI integration support.
by Sayone Technologies
⭐ Google Review Sentiment Analysis & Slack Notification Workflow This workflow automates the process of collecting Google Business Profile reviews 🏪, analyzing customer sentiment with Google Gemini 🤖✨, and sending structured reports to Slack 💬. 🔑 Key Advantages 📥 Fetches Google Business Profile reviews for a given business and time period 🧠 Runs sentiment analysis using Gemini AI 📊 Consolidates comments, ratings, and trends into a JSON-based summary 🧩 Restructures results into Slack Block Kit format for easy readability 🚀 Sends automated sentiment reports directly to a Slack channel ⚙️ Set Up Essentials You’ll Need 🔑 Google Business Profile API access with project approval ✅ Enabled Google Business Profile API service 🔐 Gemini API credentials 💬 Slack workspace & channel for receiving reports 🚀 How to Get Started 🔧 Configure your Google Business Profile API and enable access 👤 Set the owner name and 📍 location to fetch reviews ⏳ Define the review time period using the Set Time Period node 🔗 Connect your Slack account and select a channel for notifications 🕒 Deploy and let the workflow run on schedule for automated insights
by Yanagi Chinatsu
Who it's for This workflow is perfect for space enthusiasts, community managers, and content creators who want to automatically share stunning, curated space imagery with their Slack communities. It's ideal for teams that enjoy a daily dose of scientific inspiration and visually engaging content without any manual effort. What it does This workflow automates the creation and posting of a daily space image gallery to Slack. Every day at a scheduled time, it fetches three distinct images from NASA's public APIs: one from the Mars Rover, one from the EPIC satellite observing Earth, and one from the extensive Image Library. For each image, the workflow uses an AI model to generate a unique and poetic caption, transforming a simple image post into a more engaging piece of content. Finally, it combines these three images and their AI-generated captions into a single, beautifully formatted message and posts it to your designated Slack channel. As a bonus, it also saves a copy of the message to a Google Drive folder for archival purposes. How to set up Configure Variables: In the Workflow Configuration node, enter your NASA API Key in the nasaApiKey field and specify your target Slack channel name in the slackChannel field (e.g., general). Connect Credentials: You will need to add your credentials for the OpenAI Chat Model, Post to Slack, and Google Drive nodes. Activate Workflow: Once your credentials and variables are set, simply save and activate the workflow. Requirements A NASA API Key (free to generate). An OpenAI account and API key. A Slack workspace with permissions to post messages. A Google Drive account. How to customize the workflow Adjust the Schedule: Change the trigger time or frequency in the Daily 10:00 - Start Poll node. Change AI Tone: Modify the system message in the AI Agent node to alter the style, tone, or language of the generated captions. Swap Image Sources: Update the URLs in the Fetch nodes to pull images from different NASA APIs or use different search queries. Add More Channels: Duplicate the Post to Slack node and modify it to send notifications to other services like Discord or Telegram.
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 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, 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 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.