Automation library · Money admin

WhatsApp expense tracker with OpenRouter and Postgres

Started by an incoming WhatsApp message, and works across Postgres and WhatsApp. It hands the judgement calls to OpenRouter. 45 steps, 1 branch: large, and worth reading before you trust it with anything live.

LargeCalls a model: OpenRouter

45 stepsLarge: read it before trusting it with anything live
1Branch: places the flow splits
0Loops or waits
2Services it connects to

The flow

Starts it 2Model 28Logic 7Service 8

The steps in the order they run, from what starts it.

  1. 1Date and timeTool CodeModel
  2. 2Structured Output ParserOutput Parser StructuredModel
  3. 3OpenRouter Chat ModelLm Chat Open RouterModel
  4. 4OpenRouter Chat Model1Lm Chat Open RouterModel
  5. 5CalculatorTool CalculatorModel
  6. 6OpenRouter Chat Model3Lm Chat Open RouterModel
  7. 7OpenRouter Chat Model4Lm Chat Open RouterModel
  8. 8Postgres2Postgres ToolService
  9. 9OpenRouter Chat Model5Lm Chat Open RouterModel
  10. 10Calculator1Tool CalculatorModel
  11. 11Structured Output Parser2Output Parser StructuredModel
  12. 12OpenRouter Chat Model6Lm Chat Open RouterModel
  13. 13Incoming WhatsApp TriggerWhats App triggerStarts it
  14. 14Daily 8AM TriggerSchedule triggerStarts it
  15. 15Date and time1Tool CodeModel
  16. 16Date and time2Tool CodeModel
  17. 17Date and time3Tool CodeModel
  18. 18Date and time4Tool CodeModel
  19. 19Date and time5Tool CodeModel
  20. 20OpenRouter Chat Model2Lm Chat Open RouterModel
  21. 21OpenRouter Chat Model7Lm Chat Open RouterModel
  22. 22OpenRouter Chat Model8Lm Chat Open RouterModel
  23. 23Parse & Validate TransactionAgentModel
  24. 24Message Intent ClassifierAgentModel
  25. 25Build Custom Report QueryAgentModel
  26. 26Build Custom Financial SummaryAgentModel
  27. 27Build Daily Report QueryAgentModel
  28. 28Execute Daily Report QueryAgentModel
  29. 29Build Daily Financial SummaryAgentModel
  30. 30Build Confirmation MessageAgentModel
  31. 31simple conversation AgentModel
  32. 32Split Transaction LinesSplit OutLogic
  33. 33Route by IntentSwitchLogic
  34. 34Transform Custom Query for PostgresCodeLogic
  35. 35Send Custom ReportWhats AppService
  36. 36Transform Custom Query for Postgres1CodeLogic
  37. 37Send Daily ReportWhats AppService
  38. 38Send Financial ResponseWhats AppService
  39. 39Normal Conversation Whats AppService
  40. 40Format Transaction JSONCodeLogic
  41. 41Execute Custom Report QueryPostgresService
  42. 42Validate Transaction FieldsCodeLogic
  43. 43Format Custom Query ResultsCodeLogic
  44. 44Insert Transaction into DBPostgresService
  45. 45Convert to FileConvert To FileService

How it's built

Starts on
An incoming WhatsApp message
Steps
45, with 1 branch
Size
Large: read it before trusting it with anything live
Connects to
Postgres, WhatsApp
Model
OpenRouter

Questions

What does it need to run?

An n8n account, plus your own Postgres and WhatsApp accounts, and a key for OpenRouter. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an incoming WhatsApp message.

Does it use AI?

Yes. It calls OpenRouter. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Take your time. At 45 steps it is large: read it before trusting it with anything live.

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 it

Nothing 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 45 steps before you point it at anything that matters.