Workflow: Manual Stickynote Automation

Workflow Details

Download Workflow
{
    "id": "ReXF4z8ZKcEd6Kea",
    "meta": {
        "instanceId": "10e1a946d44026e16f5f1b336bb25f918a0e45738f9dee8024757614581d7d73"
    },
    "name": "dub.co URL Shortener",
    "tags": [],
    "nodes": [
        {
            "id": "63170148-b769-43b6-9a7a-02baa9f76b02",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1480,
                1100
            ],
            "parameters": {
                "color": 4,
                "width": 346.4519761795601198173244483768939971923828125,
                "height": 227.395969965532486867232364602386951446533203125,
                "content": "## Dub.co API Limits:\nDub\u2019s API is capped at 10 requests per second per user."
            },
            "typeVersion": 1
        },
        {
            "id": "defd82ef-25a0-4aa4-8681-d352e5fe8275",
            "name": "When clicking \"Test Workflow\"",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                1231,
                560
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "fec7fb8a-3f88-4de9-8392-5c7929a712e7",
            "name": "Sticky Note4",
            "type": "n8n-nodes-base.stickyNote",
            "disabled": true,
            "position": [
                1480,
                460
            ],
            "parameters": {
                "color": 4,
                "width": 826.45789512252713393536396324634552001953125,
                "height": 605.7992490141105008660815656185150146484375,
                "content": "## Dub.co API\n**Create** Link. [Based on their API docs](https:\/\/dub.co\/docs\/api-reference\/endpoint\/create-a-new-link)"
            },
            "typeVersion": 1
        },
        {
            "id": "8c87aad8-519c-491b-b272-f21dfd5b069f",
            "name": "Sticky Note5",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1171,
                460
            ],
            "parameters": {
                "height": 870.5323777622334091574884951114654541015625,
                "content": "## Control Stack"
            },
            "typeVersion": 1
        },
        {
            "id": "a6cfe224-95d9-47d6-a900-667eed065264",
            "name": "Sticky Note6",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                486,
                460
            ],
            "parameters": {
                "width": 655.6800599837106346967630088329315185546875,
                "height": 462.295779228095852886326611042022705078125,
                "content": "# README\n\n## Dub.co API Workflow Configuration\n| Required | Input Field           | Description                                      |\n|----------|-----------------------|--------------------------------------------------|\n|\u2713| **`Dub API Key`**     | _API Key for Dub.co integration._                 |\n|\u2713| **`Long URL`**               | _The long URL to be shortened._                    |\n| | **`Custom Slug`**           | _Slug is the path of shortened URL - default is random 7 characters._               |\n|\u2713| **`Project Slug`**                  | _Enter Your Dub project slug, The slug for the project to create links for. E.g. for app.dub.co\/acme, the project slug is 'acme'._                   |\n| | **`Custom Domain`** | _Custom domain linked to Dub.co._                 |\n\n\n\n\n\n\n\nYou'll need to add the details listed above in the \"API Auth\" node by clicking on it and filling the fields ==>"
            },
            "typeVersion": 1
        },
        {
            "id": "f3164150-9730-4d20-9aef-9ae7f84e73fc",
            "name": "API Auth",
            "type": "n8n-nodes-base.set",
            "position": [
                1240,
                820
            ],
            "parameters": {
                "fields": {
                    "values": [
                        {
                            "name": "Dub API Key",
                            "stringValue": "=<Required: Get your Dub API Key from https:\/\/app.dub.co\/settings\/tokens>"
                        },
                        {
                            "name": "Long URL",
                            "stringValue": "https:\/\/n8n.io"
                        },
                        {
                            "name": "Custom Slug",
                            "stringValue": "=<Optional: Slug is the path of shortened URL - default is random 7 characters>"
                        },
                        {
                            "name": "Project Slug",
                            "stringValue": "=<Required: Enter Your Dub project slug, The slug for the project to create links for. E.g. for app.dub.co\/acme, the project slug is 'acme'.>"
                        },
                        {
                            "name": "Custom Domain",
                            "stringValue": "=<Optional: The domain of the short link. If not provided, the primary domain for the project will be used (or dub.sh if the project has no domains)>"
                        }
                    ]
                },
                "options": []
            },
            "typeVersion": 3.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "a2279ab1-6550-43ef-a41d-c24c669bb2b6",
            "name": "CREATE",
            "type": "n8n-nodes-base.httpRequest",
            "notes": "Create Link",
            "position": [
                1540,
                560
            ],
            "parameters": {
                "url": "https:\/\/api.dub.co\/links",
                "method": "POST",
                "options": {
                    "batching": {
                        "batch": {
                            "batchSize": 10,
                            "batchInterval": 60000
                        }
                    },
                    "redirect": {
                        "redirect": []
                    },
                    "response": {
                        "response": {
                            "neverError": true,
                            "fullResponse": true
                        }
                    },
                    "allowUnauthorizedCerts": true
                },
                "jsonBody": "={\n{{ $ifEmpty(`\"domain\": \"${$json[\"Custom Domain\"] || \"undefined\"}\",`, \"\").replace('\"domain\": \"<Optional: The domain of the short link. If not provided, the primary domain for the project will be used (or dub.sh if the project has no domains)>\",', \"\").replace('\"domain\": \"undefined\",', \"\") }}\n{{ $ifEmpty(`\"key\": \"${$json[\"Custom Slug\"] || \"undefined\"}\",`, \"\").replace('\"key\": \"<Optional: Slug is the path of shortened URL - default is random 7 characters>\",', \"\").replace('\"key\": \"undefined\",', \"\") }}\n  \"url\": \"{{ $json[\"Long URL\"] }}\",\n  \"comments\": \"Updated using N8N.io workflow: {{$workflow.name}}\"\n}",
                "sendBody": true,
                "sendQuery": true,
                "sendHeaders": true,
                "specifyBody": "json",
                "queryParameters": {
                    "parameters": [
                        {
                            "name": "projectSlug",
                            "value": "={{ $json[\"Project Slug\"] }}"
                        }
                    ]
                },
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Authorization",
                            "value": "=Bearer {{ $json['Dub API Key'] }}"
                        }
                    ]
                }
            },
            "notesInFlow": true,
            "typeVersion": 4.0999999999999996447286321199499070644378662109375,
            "alwaysOutputData": true
        },
        {
            "id": "970d062f-9206-4ec6-acdd-3fc1cc87db69",
            "name": "IF Slug available",
            "type": "n8n-nodes-base.if",
            "position": [
                1760,
                560
            ],
            "parameters": {
                "conditions": {
                    "string": [
                        {
                            "value1": "={{ $json.statusCode }}",
                            "value2": "200",
                            "operation": "regex"
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "id": "d25eedfd-95a7-4c17-8a76-1cdfae6670d1",
            "name": "RETRIEVE",
            "type": "n8n-nodes-base.httpRequest",
            "notes": "Retrieve the link id",
            "position": [
                1540,
                840
            ],
            "parameters": {
                "url": "=https:\/\/api.dub.co\/links\/info",
                "options": {
                    "batching": {
                        "batch": {
                            "batchSize": 10,
                            "batchInterval": 60000
                        }
                    },
                    "redirect": {
                        "redirect": []
                    },
                    "response": {
                        "response": {
                            "neverError": true,
                            "fullResponse": true
                        }
                    },
                    "allowUnauthorizedCerts": true
                },
                "sendQuery": true,
                "sendHeaders": true,
                "queryParameters": {
                    "parameters": [
                        {
                            "name": "projectSlug",
                            "value": "={{ $('API Auth').item.json[\"Project Slug\"] }}"
                        },
                        {
                            "name": "key",
                            "value": "={{ $('API Auth').item.json[\"Custom Slug\"] }}"
                        },
                        {
                            "name": "domain",
                            "value": "={{ $('API Auth').item.json[\"Custom Domain\"] }}"
                        }
                    ]
                },
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Authorization",
                            "value": "=Bearer {{ $('API Auth').item.json[\"Dub API Key\"] }}"
                        }
                    ]
                }
            },
            "notesInFlow": true,
            "typeVersion": 4.0999999999999996447286321199499070644378662109375,
            "alwaysOutputData": true
        },
        {
            "id": "18bf5187-422c-486e-84c4-c2f79855ba25",
            "name": "UPDATE",
            "type": "n8n-nodes-base.httpRequest",
            "notes": "Update Link",
            "position": [
                1780,
                840
            ],
            "parameters": {
                "url": "=https:\/\/api.dub.co\/links\/{{ $json.body.id }}",
                "method": "PUT",
                "options": {
                    "batching": {
                        "batch": {
                            "batchSize": 10,
                            "batchInterval": 60000
                        }
                    },
                    "redirect": {
                        "redirect": []
                    },
                    "response": {
                        "response": {
                            "neverError": true,
                            "fullResponse": true
                        }
                    },
                    "allowUnauthorizedCerts": true
                },
                "jsonBody": "={\n    {{ $ifEmpty(`\"domain\": \"${$('API Auth').item.json[\"Custom Domain\"] || \"undefined\"}\",`, \"\").replace('\"domain\": \"<Optional: The domain of the short link. If not provided, the primary domain for the project will be used (or dub.sh if the project has no domains)>\",', \"\").replace('\"domain\": \"undefined\",', \"\") }}\n{{ $ifEmpty(`\"key\": \"${$('API Auth').item.json[\"Custom Slug\"] || \"undefined\"}\",`, \"\").replace('\"key\": \"<Optional: Slug is the path of shortened URL - default is random 7 characters>\",', \"\").replace('\"key\": \"undefined\",', \"\") }}\n\n  \"url\": \"{{ $('API Auth').item.json[\"Long URL\"] }}\",\n  \"comments\": \"Updated using N8N.io workflow: {{$workflow.name}}\"\n}",
                "sendBody": true,
                "sendQuery": true,
                "sendHeaders": true,
                "specifyBody": "json",
                "queryParameters": {
                    "parameters": [
                        {
                            "name": "projectSlug",
                            "value": "={{ $('API Auth').item.json[\"Project Slug\"] }}"
                        }
                    ]
                },
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "Authorization",
                            "value": "=Bearer {{ $('API Auth').item.json[\"Dub API Key\"] }}"
                        }
                    ]
                }
            },
            "notesInFlow": true,
            "typeVersion": 4.0999999999999996447286321199499070644378662109375,
            "alwaysOutputData": true
        },
        {
            "id": "c16dc19b-f807-4784-a323-5d790cebe718",
            "name": "Shortened URL",
            "type": "n8n-nodes-base.set",
            "position": [
                2120,
                840
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "Shortened URL",
                            "value": "={{ $json.body.shortLink }}"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 2
        },
        {
            "id": "44d31a47-dd84-4b07-a606-2da99a73cad1",
            "name": "Done",
            "type": "n8n-nodes-base.set",
            "position": [
                1240,
                1060
            ],
            "parameters": {
                "options": []
            },
            "typeVersion": 3.20000000000000017763568394002504646778106689453125
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "3b5edd9c-e373-4dc1-95d0-b320beb47020",
    "connections": {
        "CREATE": {
            "main": [
                [
                    {
                        "node": "IF Slug available",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "UPDATE": {
            "main": [
                [
                    {
                        "node": "Shortened URL",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "API Auth": {
            "main": [
                [
                    {
                        "node": "CREATE",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "RETRIEVE": {
            "main": [
                [
                    {
                        "node": "UPDATE",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Shortened URL": {
            "main": [
                [
                    {
                        "node": "Done",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "IF Slug available": {
            "main": [
                [
                    {
                        "node": "Shortened URL",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "RETRIEVE",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "When clicking \"Test Workflow\"": {
            "main": [
                [
                    {
                        "node": "API Auth",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Discord MCP Chat Agent
View
HTTP Executeworkflow Send Webhook
View
RAG Workflow For Company Documents stored in Google Drive
View
Manual Readbinaryfile Automate Triggered
View
Datetime Schedule Create Webhook
View
Manual Openai Export Triggered
View
Syncro Alert to OpsGenie
View
Use any LLM-Model via OpenRouter
View
Intercom Code Create Webhook
View
Manual Gmail Automation Triggered
View