AutomationFlowsGeneral › Auto-Approve Workflow copy

Auto-Approve Workflow copy

Auto-Approve Workflow copy. Uses emailSend, httpRequest, respondToWebhook. Webhook trigger; 9 nodes.

Webhook trigger★★★★☆ complexity9 nodesEmail SendHttp Request
General Trigger: Webhook Nodes: 9 Complexity: ★★★★☆

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Auto-Approve Workflow copy",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "auto-approve",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "7c406ce2-1f98-4130-8032-85fd35155a06",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -1008,
        112
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "orderId",
              "value": "={{ $json.body.orderId }}"
            },
            {
              "name": "totalPrice",
              "value": "={{ $json.body.orderData.pricing.totalPrice }}"
            },
            {
              "name": "customerEmail",
              "value": "={{ $json.body.orderData.customerEmail }}"
            }
          ]
        },
        "options": {}
      },
      "id": "889898df-3c7f-456e-a581-f9292a56d85d",
      "name": "Set Variables",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        -800,
        112
      ]
    },
    {
      "parameters": {
        "fromEmail": "email.verify.921@gmail.com",
        "toEmail": "={{ $json.body.orderData.customerEmail }}",
        "subject": "=Quote Ready for Approval - Order {{ $json.body.orderId }}",
        "options": {}
      },
      "id": "23913519-f803-47bb-9366-247cdf48f7bc",
      "name": "Send Quote Email",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        -608,
        112
      ],
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "resume": "webhook",
        "httpMethod": "POST",
        "options": {}
      },
      "id": "0d37c00c-3246-4ad5-ac68-6db3786d662c",
      "name": "Wait for Customer Response",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1,
      "position": [
        -400,
        112
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.body.action }}",
              "operation": "contains",
              "value2": "=approved"
            }
          ]
        }
      },
      "id": "a3a3de97-2ff6-44eb-8bfd-dced7c9691db",
      "name": "Check If Approved",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        -208,
        112
      ]
    },
    {
      "parameters": {
        "url": "=http://backend:3000/api/v1/orders/{{ $json.body.orderId }}/approve",
        "allowUnauthorizedCerts": true,
        "jsonParameters": true,
        "options": {}
      },
      "id": "c69317a1-7458-400d-928f-7726b1ee8a58",
      "name": "MIS Handoff",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "fromEmail": "email.verify.921@gmail.com",
        "toEmail": "={{ $json.body.orderData.customerEmail }}",
        "subject": "=Order Approved - Order {{ $json.body.orderId }}",
        "options": {}
      },
      "id": "afecf362-75a6-4dd6-8ca7-a2345658bf9d",
      "name": "Send Approval Confirmation",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        208,
        0
      ],
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "fromEmail": "email.verify.921@gmail.com",
        "toEmail": "={{ $json.body.orderData.customerEmail }}",
        "subject": "=Order Declined - Order {{ $json.body.orderId }}",
        "options": {}
      },
      "id": "c7cea602-6afd-4f69-9231-7da570aaa08c",
      "name": "Send Rejection Notification",
      "type": "n8n-nodes-base.emailSend",
      "typeVersion": 1,
      "position": [
        0,
        208
      ],
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify({ success: true, message: 'Workflow started', resumeUrl: $execution.resumeUrl, orderId: $json.body.orderId }) }}",
        "options": {}
      },
      "id": "0566b1ea-b8b3-4daa-9c85-10ccfa53b49e",
      "name": "Webhook Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        -800,
        304
      ]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Set Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Variables": {
      "main": [
        [
          {
            "node": "Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Response": {
      "main": [
        [
          {
            "node": "Send Quote Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Quote Email": {
      "main": [
        [
          {
            "node": "Wait for Customer Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Customer Response": {
      "main": [
        [
          {
            "node": "Check If Approved",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Approved": {
      "main": [
        [
          {
            "node": "MIS Handoff",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Rejection Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MIS Handoff": {
      "main": [
        [
          {
            "node": "Send Approval Confirmation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": false
  },
  "versionId": "bf36958a-9968-40f0-b37f-4a8bb38265d1",
  "id": "5SBFEpejPLEvWb4Y",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

About this workflow

Auto-Approve Workflow copy. Uses emailSend, httpRequest, respondToWebhook. Webhook trigger; 9 nodes.

Source: https://github.com/uditgoyaludit/Print-Estimator-/blob/11ffed1c5f77afeb58c92f9c91b88d0239e9692d/n8n-workflows/auto-approve.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →