{ "meta": { "instanceId": "openhands-sdk-n8n" }, "nodes": [ { "parameters": { "httpMethod": "POST", "path": "openhands-sdk", "responseMode": "responseNode" }, "id": "webhook-trigger", "name": "Webhook Trigger", "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [240, 300], "webhookId": "openhands-sdk-webhook" }, { "parameters": { "command": "cd /tmp/software-agent-sdk && source .venv/bin/activate && source /home/bam/openhands/.env && python /home/bam/openhands-sdk-wrapper.py \"Build and test project {{ $json.repository.full_name }} - Commit: {{ $json.commits[0].message }}\"", "sessionId": "sdk-session" }, "id": "sdk-execute", "name": "Execute OpenHands SDK", "type": "n8n-nodes-base.ssh", "typeVersion": 2, "position": [460, 300], "credentials": { "sshPassword": { "id": "ai-dev-localhost", "name": "ai-dev-localhost" } } }, { "parameters": { "command": "ls -la /home/bam/*.txt /home/bam/*.py /home/bam/*.js /home/bam/*.json 2>/dev/null | tail -20", "sessionId": "sdk-session" }, "id": "verify-files", "name": "Verify Results", "type": "n8n-nodes-base.ssh", "typeVersion": 2, "position": [680, 300], "credentials": { "sshPassword": { "id": "ai-dev-localhost", "name": "ai-dev-localhost" } } }, { "parameters": { "respondWith": "json", "responseBody": { "status": "success", "message": "OpenHands SDK task completed successfully", "timestamp": "{{ $now }}", "repository": "{{ $json.repository.full_name }}", "commit": "{{ $json.commits[0].message }}", "workflow": "openhands-sdk", "method": "SDK (Docker-free)", "note": "No Docker containers used - pure Python SDK execution" }, "options": {} }, "id": "webhook-response", "name": "Webhook Response", "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1, "position": [900, 300] } ], "connections": { "Webhook Trigger": { "main": [ [ { "node": "Execute OpenHands SDK", "type": "main", "index": 0 } ] ] }, "Execute OpenHands SDK": { "main": [ [ { "node": "Verify Results", "type": "main", "index": 0 } ] ] }, "Verify Results": { "main": [ [ { "node": "Webhook Response", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "settings": { "executionOrder": "v1" }, "staticData": null, "tags": [ "openhands", "sdk", "docker-free", "python" ], "triggerCount": 1, "updatedAt": "2025-11-30T23:50:00.000Z", "versionId": "1", "active": false, "meta": { "templateCredsSetupCompleted": false } }