n8n Workflow

Demo Workflow How To Use Workflowstaticdata

This n8n workflow automates tasks and integrates with various services. Demo Workflow How To Use Workflowstaticdata - ready to import and run in your n8n instance.

n8n workflow.json

About This Script

This n8n workflow automates tasks and integrates with various services. Demo Workflow How To Use Workflowstaticdata - ready to import and run in your n8n instance.
Features:
  • Receives webhook events
  • Makes HTTP requests to external APIs
  • Scheduled automation with cron triggers
  • Conditional logic and branching
Source Code
{
    "nodes": [
        {
            "id": "517fad39-50ec-4eae-94c4-aca5b111a093",
            "name": "Webhook",
            "type": "n8n-nodes-base.webhook",
            "position": [
                -120,
                -100
            ],
            "webhookId": "a227afae-e16e-44c2-bb5c-e69fe553b455",
            "parameters": {
                "path": "a227afae-e16e-44c2-bb5c-e69fe553b455",
                "options": []
            },
            "typeVersion": 2
        },
        {
            "id": "cbd978df-9b95-4148-a054-7772213f5b8f",
            "name": "continue with valid token",
            "type": "n8n-nodes-base.noOp",
            "position": [
                1020,
                -40
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "65167cf9-3ec5-4727-a604-a318e86bb54e",
            "name": "get new accessToken",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                560,
                80
            ],
            "parameters": {
                "url": "http://your-api.com",
                "options": {
                    "response": {
                        "response": {
                            "fullResponse": true
                        }
                    }
                }
            },
            "notesInFlow": false,
            "typeVersion": 4.2
        },
        {
            "id": "b17e01d2-c43a-486f-ab08-d81e05f8d110",
            "name": "2. set token in static data",
            "type": "n8n-nodes-base.code",
            "position": [
                780,
                80
            ],
            "parameters": {
                "jsCode": "const workflowStaticData = $getWorkflowStaticData('global');\n\n// get new access token\nworkflowStaticData.accessToken = $input.first().json.AccessToken;\n// set timestamp of new access token\nworkflowStaticData.timestamp = $now.toISO().toString();\n\nreturn [\n  {\n      // data: $input.all(),\n      accessToken: workflowStaticData.accessToken,\n      timestamp: workflowStaticData.timestamp,\n      // today: $today\n  }\n];"
            },
            "typeVersion": 2
        },
        {
            "id": "31fd494a-f323-47cc-8f89-0bb2f2332e0f",
            "name": "Schedule Trigger",
            "type": "n8n-nodes-base.scheduleTrigger",
            "position": [
                -120,
                60
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        []
                    ]
                }
            },
            "typeVersion": 1.2
        },
        {
            "id": "77623419-99f9-4369-9546-375eaf6f5732",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -180,
                240
            ],
            "parameters": {
                "width": 660,
                "height": 400,
                "content": "Configuration note: update with your credentials or endpoint.",
                "color": "#FFF59D"
            },
            "typeVersion": 1
        },
        {
            "id": "e4cbdbf7-7b3d-4c52-9d41-bc427d63df5d",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                520,
                60
            ],
            "parameters": {
                "color": "#FFF59D",
                "width": 180,
                "height": 420,
                "content": "Configuration note: update with your credentials or endpoint."
            },
            "typeVersion": 1
        },
        {
            "id": "bed68570-bf35-4fa9-984c-1b67a53b59ba",
            "name": "if token is valid",
            "type": "n8n-nodes-base.if",
            "notes": "(1 minute expiration)",
            "position": [
                340,
                -20
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "version": 2,
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "loose"
                    },
                    "combinator": "and",
                    "conditions": [
                        {
                            "id": "65f5c979-3e7d-4e50-92c3-3ae39f1bba3d",
                            "operator": {
                                "type": "dateTime",
                                "operation": "afterOrEquals"
                            },
                            "leftValue": "={{ $json.timestamp }}",
                            "rightValue": "={{ $now.minus(1,'minute') }}"
                        }
                    ]
                },
                "looseTypeValidation": true
            },
            "notesInFlow": true,
            "typeVersion": 2.2
        },
        {
            "id": "57a4f5f9-eb77-4fd4-b6b1-55137f108374",
            "name": "1. initiate static data",
            "type": "n8n-nodes-base.code",
            "position": [
                120,
                -20
            ],
            "parameters": {
                "jsCode": "// initialize staticData object\nconst workflowStaticData = $getWorkflowStaticData('global');\n\n// initialize accessToken on staticData if it desn't exist yet\nif (!workflowStaticData.hasOwnProperty('accessToken')) {\n  workflowStaticData.accessToken = 0\n}\n\n// initializing any other variables on the staticData object\nif (!workflowStaticData.hasOwnProperty('timestamp')) {\n  workflowStaticData.timestamp = $now.toISO()\n}\n\nreturn [\n  {\n      // data: $input.all(),\n      accessToken: workflowStaticData.accessToken,\n      timestamp: workflowStaticData.timestamp,\n      // today: $today\n  }\n];"
            },
            "notesInFlow": false,
            "typeVersion": 2
        }
    ],
    "connections": {
        "Webhook": {
            "main": [
                [
                    {
                        "node": "1. initiate static data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Schedule Trigger": {
            "main": [
                [
                    {
                        "node": "1. initiate static data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "if token is valid": {
            "main": [
                [
                    {
                        "node": "continue with valid token",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "get new accessToken",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "get new accessToken": {
            "main": [
                [
                    {
                        "node": "2. set token in static data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "1. initiate static data": {
            "main": [
                [
                    {
                        "node": "if token is valid",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "2. set token in static data": {
            "main": [
                [
                    {
                        "node": "continue with valid token",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    },
    "n8n_version": "1.5.0"
}
Requirements
n8n instance, API credentials for connected services
Tags
#n8n #automation #workflow
Quick Actions
More in n8n Workflows