This workflow corresponds to n8n.io template #7033 — we link there as the canonical source.
This workflow follows the Form Trigger → HTTP Request 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": "qmhqkZH8DhISWMmc",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "N8N + Browser Use Cloud API",
"tags": [],
"nodes": [
{
"id": "81166dab-eb91-4627-b773-1aa7f7bd86ee",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-480,
176
],
"parameters": {
"path": "get-research-data",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "b38737cc-0b8a-4a76-930f-362eb5de9ef9",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
-256,
176
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8d9701b6-1dc2-4e55-9fe4-ef1735ff1ebc",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.payload.status }}",
"rightValue": "finished"
},
{
"id": "7cf18a23-f3d8-4a70-a77c-c286a231fc7f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.payload.metadata.source }}",
"rightValue": "n8n-competitor-demo"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "fcfc33dd-7d8a-460b-838d-955c65416aea",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-336,
-64
],
"parameters": {
"options": {},
"formTitle": "Run Competitor Analysis",
"formFields": {
"values": [
{
"fieldLabel": "Competitor Name",
"placeholder": "(e.g. OpenAI)",
"requiredField": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d10bef40-e2a3-41ff-a507-4f365c13dc52",
"name": "BrowserUse Run Task",
"type": "n8n-nodes-base.httpRequest",
"position": [
-112,
-64
],
"parameters": {
"url": "https://api.browser-use.com/api/v1/run-task",
"method": "POST",
"options": {},
"jsonBody": "={\n \"task\": \"Do exhaustive research on {{ $json['Competitor Name'] }} and extract all pricing information, job postings, new features and announcements\",\n \"save_browser_data\": true,\n \"structured_output_json\": \"{\\n \\\"pricing\\\": {\\n \\\"plans\\\": [\\\"string\\\"],\\n \\\"prices\\\": [\\\"string\\\"],\\n \\\"features\\\": [\\\"string\\\"]\\n },\\n \\\"jobs\\\": {\\n \\\"titles\\\": [\\\"string\\\"],\\n \\\"departments\\\": [\\\"string\\\"],\\n \\\"locations\\\": [\\\"string\\\"]\\n },\\n \\\"new_features\\\": {\\n \\\"titles\\\": [\\\"string\\\"],\\n \\\"description\\\": [\\\"string\\\"]\\n },\\n \\\"announcements\\\": {\\n \\\"titles\\\": [\\\"string\\\"],\\n \\\"description\\\": [\\\"string\\\"]\\n }\\n}\",\n\"metadata\": {\"source\": \"n8n-competitor-demo\"}\n} ",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth",
"headerParameters": {
"parameters": [
{}
]
}
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "e49c28ff-11a2-4195-94ab-ca5796572c34",
"name": "Get Task details",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
144
],
"parameters": {
"url": "=https://api.browser-use.com/api/v1/task/{{ $('Webhook').item.json.body.payload.session_id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth"
},
"credentials": {
"httpBearerAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "54bc087d-237d-438a-b688-bcbec25d9c45",
"name": "Generate Slack message",
"type": "n8n-nodes-base.code",
"position": [
208,
144
],
"parameters": {
"jsCode": "const output_data = $input.first().json.output;\nconst data = JSON.parse(output_data);\n\nconst pricing = data?.pricing;\nconst jobs = data?.jobs;\nconst newFeatures = data?.new_features;\nconst announcements = data?.announcements;\n\n// Helper function to format arrays as bullet points\nconst formatAsBullets = (arr, prefix = \"\u2022 \") => {\n if (!arr || arr.length === 0) return \"\u2022 N/A\";\n return arr.map(item => `${prefix}${item}`).join(\"\\n\");\n};\n\nreturn {\n text: `\ud83c\udff7\ufe0f *Pricing*\nPlans:\n${formatAsBullets(pricing?.plans)}\n\nPrices:\n${formatAsBullets(pricing?.prices)}\n\nFeatures:\n${formatAsBullets(pricing?.features)}\n\n\ud83d\udcbc *Jobs*\nTitles:\n${formatAsBullets(jobs?.titles)}\n\nDepartments:\n${formatAsBullets(jobs?.departments)}\n\nLocations:\n${formatAsBullets(jobs?.locations)}\n\n\u2728 *New Features*\nTitles:\n${formatAsBullets(newFeatures?.titles)}\n\nDescription:\n${formatAsBullets(newFeatures?.description)}\n\n\ud83d\udce2 *Announcements*\n${formatAsBullets(announcements?.description)}`\n};"
},
"typeVersion": 2
},
{
"id": "969a16f0-677b-4e46-a8bb-57a80b5daf07",
"name": "Send to Slack",
"type": "n8n-nodes-base.httpRequest",
"position": [
432,
144
],
"parameters": {
"url": "",
"method": "POST",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "text",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 4.2
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "f3b38678-4821-41ad-952c-df9bbba40fc8",
"connections": {
"If": {
"main": [
[
{
"node": "Get Task details",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Get Task details": {
"main": [
[
{
"node": "Generate Slack message",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "BrowserUse Run Task",
"type": "main",
"index": 0
}
]
]
},
"Generate Slack message": {
"main": [
[
{
"node": "Send to Slack",
"type": "main",
"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.
httpBearerAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
A sample demo showing how to integrate Browser Use Cloud API with N8N workflows. This template demonstrates AI-powered web research automation by collecting competitor intelligence and delivering formatted results to Slack. Form trigger accepts competitor name input Browser Use…
Source: https://n8n.io/workflows/7033/ — 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.
Easily generate images with Black Forest's Flux Text-to-Image AI models using Hugging Face’s Inference API. This template serves a webform where you can enter prompts and select predefined visual styl
Paste your meeting link into a simple form and submit. The workflow instantly sends your Fireflies recording bot to the meeting — no dashboard login, no navigation, no clicking through menus. You get
This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di
This flow creates dummy files for every item added in your *Arrs (Radarr/Sonarr) with the tag .
This workflow acts as a central API gateway for all technical indicator agents in the Binance Spot Market Quant AI system. It listens for incoming webhook requests and dynamically routes them to the c