Google Sheets refreshToken is required. Cloud hosted

I am using cloud hosted n8n, and the Google Sheets Api. If I reconnect my Google Sheets Credentials, the workflow works fine. However, when the workflow is scheduled to run the next day, I get the following Error:

Note that my Google Sheets belongs to the same credential that I am logging in to.

Share the output returned by the last node

{
“errorMessage”: “refreshToken is required”,
“errorDetails”: {
“rawErrorMessage”: [
“refreshToken is required”
],
“httpCode”: “ERR_ASSERTION”
},
“n8nDetails”: {
“nodeName”: “Append or update row in sheet”,
“nodeType”: “n8n-nodes-base.googleSheets”,
“nodeVersion”: 4.6,
“resource”: “sheet”,
“operation”: “appendOrUpdate”,
“time”: “7/30/2025, 11:41:55 AM”,
“n8nVersion”: “1.105.0 (Cloud)”,
“binaryDataMode”: “filesystem”,
“stackTrace”: [
“NodeApiError: refreshToken is required”,
" at ExecuteContext.apiRequest (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Google/Sheet/v2/transport/index.ts:78:9)“,
" at processTicksAndRejections (node:internal/process/task_queues:105:5)”,
" at GoogleSheet.spreadsheetGetSheet (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Google/Sheet/v2/helpers/GoogleSheet.ts:129:21)“,
" at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Google/Sheet/v2/actions/router.ts:43:20)”,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/Google/Sheet/v2/GoogleSheetsV2.node.ts:30:10)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_46e522f8a77ed5eccc0991bfcca21502/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1212:9)”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_46e522f8a77ed5eccc0991bfcca21502/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1582:27",
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_46e522f8a77ed5eccc0991bfcca21502/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2158:11"
]
}
}

Information on your n8n setup

  • n8n version: 105.0
  • Running n8n via: n8n cloud

What’s going on

refreshToken is required means the Google Sheets node tried to renew the access token it obtained in the previous run, but n8n couldn’t find (or couldn’t use) a stored refresh token. This usually happens when:

  1. No refresh‑token was ever issued
    Google only sends a refresh token when the original OAuth request includes
    access_type=offline&prompt=consent. Without those flags the connection works for a few hours, then expires.

  2. The refresh‑token was short‑lived or revoked
    If your OAuth app is still in Testing status, Google invalidates refresh tokens after 7 days (sometimes 24 h for certain scopes).

  3. n8n didn’t save the token correctly
    Versions around n8n 1.105.0 have a bug in the Google Sheets node where the refresh token isn’t persisted; the workflow works right after reconnection but fails the next day.

Check this post out: ERR_ASSERTION - refreshToken is required

Hi William_Carlson,

Because the cloud version requires us to use n8n’s oauth app rather than specify our own that we created in Google Api Console, I can neither set the access_type, nor publish my Oauth App. When I set up the credentials for Google Sheets, there is no option to put a client key. I simply can sign in using my personal google account, which is the owner of this sheet.

You mentioned n8n 1.105.0 having a bug. Can you go a little more in detail about that? I can only switch between versions 1.104.0 and 1.105.0 in the Manage section, and neither work.

Also, can I use a Google Service Account to write to a google sheet in my personal Google Drive? If so, I will go down that route instead of the Oauth.

you managed to find a solution ?

Hi Hassan!

I ended up creating a Google Service Account, and sharing the sheet to the email of said account. This is actually better, as with OAuth I was forced to share all my google drive documents, where as with the Service Account I can grant access to specific files.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.