Extract Google Maps Business Leads via Dumpling AI to Google Sheets

Overview

This workflow automates the extraction of business listings from Google Maps using Dumpling AI's search-maps API and logs the results into a structured Google Sheet. It's ideal for lead generation, market research, or competitive analysis — allowing you to quickly gather data like business names, ratings, addresses, phone numbers, websites, and booking links without manual browsing.

Workflow Steps

  1. Trigger: Manual Test Run (Manual Trigger) — Starts the workflow on demand for testing. No authentication required.
  2. Search Google Maps via Dumpling AI (HTTP Request) — Sends a POST request to https://app.dumplingai.com/api/v1/search-maps with a JSON body containing the search query (e.g., "best+restaurants+in+New+York") and language. Authentication uses Header Auth — you must provide a Dumpling AI API key as a header (configured in n8n credentials). The response returns an array of places with details like title, rating, address, phone, website, price level, and booking links.
  3. Split Places List for Processing (Split Out) — Splits the places[] array from the HTTP response into individual items so each place can be processed separately. No authentication needed.
  4. Save Results to Google Sheet (Place Info) (Google Sheets) — Appends each place's data (name, address, rating, price level, type, website, phone, position, booking link) to a specified sheet in a Google Sheets document. Uses OAuth2 authentication (Google account). The sheet name is set to "Google Maps" and the document ID points to a spreadsheet named "Places".

Setup Instructions

  1. Dumpling AI Account: Sign up at dumplingai.com and obtain an API key. In n8n, create a new Header Auth credential with the key name (e.g., Authorization) and value Bearer YOUR_API_KEY.
  2. Google Sheets: Create a Google Sheet (or use the one referenced in the workflow). In n8n, create a Google Sheets OAuth2 credential by connecting your Google account. Ensure the sheet has a tab named "Google Maps" (or update the sheet name in the node).
  3. Customize Query: Edit the jsonBody of the HTTP Request node to change the search query (e.g., "plumbers+in+Chicago") or language.
  4. Run: Click "Execute Workflow" to test. The first run will prompt you to authorize Google Sheets access.

Use Cases & Variations

  • Lead Generation: Replace the query with industry-specific terms (e.g., "dentists in Los Angeles") to build a targeted prospect list.
  • Competitor Analysis: Search for competitors in a niche and analyze their ratings, price levels, and online presence.
  • Real Estate / Local Business Research: Extract data for multiple locations by chaining queries or using a loop.
  • Automation: Replace the Manual Trigger with a Schedule Trigger to run daily/weekly, and add a Set node to dynamically pass queries from a spreadsheet or webhook.
  • Enrichment: Add nodes to clean data, send notifications (Slack/Email), or integrate with a CRM like HubSpot.
5 nodesmanual triggerSales
Sticky NoteHTTP RequestSplit OutGoogle Sheets

Workflow JSON

