This month the AppSheet Community came together during Office Hours to dive deep into new platform enhancements that help improve both the app creator and end user experience - AppSheet databases and no-code Chat Apps - as well as demonstrate new and improved app templates to give you a flavor of the depth that can be achieved using AppSheet.
Thank you to @ShirleyN, @Rachelgmoore, @vchitra, @SantiagoU, @cschalk_ws, and @d_bahir for leading the session!
If you didn’t have a chance to join Office Hours live, no worries! In this post, we share the session recording, key takeaways, written questions and answers, and supporting documentation and resources, so you can refer back to them at any time.
There were many questions that we didn’t have time to get to on the call, but we did our best to add those to this post. If you have any further questions or if you don’t see yours below, please add a comment to this post and someone from the AppSheet team or the Community will be happy to help!
Pro tip 👉 Use the chapter links with timestamps in the YouTube description to quickly get to the topics you care about most.
AppSheet databases (in public preview) are the new first party, native datasource for organizing and managing data powering AppSheet apps. With AppSheet databases, app creators can benefit from:
Compared with other data sources, the main goal of AppSheet databases is to allow non-code or more non-technical users to succeed with AppSheet. As you can see in the image below, AppSheet databases lie in the middle between Sheets on the one end (unstructured, can be error prone and difficult to scale) and a Cloud database on the other end (can be complicated to provision, difficult to customize).
Diving a little deeper, let’s see how AppSheet databases compare to Sheets, which is one of the most common data sources today:
Data modeling and setup |
AppSheet integration |
Performance |
|
AppSheet database |
Structured column types reduce data entry errors Schema change flexibility |
Column types compatible with AppSheet apps Easily build dropdowns or references for apps User experience improvements to App editor |
More performant for high-concurrency editing, automation and security filter use cases Automatically knows when to sync data across all apps to keep data up to date |
Spreadsheet / Sheet |
Data analysis with formulas and charts directly inside Sheet Familiar product Integration with editing tools such as Workspace or MS Office |
Create an app directly from Google Drive or table in Sheets Most common data source |
Baseline for performance measurements |
To get an idea of how AppSheet databases work in a real scenario, check out the example below of a project management workflow (see the live demo walkthrough starting at 07:42 here).
Moving forward for AppSheet databases, we’ll be prioritizing the following:
Please provide your feedback in the comments section of this post on AppSheet databases here, so we can continue to improve your experience. Thank you!
Across Google Workspace and AppSheet, business users setting up or engaging with organizational processes face the same types of challenges:
To help address these challenges, we’re introducing the ability for AppSheet apps (templates, existing apps, or created from scratch) to render in Chat as no-code Chat Apps. Working with Workspace Marketplace and Chat Platform teams, we’re enabling creators to publish them for use within their organizations with a single click.
Our objective is to enable users to create and deploy a “chatbot view” of an AppSheet app as a domain-private “Chat App” in less than 5 minutes.
Share app views
Build automations – from simple to complex
Included for AppSheet + Workspace users
AppSheet Private Preview: Select app views, configurable real-time slash commands, manual publication flow
AppSheet Public Preview: Automation (events, tasks), additional view support, simplified publication flow
Full GA: Full-featured experience: Dedicated builder, purpose-built templates, preview/test, one-click publication flow
Webhooks + Apps Script |
No-code Chat Apps |
Requires writing code to integrate with AppSheet |
Uses visual automation builder to configure Chat events and tasks |
Must build your own views, messages, etc. |
No code or code-like structures required |
Need manual work/steps to handle all chat events |
All within AppSheet; no need for Apps Script or Cards API |
Requires writing code to send asynchronous messages based on triggers (or use Appsheet webhook task) |
Can build Apps that combine Chat automations, views (form submissions, detail views, etc), waits, and more within a single no-code builder |
Uses API access only available at AppSheet Enterprise |
Automation can send messages to existing threads rather than starting new chats every time |
Available to Workspace customers at AppSheet Core and higher |
Have you heard of AppSheet app templates? The AppSheet team has built a library of common app use cases and templates on AppSheet that can be copied, customized, or referenced as inspiration for your project.
We’ve recently developed several new templates to showcase the depth with which you can build apps on the AppSheet platform and to reflect real-life use cases. Check them out below and see our live walkthrough of how to make the most of app templates here.
Have an idea for a new AppSheet app template? Create your own and share with the Community, or let us know what you’d like to see in the comments below!
See the live Q&A from Office Hours here.
This is currently not possible but an interesting feature request! You touched on an interesting point on facilitating transition of an app, though. What you could do is connect new and old tables to an app since you can mix data sources within an app. Alternatively, with the Sheets import feature coming soon, you can export data into an AppSheet database and start migration that way.
Your AppSheet apps can access data from multiple data sources, and the same app can connect to tables from multiple data sources, which can be helpful as you transition your Sheets or other data source to AppSheet databases. Learn more about using multiple data sources here.
Our goal is to make this feature generally available at the beginning of next year. In the meantime, we appreciate all the feedback we’re hearing from the community and have been using it to help address bugs and feedback.
The only thing that will differ by subscription plan will be usage. Usage will be available for all plans but we’re still working through the specific limits at each plan which will likely be measured at rows/table and table/databases. Currently AppSheet databases is on par with Sheets in terms of sync times, but it does perform better for automation and security filters use cases.
We will continue to work to improve the integration and strive to make it the most performant data source for AppSheet.
We know many organizations are using Tables Beta extensively for their business needs. I do want to call out that AppSheet databases is not a direct replacement for Tables Beta. Instead, we believe AppSheet as a whole, can help Tables Beta users automate and build workflow solutions similar to what they’ve done inside Tables Beta. Tables Beta won’t be deprecated in 2023 and we are discussing migration paths that will include AppSheet as one of the options. We’ll try to make migration as smooth as possible but there will be some manual configuration required.
Data changes, such as updating or adding data directly in the database, do propagate to connected apps, however data schemas currently do not. Automatic schema syncing is something that is being considered and falls into the bucket of “Features that enable deeper AppSheet integration”
Check out this help article on using data from Salesforce.
From speaking to users we see Sheets is the most common data source for apps. For that, we are working on an import from Sheets functionality that we’re testing internally and should be released soon. For other data sources that are connected to an app already, there is an option inside the editor to Copy Data to New Source.
You cannot create a dashboard like you would in Sheets with charts and graphs, but that’s where connecting to the AppSheet app editor brings value. By creating a Chart view inside an app, you can display graphs based on your database.
Also, we have a Looker Studio connection through AppSheet, so if you connect your database to an app and then go to Looker Studio, you can find that data source within your Looker Studio account and then have the ability to build charts.
Not directly in the database UI, but you can add references to other tables through an app. You would add each table to your app and set the column type to a ref, then update it to reference your desired table and column inside the app editor.
A common feature request we see from Google Tables is the ability to limit data visibility based on who signed in or to only show specific data to specific people. That’s exactly what you’re able to do with AppSheet databases using security filters, along with the governance capabilities built-in.
Within the database itself in the settings gear in the top right, you can open that and hit “copy database” to copy everything inside that database. Learn more about copying databases here.
You can also change ownership from that same menu. However, this cannot be undone or reversed, so make sure you’re confident in the transfer of ownership before doing so. Learn more about changing the owner of the database here.
From a technical standpoint, they’re not related. There’s been some questions if you can use the Tables API to do things in AppSheet databases. This is not possible because they’re completely separate products. Tables Beta cannot be used as a data source for apps either.
The interface is similar because we find that people who are using Tables Beta - the non-technical folks or process owners - are familiar with editing and organizing their data in a structured, grid-like format. There are no requirements to migrate out of Tables Beta in the coming year, and we will provide ample notice with instructions to transfer data to an alternative such as AppSheet databases.
For AppSheet databases, limits are measured by rows in a table. For public preview, the following limits apply to AppSheet databases per user:
These are limits for public preview so we can get an idea of what usage is like and better prepare ourselves for performance improvements, scalability, and reliability in GA.
Learn more about restrictions, limits, and known issues of AppSheet databases here.
There are a couple options. After Sheets import, you can convert the excel file to Sheets and then import it into a database. Alternatively, if it’s already connected to an app you can go into Data > Select table > Storage > Copy data to new source
Export to Sheets from the database is on our roadmap. It will likely be exporting the table or entire database in bulk. You may also use the workaround suggested in Q14 above to Copy data to a new source.
This cannot be done inside the database, instead expressions can be applied to the data source through the AppSheet app editor. You can also create virtual columns that can be displayed inside an AppSheet app that are based on column expressions.
Currently it’s not possible to connect two data sources together directly. However, you may connect an AppSheet database and BigQuery to the same AppSheet app.
Not directly, the main vehicle for doing that will be through exporting Tables Beta data into Sheets.
That is not the case with databases. Co-creators can make concurrent changes inside the database. However, if changes to the data schema are made, they will need to be regenerated inside the app editor.
“AppSheet and Google Chat integration enable people to create and interact with custom AppSheet apps right within Chat. Our low-code and no-code platform lets anyone without coding experience build mobile and web applications quickly. Availability: Early 2023.”
Yes, that announcement was describing Chat Apps! It will use – and is in and of itself – that feature. So if you were excited about that functionality, Chat Apps is for you!
Chat Apps are exclusively a function of AppSheet and Google Chat. We’ll never say never, but we’re currently focused exclusively on integrations with Google Chat.
One consideration is that with AppSheet’s automation functionality, apps can shoot webhooks to call other APIs, which could be a possibility to explore depending on your use case.
It’s possible today to use custom logic from within your AppSheet app by calling Apps Script from an AppSheet automation bot. Learn more in the help article, Call Apps Script from an automation.
You can copy data to any data source that's connected. So as long as you have something connected that's not stored in Google Drive then you can export to that. An example would be a Cloud SQL database or Excel.
@Lauren_vdv wrote:
Automatically knows when to sync data across all apps to keep data up to date
@Lauren_vdv
What specific specifications are you talking about for this?
Does this mean that the latest data is available without Sync?
I thought there was currently no difference between the spreadsheet and the AppSheet database in terms of real-time data, but is there a difference?
https://www.googlecloudcommunity.com/gc/Announcements/Discover-new-AppSheet-databases-no-code-Chat-A...
@Koichi_Tsuji
@Lauren_vdv
> Currently AppSheet databases is on par with Sheets in terms of sync times, but it does perform better for automation and security filters use cases.
Sorry, I missed that.
Is this the difference from Sheet at this time?
However, even in that case, I still don't understand what the specific differences are between Automation and Security Filter behavior.
I would appreciate any additional information on this point.
@Koichi_Tsuji
Thanks for the questions @takuya_miyai. Looping in @ShirleyN if you can provide any additional context? thanks!
Hi @ShirleyN
How does the behavior of AppSheet change when AppSheet database and Sheet are used as data sources?
I prepared AppSheet database and Sheet with the same contents and set the security filter, but I could not see the difference in behavior.
Also, I could not find any difference in Automation.
@Lauren_vdv
Hi @Lauren_vdv @ShirleyN
If I wait for this question, will I get a response?
Hi @takuya_miyai sorry I was on vacation, let me try to clarify:
"Automatically knows when to sync data across all apps to keep data up to date" is referring to apps knowing when to initiate the sync process, without the user pressing the sync button manually. This does not change sync times and there is no difference between the spreadsheet and the AppSheet database in terms of real-time data as you mentioned.
Automation and security filters should be the main difference in terms of performance between Sheets and databases. Apps using databases as the data source can retrieve and write data faster compared to how data is read/written to Sheets.
@ShirleyN
Thanks for the reply.
(Vacations are so important!🤗)
I still don't fully understand the difference between Sheets and AD.
Specifically, what are the use cases for Automation and Security Filter and what are the differences?
For example, I prepared a Sheets and AD table with the same data and set up a Security Filter with dynamically changing filtering.
But I could not tell the difference.
Perhaps the difference in performance will be more noticeable on big data (10000 - 50000, 50000 - 100000 rows) the time spent on reading and filtering will be somewhat less in AD (assumption).
Tell me, how much data do you use in tests?
Correct Path for integration with Google Merchant Center?
If your using google merchant center, what is the correct path to avoid duplicating work and correct syncing with the least amount of programming if your starting from scratch?
Do you us the appsheet database, or google tables which sounds like its coded differently and will not transfer well or does google have something else planned as a database for google merchant people?
Also google taxonomy is huge deal and required? Do you have this in a template already or do we need to add it? I assume google will add this column as well as other "required" columns if you are a google merchant that will transfer to the database.
Connection for images?
Is it possible to just start with google drive and then move to google cloud later with automatic syncing to the merchant center?
It would be silly to create something on my own now if Google Merchant Center has plans to push data to appsheet database?
I tried to download the ecommerce template and said I cannot?
My biggest learning from using the new Appsheet Database feature is that you must make field changes to the Database and not in Appsheet GUI. For example, if I create an ENUM with two options but then want to add a third, I must do this in the database otherwise if I regenerate columns then my changes are overwritten. It would make sense when using the Appsheet database as the source that some editing features are disabled.
You were reading my mind! On ENUM.
I was just going to ask the community where you make the change for this: do you do it in the sheet the app or the database.
Same with Formulas. Where do they go!
I'm finding out that the order you do things and how you setup the columns in the first place can have huge setup issues and extra work later.
I'm guessing your correct, as you experienced, it has to be done in the database.
This leads to formulas and table references not working?
When I tried to add a ENUM item in the database enum table it didn't update in the app. And even though we set the app to allow additional additions beyond what is set in your enum list, it didn't add them to the database.
So I guess this means the app is not controlling the database. They are still independent.
I guess you have to add data validation somehow in the database to update the app, which I don't understand yet as I think the process is different than doing it in sheets.
Anyway need to still play around with it before going back to just using sheets before we give up.
After adding an ENUM entry in the database I had to Regenerate the columns for this to show up in the App
Hi all! Excited to share that Chat Apps are now available for opt-in 🎉
Check out our announcement post + sign up here!
@Lauren_vdv wrote:
Notify Chat Spaces of changes in a connected database (Salesforce, Sheets, and more), schedule Chat-based reminders, trigger automations with slash commands – all without ever needing to write a line of code
Hi @Rachelgmoore
Is the notification feature for this space included in Private preview? One of our customers is trying Private preview, but they could not tell from the Chat settings page whether or not the notification function is included.
They couldn't find a way to set up the space notification feature on this setup screen.
Hi! Yes, the ability to send a chat message ("notification" in my voiceover) to a space when an action occurs in a connected database IS included in this release -- it's done via setting up Chat automations. You can do that in Automation > Tasks > Chat and Automation > Events > Chat. More information can be found here: https://support.google.com/appsheet/answer/12980866?hl=en&ref_topic=12849263.
We're working on improving the experience in the Chat app builder so, in the future, you don't have to navigate away from the builder to Automation and back again in order to create these types of notifications.
Thanks @Rachelgmoore !
I found "Send a chat message" in the Task settings of Automation.
I'm trying it out to see if it meets their needs!😃
Currently we are able to send text/card styled message to Google Chat Space through the webhook. But not possible to send the message from AppSheet to the indivisual chat. For instance, I have "Mr.X" to whome I wish to send text message from AppSheet, but this is impossible with even new Chat integration.
There are tons of the voices from the app users they wish to send the quick text to the designated personnels from AppSheet. I m saying "Not to Space".
I wish to hope this feature is under your scope for the upcoming development.
For the moment, just only able to send message to Space, which we can do with webhook, so not a big addition to the liste of features from my point of view, unless we can send text message to indivisual, by directing the email address (hosted by Google).
Tôi làm như hướng dẫn của bạn nhưng không thấy nó ở đâu?
Are there any plans for increasing the max rows?
One of the biggest reasons to consider using Appsheet Database is the sync time with a Google Sheet of large data sets (a little below 100K rows). Since the max row limit of connected GSheet is 100K, why is the AppSheet Database limited to only 10K rows?
Shouldn't it have more power than a connected GSheet?