n8n Workflow Builder
Setup
Requires two environment variables:
N8N_URL— n8n instance URL (e.g.https://your-n8n.example.com)N8N_API_KEY— n8n API key (Settings → API → Create API Key)
Workflow
-
Understand the automation — Clarify trigger (webhook/schedule/manual), data sources, processing logic, outputs, and error handling needs.
-
Design the workflow JSON — Build valid n8n workflow JSON following the schema in
references/workflow-schema.md. Use patterns fromreferences/workflow-patterns.mdas templates. -
Deploy via API — Use
scripts/n8n-api.sh create <file>or pipe JSON toscripts/n8n-api.sh create-stdin. -
Activate — Use
scripts/n8n-api.sh activate <workflow_id>for trigger-based workflows. -
Verify — List workflows to confirm deployment:
scripts/n8n-api.sh list.
API Script Reference
# List all workflows
scripts/n8n-api.sh list
# Create workflow from JSON file
scripts/n8n-api.sh create /tmp/workflow.json
# Create from stdin
echo '{"name":"Test",...}' | scripts/n8n-api.sh create-stdin
# Get, activate, deactivate, delete, execute
scripts/n8n-api.sh get <id>
scripts/n8n-api.sh activate <id>
scripts/n8n-api.sh deactivate <id>
scripts/n8n-api.sh delete <id>
scripts/n8n-api.sh execute <id>
# List credentials and tags
scripts/n8n-api.sh credentials
scripts/n8n-api.sh tags
Building Workflow JSON
Every workflow needs: name, nodes[], connections{}, settings{}.
Every node needs: id, name, type, typeVersion, position, parameters.
Connections use source node display name as key, mapping outputs to target nodes.
For full schema, node types, and expression syntax → read references/workflow-schema.md
For complete workflow examples (webhook, schedule, AI agent, DB sync, error handling) → read references/workflow-patterns.md
Key Rules
- Always set
"executionOrder": "v1"in settings - Node names must be unique within a workflow
- Node IDs must be unique — use descriptive slugs like
webhook1,code1 - Position nodes starting at
[250, 300], spacing ~200px horizontally - IF nodes have two outputs: index 0 = true, index 1 = false
- Webhook workflows need
respondToWebhooknode ifresponseModeisresponseNode - Credentials must exist in n8n before activation — check with
scripts/n8n-api.sh credentials - Test before activating — use
scripts/n8n-api.sh execute <id>for manual trigger workflows - Use
continueOnFail: trueon risky HTTP/API nodes, then check for errors downstream
Common Real Estate Workflows
- Lead intake: Webhook → validate → dedupe → insert DB → notify Slack/SMS
- Call follow-up: Schedule → query DB for completed calls → send SMS/email based on outcome
- Drip campaign: Schedule → query leads by stage → send stage-appropriate email/SMS
- CRM sync: Webhook → transform → update HubSpot/Salesforce + internal DB
- Property alerts: Schedule → scrape/API listings → filter new → notify leads
- AI qualification: Webhook → AI Agent (classify lead intent) → route to appropriate pipeline