Odoo Expense Approval Workflow: Slack + Gmail via n8n Webhook
Odoo Expense Approval Workflow: Slack + Gmail via n8n Webhook
Regular price
£68.99
Regular price
£68.99
Sale price
Unit price
/
per
⬇
Instant Digital Download
∞
Unlimited Downloads
★
Lifetime Access in Your Account
Couldn't load pickup availability
🔥
128+ Sold
Popular with n8n builders
⚡
23 people viewing
High interest right now
✅
9 added today
Fast-moving digital product
Odoo Expense Approval Workflow: Slack + Gmail via n8n Webhook
Regular price
£68.99
Regular price
£68.99
Sale price
Unit price
/
per
Route Odoo expense approvals automatically—via an n8n Webhook to Slack and Gmail
This n8n workflow accepts employee expense submissions through a webhook, creates the expense in Odoo, then sends a manager approval form in Slack. Once a decision is made, it updates the Odoo expense status and notifies the employee via Gmail.
What this workflow does
- Receives submissions with a POST webhook and normalizes key fields such as employee, vendor, amount, category, description, and receipt details.
- Validates input and returns a 400 JSON response when required data is missing or invalid.
- Checks employee records in Odoo using hr.employee; if no match is found, it returns a 404 JSON response.
- Creates the expense in Odoo by looking up the expense category in product.product and creating an hr.expense record. It responds with a 202 JSON payload containing the created expense ID.
- Sends a Slack approval request to the #expense-approvals channel using a custom approval form, waiting up to two days for a manager decision.
-
Updates status and emails the employee via Gmail:
- If approved: updates the Odoo expense state to approved and emails the employee.
- If refused: marks it as refused with the manager comment and emails the employee to resubmit.
Use cases
- Centralize expense intake from employees into a single webhook endpoint.
- Reduce manual back-and-forth by sending approvals directly to a dedicated Slack channel.
- Automatically keep Odoo hr.expense records synchronized with manager decisions.
Technical details
- n8n webhook workflow with field normalization, validation, and JSON responses (400/404/202).
- Odoo integration via nodes for hr.employee, product.product, and hr.expense.
- Slack approval posting to #expense-approvals with a wait period for decisions.
- Gmail notifications to employees based on approval outcomes.
- Nodes used include: if, set, no op, odoo, gmail, and slack.