{
  "id": "YZpFvpXOTYkBpiUU",
  "meta": {
    "instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6"
  },
  "name": "Extract Business Leads from Google Maps with Dumpling AI to Google Sheets",
  "tags": [
    {
      "id": "TlcNkmb96fUfZ2eA",
      "name": "Tutorials",
      "createdAt": "2025-04-15T17:02:00.249Z",
      "updatedAt": "2025-04-15T17:02:00.249Z"
    }
  ],
  "nodes": [
    {
      "id": "3a49e594-6c62-4128-825e-99cdfd7e6ed5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -200
      ],
      "parameters": {
        "width": 600,
        "height": 700,
        "content": "#### 🔍 Workflow Goal\nAutomatically search Google Maps using Dumpling AI based on a keyword (e.g., best restaurants in New York), extract results, and log them into a structured Google Sheet.\n\n## 🚀 Workflow Steps\n1. **Manual Trigger**\n   - Starts the workflow when testing manually.\n\n2. **Dumpling AI Google Search**\n   - Sends a POST request to Dumpling AI to search for locations on Google Maps based on your query.\n\n3. **Split Out Node**\n   - Breaks the `places[]` array into individual items so each result can be handled separately.\n\n4. **Google Sheets Node**\n   - Appends each place’s data (name, address, phone, website, rating, etc.) into a specific tab of your Google Sheets.\n\n##### 🧠 Notes\n- The search query is currently set to: `\"best+restaurants+in+New+York\"`\n- Output columns include rating, price level, website, phone, booking links, etc.\n- Each run consumes Dumpling AI credits per query.\n- You can customize search keywords or location in the HTTP Request body.\n\n#### ✅ Tip\nTo automate this regularly, change the trigger node to a **Schedule Trigger** and add dynamic query input using a **Set** or **Webhook** node.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0a4ee00a-19cf-4d1e-a145-b5c5619ce636",
      "name": "Trigger: Manual Test Run",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "26fdb640-93a0-4312-beaf-4c07fff87751",
      "name": "Search Google Maps via Dumpling AI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        120
      ],
      "parameters": {
// ... truncated (copy to see full JSON)

How to Import This Workflow

  1. 1Copy the workflow JSON above using the Copy Workflow JSON button.
  2. 2Open your n8n instance and go to Workflows.
  3. 3Click Import from JSON and paste the copied workflow.

Don't have an n8n instance? Start your free trial at n8nautomation.cloud

Related Templates

Lead Capture to Notion CRM with Alerts in Slack

Overview This workflow instantly captures leads from any web form (Webflow, Tally, WordPress, custom HTML, etc.) and creates a new entry in your Notion CRM database while simultaneously sending a formatted alert to a Slack sales channel. It eliminates manual data entry and ensures your sales team can respond to leads within seconds of submission — no Zapier subscription required. How It Works The workflow is triggered by an incoming HTTP POST request (the webhook), then processes the lead data through two sequential actions: first creating a Notion database page, then posting a Slack message. The webhook responds immediately with a 200 status so the form never hangs or times out. Node-by-Node Breakdown Lead Webhook (No auth) — Listens for incoming POST requests at the path . Accepts both JSON and form-encoded payloads. When activated, n8n provides a unique production URL that you point your form's action attribute or integration to. The node responds automatically with HTTP 200 after all downstream nodes complete. Add to Notion CRM (OAuth2) — Creates a new database page in your specified Notion database. Configured parameters: - : The Notion database ID (must be replaced with your actual database ID) - : Set dynamically to (the lead's name from the webhook payload) - : Maps the lead's email to the "Email" property and sets a "Status" select property to "New" - Requires sharing your Notion database with the n8n integration Alert Sales Channel (OAuth2) — Posts a formatted Slack message to a specified channel. Configured parameters: - : The Slack channel ID (must be replaced with your actual channel) - : A dynamic message template using expressions: - Uses Slack's markdown formatting for bold text and blockquotes Setup Instructions Prerequisites An n8n instance (self-hosted or cloud) A Notion account with a Leads database (must contain at least Name, Email, and Status properties) A Slack workspace where you can create/choose a channel for lead alerts A web form or service that can send POST requests (Webflow, Tally, WordPress, Framer, custom HTML form, etc.) Step-by-Step Activate the workflow in n8n and copy the production webhook URL from the Lead Webhook node (it will look like ) Configure your form to send a POST request to that URL with fields: , , and (JSON or form-encoded both work) Connect Notion: - Create an integration at https://www.notion.so/my-integrations - Share your Leads database with that integration - In n8n, create a Notion credential (OAuth2) and select your database - Replace with your actual database ID Connect Slack: - Create a Slack app with and scopes - Install the app to your workspace - In n8n, create a Slack credential (OAuth2) - Replace with your actual channel ID (e.g., ) Test: Submit a test lead through your form and verify it appears in Notion and Slack Use Cases & Adaptations Primary Use Cases Marketing teams: Capture leads from landing pages, webinar registrations, or content downloads Sales teams: Get instant notifications when high-value prospects submit inquiries Startups: Build a lightweight CRM without expensive tools Variations to Try Add email automation: Insert a Gmail or SendGrid node after Notion to send an auto-reply to the lead Enrich lead data: Add an HTTP Request node to look up company info via Clearbit or Hunter.io Score leads: Use an n8n Code node to assign lead scores based on message content or source Multi-channel capture: Create additional webhook nodes for different forms, each routing to the same Notion database Error handling: Build a separate Error Trigger workflow that posts to Slack when any node fails Required Replacements Before running, you must replace these placeholder values: → Your Notion database ID → Your Slack channel ID

6 nodes

Shopify New Order Slack Alert

High-Level Summary This workflow sends a real-time Slack notification whenever a new order is placed in your Shopify store. It listens for the webhook event, extracts key order details (customer name, line items, total), and posts a clean, formatted message to a Slack channel of your choice. No more refreshing the Shopify dashboard or digging through emails — every sale gets an instant cha-ching in Slack. Node-by-Node Walkthrough New Shopify Order (Shopify Trigger — OAuth2) — Subscribes to the webhook on your Shopify store. When a new order is created, this node fires and passes the full order object downstream. Authentication uses OAuth2 (or a Shopify Admin API access token) configured in the n8n credential store. Format Order (Code — No auth) — A JavaScript code node that extracts and transforms the raw order data. It builds a list of line items (), retrieves the customer's first and last name (falls back to "Guest"), and returns a clean JSON object containing , , , and (with currency). Post to Slack (Slack — OAuth2) — Sends a message to the specified Slack channel. The message uses n8n expressions to insert the formatted order data: a bold order number, total, customer name, and item list. The channel is set via a placeholder () that you must replace with your actual Slack channel ID or name. Authentication uses OAuth2 with scopes like and . Setup Instructions Shopify — You need a Shopify store with Admin API access. Create a custom app in your Shopify admin (Settings > Apps and sales channels > Develop apps). Grant it the scope, then generate an Admin API access token. In n8n, create a Shopify credential using OAuth2 or the access token. Slack — You need a Slack workspace where you have permission to create apps. Create a Slack app, enable OAuth2, and add the and scopes. Install the app to your workspace and copy the OAuth token. In n8n, create a Slack credential with that token. Replace the placeholder — In the Post to Slack node, change to the actual channel ID (e.g., ) or channel name (e.g., ). Activate the workflow — Once everything is connected, activate the workflow. Place a test order in your Shopify store (or use Shopify's webhook tester) to verify the alert appears in Slack. Use Cases & Variations Real-time sales tracking — Perfect for small teams or solo entrepreneurs who want to celebrate every order as it happens. Multi-channel notifications — Add an email node (e.g., Gmail or SendGrid) to also send a receipt or summary to the store owner. Order analytics — Insert a Google Sheets node after the trigger to log every order for later analysis. Other Shopify events — Change the trigger topic to , , or to monitor different stages of the order lifecycle. Custom formatting — Modify the Code node to include shipping address, discount codes, or payment status.

6 nodes

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.