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

My workflow
View
Splitout GoogleCalendar Create Webhook
View
Manual Stickynote Automate Triggered
View
Business Canvas Generator
View
Analyze_Crowdstrike_Detections__search_for_IOCs_in_VirusTotal__create_a_ticket_in_Jira_and_post_a_message_in_Slack
View
Creating a meeting with the Zoom node
View
Manual Emailsend Send Triggered
View
Readbinaryfile Manual Automate Triggered
View
HTTP Htmlextract Send Webhook
View
WooCommerce AI Chatbot Workflow for Post-Sales Support
View