Glide says columns are missing but they are there


I am using importJson + triggerRefresh in gsheet to get every hour news from an API that overwrites the current rows. Every few days glide says that columns are missing and stops syncing but the latest rows are there and also shown in glide data editor. I then need to manually refresh in glide but for this time old news are shown in my app which is a nogo. I already changed to “syncmode extra” but it’s not fixed. Is glide stopping sync at some point forever?



Does your import replace everything in the sheet including the column headers? (Row 1).

If it does, change it so that your column headers remain static and start your import from row 2. I suspect that will solve your problem.

1 Like

Yes it does but they stay the same. I will try it anyway and see if it helps. Thx!

What can happen is that if Glide syncs at exactly the same time that the data is being replaced, then it won’t see any data at all, and most importantly - no column headers - and hence the error message.

It’s a common issue with any scripts/formulas that replace the entire contents of a sheet. Using static column headers resolves the problem. Even if there is no data in the sheet when Glide syncs, as long as the column headers are there then everything will be okay.

1 Like

It seems static headers fixed one problem but brings in another. The order of the headers changes sometimes and then does not match with the values which result in a messed up glide app. I contacted the api provider about the order of the headers but he answered that in JSON you can not rely on the order of objects and they are right about that java - JSON order mixed up - Stack Overflow

I wonder if I am the only one with this problem?

The solution to this would be to stick something in the middle that processes the JSON and then inserts the data into the correct columns in the correct order.

That could be a bit of Apps Script, or an automation tool such as Make.

In fact if you use that approach, you may find that you can dispense with the importrange and insert the data directly to the sheet. Couldn’t say that for sure without knowing more about your setup.

1 Like