Split shared rental utility bills with gpt-5.6-terra Vision, Postgres and Gmail
Ready for 3.0What this workflow does
This workflow has 29 nodes and runs when an HTTP POST request hits its webhook URL (plus 1 other trigger). Along the way it connects Postgres, Discord and Gmail. It also calls api.openai.com over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 1 other trigger).
- Normalize forwarded bill (Edit Fields (Set)): sets 8 fields: bill_id, source, received_at…
- Find bills from yesterday or older (Postgres): run a query
- Has a bill image attached (If): checks a condition and branches into true / false
- Build follow up summary (Code): runs custom JavaScript code
- Build GPT-4o vision request (Code): runs custom JavaScript code
- Alert missing image on Discord (Discord): work with message
- Email missing image notice (Gmail): uses Gmail
- Are there open bills (If): checks a condition and branches into true / false
- Read the bill with GPT-4o vision (HTTP Request): calls api.openai.com (POST)
- Post follow up on Discord (Discord): work with message
…plus 17 more steps. See the full node list below.
Services it uses
HTTP calls to: api.openai.com
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 (9)
- Webhook
n8n-nodes-base.webhook - Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - Postgres
n8n-nodes-base.postgres - Discord
n8n-nodes-base.discord - Gmail
n8n-nodes-base.gmail - Schedule Trigger
n8n-nodes-base.scheduleTrigger
From the author
Split the utility bill fairly without spreadsheet drama. Snap a photo of the bill and this workflow reads it with AI vision, splits charges across rental units by occupancy weight, and notifies owners and tenants. A daily sweep catches anything left unpaid.…