This workflow follows the Gmail → Google Sheets recipe pattern — see all workflows that pair these two integrations.
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 →
{
"name": "WF3: Supplier Communication & Approval",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "po-approval",
"options": {}
},
"id": "62d4819e-375f-4fa6-bfec-51738239cb33",
"name": "Webhook Trigger",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
-400,
112
]
},
{
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $json.poData.estimated_cost }}",
"operation": "larger",
"value2": 5000
}
]
}
},
"id": "903d996a-99ae-437b-8109-040ddc38d131",
"name": "IF > $5000",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
-208,
112
]
},
{
"parameters": {
"text": "=High value PO needs approval: {{$json.poData.po_id}} for ${{$json.poData.estimated_cost}}\nReasoning: {{$json.poData.ai_recommendation}}\n\n\u2705 APPROVE: {{$execution.resumeUrl}}?action=approve\n\u274c REJECT: {{$execution.resumeUrl}}?action=reject",
"chatId": "-5447726193",
"additionalFields": {},
"resource": "message",
"operation": "sendMessage"
},
"id": "9726dcaa-bc00-4b6d-bfcb-666c1cf5d0ec",
"name": "Telegram Request Approval",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.1,
"position": [
0,
0
],
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.query.action }}",
"value2": "approve"
}
]
}
},
"id": "a3b3e506-6dd5-464c-82a2-9d155325e297",
"name": "Is Approved?",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
400,
0
]
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "1bwj7MGobvcfDljlaO65o4hchdPWCdqGm8utdLaiDPOg",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": 685519,
"mode": "list",
"cachedResultName": "Purchase_Orders",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bwj7MGobvcfDljlaO65o4hchdPWCdqGm8utdLaiDPOg/edit#gid=685519"
},
"columnToMatchOn": "po_id",
"valueToMatchOn": "={{ $('Webhook Trigger').item.json.body.poData.po_id }}",
"fieldsUi": {
"values": [
{
"column": "status",
"fieldValue": "Approved"
}
]
},
"options": {}
},
"id": "ec9bdfa2-ab13-4ab6-90c9-884fe4028b4f",
"name": "Update PO Status (Approved)",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 3,
"position": [
608,
0
],
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "1bwj7MGobvcfDljlaO65o4hchdPWCdqGm8utdLaiDPOg",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Purchase_Orders",
"mode": "name"
},
"columnToMatchOn": "po_id",
"valueToMatchOn": "={{ $('Webhook Trigger').item.json.body.poData.po_id }}",
"fieldsUi": {
"values": [
{
"column": "status",
"fieldValue": "Rejected"
}
]
},
"options": {}
},
"id": "886f615a-fc58-4501-90d8-084b23e04a1b",
"name": "Update PO Status (Rejected)",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 3,
"position": [
608,
208
],
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"sendTo": "atuly232002@gmail.com",
"subject": "={{ 'Purchase Order: ' + $('Webhook Trigger').first().json.body.poData.po_id }}",
"message": "={{ 'Please fulfill the following order: ' + $('Webhook Trigger').item.json.body.poData.order_quantity + ' units of product ' + $('Webhook Trigger').item.json.body.poData.product_id + '. Estimated Cost: $' + $('Webhook Trigger').item.json.body.poData.estimated_cost }}",
"options": {}
},
"id": "fe60ca53-1f94-4f65-846c-4e131e32b20a",
"name": "Send PO Email",
"type": "n8n-nodes-base.gmail",
"typeVersion": 2,
"position": [
800,
0
],
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"resume": "webhook",
"options": {}
},
"type": "n8n-nodes-base.wait",
"typeVersion": 1.1,
"position": [
192,
-48
],
"id": "7eec9be3-85c0-4602-9dca-a4d7010edd2c",
"name": "Wait"
}
],
"connections": {
"Webhook Trigger": {
"main": [
[
{
"node": "IF > $5000",
"type": "main",
"index": 0
}
]
]
},
"IF > $5000": {
"main": [
[
{
"node": "Telegram Request Approval",
"type": "main",
"index": 0
}
],
[
{
"node": "Update PO Status (Approved)",
"type": "main",
"index": 0
}
]
]
},
"Is Approved?": {
"main": [
[
{
"node": "Update PO Status (Approved)",
"type": "main",
"index": 0
}
],
[
{
"node": "Update PO Status (Rejected)",
"type": "main",
"index": 0
}
]
]
},
"Update PO Status (Approved)": {
"main": [
[
{
"node": "Send PO Email",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Is Approved?",
"type": "main",
"index": 0
}
]
]
},
"Telegram Request Approval": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": false
},
"versionId": "7413f1ce-076b-4242-80f2-9ef50e7bfee5",
"meta": {
"templateCredsSetupCompleted": true
},
"nodeGroups": [],
"id": "UlHNS5nHo7JddAUD",
"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.
gmailOAuth2googleSheetsOAuth2ApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
WF3: Supplier Communication & Approval. Uses telegram, googleSheets, gmail. Webhook trigger; 8 nodes.
Source: https://github.com/Apoo3va/Smart-Inventory-Warehouse-Automation-Platform/blob/main/WF3_Supplier_Approval.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Advanced AI Powered Document Parsing & Text Extraction with Llama Parse. Uses gmail, gmailTrigger, httpRequest, googleSheets. Webhook trigger; 54 nodes.
Automate legal appointment booking end-to-end. Clients request a slot via webhook, Google Calendar checks availability, Stripe collects payment, and a confirmed calendar event is created automatically
Invoice_Workflow. Uses googleSheets, googleDrive, googleDocs, gmail. Webhook trigger; 19 nodes.
✨🔪 Advanced AI Powered Document Parsing & Text Extraction with Llama Parse. Uses gmail, gmailTrigger, limit, stickyNote. Webhook trigger; 54 nodes.
Automate WhatsApp communication for recruitment agencies with an interactive, structured customer experience. This workflow handles pricing inquiries, request submissions, tracking, complaints, and hu