Google sheets keeps on saying coloums has been been changes i have refreshed deleted the node added a new one same isssue

Column names were updated after the node’s setup
Refresh the columns list in the ‘Column to Match On’ parameter. Updated columns: email → user_id, phone → email, channel → phone, last_message → channel, intent → last_message, is_lead_related → intent, status → is_lead_related, last_updated → status i got this error i have refreshed columns and it still hass the issue what do i do

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the 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 @SAM_M

Please can you share a screenshot of your google sheets node properties. This error generally means that you or someone changed the google sheets columns header in your sheet after you had setup your node. This could be either name changes or changing the order of the columns.

did you manage to fix it? I’m having the same issue. even after deleting the node, adding a new one, and remapping everything

The node caches column mappings internally, so deleting and re-adding doesn’t always fix it. Open the Google Sheets node, click into the “Column to Match On” dropdown, and use the small refresh icon right next to it. That forces n8n to re-read the actual sheet headers. If it still persists, check if any column header in the sheet has a trailing space or was renamed since you first configured the node.

檢查這個問題何時會被修復。Sheets Node v3 沒有這個問題。我們需要能夠動態參考欄位。這破壞了我多個流程,這些流程需要能夠將相同的資料放入多個工作表中,這些工作表的欄位順序不同但欄位名稱相同。請在 Google Sheets Node 的下一個版本中允許不快取欄位。

TylerH,有用的重現是兩個試算表中相同欄位名稱但順序不同的情況,而不是較舊的「重新命名標題然後重新整理」案例。

你能否貼出最小範例,包含試算表 A 的標題、試算表 B 的標題、確切的 Google 試算表操作/節點版本,以及相同的工作流程是否在 v3 中運行?這樣可以給 n8n 團隊一個清晰的快取對動態映射測試,而不是另一個重新整理欄位迴圈。

一個通常能修復卡住的欄位快取的方法:在 Google Sheets 節點中,將「對應欄位模式」從「自動對應」切換到「手動對應每個欄位」,儲存,然後再切換回「自動對應」 - 這會強制 n8n 捨棄快取的綱要並從工作表重新載入。如果還是不行,匯出工作流程 JSON,找到 Google Sheets 節點的參數,手動從 JSON 中刪除 schema 和 schemaType 鍵,然後重新匯入。這樣可以完全清除嵌入的欄位快取,不受 UI 重新整理的影響。

我們在打包 n8n 工作流時遇到了相同的錯誤,但在我們的情況下,觸發因素不是試算表端的變更。以下兩項測量結果,希望有助於縮小問題範圍。

1. 在節點內重新選擇文件或工作表會自動重置欄位設定。

在自託管 n8n 2.31.5 上重現了兩次。從下拉選單中重新選擇文件/工作表的那一刻,節點失去了:

  • mappingMode(autoMapInputData 恢復為空白的手動對應)
  • matchingColumns
  • options.cellFormat(RAW 恢復為預設值)

沒有錯誤,沒有警告 — 節點看起來仍然是已設定的狀態。我們也看到同樣的路徑清除了已保存的 matchingColumns 和 defineBelow 對應的值。所以「欄位名稱在節點設定後更新」可能會觸發,即使沒有人改動試算表標題:只要打開節點並重新選擇工作表就足以觸發它。

2. 對我們有效的做法是避免使用下拉選單。

我們沒有從清單中選擇,而是將 documentId 設為按 URL(從運算式填入,試算表 URL 保存在一個設定節點中),並將 sheetName 設為按名稱搭配固定字串。由於流程中沒有任何地方使用下拉選擇,就不會有重新選擇事件來重置對應。這是預防而非修復,因此補充了 Jay 的修正 — 從導出的 JSON 中移除 schema / schemaType,這是我們用來恢復已損壞節點的方法。

3. 值得在任何此類重置後檢查 cellFormat。

當它從 RAW 無聲地恢復時,寫入的值會被重新解釋。在另一個單獨的工作流中,我們測量到用 RAW 寫入的期間標籤在讀取時回傳為完全相同的位元組 — 這正是冪等性/重新傳送防護金鑰所依賴的。使用預設格式,它可能會被解析為其他內容。所以這個重置可能會無聲地損毀資料,而不僅僅是破壞對應。

警告:這些是來自自託管 2.31.5 / 2.32.6 的測量結果。我們尚未評估 Sheets 節點的 typeVersion,所以我既不能確認也不能否定上述關於 v3 沒有此問題的說法。

是啊,有時候會發生這種情況,我的解決方法是建立一個config節點(js code節點或fields節點),其中應包含欄位名稱,然後在google sheet節點中,欄位名稱應該在「expression」欄位中,這樣我們就可以使用來自config節點的欄位名稱。

@appunitsai 那個 config-node 模式是我會想拆成兩種可能接線方式的,因為其中一種會無聲地失敗,另一種則很穩固。

根據我們這邊的測量 — 本地 n8n 2.30.7,2026-07-22,而且我們還沒有在 2.31.x / 2.32.x 上重新測試過這個特定的行為。

接線 A — config 節點將欄位名稱饋入到鑰匙插槽中。 使用處於 Map Each Column Manually(defineBelow)模式的 Sheets 節點時,放在欄位鑰匙/名稱插槽中的表達式不會被評估。它會被無聲地丟棄 — 沒有錯誤,沒有警告,該欄位就是永遠收不到它的值。值插槽中的表達式會正常評估;只有鑰匙端會被忽略。

接線 B — config 節點饋入 Code 節點。 讓 config 節點決定名稱,但有一個 Code 節點發出具有字面鑰匙的完成行物件,並將 Sheets 節點設為 Map Automatically(autoMapInputData)。你會得到相同的動態行為,而且沒有任何東西取決於鑰匙插槽表達式評估。

所以如果你的 config 節點在饋入值而欄位名稱是字面輸入的,你走的是安全路線。如果它在饋入欄位名稱進入鑰匙欄位,那才是值得在你的版本上仔細檢查的 — 失敗模式是一個行著陸時這些欄位是空白的,而不是一個錯誤。

我標記這個是因為它屬於與這個執行緒開啟的問題相同的族群:UI 中沒有任何東西告訴你它沒有生效。