Approve employee expenses with OpenAI, Google Sheets, Telegram, and Gmail
Ready for 3.0What this workflow does
This AI workflow has 18 nodes and runs when an HTTP POST request hits its webhook URL (plus 1 other trigger). Along the way it connects Telegram, OpenAI Chat Model, Google Sheets and Gmail.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 1 other trigger).
- Set Expense Fields (Edit Fields (Set)): sets 9 fields: expense_id, received_at, employee_name…
- Get Expenses from Sheet (Google Sheets): uses Google Sheets
- Validate Expense Input (If): checks a condition and branches into true / false
- Filter Current Month (Code): runs custom JavaScript code
- Expense Evaluation Agent (AI Agent): runs an AI agent, with model: OpenAI Expense Model
- Notify Invalid Submission (Telegram): uses Telegram
- Summarize Monthly Expenses (AI Agent): runs an AI agent, with model: OpenAI Monthly Model
- Set AI Analysis Fields (Edit Fields (Set)): sets 13 fields: vendor, category, ai_amount…
- Send Monthly Report to Manager (Telegram): uses Telegram
- Append Expense to Sheets (Google Sheets): append
…plus 4 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (10)
- Webhook
n8n-nodes-base.webhook - Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - Telegram
n8n-nodes-base.telegram - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Google Sheets
n8n-nodes-base.googleSheets - Gmail
n8n-nodes-base.gmail - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Code
n8n-nodes-base.code
From the author
Expense approvals without the back-and-forth. Submit an expense through a webhook and the workflow categorizes it, decides whether a manager needs to sign off, logs it to Google Sheets, and notifies the right person on Telegram and Gmail, with a monthly…