🖇️ How to Handle Interactive Slack Buttons in n8n (Approve ✅ / Decline ❌)
In this tutorial, I’ll show you how to handle interactive Slack buttons inside n8n, so when you approve or decline something in Slack, it responds with a clean confirmation message — not an error code!
Whether you’re building approval workflows for invoices, requests, or project updates, this setup helps you create a professional and interactive experience right inside Slack.
📄 What You’ll Learn:
1. How to capture Slack interactive button responses in n8n
2. Parsing Slack’s payload using the Set and IF nodes
3. Displaying dynamic messages like “✅ Approved successfully” or “❌ Declined”
4. Sending clean, formatted responses back to Slack
5. Optional: logging approvals and declines in Google Sheets or Airtable
🔧 Tools Used:
• n8n (Open Source Automation)
• Slack (interactive buttons + messaging)
• OpenAI (optional — message formatting or decision logic)
• Google Sheets / Airtable (for tracking approvals)
📌 Why Use This?
✅ Create approval workflows directly in Slack
✅ Eliminate messy JSON or error messages
✅ Make your automations feel smooth and human
✅ Perfect for HR requests, project sign-offs, or document approvals
CODE:
Code Node js:
const rawPayload = items[0].json.body.payload;
const parsed = JSON.parse(rawPayload);
return [{ json: parsed }];
Http Node:
{
"replace_original": true,
"text": "{{ $json.actions[0].text.text === 'Approve' ? '✅ Approved successfully.' : '❌ Declined.' }}",
"blocks": []
}
⸻
👍 Like this video if you want more Slack + n8n tutorials
🧠 Subscribe to learn AI-powered automation workflows
💬 Drop your questions or use cases in the comments — I’ll check them out!
#n8n #SlackAutomation #InteractiveButtons #ApprovalWorkflow #nocode #businessautomation #Slack #Apps #AItools #flowvia #automation #workflowautomation #ai #aitools #buttons