{
  "openruna_format": "flow-graph-v1",
  "title": "Google Maps Email Scraper Template",
  "slug": "google-maps-email-scraper-template",
  "source_filename": "0639_Wait_Splitout_Send_Webhook.json",
  "nodes": [
    {
      "id": "Remove Duplicate URLs",
      "name": "Remove Duplicate URLs",
      "integration": "removeDuplicates",
      "kind": "logic"
    },
    {
      "id": "Loop over queries",
      "name": "Loop over queries",
      "integration": "splitInBatches",
      "kind": "logic"
    },
    {
      "id": "Search Google Maps with query",
      "name": "Search Google Maps with query",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Scrape URLs from results",
      "name": "Scrape URLs from results",
      "integration": "code",
      "kind": "logic"
    },
    {
      "id": "Filter irrelevant URLs",
      "name": "Filter irrelevant URLs",
      "integration": "filter",
      "kind": "logic"
    },
    {
      "id": "Request web page for URL",
      "name": "Request web page for URL",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Loop over URLs",
      "name": "Loop over URLs",
      "integration": "splitInBatches",
      "kind": "logic"
    },
    {
      "id": "Loop over pages",
      "name": "Loop over pages",
      "integration": "splitInBatches",
      "kind": "logic"
    },
    {
      "id": "Scrape emails from page",
      "name": "Scrape emails from page",
      "integration": "code",
      "kind": "logic"
    },
    {
      "id": "Aggregate arrays of emails",
      "name": "Aggregate arrays of emails",
      "integration": "aggregate",
      "kind": "logic"
    },
    {
      "id": "Split out into default data structure",
      "name": "Split out into default data structure",
      "integration": "splitOut",
      "kind": "logic"
    },
    {
      "id": "Remove duplicate emails",
      "name": "Remove duplicate emails",
      "integration": "removeDuplicates",
      "kind": "logic"
    },
    {
      "id": "Filter irrelevant emails",
      "name": "Filter irrelevant emails",
      "integration": "filter",
      "kind": "logic"
    },
    {
      "id": "Save emails to Google Sheet",
      "name": "Save emails to Google Sheet",
      "integration": "googleSheets",
      "kind": "action"
    },
    {
      "id": "Starts scraper workflow",
      "name": "Starts scraper workflow",
      "integration": "executeWorkflow",
      "kind": "trigger"
    },
    {
      "id": "Run workflow",
      "name": "Run workflow",
      "integration": "manual",
      "kind": "trigger"
    },
    {
      "id": "Wait between executions",
      "name": "Wait between executions",
      "integration": "wait",
      "kind": "logic"
    },
    {
      "id": "Execute scraper for query",
      "name": "Execute scraper for query",
      "integration": "executeWorkflow",
      "kind": "action"
    }
  ],
  "edges": [
    {
      "from": "Run workflow",
      "to": "Loop over queries"
    },
    {
      "from": "Loop over URLs",
      "to": "Loop over pages"
    },
    {
      "from": "Loop over URLs",
      "to": "Request web page for URL"
    },
    {
      "from": "Loop over pages",
      "to": "Aggregate arrays of emails"
    },
    {
      "from": "Loop over pages",
      "to": "Scrape emails from page"
    },
    {
      "from": "Loop over queries",
      "to": "Execute scraper for query"
    },
    {
      "from": "Remove Duplicate URLs",
      "to": "Loop over URLs"
    },
    {
      "from": "Filter irrelevant URLs",
      "to": "Remove Duplicate URLs"
    },
    {
      "from": "Remove duplicate emails",
      "to": "Filter irrelevant emails"
    },
    {
      "from": "Scrape emails from page",
      "to": "Loop over pages"
    },
    {
      "from": "Starts scraper workflow",
      "to": "Search Google Maps with query"
    },
    {
      "from": "Wait between executions",
      "to": "Loop over queries"
    },
    {
      "from": "Filter irrelevant emails",
      "to": "Save emails to Google Sheet"
    },
    {
      "from": "Request web page for URL",
      "to": "Loop over URLs"
    },
    {
      "from": "Scrape URLs from results",
      "to": "Filter irrelevant URLs"
    },
    {
      "from": "Execute scraper for query",
      "to": "Wait between executions"
    },
    {
      "from": "Aggregate arrays of emails",
      "to": "Split out into default data structure"
    },
    {
      "from": "Search Google Maps with query",
      "to": "Scrape URLs from results"
    },
    {
      "from": "Split out into default data structure",
      "to": "Remove duplicate emails"
    }
  ]
}