This workflow corresponds to n8n.io template #5947 — we link there as the canonical source.
This workflow follows the Agent → Google Sheets recipe pattern — see all workflows that pair these two integrations.
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 →
{
"id": "FtzJlVWzcws353Gp",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "3. Event Attendee scraper",
"tags": [],
"nodes": [
{
"id": "ebf3b7e1-727d-44f0-a198-4899fe5eeabd",
"name": "\ud83d\udd52 Schedule Scraper",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "07cd890b-ac50-4c89-9082-3784efe19cc8",
"name": "\u2699\ufe0f Input URL & Params",
"type": "n8n-nodes-base.set",
"position": [
220,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c1e742bf-8bd2-4d18-9a51-dac7cfaa51fd",
"name": "url",
"type": "string",
"value": "https://10times.com"
},
{
"id": "107ffa9d-231b-4991-b362-415ec08505b7",
"name": "format",
"type": "string",
"value": "scrape_as_markdown"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "06a0519f-bb0b-4c81-af7e-a34b972fa54a",
"name": "\ud83e\udd16 Bright Data AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
580,
0
],
"parameters": {
"text": "=Scrape all category, featured_event, attendee_feedback and venue data using \"MCP Client to Scrape as markdown\" tool:\nurl: {{ $json.url }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "d343e2d6-92b8-4a7d-b7d4-b5e83b67f8f4",
"name": "\ud83e\udde0 Agent Memory Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
480,
320
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "43bfe724-c78f-4597-b9dd-ef7c3d25afa3",
"name": "\ud83d\udd77\ufe0f MCP Scraper: 10times",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
680,
320
],
"parameters": {
"toolName": "scrape_as_markdown",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}",
"descriptionType": "manual",
"toolDescription": "Scrape a single webpage URL with advanced options for content extraction and get back the results in markdown"
},
"credentials": {
"mcpClientApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1dab45f4-1080-40ce-8381-a83f48855715",
"name": "\ud83d\udce5 Save to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1160,
0
],
"parameters": {
"columns": {
"value": {
"vanues": "={{ $json.output.venues }}",
"Categories": "={{ $json.output.categories }}",
"Featured events": "={{ $json.output.featured_events }}",
"Attendee feedback": "={{ $json.output.attendee_feedback }}"
},
"schema": [
{
"id": "Categories",
"type": "string",
"display": true,
"required": false,
"displayName": "Categories",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Featured events",
"type": "string",
"display": true,
"required": false,
"displayName": "Featured events",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Attendee feedback",
"type": "string",
"display": true,
"required": false,
"displayName": "Attendee feedback",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "vanues",
"type": "string",
"display": true,
"required": false,
"displayName": "vanues",
"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/1D9wZsMdv0bUvlC5IRAEiFsRNaLGrHwdykJWKOMXOe60/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1D9wZsMdv0bUvlC5IRAEiFsRNaLGrHwdykJWKOMXOe60",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1D9wZsMdv0bUvlC5IRAEiFsRNaLGrHwdykJWKOMXOe60/edit?usp=drivesdk",
"cachedResultName": "Attendies data"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "858b205e-200f-4bac-aabe-dca745da17bd",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-640
],
"parameters": {
"color": 2,
"width": 400,
"height": 820,
"content": "## \ud83d\udfe2 **SECTION 1: Trigger & Input Configuration**\n\n### \ud83d\udd01 `\ud83d\udd52 Schedule Scraper`\n\nThis is the **starting point** of the workflow. You can set it to run:\n\n* At specific intervals (e.g., daily, weekly)\n* Or manually (while testing)\n\n> \ud83d\udcd8 *Benefit for beginners:* No coding needed! Just drag and set the schedule, and your workflow runs itself.\n\n---\n\n### \u270f\ufe0f `\u2699\ufe0f Input URL & Params`\n\nHere, you provide the **URL of the 10times event page** (like: `https://10times.com/ces/exhibitors`). You can customize or hardcode this value.\n\n> \ud83d\udcd8 *Tip:* You can turn this into a form or connect it to a database to auto-feed event URLs.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "80c31fa5-1838-40af-9416-5e1e1efdd4bf",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
-1500
],
"parameters": {
"color": 3,
"width": 400,
"height": 1680,
"content": "## \ud83e\udd16 **SECTION 2: Smart Scraping via AI Agent**\n\nThis is where the **heavy lifting** happens using Bright Data\u2019s **Mobile Carrier Proxy (MCP)** and OpenAI\u2019s logic to bypass website protections.\n\n---\n\n### \ud83e\udde0 `\ud83e\udd16 Bright Data AI Agent`\n\nThis node coordinates scraping. It tells the agent exactly:\n\n* Which URL to open\n* What to extract (like attendees, venues, events)\n* How to format the response (in markdown or JSON)\n\n> \u26a1 *Why it's powerful:* The AI Agent understands human-like prompts and adapts scraping automatically.\n\n---\n\n#### \ud83e\udde0 `\ud83e\udde0 Agent Memory Model`\n\nHelps the Agent remember its instructions or carry session context (e.g., \"continue scrolling\", \"grab the next batch\").\n\n---\n\n#### \ud83c\udf10 `\ud83d\udd77\ufe0f MCP Scraper: 10times`\n\nThis is the **actual web scraper** running on **Bright Data\u2019s mobile proxy** \u2014 which mimics a real mobile device to avoid bot detection. It loads JavaScript, scrolls pages, and handles dynamic content.\n\n> \ud83d\udee1\ufe0f *Biggest Advantage:* Can access pages that block most traditional scrapers!\n\n---\n\n#### \ud83d\udcc4 `\ud83e\uddfe Parse Attendee Data`\n\nUses the **Structured Output Parser** to turn messy scraped markdown into clean, structured JSON with fields like:\n\n* `categories`\n* `featured_events`\n* `attendee_feedback`\n* `venues`\n\n> \ud83e\udde9 *Tip:* This is the secret to clean automation \u2014 parsed data can now be reused, filtered, or enriched!\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "4b32365f-d9ea-4043-8901-9e882357b892",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1020,
-520
],
"parameters": {
"color": 5,
"width": 400,
"height": 700,
"content": "## \ud83d\udcca **SECTION 3: Save & Reuse the Leads**\n\n### \ud83d\udce5 `\ud83d\udce5 Save to Google Sheets`\n\nThis node stores each piece of parsed data (e.g., 1 attendee feedback per row) into your connected **Google Sheets** document.\n\n* Each row is tagged with a `type` (like `category`, `venue`, etc.)\n* You can filter, analyze, or export this for marketing, research, outreach, etc.\n\n> \ud83d\udcbc *Business Use:* Build a database of trending events, track where competitors exhibit, or generate cold outreach leads.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "aa026e7b-1731-435d-b21f-3bcf150270ca",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2100,
-640
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "029770da-da09-432a-b085-434b9d7a0660",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2100,
-300
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2398,
"content": "## \ud83d\ude80 **Workflow Title: 10times Event Intelligence Scraper**\n\n> This no-code automation scrapes attendee data from [10times.com](https://10times.com), parses it into structured information (like categories, events, and feedback), and logs it into Google Sheets for lead generation or event research.\n\n---\n\n## \ud83d\udfe2 **SECTION 1: Trigger & Input Configuration**\n\n### \ud83d\udd01 `\ud83d\udd52 Schedule Scraper`\n\nThis is the **starting point** of the workflow. You can set it to run:\n\n* At specific intervals (e.g., daily, weekly)\n* Or manually (while testing)\n\n> \ud83d\udcd8 *Benefit for beginners:* No coding needed! Just drag and set the schedule, and your workflow runs itself.\n\n---\n\n### \u270f\ufe0f `\u2699\ufe0f Input URL & Params`\n\nHere, you provide the **URL of the 10times event page** (like: `https://10times.com/ces/exhibitors`). You can customize or hardcode this value.\n\n> \ud83d\udcd8 *Tip:* You can turn this into a form or connect it to a database to auto-feed event URLs.\n\n---\n\n## \ud83e\udd16 **SECTION 2: Smart Scraping via AI Agent**\n\nThis is where the **heavy lifting** happens using Bright Data\u2019s **Mobile Carrier Proxy (MCP)** and OpenAI\u2019s logic to bypass website protections.\n\n---\n\n### \ud83e\udde0 `\ud83e\udd16 Bright Data AI Agent`\n\nThis node coordinates scraping. It tells the agent exactly:\n\n* Which URL to open\n* What to extract (like attendees, venues, events)\n* How to format the response (in markdown or JSON)\n\n> \u26a1 *Why it's powerful:* The AI Agent understands human-like prompts and adapts scraping automatically.\n\n---\n\n#### \ud83e\udde0 `\ud83e\udde0 Agent Memory Model`\n\nHelps the Agent remember its instructions or carry session context (e.g., \"continue scrolling\", \"grab the next batch\").\n\n---\n\n#### \ud83c\udf10 `\ud83d\udd77\ufe0f MCP Scraper: 10times`\n\nThis is the **actual web scraper** running on **Bright Data\u2019s mobile proxy** \u2014 which mimics a real mobile device to avoid bot detection. It loads JavaScript, scrolls pages, and handles dynamic content.\n\n> \ud83d\udee1\ufe0f *Biggest Advantage:* Can access pages that block most traditional scrapers!\n\n---\n\n#### \ud83d\udcc4 `\ud83e\uddfe Parse Attendee Data`\n\nUses the **Structured Output Parser** to turn messy scraped markdown into clean, structured JSON with fields like:\n\n* `categories`\n* `featured_events`\n* `attendee_feedback`\n* `venues`\n\n> \ud83e\udde9 *Tip:* This is the secret to clean automation \u2014 parsed data can now be reused, filtered, or enriched!\n\n---\n\n## \ud83d\udcca **SECTION 3: Save & Reuse the Leads**\n\n### \ud83d\udce5 `\ud83d\udce5 Save to Google Sheets`\n\nThis node stores each piece of parsed data (e.g., 1 attendee feedback per row) into your connected **Google Sheets** document.\n\n* Each row is tagged with a `type` (like `category`, `venue`, etc.)\n* You can filter, analyze, or export this for marketing, research, outreach, etc.\n\n> \ud83d\udcbc *Business Use:* Build a database of trending events, track where competitors exhibit, or generate cold outreach leads.\n\n---\n\n## \u2705 Summary for Beginners\n\n| \ud83e\udde9 Feature | \ud83d\udca1 Purpose | \ud83d\udc76 Beginner Tip |\n| --------------- | ---------------------------------------------------------- | -------------------------------------------------- |\n| Trigger & Input | Decide **when and what** to scrape | No code needed \u2014 just set your event URL |\n| AI Agent & MCP | Use **AI-powered scraper** to get around anti-bot barriers | Agent uses natural language, no selector headaches |\n| Parser | Clean your data into usable format | Plug-and-play output with titles, dates, users |\n| Google Sheets | **Save your leads** for marketing or research | Auto-fills your spreadsheet \u2014 no copy-paste needed |\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "0cd21ab6-0482-4948-a601-3bf2cc3b8264",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1540,
-520
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
},
{
"id": "de5252a5-bc2b-4014-bb53-2891dd5d58af",
"name": "Auto-fixing Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
820,
320
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "4c8802f0-0dfd-4452-b413-b4b049820cef",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
780,
560
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "35f9f084-8513-4170-bf77-bf28efb732a1",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
960,
540
],
"parameters": {
"jsonSchemaExample": "{\n \"categories\": [\n \"Education & Training\",\n \"Medical & Pharma\",\n \"IT & Technology\",\n \"Banking & Finance\",\n \"Business Services\",\n \"Entertainment & Media\",\n \"Industrial Engineering\"\n ],\n \"featured_events\": [\n {\n \"name\": \"Texworld New York City\",\n \"date\": \"Wed, 23 - Fri, 25 Jul 2025\",\n \"location\": \"New York, USA\"\n },\n {\n \"name\": \"Home Textiles Sourcing Expo\",\n \"date\": \"Wed, 23 - Fri, 25 Jul 2025\",\n \"location\": \"New York, USA\"\n },\n {\n \"name\": \"Texworld Los Angeles\",\n \"date\": \"Tue, 29 - Thu, 31 Jul 2025\",\n \"location\": \"Los Angeles, USA\"\n }\n ],\n \"attendee_feedback\": [\n {\n \"event\": \"Restaurants Canada Show\",\n \"comment\": \"Great preparations\",\n \"user\": \"MARIAH NDAGIRE\",\n \"country\": \"Canada\"\n },\n {\n \"event\": \"WoodEX for Africa\",\n \"comment\": \"Great event, well organised...\",\n \"user\": \"Kgometji Thosago\",\n \"country\": \"South Africa\"\n },\n {\n \"event\": \"International Hardware Fair Saudi Arabia\",\n \"comment\": \"Well organised and clean setup...\",\n \"user\": \"Taha Khan\",\n \"country\": \"Saudi Arabia\"\n },\n {\n \"event\": \"World Environment Expo\",\n \"comment\": \"Very nice exhibition with lots of new information...\",\n \"user\": \"Chauhansir\",\n \"country\": \"India\"\n },\n {\n \"event\": \"IGC Grains Conference\",\n \"comment\": \"Learnt a lot...\",\n \"user\": \"AbdulFatai Suleiman\",\n \"country\": \"Nigeria\"\n }\n ],\n \"venues\": [\n {\n \"name\": \"Jio World Convention Centre\",\n \"city\": \"Mumbai\",\n \"country\": \"India\",\n \"total_events\": 204\n },\n {\n \"name\": \"ExCeL London\",\n \"city\": \"London\",\n \"country\": \"United Kingdom\",\n \"total_events\": 815\n },\n {\n \"name\": \"Melbourne Convention and Exhibition Centre\",\n \"city\": \"Melbourne\",\n \"country\": \"Australia\",\n \"total_events\": 1028\n }\n ]\n}\n"
},
"typeVersion": 1.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "34c237ed-c5b5-460e-a596-42bf236c5422",
"connections": {
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"\ud83d\udd52 Schedule Scraper": {
"main": [
[
{
"node": "\u2699\ufe0f Input URL & Params",
"type": "main",
"index": 0
}
]
]
},
"\ud83e\udde0 Agent Memory Model": {
"ai_languageModel": [
[
{
"node": "\ud83e\udd16 Bright Data AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Auto-fixing Output Parser": {
"ai_outputParser": [
[
{
"node": "\ud83e\udd16 Bright Data AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"\u2699\ufe0f Input URL & Params": {
"main": [
[
{
"node": "\ud83e\udd16 Bright Data AI Agent",
"type": "main",
"index": 0
}
]
]
},
"\ud83e\udd16 Bright Data AI Agent": {
"main": [
[
{
"node": "\ud83d\udce5 Save to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udd77\ufe0f MCP Scraper: 10times": {
"ai_tool": [
[
{
"node": "\ud83e\udd16 Bright Data AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}
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.
googleSheetsOAuth2ApimcpClientApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
Source: https://n8n.io/workflows/5947/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Note: This template is for self-hosted n8n instances only
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
This workflow automatically monitors competitor pricing across multiple products and services to track market positioning and pricing strategies. It saves you time by eliminating the need to manually
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.
This workflow automatically analyzes sales territory performance, comparing revenue, win rates, and activity across regions. Remove the guesswork from territory planning and drive balanced growth.