Google Sheets not finding all sheets

First time using appsmith. I’m comparing retool and appsmith to see which our company should use. When I add Google Sheets and then try to create a query with it, it does not show all sheets. All the docs and tutorials show that you should be able to use a url to specify the sheet, but all I’m seeing is a dropdown list. I was having the same problem on Retool, but on Retool you can switch to just using an ID, which made it easy to reference the sheet I needed. How can I do the same in AppSmith?

Hi there!
Unfortunately, in Appsmith, you cannot directly use the sheet URL or ID to specify the sheet you want to work with. Instead, you need to provide the Google Sheet URL and the sheet name.

I’m also surprised as to why you’re not seeing the entirety of your Google sheets. How many were you expecting and how many did you get?

Ok, but how am I supposed to provide the url? There is no mechanism for it? It’s either a javascript box or a dropdown for the sheets, where my sheet does not show up.

I’m expecting thousands of sheets, I do not know how many are actually coming back in the dropdown. Should I do a query for all of them and paginate through them? I would expect to be able to simply choose the one I want in the dropdown, or type out the name exactly and have it show up in the search box. Neither happens.


Does the sheet in question belong to you or is it shared with you? I believe you can only see sheets owned by the authenticated account.

I created the sheet, but it exists in a Shared (company) Drive. With retool I’m able to simply use the id and it is able to access it just fine. Is this a limitation of how the Google Sheets api works in AppSmith? Kinda seems to defeat the purpose of the google sheets integration doesn’t it? I’m also able to see sheets that other people own just fine, for example coworkers. It seems to be just limited to things in Shared Drives, though of course I can’t really confirm that, I’d have to go try and find the location of thousands of sheets.

Ok, you actually do choose the JS option, then just paste the full url in. I had tried that but it didn’t work. I wonder if it just hadn’t fully loaded the first time I tried. Why does it say JS if it’s just expecting a URL?

This is because it can also accept JS if you use our mustache syntax ({{}}) in case you wanted to build the URL dynamically.

1 Like