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 Sheets/إصدار العقدة، وما إذا كان نفس سير العمل يعمل في v3؟ هذا يعطي فريق n8n اختبار تخزين مؤقت نظيف مقابل تعيين ديناميكي بدلاً من حلقة تحديث أعمدة أخرى.

شيء واحد يحل عادة مشكلة تخزين الأعمدة المتوقفة مؤقتاً: في عقدة Google Sheets، قم بتبديل “Mapping column mode” من “Map automatically” إلى “Map each column manually”، احفظ، ثم بدّلها مرة أخرى إلى “Map automatically” - هذا يجبر n8n على التخلص من المخطط المخزن مؤقتاً وإعادة تحميله بشكل جديد من الورقة. إذا لم ينجح ذلك أيضاً، فقم بتصدير JSON سير العمل، ابحث عن معاملات عقدة Google Sheets، وحذف يدوياً مفاتيح schema و schemaType من JSON، ثم أعد الاستيراد. هذا يمسح تماماً تخزين الأعمدة المدمج بغض النظر عما يفعله تحديث واجهة المستخدم.

واجهنا نفس الخطأ أثناء حزم مسارات عمل n8n، وفي حالتنا لم يكن المُحفِّز تغييراً على جانب جدول البيانات. قياسان قد يساعدان في تضييق الخيارات.

1. إعادة تحديد المستند أو الورقة داخل العقدة تُعيّد تعيين إعدادات العمود بصمت.

تم تكراره مرتين على n8n ذاتي الاستضافة 2.31.5. في اللحظة التي اخترنا فيها المستند/الورقة مرة أخرى من القوائم المنسدلة، فقدت العقدة:

  • mappingMode (أعادت autoMapInputData إلى تعيين يدوي فارغ)
  • matchingColumns
  • options.cellFormat (أعادت RAW إلى القيمة الافتراضية)

لا خطأ، لا تحذير — تبدو العقدة مُعدَّة بشكل صحيح. رأينا نفس المسار يمسح القيم المحفوظة لـ matchingColumns وقيم تعيين defineBelow أيضاً. لذا فإن “تم تحديث أسماء الأعمدة بعد إعداد العقدة” يمكن أن يحدث حتى عندما لا يمس أحد رؤوس الورقة: فتح العقدة واختيار الورقة مرة أخرى كافٍ لتفعيل ذلك.

2. ما نجح معنا كان تجنب القائمة المنسدلة بالكامل.

بدلاً من الاختيار من القائمة، عيّنّا documentId إلى عن طريق URL (ممليء من تعبير، مع عنوان URL الورقة المحفوظ في عقدة إعدادات واحدة) و sheetName إلى بالاسم مع سلسلة نصية ثابتة. بدون اختيار من قائمة منسدلة في أي مكان في المسار، لا توجد حدث إعادة تحديد لإعادة تعيين التعيين. هذا وقاية وليس إصلاح، لذا فهو يكمل إصلاح Jay المتعلق بإزالة schema / schemaType من JSON المُصدَّر، وهو ما سنستخدمه لاستعادة عقدة مكسورة بالفعل.

3. يستحق التحقق من cellFormat بعد أي إعادة تعيين من هذا القبيل.

عندما تعود بصمت من RAW، تُعاد تفسير القيم المكتوبة. في مسار عمل منفصل قسنا أن تسمية نقطة مكتوبة مع RAW تعود متطابقة البايت عند القراءة — وهذا بالضبط ما يعتمد عليه مفتاح الحراسة من إعادة الإرسال/الاستقلالية. مع الصيغة الافتراضية يمكن تحليلها إلى شيء آخر. لذا هذه الإعادة تعيين يمكنها إفساد البيانات بصمت، ليس فقط كسر التعيين.

تحفظ: هذه قياسات من 2.31.5 / 2.32.6 ذاتي الاستضافة. لم نقيّم typeVersion لعقدة Sheets، لذا لا يمكننا تأكيد أو معارضة النقطة أعلاه حول أن 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.

الأسلوب أ — عقدة الإعدادات تغذي أسماء الأعمدة في فتحات المفاتيح. مع عقدة Sheets في Map Each Column Manually (defineBelow)، التعبير الموضوع في فتحة مفتاح/اسم العمود لا يتم تقييمه. يتم إسقاطه بصمت — بدون خطأ، بدون تحذير، العمود لا يتلقى قيمته أبداً. التعبيرات في فتحة القيمة يتم تقييمها بشكل طبيعي؛ إنها الجانب الرئيسي بالتحديد الذي يتم تجاهله.

الأسلوب ب — عقدة الإعدادات تغذي عقدة Code. اترك عقدة الإعدادات تقرر الأسماء، لكن اجعل عقدة Code تصدر كائن الصف المكتمل بمفاتيح حرفية، وضبط عقدة Sheets على Map Automatically (autoMapInputData). تحصل على نفس السلوك الديناميكي، ولا يعتمد شيء على تقييم التعبير في فتحة المفتاح.

لذا إذا كانت عقدة الإعدادات تغذي القيم بينما أسماء الأعمدة مكتوبة حرفياً، فأنت على المسار الآمن. إذا كانت تغذي أسماء الأعمدة إلى الحقول الرئيسية، فهذا هو الحقل الذي يستحق إعادة فحص على إصدارك — وضع الفشل هو صف يهبط مع تلك الأعمدة فارغة، بدلاً من خطأ.

أشير إليها لأنها من نفس فئة المشكلة التي فتحت بها هذا الموضوع: لا شيء في واجهة المستخدم يخبرك أنه لم ينجح.