{
  "name": "Vulcani — Review Request Automation (free)",
  "nodes": [
    {
      "parameters": {
        "content": "## Review Request Automation  ·  free from vulcani.io\n\n**What it does:** when a job/appointment is done, this sends the customer a short, friendly message with a one-tap link to leave a Google review. Steady reviews = higher map-pack ranking + more new customers.\n\n**Wire it (2 creds, ~3 min):**\n1. **Webhook** — copy the Production URL. Have your booking/POS/CRM POST to it when a job completes, with JSON: `customer_name`, `customer_email`, `business_name`, `review_link` (your Google review short link).\n2. **Gmail** — set your Gmail OAuth credential on *Send Review Request*. (Swap for Twilio to send by SMS — texts get ~45% higher response.)\n\n**Two rules that matter:**\n- **Ask EVERYONE the same way.** Don't filter to only happy customers — Google bans \"review gating\" and removes reviews for it.\n- **Pace it.** Add a Wait node before the send (2–4 hrs after the job) and don't blast hundreds at once — a steady drip ranks; spikes get reviews stripped.\n\nMore free workflows → vulcani.io/free/  ·  Want it wired to your system? vulcani.io",
        "height": 460,
        "width": 390,
        "color": 4
      },
      "id": "b2c3d4e5-0001-4000-8000-000000000001",
      "name": "README",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [-180, 60]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "review-request",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "b2c3d4e5-0002-4000-8000-000000000002",
      "name": "Completed Job",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [320, 320],
      "webhookId": "vulcani-review-request"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "r-1",
              "name": "to",
              "value": "={{ $json.body.customer_email || $json.customer_email }}",
              "type": "string"
            },
            {
              "id": "r-2",
              "name": "subject",
              "value": "=Quick favor? &ndash; {{ $json.body.business_name || $json.business_name }}",
              "type": "string"
            },
            {
              "id": "r-3",
              "name": "html",
              "value": "=<p>Hi {{ $json.body.customer_name || $json.customer_name }},</p><p>Thanks again for choosing <strong>{{ $json.body.business_name || $json.business_name }}</strong> — it was a pleasure working with you.</p><p>If you have 30 seconds, a quick Google review genuinely helps a small business like ours more than you'd think. One tap:</p><p><a href=\"{{ $json.body.review_link || $json.review_link }}\">&#11088; Leave a quick review</a></p><p>Either way, thank you — we appreciate you.</p>",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "b2c3d4e5-0003-4000-8000-000000000003",
      "name": "Build Request",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [560, 320]
    },
    {
      "parameters": {
        "sendTo": "={{ $json.to }}",
        "subject": "={{ $json.subject }}",
        "emailType": "html",
        "message": "={{ $json.html }}",
        "options": {}
      },
      "id": "b2c3d4e5-0004-4000-8000-000000000004",
      "name": "Send Review Request",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [800, 320]
    }
  ],
  "connections": {
    "Completed Job": { "main": [[{ "node": "Build Request", "type": "main", "index": 0 }]] },
    "Build Request": { "main": [[{ "node": "Send Review Request", "type": "main", "index": 0 }]] }
  },
  "settings": { "executionOrder": "v1" }
}
