{
  "meta": {
    "versionId": "1.0.0",
    "createdAt": "2025-09-29T07:07:51.578366",
    "updatedAt": "2025-09-29T07:07:51.578380",
    "owner": "n8n-user",
    "license": "MIT",
    "category": "automation",
    "status": "active",
    "priority": "high",
    "environment": "production"
  },
  "nodes": [
    {
      "id": "f80aceed-b676-42aa-bf25-f7a44408b1bc",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        375,
        115
      ],
      "webhookId": "6f7b288e-1efe-4504-a6fd-660931327269",
      "parameters": {
        "path": "6f7b288e-1efe-4504-a6fd-660931327269",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 1,
      "notes": "This webhook node performs automated tasks as part of the workflow."
    },
    {
      "id": "3b9ec913-0bbe-4906-bf8e-da352b556655",
      "name": "Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        355,
        -25
      ],
      "parameters": {
        "width": 600,
        "height": 280,
        "content": "## Create a simple API endpoint\n\nIn this workflow we show how to create a simple API endpoint with `Webhook` and `Respond to Webhook` nodes\n\n"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "9c36dae5-0700-450c-9739-e9f3eff31bfe",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        815,
        115
      ],
      "parameters": {
        "options": {},
        "respondWith": "text",
        "responseBody": "=The URL of the Google search query for the term \"{{$node[\"Webhook\"].json[\"query\"][\"first_name\"]}} {{$node[\"Webhook\"].json[\"query\"][\"last_name\"]}}\" is: {{$json[\"product\"]}}"
      },
      "typeVersion": 1,
      "notes": "This respondToWebhook node performs automated tasks as part of the workflow."
    },
    {
      "id": "5a228fcb-78b9-4a28-95d2-d7c9fdf1d4ea",
      "name": "Create URL string",
      "type": "n8n-nodes-base.set",
      "position": [
        595,
        115
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "product",
              "value": "={{ $env.WEBHOOK_URL }}{{$json[\"query\"][\"first_name\"]}}+{{$json[\"query\"][\"last_name\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1,
      "notes": "This set node performs automated tasks as part of the workflow."
    },
    {
      "id": "e7971820-45a8-4dc8-ba4c-b3220d65307a",
      "name": "Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        355,
        275
      ],
      "parameters": {
        "width": 600,
        "height": 220,
        "content": "### How to use it\n1. Execute the workflow so that the webhook starts listening\n2. Make a test request by pasting, **in a new browser tab**, the test URL from the `Webhook` node and appending the following test at the end `?first_name=bob&last_name=dylan`\n\nYou will receive the following output in the new tab `The URL of the Google search query for the term \"bob dylan\" is: {{ $env.WEBHOOK_URL }}`\n\n"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    }
  ],
  "connections": {
    "f80aceed-b676-42aa-bf25-f7a44408b1bc": {
      "main": [
        [
          {
            "node": "error-handler-f80aceed-b676-42aa-bf25-f7a44408b1bc",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-f80aceed-b676-42aa-bf25-f7a44408b1bc-119c7fe9",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-f80aceed-b676-42aa-bf25-f7a44408b1bc-ca4eb1de",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-f80aceed-b676-42aa-bf25-f7a44408b1bc-902fb265",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-f80aceed-b676-42aa-bf25-f7a44408b1bc-1b6c49fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9c36dae5-0700-450c-9739-e9f3eff31bfe": {
      "main": [
        [
          {
            "node": "error-handler-9c36dae5-0700-450c-9739-e9f3eff31bfe",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-9c36dae5-0700-450c-9739-e9f3eff31bfe-66672b7f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-9c36dae5-0700-450c-9739-e9f3eff31bfe-68ef4658",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-9c36dae5-0700-450c-9739-e9f3eff31bfe-59dbd023",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-9c36dae5-0700-450c-9739-e9f3eff31bfe-af255546",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "name": "Webhook 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: Webhook Workflow. This workflow integrates 5 different services: webhook, stickyNote, set, respondToWebhook, stopAndError. It contains 9 nodes and follows best practices for error handling and security.",
  "tags": [
    "automation",
    "n8n",
    "production-ready",
    "excellent",
    "optimized"
  ],
  "notes": "Excellent quality workflow: Webhook Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}