Generate monthly invoice PDFs from Google Sheets with Gmail, Drive, Slack, and Emitforge
Ready for 3.0What this workflow does
This workflow has 9 nodes and runs on a schedule (every month at 07:00). Along the way it connects Google Sheets, Google Drive, Gmail and Slack. It also calls emitforge.com over HTTP.
How it runs
Trigger: On a schedule (every month at 07:00).
- Set invoice defaults (Edit Fields (Set)): sets 3 fields: company_name, tax_rate, payment_terms_days
- Read billable lines (Google Sheets): uses Google Sheets
- Group by client and build rows (Code): runs custom JavaScript code
- Render the invoice PDF (HTTP Request): calls emitforge.com (POST)
- Download the rendered file (HTTP Request): calls an HTTP API
- Archive the invoice in Drive (Google Drive): uses Google Drive
- Email the invoice to the client (Gmail): uses Gmail
- Post a run summary to Slack (Slack): uses Slack
Services it uses
HTTP calls to: emitforge.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 (8)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - Google Drive
n8n-nodes-base.googleDrive - Gmail
n8n-nodes-base.gmail - Slack
n8n-nodes-base.slack
From the author
Quick overview This workflow runs monthly to read billable line items from Google Sheets, generate one PDF invoice per client via Emitforge, archive each invoice to Google Drive, email it to the client using Gmail, and post a per-invoice summary message to…