Skip to content

Release notes


  • Added role-based access control. You can now place users into groups, and give groups of users access to consume APIs, or to manage your APIs. This can be useful when you have a large organisation with many teams, and you want give some teams access to manage some data tables and APIs, but not others.


  • Added a workaround for Google's APIs not notifying us of changes to items in Google Shared Drives. Such items will be automatically detected and polled for changes every 15 minutes. Google issue
  • Significant improvement to API performance.
  • Added service status page link


  • Added documentation for people performing integrations with Braze, a popular content marketing tool.
  • Added the ability to upload CSV/XLSX files via the administrative API. Read more.


  • Feature: Support for running SQL queries against your data tables. This allows for more complex use cases, like cross-table joins, and more advanced filtering. Read more.


  • Bugfix: Spreadsheets with an empty first sheet could not be imported.
  • Bugfix: Nulls were not being rendered in the web UI when editing records.
  • Bugfix: Not all pages of records were always being shown when editing records.
  • Bugfix: Ordering of nulls had changed; nulls were being treated as greatest rather than smallest.
  • Bugfix: Usernames were being treated as case-sensitive.


This marks a major release to Sheetlabs that incorporates many feature requests from users, and even more under-the-hood improvements. The major changes are as follows:

Near realtime Google Sheets synchronisation

We now update from Google sheets within ~20 seconds of you making a change there. There are some caveats to this though. If you make lots of changes in a short period, then Google will not notify us of every single one, so it can creep back up to a few minutes delay. But regardless, it's a lot faster than the previous ~10 minutes synchronisation period.

We also now support fetching Google Sheets from Team Drives.

Support for CRUD operations (creating, updating and deleting) via APIs

Previously you could only create APIs that allowed your users to consume data (via GET requests). Now you can allow users to create, update and delete data via your APIs too. Obviously this should be used with caution, and only when you trust your users!

You can read more about this here.

Support for serving coupon codes

This was requested by a customer working in marketing. Their use case was that they were using Sheetlabs to store coupons that would be issued to customers via an API request. But they wanted to be absolutely certain that once a coupon was issued, it would never be used again, even if there were hundreds of people requesting them at the same time. So you can now tell Sheetlabs that your table stores coupons, and it will return coupon codes precisely once, and then mark them as used after that.

You can read more about coupon code support here.

Support for much larger spreadsheets with thousands of columns

We have made the switch to PostgreSQL for our backend database, which removes many limitations about data table size. Previously we were limited to 256 columns per data table, but now we can support many thousands.