The flow
Starts it 5Logic 5Service 8
The steps in the order they run, from what starts it.
- 1Webhook - Submit ExpenseWebhookStarts it
- 2Validate & Normalize Expense InputSetLogic
- 3IF - Input Valid?IfLogic
- 4Lookup Employee in OdooOdooService
- 5Respond 400 - Validation ErrorRespond To WebhookStarts it
- 6IF - Employee Found?IfLogic
- 7Respond 500 - Processing ErrorRespond To WebhookStarts it
- 8Lookup Expense Category in OdooOdooService
- 9Respond 404 - Employee Not FoundRespond To WebhookStarts it
- 10Create Expense in OdooOdooService
- 11Respond 202 - Expense SubmittedRespond To WebhookStarts it
- 12Slack - Manager Approval RequestSlackService
- 13IF - Manager Approved?IfLogic
- 14Log Async FailureNo OpLogic
- 15Update Odoo Expense - ApprovedOdooService
- 16Update Odoo Expense - Needs CorrectionOdooService
- 17Gmail - Notify Employee ApprovedGmailService
- 18Gmail - Notify Employee RejectedGmailService
How it's built
- Starts on
- Another system calling it
- Steps
- 18, with 3 branches
- Size
- Medium: a working afternoon
- Connects to
- Gmail, Slack
- Model
- None. This is plumbing, not judgement
Questions
What does it need to run?
An n8n account, plus your own Gmail and Slack accounts. You connect your own accounts after importing it; none are included.
What starts it?
It starts on another system calling it.
Does it use AI?
No. Every step is fixed logic or a call to a service, so it does the same thing every time.
How long does it take to set up?
Plan an afternoon. 18 steps is enough that you should read each one before running it.
How do I import it?
Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.
Before you run itNothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 18 steps before you point it at anything that matters.