This workflow corresponds to n8n.io template #6447 — we link there as the canonical source.
This workflow follows the Gmail → Google Sheets recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "qclESQ5SPXlYdUS1",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Invoice Automation Workflow with Invoice NINJA",
"tags": [],
"nodes": [
{
"id": "1009fb50-b8fe-4949-8756-c61311d0ab1f",
"name": "0. Google Sheets (Invoice Trigger)",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-112,
64
],
"parameters": {},
"description": "Triggers when a project's status is changed to 'Ready for Invoice'.",
"typeVersion": 1
},
{
"id": "bba87058-2b13-4f63-8999-f45b43256ff5",
"name": "1. HTTP Request (Create Invoice)",
"type": "n8n-nodes-base.httpRequest",
"position": [
144,
64
],
"parameters": {},
"description": "Sends data to the invoicing service API to create a new invoice.",
"typeVersion": 1
},
{
"id": "adbca28b-bd7a-488d-86bd-8280be4cebb7",
"name": "2. Gmail (Send Invoice)",
"type": "n8n-nodes-base.gmail",
"position": [
400,
64
],
"parameters": {},
"description": "Emails the newly created invoice to the client.",
"typeVersion": 1
},
{
"id": "029aee61-c444-4445-bd04-00ac3b86d708",
"name": "3. Google Sheets (Update Status)",
"type": "n8n-nodes-base.googleSheets",
"position": [
640,
64
],
"parameters": {},
"description": "Updates the project status to 'Invoiced' in Google Sheets.",
"typeVersion": 3
},
{
"id": "8d23368c-48fe-4752-a277-0d320b9045ae",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "33b56fca-b0c9-4c74-a17c-134aa775045c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
304
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "0b42dd37-a3f4-4948-a9ae-1ec2550585a7",
"connections": {
"2. Gmail (Send Invoice)": {
"main": [
[
{
"node": "3. Google Sheets (Update Status)",
"type": "main",
"index": 0
}
]
]
},
"1. HTTP Request (Create Invoice)": {
"main": [
[
{
"node": "2. Gmail (Send Invoice)",
"type": "main",
"index": 0
}
]
]
},
"0. Google Sheets (Invoice Trigger)": {
"main": [
[
{
"node": "1. HTTP Request (Create Invoice)",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates the repetitive task of invoicing, turning a manual process into an efficient, hands-free operation.
Source: https://n8n.io/workflows/6447/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Automatically processes new orders added to Google Sheets. Small orders are approved instantly; large orders trigger an HTML email with one-click Approve / Reject links — each handled by an independen
Hiring teams often struggle with document follow-ups, offer letter generation, and stakeholder communication. Manual checks, email back-and-forth, and missing files slow down hiring and create chaos d
This workflow turns a Google Sheet into an automated certificate-issuing pipeline. The moment a new completion row is added — whether by your training team, a Zap, or a quiz platform — a branded PDF/A
This workflow automates the end-to-end process of generating and sending client payment links using Google Sheets and Stripe.
This template is ideal for HR teams, startup founders, operations leads, remote-first companies, and freelancers managing onboarding manually or across multiple tools.