Save yourself the work of writing custom integrations for Google Sheets and Invoice Ninja and use n8n instead. Build adaptable and scalable Data & Storage, Productivity, workflows that work with your technology stack. All within a building experience you will love.
In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.
Create
Create a spreadsheet
Delete
Delete a spreadsheet
Append or Update Row
Append a new row or update an existing one (upsert)
Append Row
Create a new row in a sheet
Clear
Delete all the contents or a part of a sheet
Create
Create a new sheet
Delete
Permanently delete a sheet
Delete Rows or Columns
Delete columns or rows from a sheet
Get Row(s)
Retrieve one or more rows from a sheet
Update Row
Update an existing row in a sheet
Create
Create a new bank transaction
Delete
Delete a bank transaction
Get
Get data of a bank transaction
Get Many
Get data of many bank transactions
Match Payment
Match payment to a bank transaction
Create
Create a new client
Delete
Delete a client
Get
Get data of a client
Get Many
Get data of many clients
Create
Create a new expense
Delete
Delete an expense
Get
Get data of an expense
Get Many
Get data of many expenses
Create
Create a new invoice
Delete
Delete a invoice
Email an invoice
Get
Get data of a invoice
Get Many
Get data of many invoices
Create
Create a new payment
Delete
Delete a payment
Get
Get data of a payment
Get Many
Get data of many payments
Create
Create a new quote
Delete
Delete a quote
Email a quote
Get
Get data of a quote
Get Many
Get data of many quotes
Create
Create a new task
Delete
Delete a task
Get
Get data of a task
Get Many
Get data of many tasks







Sergey Komardenkov
Describe the problem/error/question I am testing a workflow where the final action is addition of a row into a Google sheet. I have created a new sheet, I gave it Edit permissions by link just in case, and of course I ad…

sérgio eduardo floresta filho
Hello! My goal is to use Google Forms to collect information from my clients and then use n8n to automate the processing of this information. My workflow involves: Collecting data through Google Forms. Using n8n to re…

Julian
I’m trying to send a timestamp to a Google Sheet. Therefore, I use the expression $now.format(“HH:mm”).toString(). In n8n, the timestamp looks correct (see screenshot). However, in Google Sheets, the string value is …

therealJMT
Describe the problem/error/question edit: I guess I figured it out. The “isEmpty()” is a boolean function and has no output it just checks in the node if it’s true or not. For my workflow I got it running with a setup th…

Guilherme
Hello everyone, I’m having a problem logging into my Google account when I’m creating a credential for Google Sheets. :warning:Error 400: redirect_uri_mismatch I noticed that n8n is inserting an extra character in t…
The world's most popular workflow automation platform for technical teams including
Build complex workflows, really fast