Google Sheet formatting in n8n

<Hi, I’m using n8n to populate an invoice in Google sheets based on a template invoice. The Google sheets node asks for the location of the Header row and the first row of data which is to be populated. This tells it where to put the invoice data and it does that very well. I also need it to populate customer name, address, and date above that. I have tried using a second Google sheets node just to populate the header but it keeps putting the info at the bottom of the invoice. I have also tried specifying the cells in the Agent system message but no luck. Any suggestions?

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hi @Matthew_Mclarty, welcome!

I’ve answered something similar here:

I think you’ll need to use multiple Google Sheets Tools nodes and explicitly target the exact cells you want to update, tbh that looks quite complex,

Another option could be to make it dynamic and use an AI Agent tool and maybe one Google Sheets Tool under it, but that would rely on AI and wouldn’t be deterministic,

The solution I’d recommend in your case is using the Google Sheets batchUpdate endpoint,

Basically, you define the cells you want to update directly in the JSON body,
You can also use $fromAI() here, which makes things much easier for example:

Here’s the sample workflow you can start with:

Thank you Mohamed. How do i contact you?