Workflow Templates
Reusable Stacksona workflow templates for n8n and other platforms.
Template library
| Template | Platforms | Purpose |
|---|---|---|
| AI Email Approval | n8n, Zapier, Make, custom | Approve AI-generated emails before send. |
| CRM Update Approval | n8n, Salesforce, HubSpot, Make | Approve customer or account mutations. |
| Refund Approval | n8n, custom, Make, GitHub Actions for ops scripts | Approve payment provider refund actions. |
| Support Reply Approval | n8n, Dify, Zendesk, Copilot Studio | Approve customer-facing support responses. |
| Production API Approval | Node, n8n, Make, custom REST | Approve external API calls in production. |
| Deployment Approval | GitHub Actions, Node, custom CI | Approve deploys, releases, and migrations. |
| Data Deletion Approval | Node, Salesforce, n8n, custom REST | Approve destructive data operations. |
| Reviewer Revision Flow | SDK, MCP server, n8n | Allow reviewer feedback to revise a pending request. |
Common approval workflows
Use these templates when you need to add approvals to any workflow before a risky action executes. Each template follows the same Stacksona pattern: prepare the action, request a decision, pause for human approval when policy requires it, validate the decision, then log what happened.
- Stop an AI agent before it sends an email: gate the email-send tool or node and execute only after approval.
- Audit agent actions before execution: store the proposed action, reviewer context, decision status, and final execution event.
- Add policy checks before an AI tool call: route risky actions to review based on tool name, payload, environment, recipient, amount, or data sensitivity.
Standard request fields
json
{
"workflow_name": "Customer Support",
"task_label": "Refund request for order #8821",
"tool_name": "issue_refund",
"subject": "Issue a $500 refund to customer cus_99",
"preview": "Agent proposes a refund because shipment has no tracking movement.",
"risk_level": "high",
"summary": [
"Customer requested refund",
"Order placed 14 days ago",
"No tracking movement found"
],
"payload": {
"amount": 500,
"currency": "usd",
"customer_id": "cus_99"
}
}