Chase unpaid invoices with Google Sheets, Gmail, OpenAI and Slack
Ready for 3.0What this workflow does
This AI workflow has 23 nodes and runs on a schedule (every day at 09:00). Along the way it connects Google Sheets, Gmail, OpenAI Chat Model and Slack.
How it runs
Trigger: On a schedule (every day at 09:00).
- Settings (Edit Fields (Set)): sets 16 fields: sheet_url, business_name, sender_name…
- Look Up Public Holidays (HTTP Request): calls an HTTP API
- Is Today A Sending Day? (Code): runs custom JavaScript code
- Send Today? (If): checks a condition and branches into true / false
- Read The Ledger (Google Sheets): uses Google Sheets
- Read The Chase Log (Data table): get
- Find The Overdue Ones (Code): runs custom JavaScript code
- Look For Their Replies (Gmail): get many (message)
- Who Already Replied (Code): runs custom JavaScript code
- Loop Over Invoices (Loop Over Items (Split in Batches)): loops over the items in batches
…plus 8 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 (13)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp - Google Sheets
n8n-nodes-base.googleSheets - Data table
n8n-nodes-base.dataTable - Gmail
n8n-nodes-base.gmail - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Slack
n8n-nodes-base.slack
From the author
Quick overview Runs every weekday morning, finds overdue unpaid invoices in Google Sheets, and checks Gmail first so anyone who has already replied is held rather than chased. Drafts a stage-appropriate reminder with OpenAI, sends it, logs the chase in a Data…