Workflow: Extract & Summarize Yelp Business Review with Bright Data and Google Gemini
Integrations: httpRequest, manualTrigger, merge, noOp, set, stickyNote

{"id": "cKFPrgXstN3JgdJs", "meta": {"instanceId": "workflow-36a9fe29", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:50.170384", "updatedAt": "2025-09-29T07:07:50.170434", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "Extract & Summarize Yelp Business Review with Bright Data and Google Gemini", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "b7847e5b-1855-4bce-a9ba-123053085f99", "name": "When clicking \u2018Test workflow\u2019", "type": "n8n-nodes-base.manualTrigger", "position": [340, -535], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow."}, {"id": "9bee5052-3aeb-4a76-a688-3128c20877ec", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [780, -820], "parameters": {"width": 420, "height": 220, "content": "## LLM Usages\n\nGoogle Gemini Flash Exp model is being used.\n\nBasic LLM Chain with the Output parser for building the structured data.\n\nSummarization Chain to summarize the structured response."}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "ee05bcc3-0971-4e8c-9e2d-89708fc4ecf4", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [320, -820], "parameters": {"width": 400, "height": 220, "content": "## Note\n\nDeals with the Yelp Business Review data extraction using the Bright Data and LLM for structured data extraction and summarization.\n\n**Please make sure to update the \"Set Yelp URL with the Bright Data Zone\" and the Webhook Notification URL**"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "8917dd4e-75aa-4c51-ba80-577be3573578", "name": "Set Yelp URL with the Bright Data Zone", "type": "n8n-nodes-base.set", "notes": "Set the URL which you are interested to scrap the data", "position": [560, -535], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "1c132dd6-31e4-453b-a8cf-cad9845fe55b", "name": "url", "type": "string", "value": "{{ $env.API_BASE_URL }}"}, {"id": "0fa387df-2511-4228-b6aa-237cceb3e9c7", "name": "zone", "type": "string", "value": "web_unlocker1"}]}}, "notesInFlow": true, "typeVersion": 3.4}, {"id": "4cccab05-2584-4557-a58a-f92cbd67c67e", "name": "HTTP Request to fetch the Yelp Business Reviews", "type": "n8n-nodes-base.httpRequest", "position": [780, -535], "parameters": {"url": "{{ $env.API_BASE_URL }}", "method": "POST", "options": {}, "sendBody": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "bodyParameters": {"parameters": [{"name": "zone", "value": "={{ $json.zone }}"}, {"name": "url", "value": "={{ $json.url }}"}, {"name": "format", "value": "raw"}]}, "genericAuthType": "httpHeaderAuth", "headerParameters": {"parameters": [{}]}}, "credentials": {"httpHeaderAuth": {"id": "kdbqXuxIR8qIxF7y", "name": "Header Auth account"}}, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow."}, {"id": "5b39a992-1902-4afe-9cbb-2fca524a5272", "name": "Google Gemini Chat Model", "type": "n8n-nodes-base.noOp", "position": [1000, -320], "parameters": {"options": {}, "modelName": "models/gemini-2.0-flash-exp"}, "credentials": {"googlePalmApi": {"id": "YeO7dHZnuGBVQKVZ", "name": "Google Gemini(PaLM) Api account"}}, "typeVersion": 1, "notes": "This lmChatGoogleGemini node performs automated tasks as part of the workflow."}, {"id": "dba8b9f8-0739-4f34-9c3a-41ad447c1dd3", "name": "Structured Output Parser", "type": "n8n-nodes-base.noOp", "position": [1160, -320], "parameters": {"jsonSchemaExample": "[\n   {\n     \"restaurant_name\": \"string\",\n     \"location\": \"string\",\n     \"average_rating\": \"float\",\n     \"review_count\": \"int\",\n     \"reviews\": [\n      {\n        \"reviewer\": \"string\",\n        \"rating\": \"float\",\n        \"date\": \"YYYY-MM-DD\",\n        \"text\": \"string\"\n      }\n    ]\n   }\n]"}, "typeVersion": 1.2, "notes": "This outputParserStructured node performs automated tasks as part of the workflow."}, {"id": "375dc3e5-02f4-499d-922d-31070188b864", "name": "Summarization Chain", "type": "n8n-nodes-base.noOp", "position": [1376, -660], "parameters": {"options": {"summarizationMethodAndPrompts": {"values": {"prompt": "Write a concise summary of the following:\n\n\n\"{text}\"\n\n", "combineMapPrompt": "=Write a concise summary of the following:\n\n\n\n\n\nCONCISE SUMMARY: {{ $json.output }}"}}}}, "typeVersion": 2, "notes": "This chainSummarization node performs automated tasks as part of the workflow."}, {"id": "3846b2a2-a670-4264-9028-11c5f76770e8", "name": "Merge", "type": "n8n-nodes-base.merge", "position": [1760, -520], "parameters": {}, "typeVersion": 3.1, "notes": "This merge node performs automated tasks as part of the workflow."}, {"id": "5f617e4c-17c2-437b-8a7a-1cdab587c5dd", "name": "Webhook Notifier for the merged response", "type": "n8n-nodes-base.httpRequest", "position": [1972, -535], "parameters": {"url": "{{ $env.WEBHOOK_URL }}", "options": {}, "sendBody": true, "bodyParameters": {"parameters": [{"name": "reviews", "value": "={{ $json.output }}"}, {"name": "summary", "value": "={{ $json.response.text }}"}]}}, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow."}, {"id": "66bd58de-a235-43b3-bb3e-491644aaabd8", "name": "Google Gemini Chat Model for Summarization", "type": "n8n-nodes-base.noOp", "position": [1464, -440], "parameters": {"options": {}, "modelName": "models/gemini-2.0-flash-exp"}, "credentials": {"googlePalmApi": {"id": "YeO7dHZnuGBVQKVZ", "name": "Google Gemini(PaLM) Api account"}}, "typeVersion": 1, "notes": "This lmChatGoogleGemini node performs automated tasks as part of the workflow."}, {"id": "4bd63e0d-5f58-4232-b638-cede71a50f0f", "name": "Structured Data Extractor", "type": "n8n-nodes-base.noOp", "position": [1000, -535], "parameters": {"text": "=Summarize and analyze Yelp reviews {{ $json.data }}", "promptType": "define", "hasOutputParser": true}, "typeVersion": 1.6, "notes": "This chainLlm node performs automated tasks as part of the workflow."}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "32c41687-2a9b-4ab8-b7fb-a34e5111548a", "connections": {"4cccab05-2584-4557-a58a-f92cbd67c67e": {"main": [[{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-1307c0f7", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-4ae6264a", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-31a5ca01", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-bb4d7abc", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-700fa313", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-7cce76ad", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-ca6f7203", "type": "main", "index": 0}], [{"node": "error-handler-4cccab05-2584-4557-a58a-f92cbd67c67e-44752503", "type": "main", "index": 0}]]}, "5f617e4c-17c2-437b-8a7a-1cdab587c5dd": {"main": [[{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-56c163a8", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-cd946544", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-e251d70b", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-b2495d23", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-c14147df", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-b2fa7065", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-2f24be0b", "type": "main", "index": 0}], [{"node": "error-handler-5f617e4c-17c2-437b-8a7a-1cdab587c5dd-49a2aee8", "type": "main", "index": 0}]]}, "5b39a992-1902-4afe-9cbb-2fca524a5272": {"main": [[{"node": "error-handler-5b39a992-1902-4afe-9cbb-2fca524a5272-34ad8131", "type": "main", "index": 0}]]}, "66bd58de-a235-43b3-bb3e-491644aaabd8": {"main": [[{"node": "error-handler-66bd58de-a235-43b3-bb3e-491644aaabd8-70c93545", "type": "main", "index": 0}]]}}, "description": "Automated workflow: Extract & Summarize Yelp Business Review with Bright Data and Google Gemini. This workflow integrates 10 different services: stickyNote, httpRequest, lmChatGoogleGemini, chainLlm, outputParserStructured. It contains 18 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Extract & Summarize Yelp Business Review with Bright Data and Google Gemini. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}