AutomationFlowsData & Sheets › Track Companies Expanding Into New Markets in Google Sheets

Track Companies Expanding Into New Markets in Google Sheets

Track companies expanding into new markets in Google Sheets. Uses n8n-nodes-bouncewatch, googleSheets. Scheduled trigger; 7 nodes.

Cron / scheduled trigger★★☆☆☆ complexity7 nodesN8N Nodes BouncewatchGoogle Sheets
Data & Sheets Trigger: Cron / scheduled Nodes: 7 Complexity: ★★☆☆☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Track companies expanding into new markets in Google Sheets",
  "nodes": [
    {
      "parameters": {
        "content": "## Track companies expanding into new markets in Google Sheets\n\nBounce Watch tells you what just happened at a company and when \u2014 funding, senior hires, new offices, customer wins and partnerships, each carrying its own date. What the API covers: bouncewatch.com/products/data-enrichment-api\n\nA company opening an office or announcing a move into a new market is buying a lot of things it did not need last quarter \u2014 and choosing suppliers, partners and agencies while it does. This workflow keeps a running sheet of who is expanding where.\n\n### How it works\n\nA daily schedule starts the run. A Settings node holds the country and the lookback window, so pointing this at a different market is a one-field edit. The Bounce Watch node searches for announced expansions and new offices in that window and returns one item per company. Each becomes a row in Google Sheets: the company, what was announced, the date and a link to the profile.\n\n### Setup\n\n1. Get an API key at bouncewatch.com/register/api. It is free, no card, and every new account starts with 2,500 credits. Paste it into the Bounce Watch credential.\n2. Set the window in Search settings. Country is optional: blank means every country.\n3. Pick your Google Sheets credential, then choose the spreadsheet and tab on the last node.\n\nThe country filter matches the company headquarters, not the market being entered. An empty run means nothing matched the filters, not that those companies were quiet.\n\n### Customization tips\n\nDrop the country filter to watch expansion everywhere and sort the sheet later. Add a headcount band if a company has to be a certain size before it is worth approaching, or add the softer expansion-plan key to catch intent before the announcement.",
        "height": 1020,
        "width": 520
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -380,
        -120
      ],
      "id": "sticky-overview",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## Which market\n\nDaily run, one country, one window.\nThe filter matches the headquarters.",
        "height": 300,
        "width": 440,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        150,
        -170
      ],
      "id": "sticky-section-1",
      "name": "Section 1"
    },
    {
      "parameters": {
        "content": "## Who is expanding\n\nAnnounced expansions and new offices.\nOne row per company.",
        "height": 300,
        "width": 440,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        630,
        -170
      ],
      "id": "sticky-section-2",
      "name": "Section 2"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "days",
              "triggerAtHour": 8
            }
          ]
        }
      },
      "id": "bw0107-0000-4000-8000-000000000107",
      "name": "Every morning",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        220,
        0
      ]
    },
    {
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "as0108-0000-4000-8000-000000000108",
              "name": "country_code",
              "type": "string",
              "value": ""
            },
            {
              "id": "as0109-0000-4000-8000-000000000109",
              "name": "lookback_days",
              "type": "number",
              "value": "={{ 7 }}"
            }
          ]
        }
      },
      "id": "bw0110-0000-4000-8000-000000000110",
      "name": "Search settings",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        460,
        0
      ],
      "notes": "The country filter matches the company headquarters, not the market being entered."
    },
    {
      "parameters": {
        "resource": "signal",
        "operation": "search",
        "splitSignals": true,
        "filters": {
          "signal_keys": "expansion_announced,new_office_opened",
          "country": "={{ $json.country_code  || undefined }}",
          "days": "={{ $json.lookback_days }}",
          "limit": 50,
          "sort": "most_recent"
        }
      },
      "id": "bw0111-0000-4000-8000-000000000111",
      "name": "Expansion signals",
      "type": "n8n-nodes-bouncewatch.bounceWatch",
      "typeVersion": 1,
      "position": [
        700,
        0
      ],
      "credentials": {
        "bounceWatchApi": {
          "name": "<your credential>"
        }
      },
      "notes": "Add expansion_plan to the keys to catch intent before the announcement."
    },
    {
      "parameters": {
        "columns": {
          "value": {
            "Company": "={{ $json.company.name }}",
            "Domain": "={{ $json.company.domain }}",
            "HQ country": "={{ $json.company.country }}",
            "Employees": "={{ $json.company.employees }}",
            "What was announced": "={{ $json.signals.map(s => s.summary || s.label).join(\" | \") }}",
            "Most recent signal date": "={{ $json.latest_signal_date }}",
            "Profile": "={{ $json.company.profile_url }}"
          },
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": []
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        }
      },
      "id": "bw0112-0000-4000-8000-000000000112",
      "name": "Add a row per company",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.5,
      "position": [
        940,
        0
      ],
      "notes": "Pick the spreadsheet and tab here. Column headers must already exist in the sheet."
    }
  ],
  "connections": {
    "Every morning": {
      "main": [
        [
          {
            "node": "Search settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search settings": {
      "main": [
        [
          {
            "node": "Expansion signals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Expansion signals": {
      "main": [
        [
          {
            "node": "Add a row per company",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Track companies expanding into new markets in Google Sheets. Uses n8n-nodes-bouncewatch, googleSheets. Scheduled trigger; 7 nodes.

Source: https://github.com/bouncewatch/n8n-nodes-bouncewatch/blob/main/templates/track-companies-expanding-into-new-markets-in-google-sheets.json — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Find companies that raised and are hiring in Google Sheets. Uses n8n-nodes-bouncewatch, googleSheets. Scheduled trigger; 7 nodes.

N8N Nodes Bouncewatch, Google Sheets
Data & Sheets

Monitor competitors from a Google Sheets list. Uses googleSheets, n8n-nodes-bouncewatch. Scheduled trigger; 7 nodes.

Google Sheets, N8N Nodes Bouncewatch
Data & Sheets

Track hiring signals for prospecting in Google Sheets. Uses n8n-nodes-bouncewatch, googleSheets. Scheduled trigger; 7 nodes.

N8N Nodes Bouncewatch, Google Sheets
Data & Sheets

Enrich company names with domains in Google Sheets. Uses googleSheets, n8n-nodes-bouncewatch. Scheduled trigger; 10 nodes.

Google Sheets, N8N Nodes Bouncewatch
Data & Sheets

Automate company enrichment in Google Sheets with Bounce Watch. Uses googleSheets, n8n-nodes-bouncewatch. Scheduled trigger; 8 nodes.

Google Sheets, N8N Nodes Bouncewatch