Workflow: N8Ntrainingcustomermessenger Wait Create

Workflow Details

Download Workflow
{
    "nodes": [
        {
            "name": "On clicking 'execute'",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                400,
                520
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "name": "Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1500,
                360
            ],
            "parameters": {
                "width": 780,
                "height": 360,
                "content": "## 2. Wait for an external event\nUse this operation when an external step is needed in order to continue with the rest of the workflow.\nFor example - a workflow sends a purchase approval link to the merchant (using Gmail, Slack etc..) and waits for the merchant to click on it before continuing with the rest of the steps.\n\nIn this example, the `Customer Messenger` node mimics the email or messaging node.\n"
            },
            "typeVersion": 1
        },
        {
            "name": "Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                200,
                380
            ],
            "parameters": {
                "width": 300,
                "height": 120,
                "content": "### Click the `Execute Workflow` button and double click on the nodes to see the input and output items."
            },
            "typeVersion": 1
        },
        {
            "name": "Create approval URL",
            "type": "n8n-nodes-base.set",
            "position": [
                1540,
                520
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "URL",
                            "value": "={{$resumeWebhookUrl}}?name=nathan"
                        }
                    ]
                },
                "options": [],
                "keepOnlySet": true
            },
            "typeVersion": 1
        },
        {
            "name": "Wait for external approval",
            "type": "n8n-nodes-base.wait",
            "position": [
                1940,
                520
            ],
            "webhookId": "0bcafff8-9fc1-4415-95b1-00746bb1304d",
            "parameters": {
                "resume": "webhook",
                "options": []
            },
            "typeVersion": 1
        },
        {
            "name": "Rest of the workflow placeholder",
            "type": "n8n-nodes-base.noOp",
            "position": [
                2140,
                520
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "name": "Customer Datastore",
            "type": "n8n-nodes-base.n8nTrainingCustomerDatastore",
            "position": [
                580,
                520
            ],
            "parameters": {
                "operation": "getAllPeople",
                "returnAll": true
            },
            "typeVersion": 1
        },
        {
            "name": "SplitInBatches",
            "type": "n8n-nodes-base.splitInBatches",
            "position": [
                760,
                520
            ],
            "parameters": {
                "options": [],
                "batchSize": 1
            },
            "typeVersion": 1
        },
        {
            "name": "Note4",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                540,
                360
            ],
            "parameters": {
                "width": 900,
                "height": 360,
                "content": "## 1. Rate Limiting \nSometimes you need to slow down how often you are contacting a service.\n\nIn this example, `Customer Datastore` node simulates the big batches of requests coming at once, the `SplitInBatches` node handles each one individually in a loop, and the `Wait` node creates a 2 second delay between each message to a customer."
            },
            "typeVersion": 1
        },
        {
            "name": "Wait for time interval",
            "type": "n8n-nodes-base.wait",
            "position": [
                920,
                520
            ],
            "webhookId": "2b72e9d7-75b7-4ef5-87e7-2bfdfdbaa20f",
            "parameters": {
                "unit": "seconds",
                "amount": 2
            },
            "typeVersion": 1
        },
        {
            "name": "If - Are we Finished?",
            "type": "n8n-nodes-base.if",
            "position": [
                1280,
                520
            ],
            "parameters": {
                "conditions": {
                    "boolean": [
                        {
                            "value1": "={{$node[\"SplitInBatches\"].context[\"noItemsLeft\"]}}",
                            "value2": true
                        }
                    ]
                }
            },
            "typeVersion": 1
        },
        {
            "name": "Customer Messenger - Send URL to merchant",
            "type": "n8n-nodes-base.n8nTrainingCustomerMessenger",
            "position": [
                1740,
                520
            ],
            "parameters": {
                "message": "={{$json[\"URL\"]}}",
                "customerId": "1"
            },
            "typeVersion": 1
        },
        {
            "name": "Customer Messenger - Send message to client",
            "type": "n8n-nodes-base.n8nTrainingCustomerMessenger",
            "position": [
                1100,
                520
            ],
            "parameters": {
                "message": "=\nHi {{$node[\"Customer Datastore\"].json[\"name\"]}}\nThis message was sent at {{$now.toLocaleString(DateTime.TIME_WITH_SECONDS)}}",
                "customerId": "={{$node[\"Customer Datastore\"].json[\"id\"]}}"
            },
            "typeVersion": 1
        }
    ],
    "connections": {
        "SplitInBatches": {
            "main": [
                [
                    {
                        "node": "Wait for time interval",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Customer Datastore": {
            "main": [
                [
                    {
                        "node": "SplitInBatches",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create approval URL": {
            "main": [
                [
                    {
                        "node": "Customer Messenger - Send URL to merchant",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "If - Are we Finished?": {
            "main": [
                [
                    {
                        "node": "Create approval URL",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "SplitInBatches",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "On clicking 'execute'": {
            "main": [
                [
                    {
                        "node": "Customer Datastore",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Wait for time interval": {
            "main": [
                [
                    {
                        "node": "Customer Messenger - Send message to client",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Wait for external approval": {
            "main": [
                [
                    {
                        "node": "Rest of the workflow placeholder",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Customer Messenger - Send URL to merchant": {
            "main": [
                [
                    {
                        "node": "Wait for external approval",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Customer Messenger - Send message to client": {
            "main": [
                [
                    {
                        "node": "If - Are we Finished?",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

SERPBear analytics template
View
Google analytics template
View
Sell a Used Car
View
Splitout Extractfromfile Create Webhook
View
Telegram Webhook Automation Webhook
View
Mailchimp
View
Telegram Webhook Automation Webhook
View
Email
View
GoogleSheets Cron Automation Scheduled
View
Slack Hunter Send Webhook
View