{"workflow":{"id":13712,"name":"Review and approve Google Sheets orders by email and notify via LINE","views":44,"recentViews":0,"totalViews":44,"createdAt":"2026-02-25T15:13:02.268Z","description":"Automatically processes new orders added to Google Sheets. Small orders are approved instantly; large orders trigger an HTML email with one-click Approve / Reject links — each handled by an independent webhook, so multiple orders can be reviewed simultaneously without blocking each other.\n\n**What makes this different**\nUnlike Wait-node designs that block when multiple orders queue up, this workflow uses a stateless token pattern: each order gets a unique token written back to the sheet. Approval links carry the token; the handler validates it on every click — safe, idempotent, and fully concurrent.\n\n**Key features**\n- Google Sheets Trigger polls for new rows automatically — no external caller needed\n- Configurable approval threshold (default: 500)\n- Duplicate-processing guard: skips rows that already have a status\n- One-click Approve / Reject email with styled HTML buttons\n- Token validation: tampered or expired links return a 403 error page\n- Already-processed guard: clicking the same link twice shows a friendly message\n- LINE push notification for every outcome (auto-approved, approved, rejected)\n- All results written back to Google Sheets with a reviewedAt timestamp\n\n**Integrations**\nGoogle Sheets · Gmail · LINE Messaging API · n8n Webhook\n\n**Required sheet columns**\norderId · customerName · amount · approvalToken · status\n\n---\n💡 Want more automation templates?\n👉 https://jasonchuang0818.gumroad.com/l/n8n-content-automation-bundle\n","workflow":{"id":"NEImGuMG5P2Ug9KMWyn0R","meta":{"instanceId":"69027400dd16108b9045762c1ec7a026e2668afe1165bbd00b0f9a22bbb39009","templateCredsSetupCompleted":true},"name":"LINE OA – Stateless Email Approval for Orders","tags":[],"nodes":[{"id":"6eab5afa-3308-47c6-8914-d24128b8d30c","name":"Overview","type":"n8n-nodes-base.stickyNote","position":[25664,8608],"parameters":{"width":540,"height":776,"content":"## How it works\n1. **Google Sheets Trigger** fires when a new row is added to your Orders sheet\n2. **New order?** skips rows that already have a status — preventing duplicate processing\n3. **Config** node sets your reviewer email, LINE User ID, approval threshold, and n8n webhook base URL\n4. A unique approval token is generated and written back to the sheet row\n5. If the order amount is **below** the threshold → auto-approved immediately with a LINE push notification\n6. If the amount **meets** the threshold → an HTML email is sent with independent Approve / Reject links (one email per order, no blocking)\n7. **Webhook B** handles each link click: validates the token, checks the order has not already been reviewed, then updates Google Sheets and sends a LINE push notification\n\n## Setup steps\n1. Create a **Google Sheets OAuth2** credential → assign to the *Google Sheets Trigger* node\n2. Create a **Google Sheets Service Account** credential → assign to all other Google Sheets nodes\n3. Update `YOUR_GOOGLE_SHEET_URL` in every Google Sheets node with your spreadsheet URL\n4. Create a **Gmail OAuth2** credential → assign to the *Send Approval Request* node\n5. Create an **HTTP Bearer Auth** credential with your LINE Channel Access Token → assign to both LINE Push nodes\n6. In the **Config** node: set `approverEmail`, `lineUserId`, `approvalThreshold`, and `n8nWebhookBaseUrl` (e.g. `https://your-domain.zeabur.app/webhook` or `https://your-instance.app.n8n.cloud/webhook`)\n7. Required sheet columns: `orderId` · `customerName` · `amount` · `approvalToken` · `status`\n8. Activate the workflow — it will automatically process new rows and send LINE notifications"},"typeVersion":1},{"id":"4dd06ec8-aa34-49c6-94bb-907d2b139063","name":"Section A","type":"n8n-nodes-base.stickyNote","position":[26272,8832],"parameters":{"color":7,"width":1160,"height":168,"content":"## ⚡ Section A – Order Intake\n\nPolls Google Sheets every minute. Fires for new rows only. Skips rows that already have a `status` value to prevent duplicate processing. Generates a unique approval token per order."},"typeVersion":1},{"id":"85d8890d-d80b-48d3-9340-8111af285b71","name":"Email Path","type":"n8n-nodes-base.stickyNote","position":[27568,8640],"parameters":{"color":7,"width":700,"height":380,"content":"## 📧 Email Review Path\n\nAmount meets the threshold. Generates independent Approve / Reject links (orderId + token), marks the row as Pending, and emails the reviewer. Each email is stateless — multiple orders can wait for review simultaneously."},"typeVersion":1},{"id":"ff49d8f6-4977-4974-970d-cc2c86b787bb","name":"Auto Path","type":"n8n-nodes-base.stickyNote","position":[27584,9088],"parameters":{"color":7,"width":620,"height":312,"content":"## ✅ Auto-Approve Path\n\nAmount is below threshold. Marks the order as Auto-Approved immediately and sends a LINE push notification. No email required."},"typeVersion":1},{"id":"73737ef4-9a99-41bd-8fef-31c14f783db4","name":"Section B","type":"n8n-nodes-base.stickyNote","position":[26272,9408],"parameters":{"color":7,"width":780,"height":168,"content":"## 🔗 Section B – Approval Handler\n\nTriggered when a reviewer clicks Approve or Reject in the email. Validates the one-time token, checks the order has not already been processed, then routes to approve or reject. Each click runs as a fully independent execution."},"typeVersion":1},{"id":"f99fc61f-88e4-49ab-8915-43e1513b6e3d","name":"Approval Actions","type":"n8n-nodes-base.stickyNote","position":[27600,9424],"parameters":{"color":7,"width":876,"height":568,"content":"## 🏁 Approval Actions\n\nUpdates Google Sheets with the final status (Approved / Rejected), records a `reviewedAt` timestamp, then sends a LINE push notification. Returns an HTML confirmation page to the reviewer's browser."},"typeVersion":1},{"id":"ac6e3843-0468-45d1-8061-e5ae5b7d25f8","name":"Sticky Note – More Templates","type":"n8n-nodes-base.stickyNote","position":[28512,9600],"parameters":{"color":7,"width":412,"height":240,"content":"## Want more automation templates?\n\nCheck out the **Content Automation Bundle** — 6 n8n workflows for AI content creation, social media publishing, and Threads analytics.\n\n👉 https://jasonchuang0818.gumroad.com/l/n8n-content-automation-bundle"},"typeVersion":1},{"id":"b4cead6b-f732-4dc6-97f3-5c90abd6c152","name":"Google Sheets Trigger","type":"n8n-nodes-base.googleSheetsTrigger","position":[26288,9040],"parameters":{"event":"rowAdded","options":{},"pollTimes":{"item":[{"mode":"everyMinute"}]},"sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"YOUR_GOOGLE_SHEET_URL","cachedResultName":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"}},"typeVersion":1},{"id":"39f1f5af-62b1-4efb-b607-e3a5a69e4cc3","name":"New order?","type":"n8n-nodes-base.if","position":[26512,9040],"parameters":{"conditions":{"string":[{"value1":"={{ $json.status }}","operation":"isEmpty"}]}},"typeVersion":1},{"id":"46fd5076-d227-4411-a505-b8a9c2f80c1d","name":"Config","type":"n8n-nodes-base.set","position":[26736,9040],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cfg-01","name":"approverEmail","type":"string","value":"user@example.com"},{"id":"cfg-02","name":"lineUserId","type":"string","value":"YOUR_LINE_USER_ID"},{"id":"cfg-03","name":"approvalThreshold","type":"number","value":500},{"id":"cfg-04","name":"n8nWebhookBaseUrl","type":"string","value":"https://YOUR_N8N_DOMAIN/webhook"}]}},"typeVersion":3.4},{"id":"53714208-292c-4f6f-80fc-207f317ee83f","name":"Prepare Order Data","type":"n8n-nodes-base.set","position":[26944,9040],"parameters":{"options":{},"assignments":{"assignments":[{"id":"prep-01","name":"orderId","type":"string","value":"={{ $('Google Sheets Trigger').item.json.orderId }}"},{"id":"prep-02","name":"customerName","type":"string","value":"={{ $('Google Sheets Trigger').item.json.customerName }}"},{"id":"prep-03","name":"amount","type":"number","value":"={{ $('Google Sheets Trigger').item.json.amount }}"},{"id":"prep-04","name":"approverEmail","type":"string","value":"={{ $json.approverEmail }}"},{"id":"prep-05","name":"lineUserId","type":"string","value":"={{ $json.lineUserId }}"},{"id":"prep-06","name":"approvalThreshold","type":"number","value":"={{ $json.approvalThreshold }}"},{"id":"prep-07","name":"n8nWebhookBaseUrl","type":"string","value":"={{ $json.n8nWebhookBaseUrl }}"},{"id":"prep-08","name":"approvalToken","type":"string","value":"={{ $('Google Sheets Trigger').item.json.orderId + '-' + $now.toMillis() }}"}]}},"typeVersion":3.4},{"id":"c85d872c-7c8d-4756-b619-956ab72fd700","name":"Write Approval Token","type":"n8n-nodes-base.googleSheets","position":[27168,9040],"parameters":{"columns":{"value":{"orderId":"={{ $json.orderId }}","approvalToken":"={{ $json.approvalToken }}"},"schema":[{"id":"orderId","type":"string","display":true,"required":false,"displayName":"orderId","defaultMatch":true,"canBeUsedToMatch":true},{"id":"approvalToken","type":"string","display":true,"required":false,"displayName":"approvalToken","defaultMatch":false,"canBeUsedToMatch":false}],"mappingMode":"defineBelow","matchingColumns":["orderId"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"},"authentication":"serviceAccount"},"typeVersion":4.4},{"id":"df92024d-4e3b-4dde-94f3-883599efa579","name":"Needs Approval?","type":"n8n-nodes-base.if","position":[27392,9040],"parameters":{"conditions":{"number":[{"value1":"={{ $('Prepare Order Data').item.json.amount }}","value2":"={{ $('Prepare Order Data').item.json.approvalThreshold }}","operation":"largerEqual"}]}},"typeVersion":1},{"id":"9525d87e-1d7c-48d8-a6c3-f278635b5286","name":"Build Approval Links","type":"n8n-nodes-base.set","position":[27616,8832],"parameters":{"options":{},"assignments":{"assignments":[{"id":"link-01","name":"approveUrl","type":"string","value":"={{ $('Prepare Order Data').item.json.n8nWebhookBaseUrl + '/order-approval?orderId=' + $('Prepare Order Data').item.json.orderId + '&action=approve&token=' + $('Prepare Order Data').item.json.approvalToken }}"},{"id":"link-02","name":"rejectUrl","type":"string","value":"={{ $('Prepare Order Data').item.json.n8nWebhookBaseUrl + '/order-approval?orderId=' + $('Prepare Order Data').item.json.orderId + '&action=reject&token=' + $('Prepare Order Data').item.json.approvalToken }}"}]}},"typeVersion":3.4},{"id":"a3b43dda-bc7f-43ae-9b20-ff6914f975cc","name":"Mark as Pending Approval","type":"n8n-nodes-base.googleSheets","position":[27824,8832],"parameters":{"columns":{"value":{"status":"⏳ Pending Approval","orderId":"={{ $('Prepare Order Data').item.json.orderId }}"},"schema":[{"id":"orderId","type":"string","display":true,"required":false,"displayName":"orderId","defaultMatch":true,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":false}],"mappingMode":"defineBelow","matchingColumns":["orderId"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"},"authentication":"serviceAccount"},"typeVersion":4.4},{"id":"3a4c6ca1-1ef5-413a-b409-e63f29dac9e3","name":"Send Approval Request","type":"n8n-nodes-base.gmail","position":[28048,8832],"webhookId":"bfc1ea0c-9bae-4399-bad8-4f16190d7feb","parameters":{"sendTo":"={{ $('Prepare Order Data').item.json.approverEmail }}","message":"=<h2 style=\"color:#1a1a1a\">Order Approval Required</h2>\n<p>The following order exceeds your approval threshold and requires your review:</p>\n<table style=\"border-collapse:collapse;margin-bottom:16px\">\n  <tr><td style=\"padding:6px 16px 6px 0;color:#666\"><b>Order ID</b></td><td>#{{ $('Prepare Order Data').item.json.orderId }}</td></tr>\n  <tr><td style=\"padding:6px 16px 6px 0;color:#666\"><b>Customer</b></td><td>{{ $('Prepare Order Data').item.json.customerName }}</td></tr>\n  <tr><td style=\"padding:6px 16px 6px 0;color:#666\"><b>Amount</b></td><td><strong>${{ $('Prepare Order Data').item.json.amount }}</strong></td></tr>\n</table>\n<p>\n  <a href=\"{{ $('Prepare Order Data').item.json.n8nWebhookBaseUrl }}/order-approval?orderId={{ $('Prepare Order Data').item.json.orderId }}&amp;action=approve&amp;token={{ $('Prepare Order Data').item.json.approvalToken }}\" style=\"background:#22c55e;color:white;padding:12px 28px;text-decoration:none;border-radius:6px;font-weight:bold;display:inline-block\">✅ Approve</a>\n  &nbsp;&nbsp;\n  <a href=\"{{ $('Prepare Order Data').item.json.n8nWebhookBaseUrl }}/order-approval?orderId={{ $('Prepare Order Data').item.json.orderId }}&amp;action=reject&amp;token={{ $('Prepare Order Data').item.json.approvalToken }}\" style=\"background:#ef4444;color:white;padding:12px 28px;text-decoration:none;border-radius:6px;font-weight:bold;display:inline-block\">❌ Reject</a>\n</p>\n<p style=\"color:#999;font-size:12px\">Each link can only be used once. Multiple orders can be reviewed independently — clicking one link does not affect any others.</p>","options":{},"subject":"=🔔 Approval Required: Order #{{ $('Prepare Order Data').item.json.orderId }} — ${{ $('Prepare Order Data').item.json.amount }}"},"typeVersion":2.1,"continueOnFail":true},{"id":"fbdf392e-2014-45d7-b032-2dcd80e41822","name":"Mark as Auto-Approved","type":"n8n-nodes-base.googleSheets","position":[27616,9232],"parameters":{"columns":{"value":{"status":"✅ Auto-Approved","orderId":"={{ $('Prepare Order Data').item.json.orderId }}"},"schema":[{"id":"orderId","type":"string","display":true,"required":false,"displayName":"orderId","defaultMatch":true,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":false}],"mappingMode":"defineBelow","matchingColumns":["orderId"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"},"authentication":"serviceAccount"},"typeVersion":4.4},{"id":"684ce42a-21a1-4279-b963-77826f2bb11b","name":"Prepare LINE Notification (Auto)","type":"n8n-nodes-base.set","position":[27824,9232],"parameters":{"options":{},"assignments":{"assignments":[{"id":"line-auto-01","name":"lineMessage","type":"string","value":"=✅ Order auto-approved!\nOrder: #{{ $('Prepare Order Data').item.json.orderId }}\nCustomer: {{ $('Prepare Order Data').item.json.customerName }}\nAmount: ${{ $('Prepare Order Data').item.json.amount }}"}]}},"typeVersion":3.4},{"id":"c96e6c80-c9aa-4982-93f3-a391a0980bb3","name":"LINE Push – Auto Approved","type":"n8n-nodes-base.httpRequest","position":[28048,9232],"parameters":{"url":"https://api.line.me/v2/bot/message/push","body":"={{ JSON.stringify({ to: $('Prepare Order Data').item.json.lineUserId, messages: [{ type: 'text', text: $json.lineMessage }] }) }}","method":"POST","options":{},"sendBody":true,"contentType":"raw","authentication":"genericCredentialType","rawContentType":"application/json","genericAuthType":"httpBearerAuth"},"typeVersion":4.2,"continueOnFail":true},{"id":"00faff5c-fc18-4d61-92f2-0a81d969e569","name":"Webhook – Approval Handler","type":"n8n-nodes-base.webhook","position":[26288,9616],"webhookId":"22222222-2222-2222-2222-222222222222","parameters":{"path":"order-approval","options":{},"responseMode":"responseNode"},"typeVersion":2},{"id":"25532be8-3a02-4255-a0d6-51a9eb80a188","name":"Extract Approval Params","type":"n8n-nodes-base.set","position":[26512,9616],"parameters":{"options":{},"assignments":{"assignments":[{"id":"ext-01","name":"orderId","type":"string","value":"={{ $json.query.orderId }}"},{"id":"ext-02","name":"action","type":"string","value":"={{ $json.query.action }}"},{"id":"ext-03","name":"webhookToken","type":"string","value":"={{ $json.query.token }}"}]}},"typeVersion":3.4},{"id":"f3ffa329-3af4-4ee6-a892-46505e36e32f","name":"Read Order from Sheets","type":"n8n-nodes-base.googleSheets","position":[26736,9616],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"={{ $json.orderId }}","lookupColumn":"orderId"}]},"sheetName":{"__rl":true,"mode":"name","value":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"},"authentication":"serviceAccount"},"typeVersion":4.4},{"id":"b578a9c1-0b51-4aef-b7cf-c70a73492837","name":"Token Valid?","type":"n8n-nodes-base.if","position":[26944,9616],"parameters":{"conditions":{"string":[{"value1":"={{ $json.approvalToken }}","value2":"={{ $('Extract Approval Params').item.json.webhookToken }}"}]}},"typeVersion":1},{"id":"855ef536-e483-4db3-b969-1c2160aed595","name":"Respond – Invalid Token","type":"n8n-nodes-base.respondToWebhook","position":[27168,9808],"parameters":{"options":{"responseCode":403,"responseHeaders":{"entries":[{"name":"Content-Type","value":"text/html"}]}},"respondWith":"text","responseBody":"<!DOCTYPE html><html><body style=\"font-family:sans-serif;text-align:center;padding:60px\"><h2 style=\"color:#ef4444\">❌ Invalid or Expired Link</h2><p>This approval link is invalid. Please contact your administrator.</p></body></html>"},"typeVersion":1.1},{"id":"4c7ab7e6-1686-4f72-b711-3a497a9caf2f","name":"Already Processed?","type":"n8n-nodes-base.if","position":[27168,9616],"parameters":{"conditions":{"string":[{"value1":"={{ $json.status }}","value2":"⏳ Pending Approval","operation":"notEqual"}]}},"typeVersion":1},{"id":"5be37fa2-70c9-4c8a-b00e-8343689996e6","name":"Respond – Already Processed","type":"n8n-nodes-base.respondToWebhook","position":[27408,9440],"parameters":{"options":{"responseCode":200,"responseHeaders":{"entries":[{"name":"Content-Type","value":"text/html"}]}},"respondWith":"text","responseBody":"=<!DOCTYPE html><html><body style=\"font-family:sans-serif;text-align:center;padding:60px\"><h2 style=\"color:#f59e0b\">⚠️ Already Processed</h2><p>Order #{{ $('Extract Approval Params').item.json.orderId }} has already been reviewed.</p><p>Current status: <strong>{{ $json.status }}</strong></p></body></html>"},"typeVersion":1.1},{"id":"d1b28499-b7eb-485a-8ca8-ec11208cbe8a","name":"Approve or Reject?","type":"n8n-nodes-base.if","position":[27392,9616],"parameters":{"conditions":{"string":[{"value1":"={{ $('Extract Approval Params').item.json.action }}","value2":"approve"}]}},"typeVersion":1},{"id":"7b4adf5f-f036-4c9d-8b4a-ad341d96e16c","name":"Mark as Approved","type":"n8n-nodes-base.googleSheets","position":[27632,9600],"parameters":{"columns":{"value":{"status":"✅ Approved","orderId":"={{ $json.orderId }}","reviewedAt":"={{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}"},"schema":[{"id":"orderId","type":"string","display":true,"required":false,"displayName":"orderId","defaultMatch":true,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":false},{"id":"reviewedAt","type":"string","display":true,"required":false,"displayName":"reviewedAt","defaultMatch":false,"canBeUsedToMatch":false}],"mappingMode":"defineBelow","matchingColumns":["orderId"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"},"authentication":"serviceAccount"},"typeVersion":4.4},{"id":"779352ed-2b2e-427d-abe4-48bf86fb5a8d","name":"Prepare LINE Notification (Approved)","type":"n8n-nodes-base.set","position":[27840,9600],"parameters":{"options":{},"assignments":{"assignments":[{"id":"line-appr-01","name":"lineMessage","type":"string","value":"=✅ Order approved!\nOrder: #{{ $json.orderId }}\nCustomer: {{ $json.customerName }}\nAmount: ${{ $json.amount }}"},{"id":"line-appr-02","name":"lineUserId","type":"string","value":"={{ $json.lineUserId }}"}]}},"typeVersion":3.4},{"id":"3f6148b2-e810-4704-ae6e-9c0a17684420","name":"LINE Push – Approved","type":"n8n-nodes-base.httpRequest","position":[28064,9600],"parameters":{"url":"https://api.line.me/v2/bot/message/push","body":"={{ JSON.stringify({ to: $json.lineUserId, messages: [{ type: 'text', text: $json.lineMessage }] }) }}","method":"POST","options":{},"sendBody":true,"contentType":"raw","authentication":"genericCredentialType","rawContentType":"application/json","genericAuthType":"httpBearerAuth"},"typeVersion":4.2,"continueOnFail":true},{"id":"6e08156e-62f0-4dd6-b9eb-3bf72e198209","name":"Respond – Order Approved","type":"n8n-nodes-base.respondToWebhook","position":[28288,9600],"parameters":{"options":{"responseCode":200,"responseHeaders":{"entries":[{"name":"Content-Type","value":"text/html"}]}},"respondWith":"text","responseBody":"=<!DOCTYPE html><html><body style=\"font-family:sans-serif;text-align:center;padding:60px\"><h2 style=\"color:#22c55e\">✅ Order Approved</h2><p>Order #{{ $('Read Order from Sheets').item.json.orderId }} has been approved.</p><p>A LINE notification has been sent.</p></body></html>"},"typeVersion":1.1},{"id":"90f76d61-27bc-456b-bc3f-067ad2f534ba","name":"Mark as Rejected","type":"n8n-nodes-base.googleSheets","position":[27632,9808],"parameters":{"columns":{"value":{"status":"❌ Rejected","orderId":"={{ $json.orderId }}","reviewedAt":"={{ $now.toFormat('yyyy-MM-dd HH:mm:ss') }}"},"schema":[{"id":"orderId","type":"string","display":true,"required":false,"displayName":"orderId","defaultMatch":true,"canBeUsedToMatch":true},{"id":"status","type":"string","display":true,"required":false,"displayName":"status","defaultMatch":false,"canBeUsedToMatch":false},{"id":"reviewedAt","type":"string","display":true,"required":false,"displayName":"reviewedAt","defaultMatch":false,"canBeUsedToMatch":false}],"mappingMode":"defineBelow","matchingColumns":["orderId"]},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"name","value":"Orders"},"documentId":{"__rl":true,"mode":"url","value":"YOUR_GOOGLE_SHEET_URL"},"authentication":"serviceAccount"},"typeVersion":4.4},{"id":"9cfedf3f-f33e-4051-892c-20572209b68d","name":"Prepare LINE Notification (Rejected)","type":"n8n-nodes-base.set","position":[27840,9808],"parameters":{"options":{},"assignments":{"assignments":[{"id":"line-rej-01","name":"lineMessage","type":"string","value":"=❌ Order rejected.\nOrder: #{{ $('Read Order from Sheets').item.json.orderId }}\nCustomer: {{ $('Read Order from Sheets').item.json.customerName }}\nAmount: ${{ $('Read Order from Sheets').item.json.amount }}"},{"id":"line-rej-02","name":"lineUserId","type":"string","value":"={{ $('Read Order from Sheets').item.json.lineUserId }}"}]}},"typeVersion":3.4},{"id":"f4313550-714b-4eb8-9a53-3c0b6ad02529","name":"LINE Push – Rejected","type":"n8n-nodes-base.httpRequest","position":[28064,9808],"parameters":{"url":"https://api.line.me/v2/bot/message/push","body":"={{ JSON.stringify({ to: $json.lineUserId, messages: [{ type: 'text', text: $json.lineMessage }] }) }}","method":"POST","options":{},"sendBody":true,"contentType":"raw","authentication":"genericCredentialType","rawContentType":"application/json","genericAuthType":"httpBearerAuth"},"typeVersion":4.2,"continueOnFail":true},{"id":"fc99ddab-933c-47bb-a923-7cf50ce07c5e","name":"Respond – Order Rejected","type":"n8n-nodes-base.respondToWebhook","position":[28288,9808],"parameters":{"options":{"responseCode":200,"responseHeaders":{"entries":[{"name":"Content-Type","value":"text/html"}]}},"respondWith":"text","responseBody":"=<!DOCTYPE html><html><body style=\"font-family:sans-serif;text-align:center;padding:60px\"><h2 style=\"color:#ef4444\">❌ Order Rejected</h2><p>Order #{{ $('Read Order from Sheets').item.json.orderId }} has been rejected.</p><p>The status has been updated in the system.</p></body></html>"},"typeVersion":1.1}],"active":false,"pinData":{},"settings":{"timezone":"Asia/Taipei","binaryMode":"separate","callerPolicy":"workflowsFromSameOwner","timeSavedMode":"fixed","availableInMCP":false,"executionOrder":"v1"},"versionId":"216415cf-cc14-4183-add9-a579bf83d47a","connections":{"Config":{"main":[[{"node":"Prepare Order Data","type":"main","index":0}]]},"New order?":{"main":[[{"node":"Config","type":"main","index":0}]]},"Token Valid?":{"main":[[{"node":"Already Processed?","type":"main","index":0}],[{"node":"Respond – Invalid Token","type":"main","index":0}]]},"Needs Approval?":{"main":[[{"node":"Build Approval Links","type":"main","index":0}],[{"node":"Mark as Auto-Approved","type":"main","index":0}]]},"Mark as Approved":{"main":[[{"node":"Prepare LINE Notification (Approved)","type":"main","index":0}]]},"Mark as Rejected":{"main":[[{"node":"Prepare LINE Notification (Rejected)","type":"main","index":0}]]},"Already Processed?":{"main":[[{"node":"Respond – Already Processed","type":"main","index":0}],[{"node":"Approve or Reject?","type":"main","index":0}]]},"Approve or Reject?":{"main":[[{"node":"Mark as Approved","type":"main","index":0}],[{"node":"Mark as Rejected","type":"main","index":0}]]},"Prepare Order Data":{"main":[[{"node":"Write Approval Token","type":"main","index":0}]]},"Build Approval Links":{"main":[[{"node":"Mark as Pending Approval","type":"main","index":0}]]},"Write Approval Token":{"main":[[{"node":"Needs Approval?","type":"main","index":0}]]},"Google Sheets Trigger":{"main":[[{"node":"New order?","type":"main","index":0}]]},"Mark as Auto-Approved":{"main":[[{"node":"Prepare LINE Notification (Auto)","type":"main","index":0}]]},"LINE Push – Approved":{"main":[[{"node":"Respond – Order Approved","type":"main","index":0}]]},"LINE Push – Rejected":{"main":[[{"node":"Respond – Order Rejected","type":"main","index":0}]]},"Read Order from Sheets":{"main":[[{"node":"Token Valid?","type":"main","index":0}]]},"Extract Approval Params":{"main":[[{"node":"Read Order from Sheets","type":"main","index":0}]]},"Mark as Pending Approval":{"main":[[{"node":"Send Approval Request","type":"main","index":0}]]},"Webhook – Approval Handler":{"main":[[{"node":"Extract Approval Params","type":"main","index":0}]]},"Prepare LINE Notification (Auto)":{"main":[[{"node":"LINE Push – Auto Approved","type":"main","index":0}]]},"Prepare LINE Notification (Approved)":{"main":[[{"node":"LINE Push – Approved","type":"main","index":0}]]},"Prepare LINE Notification (Rejected)":{"main":[[{"node":"LINE Push – Rejected","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":35,"nodeTypes":{"n8n-nodes-base.if":{"count":5},"n8n-nodes-base.set":{"count":7},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":3},"n8n-nodes-base.googleSheets":{"count":6},"n8n-nodes-base.respondToWebhook":{"count":4},"n8n-nodes-base.googleSheetsTrigger":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Jason","username":"blackwaltz","bio":"Senior Business Analyst & Solutions Architect evolving into AI-powered automation.\nCORE EXPERTISE\n• Business & Systems Analysis – Requirements, stakeholder management, solution design\n• AI Workflow Automation – n8n, agentic AI, RAG systems, LLM integration\n• Project Delivery – Agile/Waterfall, cross-functional coordination\nCREDENTIALS\n• CBAP® | PMP® | n8n Level 1 & 2 Certified","verified":true,"links":["https://www.linkedin.com/in/yu-ta-chuang-10115a108/"],"avatar":"https://gravatar.com/avatar/1a057f6fabb3470c6fd15f752e1b30fd9cc4135fd091b672d16b315f502ca203?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":535,"icon":"file:webhook.svg","name":"n8n-nodes-base.respondToWebhook","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/"}]},"categories":["Core Nodes","Utility"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"transform\"]","defaults":{"name":"Respond to Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Respond to Webhook","typeVersion":2,"nodeCategories":[{"id":7,"name":"Utility"},{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":841,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheetsTrigger","codex":{"data":{"alias":["CSV","Spreadsheet","GS"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.googlesheetstrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Google Sheets Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets Trigger","typeVersion":1,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]}],"categories":[{"id":35,"name":"Document Extraction"}],"image":[]}}