Templates / Approve employee expenses with OpenAI, Google Sheets, Telegram, and Gmail

Approve employee expenses with OpenAI, Google Sheets, Telegram, and Gmail

Ready for 3.0

by Khairul Muhtadin ✓ · 3 views · created 2026-08-12 · Document Extraction, AI Summarization

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

What 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).

  1. Set Expense Fields (Edit Fields (Set)): sets 9 fields: expense_id, received_at, employee_name…
  2. Get Expenses from Sheet (Google Sheets): uses Google Sheets
  3. Validate Expense Input (If): checks a condition and branches into true / false
  4. Filter Current Month (Code): runs custom JavaScript code
  5. Expense Evaluation Agent (AI Agent): runs an AI agent, with model: OpenAI Expense Model
  6. Notify Invalid Submission (Telegram): uses Telegram
  7. Summarize Monthly Expenses (AI Agent): runs an AI agent, with model: OpenAI Monthly Model
  8. Set AI Analysis Fields (Edit Fields (Set)): sets 13 fields: vendor, category, ai_amount…
  9. Send Monthly Report to Manager (Telegram): uses Telegram
  10. Append Expense to Sheets (Google Sheets): append

…plus 4 more steps. See the full node list below.

Services it uses

TelegramOpenAI Chat ModelGoogle SheetsGmail

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)

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…

Excerpt from Khairul Muhtadin's description on n8n.io.

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.