GoogleマップズおよびPlaces APIからGoogleスプシートへビジネスリードの生成

中級

これはLead Generation分野の自動化ワークフローで、12個のノードを含みます。主にIf, Set, SplitOut, FormTrigger, HttpRequestなどのノードを使用。 Google Maps と Places API から商談 leads を Google Sheets に生成する

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "58a9e858b82757a75629d435ec0da2448ad5d9e906a9ce3b7dcbb64c90fda9fe",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "9e017f9b-517c-4e4d-b887-26bd694d1f4b",
      "name": "位置座標の取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1248,
        144
      ],
      "parameters": {
        "url": "https://maps.googleapis.com/maps/api/geocode/json",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "address",
              "value": "={{ $json.location }}"
            },
            {
              "name": "key",
              "value": "={{ $json.googleApiKey }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0dce7f8f-7df8-4a84-94e4-a45443c2d93e",
      "name": "Google Places の検索",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1696,
        144
      ],
      "parameters": {
        "url": "https://places.googleapis.com/v1/places:searchText",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"textQuery\": \"{{ $json.businessType }}\",\n  \"locationBias\": {\n    \"circle\": {\n      \"center\": {\n        \"latitude\": {{ $json.latitude }},\n        \"longitude\": {{ $json.longitude }}\n      },\n      \"radius\": 10000\n    }\n  },\n  \"maxResultCount\": {{ $json.maxResults }}\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Goog-Api-Key",
              "value": "={{ $json.googleApiKey }}"
            },
            {
              "name": "X-Goog-FieldMask",
              "value": "places.displayName,places.formattedAddress,places.nationalPhoneNumber,places.internationalPhoneNumber,places.websiteUri,places.googleMapsUri,places.rating,places.userRatingCount,places.businessStatus,places.types,places.id"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c0002a96-8e2c-4b07-bf5a-4c0d8c6f3b5a",
      "name": "結果の分割",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1920,
        144
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "places"
      },
      "typeVersion": 1
    },
    {
      "id": "576b96c6-82cd-4bc3-8553-4360c5083f42",
      "name": "リードデータのフォーマット",
      "type": "n8n-nodes-base.set",
      "position": [
        2368,
        144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "name_assignment",
              "name": "businessName",
              "type": "string",
              "value": "={{ $json.displayName?.text || 'N/A' }}"
            },
            {
              "id": "address_assignment",
              "name": "address",
              "type": "string",
              "value": "={{ $json.formattedAddress || 'N/A' }}"
            },
            {
              "id": "phone_assignment",
              "name": "phone",
              "type": "string",
              "value": "={{ $json.nationalPhoneNumber || $json.internationalPhoneNumber || 'N/A' }}"
            },
            {
              "id": "website_assignment",
              "name": "website",
              "type": "string",
              "value": "={{ $json.websiteUri || 'N/A' }}"
            },
            {
              "id": "gmaps_assignment",
              "name": "googleMapsUrl",
              "type": "string",
              "value": "={{ $json.googleMapsUri || 'N/A' }}"
            },
            {
              "id": "rating_assignment",
              "name": "rating",
              "type": "string",
              "value": "={{ $json.rating || 'N/A' }}"
            },
            {
              "id": "reviews_assignment",
              "name": "totalReviews",
              "type": "number",
              "value": "={{ $json.userRatingCount || 0 }}"
            },
            {
              "id": "status_assignment",
              "name": "businessStatus",
              "type": "string",
              "value": "={{ $json.businessStatus || 'UNKNOWN' }}"
            },
            {
              "id": "types_assignment",
              "name": "businessTypes",
              "type": "string",
              "value": "={{ $json.types?.join(', ') || 'N/A' }}"
            },
            {
              "id": "place_assignment",
              "name": "placeId",
              "type": "string",
              "value": "={{ $json.id || 'N/A' }}"
            },
            {
              "id": "search_assignment",
              "name": "searchQuery",
              "type": "string",
              "value": "={{ $('Prepare Search Data Set').item.json.businessType }}"
            },
            {
              "id": "search_location_assignment",
              "name": "searchLocation",
              "type": "string",
              "value": "={{ $('Prepare Search Data Set').item.json.locationName }}"
            },
            {
              "id": "timestamp_assignment",
              "name": "scrapedAt",
              "type": "string",
              "value": "={{ $now.toISO() }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a3cc811c-b586-4adf-8e15-840c0bbc913c",
      "name": "抽出設定",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        800,
        144
      ],
      "webhookId": "0257ee5d-0603-4bf5-92cf-7fc446f6c928",
      "parameters": {
        "options": {},
        "formTitle": "Generate Leads",
        "formFields": {
          "values": [
            {
              "fieldLabel": "What is the Search Term?",
              "requiredField": true
            },
            {
              "fieldLabel": "What is your Location?",
              "requiredField": true
            },
            {
              "fieldType": "number",
              "fieldLabel": "Max Results?",
              "requiredField": true
            },
            {
              "fieldLabel": "Google Maps API Key"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "2cd4749f-118e-41ae-899f-19ccde3b2dfe",
      "name": "メインセット",
      "type": "n8n-nodes-base.set",
      "position": [
        1024,
        144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0ce4b0e7-3ce5-4b38-bc49-9fd58be31e3b",
              "name": "location",
              "type": "string",
              "value": "={{ $json['What is your Location?'] }}"
            },
            {
              "id": "83741282-8c5d-46fa-9f3b-7065bf2bb4eb",
              "name": "googleApiKey",
              "type": "string",
              "value": "={{ $json['Google Maps API Key'] }}"
            },
            {
              "id": "be691e08-0b6b-43d8-8ec8-a50481618c94",
              "name": "maxResults",
              "type": "string",
              "value": "={{ $json['Max Results?'] }}"
            },
            {
              "id": "6f4b30a2-e0fb-40d5-a00b-6bf4c80494e3",
              "name": "businessType",
              "type": "string",
              "value": "={{ $json['What is the Search Term?'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "44c4721a-4609-4ea2-8aa1-73ee4286cd8d",
      "name": "検索データセットの準備",
      "type": "n8n-nodes-base.set",
      "position": [
        1472,
        144
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "lat_assignment",
              "name": "latitude",
              "type": "number",
              "value": "={{ $json.results[0].geometry.location.lat }}"
            },
            {
              "id": "lng_assignment",
              "name": "longitude",
              "type": "number",
              "value": "={{ $json.results[0].geometry.location.lng }}"
            },
            {
              "id": "business_assignment",
              "name": "businessType",
              "type": "string",
              "value": "={{ $('Main Set').item.json.businessType }}"
            },
            {
              "id": "api_assignment",
              "name": "googleApiKey",
              "type": "string",
              "value": "={{ $('Main Set').item.json.googleApiKey }}"
            },
            {
              "id": "max_assignment",
              "name": "maxResults",
              "type": "string",
              "value": "={{ $('Main Set').item.json.maxResults }}"
            },
            {
              "id": "location_assignment",
              "name": "locationName",
              "type": "string",
              "value": "={{ $('Main Set').item.json.location }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e0b810cf-2146-47dd-8800-c9a7f866e7fc",
      "name": "リード有効性チェック",
      "type": "n8n-nodes-base.if",
      "position": [
        2144,
        144
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "3f7e701a-3b1e-4f4a-b47f-63e832d8b01a",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.nationalPhoneNumber }}",
              "rightValue": ""
            },
            {
              "id": "2cebb6b9-d612-46da-b541-bb58a00a15b4",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.websiteUri }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "82447bb9-f0a8-45fa-bba5-96c93a7ffcbd",
      "name": "シートに行を追加",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2592,
        144
      ],
      "parameters": {
        "columns": {
          "value": {
            "Phone": "={{ $json.phone }}",
            "Rating": "={{ $json.rating }}",
            "Address": "={{ $json.address }}",
            "Website": "={{ $json.website }}",
            "Place ID": "={{ $json.placeId }}",
            "Scraped At": "={{ $json.scrapedAt }}",
            "Search Query": "={{ $json.searchQuery }}",
            "Business Name": "={{ $json.businessName }}",
            "Total Reviews": "={{ $json.totalReviews }}",
            "Business Types": "={{ $json.businessTypes }}",
            "Business Status": "={{ $json.businessStatus }}",
            "Google Maps URL": "={{ $json.googleMapsUrl }}",
            "Search location": "={{ $json.searchLocation }}"
          },
          "schema": [
            {
              "id": "Business Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Business Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Address",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Google Maps URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Google Maps URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Rating",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Rating",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Total Reviews",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Total Reviews",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Business Types",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Business Types",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Business Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Business Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Place ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Place ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Search Query",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Search Query",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Search location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Search location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Scraped At",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Scraped At",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1701dkUJszfL2ey5tC55NBMmN4CRHy2cmBC4gZqkk8eU/edit#gid=0",
          "cachedResultName": "Leads"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1701dkUJszfL2ey5tC55NBMmN4CRHy2cmBC4gZqkk8eU",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1701dkUJszfL2ey5tC55NBMmN4CRHy2cmBC4gZqkk8eU/edit?usp=drivesdk",
          "cachedResultName": "Leads Generation"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "Gs7mfT220sbLQ7PS",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "a8c39d79-4fc0-49ec-b0e3-51ea9a48f9a6",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        -112
      ],
      "parameters": {
        "width": 624,
        "height": 176,
        "content": "## Generate Leads from Google Maps\nOfficial way to generate leads using Google Maps, using the Google Maps API Key.\n\nGenerate Niche-Specific Leads by filling up the business type, location you're targeting, max number of leads, and your google maps API key as the form input."
      },
      "typeVersion": 1
    },
    {
      "id": "b2ae012e-786d-4bfc-9ad8-755af1680c16",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1616,
        -112
      ],
      "parameters": {
        "color": 5,
        "width": 448,
        "height": 176,
        "content": "## User Input & Search\nFill out the form with your search term (business type), location, and Google Maps API key. The workflow converts your location to coordinates and then finds businesses matching your criteria within the specified area."
      },
      "typeVersion": 1
    },
    {
      "id": "15adb718-89ba-4b67-8075-ad51fcd47da2",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2256,
        -112
      ],
      "parameters": {
        "color": 4,
        "width": 448,
        "height": 176,
        "content": "## Leads Validation & Storage\nThe workflow checks each found business for valid contact info, organizes details, and automatically adds each valid lead to the Google Sheet."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "2cd4749f-118e-41ae-899f-19ccde3b2dfe": {
      "main": [
        [
          {
            "node": "9e017f9b-517c-4e4d-b887-26bd694d1f4b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c0002a96-8e2c-4b07-bf5a-4c0d8c6f3b5a": {
      "main": [
        [
          {
            "node": "e0b810cf-2146-47dd-8800-c9a7f866e7fc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "576b96c6-82cd-4bc3-8553-4360c5083f42": {
      "main": [
        [
          {
            "node": "82447bb9-f0a8-45fa-bba5-96c93a7ffcbd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e0b810cf-2146-47dd-8800-c9a7f866e7fc": {
      "main": [
        [
          {
            "node": "576b96c6-82cd-4bc3-8553-4360c5083f42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a3cc811c-b586-4adf-8e15-840c0bbc913c": {
      "main": [
        [
          {
            "node": "2cd4749f-118e-41ae-899f-19ccde3b2dfe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0dce7f8f-7df8-4a84-94e4-a45443c2d93e": {
      "main": [
        [
          {
            "node": "c0002a96-8e2c-4b07-bf5a-4c0d8c6f3b5a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "44c4721a-4609-4ea2-8aa1-73ee4286cd8d": {
      "main": [
        [
          {
            "node": "0dce7f8f-7df8-4a84-94e4-a45443c2d93e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9e017f9b-517c-4e4d-b887-26bd694d1f4b": {
      "main": [
        [
          {
            "node": "44c4721a-4609-4ea2-8aa1-73ee4286cd8d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - リード獲得

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数12
カテゴリー1
ノードタイプ7
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34