Data Structure and Sharing my AppSheet App

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right so we should be live welcome everyone so glad you could join us uh as always we are absolutely training.com powered by crew tech my name is clark james and i am joined with the astute mr stephan cormont president ceo of crew technologies uh today is december 3rd uh thank you for joining us should be a lot of fun today uh before we get started i want to talk about some of the things that crew has to offer for those of you who are looking to make your apps uh more than what they currently are we would love to help you with those things so the first thing is going to be app sheet iq this is a wonderful wonderful tool on getting you information that you don't already know it teaches you what things you need to be looking at and what topics you need to review very very helpful very very helpful and the two next things are brand new we have implemented an expression library on appsheettraining.com where you can post your snippets look at other people's snippets copy them to your crew tools extension and be able to use those in real time in app sheet it is a game changer i've been so excited for this i cannot tell you how awesome this is um i was told that we're not supposed to go too much time into this otherwise i would talk for about an hour but if you don't already have the cruel tools extension get it right now it should be in the description below it is so wonderful and i cannot wait to tell you guys more about that uh at a later time or if we have time towards the end of this we may take some time out and show you guys around um but today's demo today we just wanted to get to know you guys get to know some some things some questions that you guys are wanting answered about app sheet and the things and its functionality so we're going to be doing some relational data table things some external some setting up external app users as well as going over some formulas that you can use in your google sheets uh hi paul and lou glad to have you um so like i said before relationship clark while you have this one up i can i get some explanation on this or the that that one that's the one absolutely yes so these are some questions that were emailed in uh please send us any questions or any topics you want us to cover we love making our content really relevant to the experience of app creators we want to be super helpful for you guys so these are some questions that were emailed in that we'll spend some time focusing on in this webinar the first one was when or how do i use relational data versus having just one big table in my app this is a question that a lot of new users to appsheet kind of come to the table with they may have something in a google sheet or a process based around google forms or something like that and so they have data that's in a more flat structure so they're trying to fit a lot of data points inside of one table and so it looks like a lot of columns or maybe repeating certain amounts of data or having maybe you have some data validation dropdowns we'll look at how to take that table break it apart into multiple data tables that are related to each other and that will yield some cool functionality in app sheet that helps you out we're also going to talk about formula driven data from google sheets so again if you are finding app sheet from google sheets you may have already put together some sort of amazing super complicated logic rich formula driven spreadsheet application that's structuring your business process and you're trying to now convert that into a mobile app or integrate it with your app sheet app so how do you do that what are the drawbacks what are the caveats that's going to be more of just a discussion topic we don't have a whole lot of examples there and then thirdly how to not waste your money sharing an app outside your company knowing that app app sheet makes you pay per user license you can build a limited amount of apps at no extra cost but you'll pay for how many people will use that app so it's a great model for um you know using it inside your organization but what if you want to share your apps with people outside your organization maybe your customers or maybe contractors or different types of groups that are not part of your day-to-day operating team we'll talk about how to how to structure that in a way so that you're not wasting unnecessary license cost in that process so clark if you're good i will share my screen and we'll dive into the first one also i'm gonna need your permission there we go thank you delightful new computer have to give uh zoom permissions to access my stuff i'm gonna have to drop out and hop back in bear with me people don't worry steph um please continue to reach out with comments uh we'd love to hear what you guys have to say um love to be able to answer any more questions you guys have uh hopefully we shouldn't take the whole time to answer these questions so if you do have them now feel free to post them in the comments uh we'd love to answer those but while we're waiting on stefan i can actually show you guys a new cruel crew tools extension so we'll open up one of my apps that i've just been kind of tinkering with doesn't have any uh real data in it so i'm not worried about sharing it but this is the crew tools extension uh it is free i forgot to mention that earlier it's free anybody can use it but it's pretty incredible so you have a couple tabs at the top you have docs snippets schema views and account this is brand new as you can see i'm logged in as myself and that way i can have access to all of the snippets that i currently own when you copy a snippet from our expressions library which looks like this here then it will auto populate into your crew tools extension so here's one that ben has created data value falls within current month i would just hit copy on this and save it and now it is in my personal snippet library well you'll see i might have to refresh oh no here it is so this is the one that i just copied and have no experience with so i'll have to look into how that can be utilized as well as with docs so this is going to take you straight to the documentation of of app sheet so if you are having trouble with the formula you can click on it here and it'll tell you what that formula does and expressions that use it i cannot tell you how nice this is for deep links these can be kind of confusing sometimes for your others so we have switch here if i click on switch it'll take you directly to the app sheet documentation and as well as different expressions that are utilized within this expression very very handy very very nice this is the snippets one schema so this is the schema for my current app for this app here and so you'll be able to see all your columns you'll be able to see what types they are so handy if you're working in a formula you can just auto paste column names into your formula etc very very handy as well as just copy them to your clipboard with this action here so now crewset inspection got copied so pretty nice pretty handy and then here's all the views of the current app that you're looking at again same same actions here and it tells you what type of view it is so you can see we have dashboards dex maps etc so so handy and then as i said before your account uh very very nice um we're really really proud of this stephen and cameron have spent a lot of time trying to populate this um so it's been pretty sweet uh i definitely have been enjoying it um so on to the expressions library over here on the side we have every expression currently utilized by app sheet i believe there might be one or two missing but i cannot tell off the top my head but if you click on an expression on the far left it'll show you all the expressions that are currently in our expressions library um so this any expression is used three times uh they're all me um but you can click here and it'll show you what the expression is you can copy this directly into your formula if you prefer that this is what i went into a lot of detail on but it's just filtering an expression for a dashboard view as well as this is my profile so i can i can go to here and be able to see all the expressions that i've created as well as you can go to let's say i wanted to see stefan's expressions i can go to stefan's if i think that his expressions are great i can follow him and so you'll see now we have two followers me and ben and i can look directly at the expressions that he's added to uh his snippet library so it's pretty great pretty nice they have a filtering that took a lot of hours to encode all of this in here so i really hope you guys like it uh christmas shopping for wife here's a here's a one that cj created um so this expression selects her printer's board and finds a trendy gift idea um that matches the color acceptable color tones etc he's he's kind of a jokester but his wife is pretty incredible and amazing uh she is quite exceptional um so yeah oh there's stefan glad we could have you back robin thank you so much for your comment we appreciate it i was uh taking them through the expressions library and the snippets nice extension so nice so my technical glitches were not all for naught so here's one that's not by crew this is taylor m thank you so much taylor for posting this um so this is a random base 32 number generator pretty sweet be able to generate unique ids or whatever you need it for it's pretty great uh thanks paul and lou thanks for coming in uh steph and i'll let you take over if you're ready i am ready now all right have attitude everyone for your patience okay so i base today's demo for our relational data tables off the driver job sample apps or sample app you can find this in app sheet sample app library by searching driver i did one small adjustment i deconstructed it a little bit uh so the there's two tables there's a jobs table and a customer table i removed the customer table from the app and the data set uh well i hid it in the data set we'll use it a little bit later but i wanted to kind of explain the process of taking one table that has a lot of components and breaking it apart into multiple tables and what that does for you inside of app sheet so let me zoom this in a little bit so everybody can see do the same here for our sheet okay right now if we look at our jobs table we can click on a job and we see a little bit of information what's going to change the most is this edit screen so right now we see a drop down of customers and they're coded a little bit but this is just text and i don't really have a good way of once i save or change a record let's change this job status a little bit i don't really have a good id a good way to see like how many jobs have i done for this particular customer i could you know copy that and then search for it and find all the jobs i've done for os jefferson um but maybe i want something a little more structured or maybe i want to know more about this customer what you know if i wanted to know more about the customer technically i would have to add more fields in here more columns so i'd have to say like customer address or customer notes for you know maybe special delivery notes for this customer but that gets a little bit cumbersome and i would have to add them in every time how could i always relate it back to when they select a customer from the drop drop-down to automatically pull in that customer's address and that customer's notes things like that so to achieve that effect looking at this table we have several components this is really a a job table where they're marking statuses of jobs completion and notes signatures to that job so this is like really job specific but there's two columns here that are worth breaking out into other tables so we have a column for the driver the person who is executing this job and we have a column for customer which is the obviously the customer this job is being performed for um we're not going to save space there's not like extra columns that we could remove by building relationships but we can have a richer experience and have more data tying back to our driver and our customer if we break them apart relationally so i will kind of explain this process a little bit let's start with customer i'm going to cheat here and save you guys a little bit of time there is a the table that comes with this is the customer sheet here and this is information that is relevant to all my this is my full customer list okay and i want to make sure this ties back nicely to this column because i want to know things like the company name and their physical address so what i would do in app sheet now that i've kind of separated this data into two tables i'll come back in and i will press new table i'll select the spreadsheet that i want to work with which is the same one that my job table is in so makes it nice and easy i'll allow ads and updates but no deletes don't want people deleting my customer database now what's important when you add another data table is that you have some value between the two tables that you're trying to connect that is identical and that is unique to each row so if you're not familiar app sheet requires that every row have something called a key value this is a unique value that identifies this row from every other row in the data set this is like why people have social security numbers so that the government can distinguish each person from another because your first and last name is not necessarily unique so in the same way our jobs have ids and our customers have this little customer code so this is our unique identifier for each customer because excuse me customer name there are several good grocers but there's different locations so we've made sort of a join key or concatenated key gigi jefferson good grocer on jefferson avenue so i need to make sure that those unique identifiers that that unique column is set as the key which in this case it is and actually did this for me actually when i connected this data table appsheet automatically recognized hey the same value is in both of these tables i see in column d you have a list of values that matches values that exist in column a of another table i think this is a reference and so app sheet automatically typed it as a reference but let's assume they didn't okay if i want to connect it manually i'll click the column settings i will change the data type to type reference this is just a special data type saying the value of this column is holds the primary key of another table and it defines the relationship between them there are some special type details for this column type the one of most importance is source table which table does this column reference you can pick any table or slice from your application app sheetguess correct and said customer most of the time when you're creating new references actually doesn't guess correct maybe it lands on job dispatch or something you just move it to the right table and you can save that change now app sheet is going to do something automatically in the background we notice now our customer column whenever we see it in the detail view has a little action button next to it this action button takes us to the detail view of that particular customer and it actually has more information than what we put in our spreadsheet so in the spreadsheet we have the customer code we have their company name and their address but app sheet also shows me this thing called related job dispatches this is a column that gets created automatically when you reference two tables together the table that you specify at the reference point so the customer table here will now have a virtual column automatically created where it will show a list of all of the job dispatches which have this customer's id in the customer column so basically doing a match between the two tables and saying organic shop appears twice in the job table and then allows those to be linked together quite nicely so this is excellent for reporting and doing aggregate statistics on your data over time we're not going to cover that specifically in this one but we will take this a step further so you can see the process again now that we have our customers so let's say make sure we can add new jobs to this table when i add a new job the customer is a drop down list again but i can actually add a new reference point right here a new customer right from that reference column i can name it and i'll just say somewhere in seattle and then now i can specify my job id which normally you want app sheet to create these automatically and so you know that was creating a job record now if i look back in my data table i'm going to see a new customer appear when that synchronization finishes so there we go starting to move the sinks through i now see in row 34 the super mark that i created so that's a nice dynamic relationship between the tables that allows you to keep your data really clean and organized well now what if we want to achieve the same effect with our driver okay so our job dispatch table has a column called driver which is currently being hidden but i'm going to show it and require it and make it editable it picked up that the column was of type enum which means a drop-down enumerated list and it guessed on the values based on values that were available in the data validation i had in the spreadsheet i limited this earlier to two so i would just delete that down if i wanted to make it match well let's find the job that we did for sherman oaks here this was driver one my driver column i could select between the two but what if i want my user to not be able to pick the driver like it should automatically know who the driver is based on their email so instead of being this driver column being driver 2 and driver 1 maybe i want to know you know match it to email addresses and make it a little more stable so what i would do is i would create a driver table and i'm gonna have an email for my drivers i'm gonna have a name and you know maybe i'll have a phone number so i can call them easily and for testing purposes i want to make sure one of these email address is actually mine so when it shows up in the app as my user i can i can see them this is one and then we'll have clark as our other driver thank you for not putting my real phone number that's not your real phone number who i've been calling all this time ha bad jokes okay so we have a very tiny driver table and we want to connect it up to this column let's bring the table into app sheet and see if we can get it connected it doesn't know that i added that new sheet just yet so i'm going to just refresh my editor and see if it picks up that new sheet there we go i have my driver table and again let's just do read only for this table we don't want our drivers modifying their information just yet okay i'm gonna make a quick view for our drivers it's a good icon for a driver don't like that one this one will work for me okay let's see what app sheet thought about my driver table and go to the data menu in the columns tab open up my driver column settings and it guessed that the email was the key which i would actually like to use this as the key it's more secure uh it's almost impossible for emails to be the same two people to have the same email address so it works as a really good stable key for a user table there's an added benefit that you get to take advantage of which is the user email formula in app sheet which automatically pulls in the user email of whoever's currently logged into the app and you can use that in your formulas to maybe set an initial value or track which user is doing what on a record update so we're going to use that same function here actually i want to make this a phone type that way we get a nice action button next to our phone number but it'll appear after i save it already went ahead and tried to relate the job dispatches to [Music] my driver column so let's see what happened when it did that let's see if it worked maybe i'll go in here to all jobs i'll pick up the sherman oaks one and it says the driver is driver one with a hazard icon okay i didn't put that hazard icon there app sheet did and what that hazard icon is indicating is that hey there's a value in this column that doesn't match any keys in the related table so you only see that on columns that are of type of reference and should be pointing to records in another data table and you only see it when the key in this column so the value which is driver one doesn't exist in your related table now i happen to know that driver one does exist in this table so why is app sheet giving me this little exclamation part mark the reason is this column in the driver table name that holds value driver one is not marked as the key so when app sheet is looking at references it's trying to match what's in the reference column here here driver to the key column and the other table so it's taking the value right here driver one and it's searching my driver table in this column looking for driver one if it doesn't find it it's going to give me that exclamation point if i want to fix that i have one of two options i can change what is the key in my driver table so if i change it to name it works but this doesn't solve the problem of when i create a new job i want it to automatically select my driver so i'd have to write an expression that searches for the value of driver one based on my email address and then return driver 1 which is a slightly more complex expression than i want okay i would rather this put an email address instead of driver 1 in the column so i'm going to move my key back to email i'm going to save it and so instead what i'm going to do which is a better practice usually what you have for your drop downs is not what i would consider or what actually we consider a stable key okay this is something that is always going to be unique and uh very well identifies your data maybe the name of our driver would change over time or something like that we want this to be replaced in this table with their email address instead of their driver name so there's a wide variety of ways to do that you could do the old-fashioned control or command f hit the ellipsis and do find and replace so maybe for driver one i want to replace it with this email address and i only want to do this sheet so that worked out nice there but what if you have a lot of data and you need to do something that's a little more scalable than just find and replace because you want it to automatically search uh the other table you might you may have hundreds of different drivers and to do find and replace would take you a long time and be very frustrating and you know there's a faster way to do it so what i would do is i would break this data apart a little bit i'm going to remove the data validations and i'm going to use the vlookup formula in order for it to work i need to have this name column in the first position in my email in a second i'm just going to do this really quickly i'm not going to update my column structure in the app yet because i'm going to revert a lot of these changes once i get my values switched so i'm going to use the vlookup spreadsheet expression i'm going to take this key and i'm going to search a range i want to search the driver table a and b column and then the index value of which one i want to return so it should always match the first index and this is the index of the value i want to return from the row that matches so i'm going to return the second index which is column b there we go pulling in clark's email address and so i could quickly drag that down [Music] why this is not showing i'm not sure i'm going to go ahead and remove this validation and see if it's causing issues how about i uh revert my control f business that i did and bring driver one back there we go okay so now i have email addresses in place of drivers but i don't want to carry this formula across to my app sheet app so i'm just going to copy it command c control c whichever works for you mac or windows and i'm going to highlight this whole column and i'm going to paste values only so my formula doesn't come over and break like the vlookup it's just a static value now and i'll delete this column i'll go back to my driver i will rearrange my order and now i will refresh app sheet and now hopefully my all jobs has disappeared um [Music] that's because i bet there's a security filter on this table yes i'm gonna remove this for demo purposes all right now i see my jobs and now there's no more exclamation point next to my driver it matches perfectly fine and when i add another one i'm tired of this job id showing up like that i'm going to put an initial value there actually i like that base 32 [Music] expression that taylor had let's go to appsheettraining.com expressions and taylor m awesome i'm going to take this expression and i'm going to copy it into the initial value here let me do a quick test okay so it's going to come back with a value like this and to make it match a little bit of the id structure i've got going on here i'm just going to add on the front job dash and then i'll use the ampersand to concatenate it with the other things here i'll save it and i'll add a new job there we go now i still have to pick the driver i want this to automatically select me driver one okay um i'm gonna push this thing through so that you can see even though it said driver one in the column wherever that went sherman oaks this guy says driver one but in the spreadsheet we'll look down it has info appsheetraining.com in the column value that's because this is the key value and our column is set to reference and the key column of the driver table is an email it's in the app it's saying driver 2 or driver 1 then my name value because i have the label set to name if i change the label to email it's shows my email address i could change it if i wanted to to the phone number so anytime it's referenced it'll show the label instead of the key even though the key is what is in the data okay for clarity i'm just going to set the key and the label to the same thing right now and now i want this to automatically populate my user and reference it correctly to my driver row my my specific row on the driver table so i'm going to set an initial value because i only want this to set when the record's created i don't want it to always reset on every on every edit that's what an app formula would do so i'm going to put this expression in the initial value position and the expression is the user email expression which you can read more about in the docs if you want to this will return the email address of the current user when they're logged into the app okay so now when i add a new job there i am automatically showing up at info adaptsheettraining.com if i want to test if it's working right i can change my preview app as value to clark and this is going to run the app as if clark is the user logged in now puts clark's driver in there which is going to match to his profile so let's put the let's give him a job with our ss supermarket it's blocked there's big issues sad mustache thing okay now if i look at clark's driver driver 2 i see he's got a bunch of related job dispatches there's 19 of them i can't see them all in the inline view so i'll press view all and i'm going to go down here and find this guy that's blocked that's what i just created so connecting quite nicely all right so that's a little bit about connecting or building relational data tables from one flat data table you have to properly identify your keys you have to create a another table for the data point or data object the thing that should be related so the customer i've created a more detailed data schema for my customer and for my driver and then make sure you mark the key columns correctly and then make sure those key column values are what exist in your uh reference columns in the other table well looks like there's some conditional formatting here get this out of here there we go so again this is the primary key for the job table and these are reference columns containing primary keys from other tables my customer and my driver and then once those are connected in your app use a reference column to bring those together all right so to touch quickly on the other questions what to do when i want to bring users that are outside of my app into or as the users are outside of my company i want to bring them into my app and use functionality inside my app let's take this job dispatch app as an example maybe these drivers are all uh remote contractors so they don't they're not technically employed by my company and i've got lots of them i don't just have two i have 200 and this is the only app that i want to uh that i have built maybe i'm doing dispatching through another app sheet app or through the through the same app i'm tracking everybody's data things like that but i don't want to pay for 200 user licenses um because maybe i can't afford it it doesn't make business sense for that type of distribution but i still want them to be able to put data back into my app so you have a couple of options option number one if you don't need your app to be secure so they don't need to log in then what you can do is use a the publisher pro app sheet account the publisher pro app sheet account allows you to deploy to pay per app instead of per user and you pay 50 a month for that application and you can distribute it to an unlimited number of end users okay but the caveat is they can't log in so the data can't be secure you're not going to use security filters and other things like that so most of the time that doesn't work for people because they need to know who's using their app or they need to have them log in in some way so if that's the case either you they do need to log in or there's secure data somehow uh secure things things they don't need access to your options are one just pay up so you're gonna pay for the user licenses for your particular app sheet per user plan or think about a google form as the front end for them so maybe that part of the app is just a google form you lose a little bit of the dynamic relational database control and some other cool features like mapping and things like that that are inside of your app sheet app but if you absolutely can't afford to pay for those extra licenses then you can have a google form that is the front end for a large number of users and that will drop into a data table or into a google sheet that you can add as a data source into your main application so you can still use the data they submit in your app sheet apps and they don't have to pay for access that's just kind of a way around that so hopefully that helps point you guys in a little bit of a better direction um maybe there's a third-party app so that would be option number three in here is you have a party app that you connect to your google sheet data or your app sheet app via zapier or something like that so moving data through apis into your data source for your app sheet app so that you can continue to use that and power your business process and you're using that third-party application to distribute to your wide variety of external end users all right on to our other community question which was what if i have a lot of formulas in google sheets and i connect the app to it so let's take a look here at this application what if this whole table was coming from another app so i'm going to create a table here called external jobs and you know what i'm gonna make it a pivot table yeah that's what i'll do let me go to tool data pivot table existing sheet i'll move to a new sheet there we go and i'm going to rename this from pivot table 1 to job report so a lot of times you're going to these formula driven tables are going to be pivoted or aggregated reporting type data let me define some rows here maybe i want to know customers column would be job status and the value would be the count of what jobs are in what job status and maybe i want to exclude blank customers and then i want to add another value total number of jobs oops not there i wanted to add that as a column nope i'm floundering here nope not working for me okay not gonna worry about it we're just gonna live with this grand total um of items in their statuses let's bring this into our app sheet app and refresh you can bring these reporting tables in so apps you just suggested add a table for job report and it's going to add it but it's going to recognize some interesting things it says hey this is either inaccessible or empty maybe i'll try to run it as read only table job report must specify a schema okay so it is having trouble reading this pivot table so maybe pivot tables you can't bring in sorry everybody not an option can i make this static let's come in here add a new table call this customers unique columns from here and count the number of values that this time appears in discount drag that down i don't know if i did that right there we go okay so how many times this customer appears in the table call this job count so this table is totally formula driven right now let's see if appsheet will accept it oh need to refresh there we go i have report two so because this is a formula driven table i've marked it read-only usually app sheet will do this automatically and what that means is people using the app can't edit this table but they can't visualize the data so maybe i want to create a graph here and i want to do a column series and i want to run this on my report table whoops row series maybe not maybe histogram there we go customers and i want to do the sum of the job count per my customers so you can visualize excuse me you can visualize the data but you'll notice one of the nuances is when you bring it in and you look at one of the columns i'm going to expand the view here so we can see in the auto compute section app sheet makes this formula this uh column appear called spreadsheet formula and it basically has a conversion of what expression you have in your cell formula so that means if i did try to add to this table create a new row or something like that it would apply this spreadsheet formula back into the new row that it creates so right now this cell b31 has nothing in it if i was trying to add more records to this it would carry my spreadsheet formula across so this might be good what you're looking for it might be bad for what you're looking for now the downside of using spreadsheet formulas is that when your app is offline they will not calculate so let's see here if i open up ads on my report table and i will need to create a view for this well doesn't seem to even want to let me how about i make them editable because they're formula driven app sheet forces them to be not editable so again another slight downside but usually my recommendation is if you have to use formulas you have to play within the bounds of what app sheet allows you to do which is really it'll be more difficult to update add or be interactive with that table data but if you don't need to specifically use apps spreadsheet formulas you can try to bring the same functionality of those spreadsheet formulas into your app sheet app so if i wanted to know this information that i was achieving with countif on my customers and doing a report of unique customers and then counting how many jobs there are i could do the same thing with my normal non-formula driven customer table with a virtual column so i'll create a column called count of jobs and i want to count how many related jobs are exist in the other table so i already have a list of jobs that are related whoops to this customer and so i just want to count how many items are in that list very similar to what i did with the count if expression on the spreadsheet so i'll just count the values of that column or the values the number of items in that list and now that i've got that column added i'm going to for my customer detail i'm going to throw the customer company name up top and then i'm going to throw the job count of jobs right underneath it so now i see for good grocer i've got two jobs app sheet also shows it to me quickly here all right so that was a long way to tell you um to answer that question but hopefully it helped we are just over time so i'm going to hand it back to clark to close this out all right make sure this is working all right guys well thank you guys so much for joining us uh sorry if to any questions that we didn't get to answer in the comments uh but we will review those and be able to uh answer those for you at a later time if you wish not to wait for a later time feel free to email me my email is here and if there's anything you guys want to know about that is very specific or general whatever you need we're looking for more fun and interesting topics that we can provide for you guys we want to be able to be very specific to y'all's needs so feel free to email me with any questions you have and we'll try to structure our webinars at a later date for those specific topics um again earlier i did talk about app sheet iq expression library and crew tools chrome extension i'm telling you guys these three things are game changers and they're all free use all three of these things are free to use for you um in order to use the expression library and save things to your snippets you are going to want to make an account with app sheet totally free or apt.com excuse me totally free but it will allow you to store those into the cloud and be able to access them at any time while you're online so i hope you guys enjoyed it hope that it was very informational uh informative and we can't wait to see you guys again next week you all have a great rest of your day
Info
Channel: AppSheet Training
Views: 6,347
Rating: undefined out of 5
Keywords: AppSheet, Google Sheets, Custom UX, UX, PDF, Automation, Google Cloud, Email Automation, Document Generation, AppSheetTraining
Id: MlE3nQ8XdD0
Channel Id: undefined
Length: 64min 12sec (3852 seconds)
Published: Thu Dec 03 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.