N8n Openclaw Bridge
by @marlowne12
Connect your OpenClaw agent to n8n to create, trigger, manage, and monitor workflows, enabling natural language automation and execution control without the UI.
clawhub install n8n-openclaw-bridgeπ About This Skill
n8n OpenClaw Bridge β Automate Everything
Connect your OpenClaw agent to n8n for powerful workflow automation. This skill teaches your agent how to create, trigger, manage, and monitor n8n workflows β turning your AI assistant into a full automation operator.
When to Use
Use this skill when:
Triggers: "create a workflow", "trigger automation", "n8n workflow", "automate this process", "set up a webhook", "monitor my workflows", "workflow failed"
Prerequisites
Quick Setup
Add to your agent's TOOLS.md:
## n8n
URL: http://localhost:5678 (or your n8n cloud URL)
API Key: [your-api-key]
Version: 2.x+
Or set environment variables:
export N8N_API_URL="http://localhost:5678"
export N8N_API_KEY="your-api-key-here"
Capabilities
1. Workflow Management
#### List Workflows
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/api/v1/workflows" | jq '.data[] | {id, name, active}'
#### Get Workflow Details
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/api/v1/workflows/{id}" | jq '.'
#### Activate/Deactivate Workflow
# Activate
curl -s -X PATCH -H "X-N8N-API-KEY: $N8N_API_KEY" -H "Content-Type: application/json" \
-d '{"active": true}' "$N8N_API_URL/api/v1/workflows/{id}"Deactivate
curl -s -X PATCH -H "X-N8N-API-KEY: $N8N_API_KEY" -H "Content-Type: application/json" \
-d '{"active": false}' "$N8N_API_URL/api/v1/workflows/{id}"
#### Delete Workflow
curl -s -X DELETE -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/api/v1/workflows/{id}"
2. Trigger Workflows via Webhook
The most common pattern: your agent triggers an n8n workflow by sending data to a webhook.
#### Create a Webhook-Triggered Workflow
When the user says "automate X", build a workflow with a Webhook trigger node:
{
"name": "Agent-Triggered: [Description]",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "agent-trigger-[unique-id]",
"responseMode": "lastNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [250, 300],
"id": "webhook-node",
"name": "Agent Webhook"
}
],
"connections": {},
"settings": {
"executionOrder": "v1"
}
}
#### Trigger the Webhook
curl -s -X POST "$N8N_API_URL/webhook/agent-trigger-[unique-id]" \
-H "Content-Type: application/json" \
-d '{"message": "Hello from OpenClaw", "data": {...}}'
3. Execution Monitoring
#### List Recent Executions
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" \
"$N8N_API_URL/api/v1/executions?limit=10&status=error" | jq '.data[] | {id, workflowId, status, startedAt}'
#### Get Execution Details (for debugging)
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" \
"$N8N_API_URL/api/v1/executions/{id}" | jq '.'
#### Retry Failed Execution
curl -s -X POST -H "X-N8N-API-KEY: $N8N_API_KEY" \
"$N8N_API_URL/api/v1/executions/{id}/retry"
4. Create Workflows from Natural Language
When the user describes an automation, translate it to an n8n workflow. Follow these patterns:
#### Pattern: Webhook β Process β Notify Use for: "When X happens, do Y, then tell me"
Webhook Trigger β [Processing Nodes] β Telegram/Slack/Email
#### Pattern: Schedule β Collect β Report Use for: "Every morning, check X and send me a summary"
Schedule Trigger β HTTP Request(s) β Function (aggregate) β Message
#### Pattern: Webhook β AI β Action Use for: "When I send data, have AI analyze it and take action"
Webhook β OpenAI/Anthropic Node β IF Node β [Action Branches]
#### Pattern: Monitor β Alert Use for: "Watch for errors/changes and alert me"
Schedule (every 5min) β HTTP Request β IF (changed?) β Alert
5. Common Workflow Templates
#### Lead Notification Pipeline Agent finds a lead β triggers n8n β n8n sends to CRM + sends notification
# Agent triggers this when it qualifies a lead
curl -s -X POST "$N8N_API_URL/webhook/new-lead" \
-H "Content-Type: application/json" \
-d '{
"business_name": "Willis Plumbing",
"contact": "John Willis",
"email": "john@willisplumbing.com",
"score": 85,
"source": "google_maps",
"notes": "4.2 stars, 180 reviews, no website optimization"
}'
#### Content Publishing Pipeline Agent writes content β triggers n8n β n8n posts to multiple platforms
# Agent triggers this when content is approved
curl -s -X POST "$N8N_API_URL/webhook/publish-content" \
-H "Content-Type: application/json" \
-d '{
"title": "5 Ways AI Helps Local Businesses",
"body": "...",
"platforms": ["linkedin", "twitter", "blog"],
"schedule": "2026-03-23T09:00:00Z"
}'
#### Website Monitor n8n checks competitor sites on schedule, sends changes to agent via webhook
#### Email Digest n8n collects emails/notifications β sends daily summary to agent's channel
6. Building Workflows Programmatically
#### Create a Complete Workflow via API
curl -s -X POST -H "X-N8N-API-KEY: $N8N_API_KEY" \
-H "Content-Type: application/json" \
"$N8N_API_URL/api/v1/workflows" \
-d @workflow.json
#### Workflow JSON Structure Every n8n workflow follows this structure:
{
"name": "Workflow Name",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.nodeName",
"typeVersion": 1,
"position": [x, y],
"id": "unique-id",
"name": "Display Name"
}
],
"connections": {
"Source Node Name": {
"main": [
[
{
"node": "Target Node Name",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
}
}
Critical rules for valid workflows:
connections reference nodes by their name field (not id)typeVersion 2 for Webhook nodes (v2 supports response modes)executionOrder: "v1" in settings7. Credential Management
#### List Available Credentials
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" \
"$N8N_API_URL/api/v1/credentials" | jq '.data[] | {id, name, type}'
Note: You can list and reference credentials by ID, but you cannot read credential secrets via the API (security). To use a credential in a workflow node, reference it by ID:
{
"parameters": {...},
"credentials": {
"telegramApi": {
"id": "1",
"name": "Telegram Bot"
}
}
}
Agent Integration Patterns
The Dispatch Pattern (Recommended)
Your OpenClaw agent acts as the brain. n8n acts as the hands.User Request β Agent (understands intent, plans) β Triggers n8n Webhook β n8n Executes
β
User β Agent (formats response) β Webhook Callback β n8n Returns Result
How to implement: 1. Create n8n workflows with webhook triggers for each automation 2. Store webhook URLs in TOOLS.md 3. Agent decides WHEN to trigger based on context 4. n8n handles the HOW (API calls, data transforms, multi-step processes)
The Monitor Pattern
n8n runs scheduled checks. When something interesting happens, it notifies the agent.n8n (scheduled) β Checks data source β Changed? β Sends to Agent webhook/channel
β
Agent processes notification, decides next action
The Approval Pattern
Agent needs human approval before n8n executes an action.Agent β Asks user for approval (Telegram/Discord) β User approves
β
Agent triggers n8n webhook with approved payload β n8n executes
Error Handling
When a workflow execution fails:
1. Check execution status β List recent failed executions 2. Read error details β Get the specific execution to see which node failed and why 3. Common fixes: - Authentication expired β Re-authenticate the credential in n8n UI - Rate limited β Add a Wait node before the failing node - Data format wrong β Add a Function node to transform data before the failing node - Webhook timeout β Increase timeout or use async response mode 4. Retry β Use the retry API endpoint 5. Alert user β If the workflow is critical and keeps failing
Best Practices
1. Name workflows clearly β Prefix with "Agent:" so you know which ones the agent manages 2. Use test webhooks first β n8n provides test webhook URLs; use those during development 3. Store webhook URLs in TOOLS.md β The agent needs to know where to send data 4. Add error handling nodes β Every workflow should have an Error Trigger node that notifies the agent 5. Log executions β Keep execution history enabled for debugging 6. One workflow per automation β Don't create mega-workflows; keep them focused 7. Use environment variables β Store API keys in n8n's environment, not in workflow nodes 8. Version your workflows β Export important workflows as JSON backups
Troubleshooting
| Issue | Solution |
|-------|----------|
| Webhook not responding | Check workflow is activated (active: true) |
| 401 on API calls | Verify API key is correct and has required scopes |
| Workflow creates but won't activate | Check for validation errors in nodes |
| Execution succeeds but no output | Check response mode on webhook (should be lastNode) |
| Can't find credential ID | List credentials via API, match by name |
| Connection refused | Verify n8n URL is accessible (Docker networking, firewall) |
Quick Reference
# Health check
curl -s "$N8N_API_URL/healthz"List all workflows
curl -s -H "X-N8N-API-KEY: $KEY" "$N8N_API_URL/api/v1/workflows" | jq '.data[] | .name'Trigger webhook
curl -s -X POST "$N8N_API_URL/webhook/[path]" -H "Content-Type: application/json" -d '{...}'Check failed executions
curl -s -H "X-N8N-API-KEY: $KEY" "$N8N_API_URL/api/v1/executions?status=error&limit=5"Create workflow from file
curl -s -X POST -H "X-N8N-API-KEY: $KEY" -H "Content-Type: application/json" "$N8N_API_URL/api/v1/workflows" -d @workflow.json
*Built by Max | Part of the OpenClaw Setup Service ecosystem | https://marlowne12.github.io/openclaw-setup-service/*
β‘ When to Use
βοΈ Configuration
Quick Setup
Add to your agent's TOOLS.md:
```markdown
π Tips & Best Practices
1. Name workflows clearly β Prefix with "Agent:" so you know which ones the agent manages 2. Use test webhooks first β n8n provides test webhook URLs; use those during development 3. Store webhook URLs in TOOLS.md β The agent needs to know where to send data 4. Add error handling nodes β Every workflow should have an Error Trigger node that notifies the agent 5. Log executions β Keep execution history enabled for debugging 6. One workflow per automation β Don't create mega-workflows; keep them focused 7. Use environment variables β Store API keys in n8n's environment, not in workflow nodes 8. Version your workflows β Export important workflows as JSON backups