{ "nodes": [ { "id": "2654751b-aa66-40ce-b8a0-79063aa710ad", "name": "Generate OAuth Token", "type": "n8n-nodes-base.httpRequest", "position": [ 820, 460 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {}, "requestMethod": "POST", "bodyParametersUi": { "parameter": [ { "name": "grant_type", "value": "client_credentials" }, { "name": "client_id", "value": "{{client_id}}" }, { "name": "client_secret", "value": "{{client_secret}}" }, { "name": "resource", "value": "{{ $env.API_BASE_URL }}" } ] } }, "typeVersion": 2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "6f713c65-8fbd-4d05-bbef-9b4a1f6248e9", "name": "Fetch SharePoint List", "type": "n8n-nodes-base.httpRequest", "position": [ 1160, 460 ], "parameters": { "url": "{{ $env.API_BASE_URL }}'YourListTitle')/items", "options": {}, "headerParametersUi": { "parameter": [ { "name": "Accept", "value": "application/json;odata=nometadata" }, { "name": "Content-Type", "value": "application/json;odata=verbose" }, { "name": "Authorization", "value": "Bearer {{Token}}" } ] } }, "typeVersion": 2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "d11e9e92-2468-485c-87f5-6de7da7f9589", "name": "Schedule Trigger", "type": "n8n-nodes-base.scheduleTrigger", "position": [ 380, 460 ], "parameters": { "rule": { "interval": [ {} ] } }, "typeVersion": 1.2, "notes": "This scheduleTrigger node performs automated tasks as part of the workflow." }, { "id": "8539f52c-2218-4a47-9678-3e3e8e9fd4c8", "name": "setTenant", "type": "n8n-nodes-base.set", "position": [ 600, 460 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "399d42f3-41e0-4043-9a57-85771bf5cd07", "name": "tenant_id", "type": "string", "value": "" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "5a4fa41c-0726-4528-99a3-b5e0c47c1960", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 580, 220 ], "parameters": { "color": 7, "width": 458, "height": 404, "content": "## Never expose or hard code below values \n**tenant_id,client_id,client_secret** \n\nAlways save these either in secure vault like hashicorp or GCP Secret Manager." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "2654751b-aa66-40ce-b8a0-79063aa710ad": { "main": [ [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-7b0c8df2", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-d08ba58a", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-05a13aab", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-92218980", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-9de81c14", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-be705ea5", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-7354969b", "type": "main", "index": 0 } ], [ { "node": "error-handler-2654751b-aa66-40ce-b8a0-79063aa710ad-7bbbf37c", "type": "main", "index": 0 } ] ] }, "6f713c65-8fbd-4d05-bbef-9b4a1f6248e9": { "main": [ [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-cf4a68bc", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-6ce94633", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-89ccabdb", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-27b74065", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-360b771f", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-a131fdc4", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-bf194430", "type": "main", "index": 0 } ], [ { "node": "error-handler-6f713c65-8fbd-4d05-bbef-9b4a1f6248e9-1e8cad66", "type": "main", "index": 0 } ] ] } }, "name": "Httprequest Workflow", "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "description": "Automated workflow: Httprequest Workflow. This workflow integrates 5 different services: stickyNote, httpRequest, scheduleTrigger, set, stopAndError. It contains 9 nodes and follows best practices for error handling and security.", "meta": { "instanceId": "workflow-1fa3fc93", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:46.065266", "updatedAt": "2025-09-29T07:07:46.065321", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Httprequest Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }