 you with that. Chris, do we have you on the line yet? Caller, are you there? I am here. Caller, you are there. Chris, I'm going to go ahead and spotlight your video. Chris, let's talk, I see you. Let's talk air table. Let's talk air table. So, you know, it's kind of a hard act to follow up. Shae, you did a great job as track one chair. Thank you so much. And the first hour was great. I mean, that was a lot of cool content. It's really cool to see other people's way they do things. So, we're going to kick off track two here and we have, this track is about just taking air table a little bit further. You know, we're going to, some people are going to demonstrate automations or using other outside apps with air table. So, we're going to start with William. And William is going to demonstrate how to use a customer portal software called Stacker. It's, I played with it myself. It's really fun. And what Stacker does is it helps really highlight data. And it gives you a user interface for people that you're going to be interacting with. And let's see, William, are you around? I'm still trying to find my way through Zoom here. I'm here. All right, William. It helps. Chris, it helps if you say caller. Are you there? Caller, caller. The caller is here. Calling from Cincinnati. Are you with us? Calling from Dallas, Texas. All right, William, if you're ready, you can go ahead and start. Chris, I'm not sure how to spotlight someone. I don't even know if I have that control. There I am. Oh, my God. That was frightening. Okay, now I'm gone again. I'm getting a warning saying, Avi Phillips has entered the, oh, okay, great. All right. Yeah, William, I think you're in host mode now, so you are going to see some notifications, but we see you up on the presenter screen right now. Oh, you see me? Yes. Okay. If I go to share screen, am I going to see, okay, there I go. Yeah, you share the screen and it should, yeah. Just waiting to see if I stay on the screen here. Okay, good. Let me get started. My name is William Porter. I'm in Texas right now. I'm the owner of a company called Rucksack Technology. I'm coming from a very different place than a lot of the people who are probably attending this conference, at least. I've been, first of all, I've been doing this for a very long time. In the past, I've built database management systems that have millions of records in them, thousands and thousands of lines of code. In the last 15 years, 10 to 15 years, most of my clients are law firms that do large litigation with lots of clients and they have lots of data to handle. But some years ago, well, five years ago, I wrote a review of AirTable for Macworld Magazine and I've been doing a lot of writing for a long time before that. And AirTable was completely, completely blown me away. And I'm talking about, this was AirTable when it was still in diapers. This was five years ago. And you can look it up, just Google William Porter Macworld AirTable and you could read the review. It's actually still got some valid points about what's good about AirTable. And I started to think, maybe I should do this. And around that same time, I had decided to pursue more lightweight solutions for my clients. I changed the name of my company to Rucksack. My wife and I are big backpackers. We like to go camping. And Rucksack allows you to take just what you need and get out into the wild with it. And that was what I wanted to start doing for my clients. And so AirTable looked like it might work. Now, I've been waiting for AirTable to come up and tempt me in a way that I couldn't resist. And that's happened, I mean, in the last couple of years, it's gotten much better. Things have really exploded, like just last week, with the additions to AirTable. And so I'm actually about to start my first client project in AirTable. I'm not going to show you that because unfortunately, the data in that is lots of clients with confidential information. And so I can't do that. So what I did is I took an example from my AirTable review in Macworld. It's a house hunting database. And I built a demo based on that. Now, the demo, ignore the content here. It doesn't really matter. I'm demoing what I can do. And let me switch and show you, okay, how do I, let me show you my little AirTable app. So here's my, here's an AirTable app. Now, if you're new to AirTable, you may, you may be looking at this and wondering what the heck is that? Well, I'm going to tell you in a minute. But trust me, this is an AirTable app. This is AirTable data there. This is a house hunting database. So it's got properties in it that my wife and I wanted to go see. Here's one, I click on it and I can see data about it. If I go back to this list, let me see, let me search for rating five. I'm now filtering and I'm looking at properties that we liked. So here was, here was one up here at the top. Now I'm in a detail view. I've got the price and reviews when it was built. Info about the property in a box. Some links that show the property on Zillow or in Google Maps. Down here, what my wife and I thought about it. And sometimes I have one photo. Sometimes I have lots of photos after we go to visit the property. I've got other things. I've got notes and some other stuff in here. These links can also be used to show some other things. So for example, in here, when we set up a viewing with the real estate agent, I want to put those on a calendar. So here's a link that shows me a calendar. There's a nice little calendar of things that we're going to go and view or have viewed. I'm also able to get a view here that allows me to see all the data. And by going up here, now this should look familiar to you, I can download a CSV and get all of my data out of this. So what is this? This is not air table that you're looking at. Although again, I insist that the data is. What this is, is stacker. What's stacker? Stacker is not a database. Stacker is a front-end builder. It's like a mask. And when you use stacker, air table becomes the back end. My clients, my law firm clients, unlike most of the people that are in the conference today, they don't have the thrill of wanting to get in and mess with tables and defining fields and creating their own stuff. They want somebody to come in and do it for them. And so my clients don't have access to the air table. Or the users of this app, this portal, wouldn't have access to air table. They would be only working in stacker. So it's a front-end builder. Now, it does a lot. I'm going to just go through real quickly some of its advantages. How do you use it? It's really very easy to set up. Build your base in air table. So let me go over to the base in air table. Here's the base in air table. And you can see up here, we've got addresses, notes, some other things. When you build your base in air table, you need to make sure that you add users. And here's some gummy users. These are all basically versions of myself. But there could be hundreds of users here. And when I deploy this for my clients, they're very well may be put in a name and an email address. And that's going to help get people into your stacker portal. But otherwise, this is a typical air table base with tables, relationships, fields, formulas. It can even have automations in it. I've got one here. I've been working on to delete a property, some other things. So all of this stuff is in air table. Then I get my API from my air table profile. And I go back to stacker. And I'm not going to do this. So you just have to take my word. But when you set this up, air table or stacker will ask you what's your air table API you paste it in, it then goes to your air table account, finds your bases, you pick the base that you want to use as the back end for the app, the portal that you're about to build. And boom, you're done. Now you're in stacker. And once you're in stacker, you start building this user interface. I'm lost my interface because of this stuff that keeps appearing at the top. So if I go back to, to addresses here, sorry, William, that's all right. That's all right. I'm figuring out. So if I, oh, part of the problem is I'm in full full screen view, let me do that. That'll help. So here I'm in layout mode. And I can now, you can see I can set up the fields that I want. It's, you just build layouts. It's a little bit like building a website using something like Weebly or Squarespace or something like that. Many of you have probably done things like that. So at this point, you're going to just stay in stacker, unless you need to add a table or a field or change something in air table, then you as developer would go back to your air table account, make those changes and re-sync the database with stacker. But otherwise, at this point on, you're building your portal in stacker. Now, what are the pros and cons of this? We've seen already some really lovely bases that stayed in air table. And I've done that for years myself. I have some solutions that I'm all, everything is in air table. For the most part, though, they're not multi-user apps, at least mine aren't. Here are the pros and cons. There's one big con with stacker, and it's really not that big if you're like me. The big con is that stacker is a separate service, and it's not free. And if you only have a few users, stacker's probably not cost effective. But if you have lots of users and lots somewhere around 7 to 10, I think stacker really starts to make very good economic sense, then it's really not that expensive. But that's the big con. Stacker is not free. There are lots of pros, at least for somebody like me. It allows me to build really nice attractive UIs that my user interfaces that my clients are familiar with, lists and detailed views and edit views, and it allows me to link the things and so on. There's no code involved. Now, the no code part of it is not necessarily a plus for me, because I'm getting used to the fact that I can't do some of the things I'm used to doing, but that's okay. In some ways, that's really good discipline for me. Another thing that's fantastic about stacker, and this is really what brought me to it, it helps me with security issues. Now remember, I'm dealing with lawsuits, lawyers, confidential information, and a lot of people that don't trust one another. So with stacker, as I said, my users don't see the air table database. They only see what I give them in stacker, and they can't do anything with it except edit the data. Moreover, I can control completely who gets in and what they can do when they get in. I can control down to the level of what layouts they can see, what tables they can use. It's not just who's a creator, and who's an editor, and who has read-only privileges. It's much more sophisticated than that. My users can't share with other users. Nobody gets into this thing unless I put them into the users table, and then stacker sends them an invite, and they answer the invite and get in. Again, very important for dealing with confidential data. A final plus for me is that stacker allows me to build solutions that are hugely multi-user. Stacker's default pro plan, the one that you pay for, allows up to 500 users. Now, I won't get to that, I think, at least not as well, but I have some of my solutions with 100 more users right now, and with stacker, that will be fantastic. If I can get those solutions translated, the stacker and air table, that will save my clients a lot of money, and it will save me some time and have a lot of other advantages as well. No code, attractive user interfaces, much greater security, much better user control, and hugely multi-user. Let me conclude by saying, air table this week, as it introduced these new, amazing new changes, started to talk about itself as a platform. I'm not sure what they called themselves before, because I think it's kind of been a platform for a long time, but I noticed this word platform appearing. Platform is like the foundation of everything else. So now, although air table's in the background here, that's a really important background. Everything else is going to happen through air table. If I have automations, they're going to run in air table, not in stacker, although stacker does allow you to do some custom coding. So there's a tremendous amount of potential here, and as I wrap it up, I want to say that although there is a cost for stacker, I want to point out something important. The cost only is incurred when you deploy your portal. So it's free to set up a stacker account and try it out, and you can build a complete solution. I'm not sure that they mean for you to do this, but you can build a solution and use it yourself, and as long as you don't deploy it to somebody else, it's not going to cost you anything. So if you are building solutions that maybe have many users and where you need some greater control over the user interface or more security, get stacker to try, and if you like it, then you'll have decided that it's worse than money, but it's a great example of the way that air table now is really a very grown-up platform for development. How do I stop sharing my screen, guys? There should be a little red button at the top that says stop sharing. Oh, there I am. Okay, thanks. I'm happy to answer questions. Yeah, William, we had a question. Someone asks, is this like a mobile app that someone downloads onto their device? No, stacker is a service like air table. So I'm doing all my work on the computer, but just like air table, you can, a stacker can be accessed on your phone or on any device because it's built to do this. So when I go to stacker, I go to a website. It's stacker.app. It's not stacker.com, it's stacker.app. Sign up, log in, and you see a console with all of the projects that you're working on, the portals that you're working on. And after that, it automatically, again, it's a bit like working in Weebly or Squarespace or any of these other website builders, it automatically redesigns the app so that it will work on your smartphone. So I've used this a little bit on my smartphone, mostly I'm using it on my computer and my law firm clients will almost all be using it on computer. So I build the, the layouts with that in mind. Right. Would you say though that it's whenever you're building the layout that it, even if you like, you're mostly looking at the desktop view that it does translate really well to the mobile view? Yeah, I haven't tested it a great deal on my phone, but I have looked at it on my phone and I thought it did a pretty good job. It's, yes, yes, I think so. There is no, to my knowledge, there is no mobile app the way there is for AirTable. With AirTable, one of the things I mentioned in my old review is even in the early days, you could create an app from scratch on your phone. That's still the case, of course, with AirTable and it's, it's frankly pretty amazing. That's not the case with Stacker. You go to your, you got to do it on the website, but it does translate so you can make very mobile apps with Stacker. Yes. Great. William, Chris, I'm going to ask William something real quick because I can't miss an opportunity. So William, you, you wrote an article from Macworld, I think you said for Mac, some Mac site, five years ago. Major Mac publication. Yeah. So five years ago, you wrote this article for Macworld about AirTable and like me, you'll look, you might be over 40. Are you over 40? Yeah. I'm just, just slightly, just slightly. Okay. I'm just lately. I'm in late, late middle age. Okay. There you go. Yeah. I know how it feels. So question, my question for you is, you've been around a bit. You've, you've written about tech. You wrote about this tech five years ago. What does AirTable look like in five years from now? Gosh. You know, unlike a lot of people, I, I worry about the future, but I, I have to be honest. I have no idea what, what things are going to look like in two months. Five years from now. It's a terrific question. And because I'm thinking about this for a long time, I wish I knew. I wish I knew. I think what I could say is that having watched AirTable grow for five years to the point where it is now, I feel confident enough about it. I'll just, I'm not going to talk about what I, what I normally use and have used for years, but my system's been around for decades. The, the platform I've been developing in, and it's likely to be around my, I wanted to feel confident before moving my clients to AirTable that they were going to be around, and I'm confident they're going to be around. And absolutely confident that it's going to keep getting better. How it seems to be fantastic. So they're, they're doing a great job. Sorry, Chris. I couldn't pass up the opportunity. I'm like, he's seen everything. I wish I knew. Yeah, yeah. You're like the Rip Van Winkle of database tech. Yeah, but I've, but I've made all, I've tried to make these predictions and all of my predictions are, are like Bill Gates' famous prediction from the 1980s when he said, nobody's ever going to need more data than you can put on a floppy disk or maybe it was about the size of the processors. But you know, all those predictions, even by people who know more than I do, they're always wrong. So cool. I don't know. Cool. Well, thanks, William. Thanks. They're, yeah, definitely. So we're going to move on to our next speaker. We have Kuvon and she's going to share with us how you can code in AirTable, even if you don't code. And I think a lot of people can use some of the things that she's been publishing and putting out there. And I personally have explored some of them to see if they work in my processes. Let's see if we can give you a spotlight. You have to, you have to call her. Are you there? Call me. I'll get on the last one probably. Call her. Are you here? I'm here. All right. Hey, blue shirt. Blue shirt. AirTable. Okay. All right. So the title of my presentation is adding codes to AirTable, even if you don't code. The idea is, you know what, you don't actually have to be a coder in order to use code on it. I'm actually probably one of the few people that fell in love with AirTable back when it was there who was thinking, oh my gosh, AirTable is perfect, except you can't do code. Back then, if you used AirTable before this year, before 2020, you didn't have code, really, not much, just a little bit with formulas. But now I think that's one of the really huge changes is the AirTable used to be considered a no code platform, but it is not anymore. But even if you aren't already code or don't consider yourself to be a coder, don't be afraid of code. I spent the majority of my life thinking that I could never be a coder. I remember being in high school, being in my room, lock back and forth saying, I can't figure out how to write this code. I don't know. I'm going to fail this. And I didn't code for years and years after that. I dabbled back. I thought, oh, I really wish I could do something. I just need to be able to code so I can't do it. What actually got me out of that was AirTable. I dabbled with code before. When I got AirTable, that's when I said, you know what, actually I can do this. I can learn to code and I can write code and I can write some pretty good code. It just opens up a whole new world. So let me go ahead and I won't actually be showing you any code in this presentation because I don't want to scare anyone. But I'm going to show you all the different ways that you can add code to your AirTable base, even if you aren't ready to write that code yourself. My name is Kavan Vorderbruggen. That's Kavan with the kuh. It sounds like Yvonne and it has a silent e at the end. And my website is kavan.com. It's such a weird name. Yes, I was actually able to get my first name.com. And it's new. I was taking Garris advice from the beginning. I actually said, you know what, I needed to register a domain name and I was going on domain registers this morning trying to get stuff finished up. So if it's a little bit rough, that's okay. Now let me see. So here we go. So first of all, why do you want to add code to your base? Because you know, I mean, it's beautiful. And if you're afraid of code, the thing is code can do some really great things. Not only can code perform calculations. I mean, that's what we normally think of that. It can come out on numbers and it can also do calculations on text as well. You can use it to automate repetitive tasks. You can do it for anything that's really tedious, like you have to do things over and over and over again. You just don't want to do that. Have code do that for you. And that will also help you reduce human error. So the idea is, you know, when humans, when we do things, we get distracted, we've got to open it. Where were we? And then mistakes happen. So if you get code to do it, the code's going to do it the exact same way every time the way you told it. And the other thing that's really good about code is it can help you enforce some of the business rules on your database. So you've got your database and you said, okay, you know, I've got a new project that I want to do. And for every new project, I need to have these five different related records. And it's always going to have those five different related records. And it's a big pain if you have to do that all manually, because what if you forget to do all five, you forget the default value that Airtable doesn't set. When you add code, you can go over and have that for you. So you just click a button and all those five related records are created and instantly with the default values that you want. The thing to remember is you don't actually have to write the code yourself in order to use the code because using code, you do that every single one of us uses code that we don't write. If you're using Airtable, you're using code that you didn't write. But Airtable really makes that bridge from writing, from just using code to writing code really simple. So let's take a look at all the different places where you can add code to an Airtable base. The first thing that I like to think of is formula fields. We look at formula fields. Everyone's probably who's used much of Airtable. You've seen formula fields. There are little things you can add, numbers you can do, say math. Guess what? You know what? You're actually using code when you're writing a formula. You are using code to create that because that bit of calculation stuff, that didn't exist before. You were writing that. There's also rollup fields that work very similar to formula fields. And I'll be going in depth into each of these later on. Rollup fields, they're a little bit more complicated to understand than formula fields, but they're extremely powerful. And those existed way back since the beginning of Airtable. And then in February is when we got the first big way of adding new code. And that was the scripting block as it was called back then. It's now as of Monday called the scripting app. But that lets you add completely custom code, opened up a whole new world of possibilities. Then for later on this year, we got automations that were added where you can run code automatically. Automations also have a lot of other really cool things to do that I think some of our later speakers are going to describe, but you can run script as an automation. Then we have custom apps. You've used Airtable and you've had that pro subscription. You've seen the different blocks that you could add, or they called apps now. Well, now anyone can go and create new apps all on their own and do that, build out that functionality that you just, it wasn't there, it didn't exist before. You can build that on yourself. And then finally, there is the standard REST API, which used to be before 2020, the other main way of adding code, and which is kind of where I got started. But let's start with the simple stuff, formulas and roll up fields. So formulas are code. If you have written a formula, you have written code. You're using Airtable specific functions and operators. If you've ever used something like the little and symbol to join two different text fields together, that is code. It's just using Airtable specific for prior-dairy language. And then whenever you put in a field name, that's your variable. That's your code that you've been writing. The thing about formulas and roll up fields is they calculate automatically. So that's one thing that's really nice about them. You don't have to go and say you don't push a button or run. Formals are going to work across a record. Well, fields are going to go across linked records. So this is also one thing that people who are new to Airtable get really frustrated with, especially if they're coming from a spreadsheet point of view, is because they're like, oh, well, I can do this in Excel. I can do this in Google Sheets. How do I do it in Airtable? So that's one thing that you want to understand before you start writing any of those formulas in Airtable, that they do not work down columns. If you can see it here in the screen capture, you can see that formula fields, they can take multiple lines in there. Let me see that they can have more than one line. You can nest different formulas inside formulas. I've actually seen on the Airtable community formulas, I've seen formulas that are 300 lines long and I'm like, oh my gosh, if that's not code, I don't know what is. But it also can be something just really simple. It can just be a single line of, hey, I'm just going to add these two values together and see what's there. The one thing that I would recommend is if you do want to get into a multi-line formula, get a little bit better. Don't edit them in the editor that's built in there. Go ahead and open up a separate file where you can edit them in multi-line and you can just copy and paste it in. The next step up from writing formulas, if you feel like, oh, you know what, I've gotten comfortable writing formulas and then you can write a few more of them and you feel like, okay, you know, you can nest a few formulas but you want to do a little bit more, take a look at Scripting app. Scripting app is different from the formulas in that formulas and roll-ups, they can only access that one record or all those things. The Scripting app, it's got scope. It can do anything in the entire base. So it doesn't affect just that record that you're in. It can go in, it can create new records, link new records. It can go and delete, update data. It can even actually go out and pull things from the internet to go in and just grab more information. It's also different that in order to run it, you have to click a button to run it. So there's a run button that you can click or there is a, for the app or you can also click the run button in the, for an individual records to do that. They also allow you to have a little bit of user input when you run them. So you can say, okay, I want to run this code but I also need to grab this one number from the user and then it can go out and do that. They are written in the JavaScript language. JavaScript is actually one of the most popular languages to learn right now. You don't actually have to use JavaScript or know anything about JavaScript to do it. You can just copy and paste another script that you found somewhere else and maybe just change a couple of things, you know, just to say this is the name of my base, these are the name of my fields and then place those in directly into the script editor in there or if you want to and just find a base that's, excuse me, a script that has been written for you. Someone, there's a new feature that's been added just recently where you just go in and you throw in custom script settings and you never have to look at the code past typing it past past pasting it into the editor. Next step up from the scripting app is scripting automations. So it's the same general idea as the scripting app where you can run code that can access any part of the base, but the idea is this runs automatically. So you don't actually have any user input. It's also written in JavaScript. It's also got an editor in there and the idea there is you can also just copy and paste things in, maybe make a couple of changes to say, oh, this is the name of my table. This is the name of my field set it up and have it run automatically. So it's still a fairly new feature. So I really recommend getting comfortable with the other methods of writing a script or writing code before you jump into this. But the other thing that's nice is, you know, you can always have someone set it up for you and then you can have an automation that does really complex things without having to pay an ongoing subscription to Zapier or Integra Mat or some other service. Then we get custom apps. So customs apps are not going to be for a newbie user to write, but they are okay for newbie users to use. There is a new marketplace for custom apps. And I think Airtables really, they announced this on Monday. They're really going to be pushing it out. And this means that anyone can be a developer and create an app and put it out into the marketplace. And then you can download and use it just like you would go and say, you know what, I want a new app on my phone. And you can download that app and use it. And so there's all kinds of openings for custom development that can go out there. The picture that you see here is a custom app that I built for creating a web post, a post to my website. I write the post, I develop it all and I write it up all in my Airtable base. I click a button that says update that post or publish post and then it gets pushed out to my website without me ever having to log into my website directly. So this one's like it's a little bit trickier. You can't just go find some code online and copy and paste it in. I see you girls that can code. Okay, I'm sorry, people are in chat right now. I can't see it, but at the end we'll have a Q and A for them. There's so much chat going on. You're doing good. There is a lot. Okay. And also that it's written in React. The other thing about this is really it's a small step, you know, from formulas, you're like, Oh, you know what, I think I can write a three or four line formula. I'm okay. Try scripting law. Scripting, but you're like, Oh, I actually get that. And then you're like, Oh, okay, but we'll custom app development. It leverages so much of the same concepts that you learned in the scripting app that next step up to learning how to build a custom block is actually not nearly as hard as you might think not nearly as hard. You have to know several different concepts, but the documentation that they provide in the examples that they provide are so well written that it's really easy to pick up once you've got that feeling you say, you know, if I want to invest the time in it, that's one thing you can really go down some time suck rabbit holes with scripting and stuff like that. It's fun, but you can look up hours later and now the last way of writing code is the scripting API. It's the standard rest API. This is actually what's different about this is you're not writing code for air table to run in your air table base. It means you've got some other app, some other website that wants to go reach into air table to get the information from there and that's what the standard rest API is and it has to be developed completely outside of air table. My recommendation, don't start here. I did because at that time there was no scripting block. There was no of those animations, not of that. And I said, you know what, I love air table so much even though I don't think of myself as a coder. I really, really, really want to use the standard rest API. Extremely challenging. I find myself trying to learn HTML, CSS, JavaScript and PHP, all at the same time as I had to reteach myself how to code in a visual basic to develop some access databases that I was working on. Don't do it and don't try and learn multiple languages at the same time. It's just crazy. It's insane and you will drive yourself nuts. Also, unlike that, you need standard rest. Yeah. So, but this is what I mean, the code that I actually see in the screen capture, that was some of the code that I actually developed for that and not for the federal, but it is doable and the documentation is excellent. So here's just a quick overview of the different ways of adding code that you can do it and I've ranked these from the easiest to use. You can do it. It's easy. Performing the fields are the easiest. Then a little bit more step up is roll up fields because they just have a different way of getting your mindset around how air table stores data. Then a little bit harder is the scripting app. A little bit harder than that is CUS is the scripting actions. And then if you've done that and you want to take that next jump, go ahead and look at the custom app development and maybe even the standard rest API. I can say I've actually done and worked and developed with all of these different methods and they are doable. They are learnable. Just take it a little bit at a time. And it's also good to know about the differences among them because you need to know, you know, for example, which ones are going to run automatically? Which ones do you click a button for? Which ones are the ones where you can just copy and paste some texts that you've gotten from someone else that you just trust. You say, you know what? I don't want to write this. I'm going to have my friend write this for me and then I'm just going to paste it in and you can get to that. And then I also plan on posting these sites to my website. That's so cool. Thank you so much. Come on. More information. There's websites for learning how to code where you can get code that's already been written for you and where you can get help for it. Okay. And that's it. Is there any time for questions or did I go over? We're a little tight. We will try to do all the questions at the end of this block and then we'll keep track of which ones. Kevon, how can people find you? Just think in Google. Just Kevon. K-U-O-V-O. So my website is Kevon.com. K-U-O-V-O-N-N-E.com. And I think I'm the only one out there. Okay. Thank you so much. Come on. Mind blowing. Yes. That was great stuff. Thank you so much for coming on. And let's keep the session rolling here. Next we have Justin Barrett. I'm sorry. Did I say your last name correctly? He's going to be going over Airtable Automations, which is relatively new, but very, very powerful. And Airtable just seems to be adding new features to it every single day. Cool. Thank you. It's Justin Barrett, but that's cool. I get it mixed up all the time. We get called Jason half the time. So it's all good. Anyway, Justin Barrett, that's my name. I've been a narrative user for about a year and a half, something like that, a little over that. But I got hooked rather quickly and just dove in and just love the platform and love everything about it. I thought at first I might have, okay, maybe two or three bases here and there. And I've got like 20 or 30 across seven different workspaces or whatever. So it's kind of nuts. But the thing that I love doing the most with a lot across a lot of things is helping people figure out and understand how Airtable operates. And that's the approach I'm going to take talking about the Airtable Automation System today. So I do have a slideshow tied to this that was built about half an hour ago, so it feels like anyway. Let's get that launched. Okay, back over here. Actually, let me, let me, where am I going to share? Let me actually throw you back. So we'll pop into this. I'm not going to dive into the base. Are you are you are you multi-screening? Multi-multi-multi-multi-windowing more like that. I have multi-screening unfortunately. I kind of wish I did sometime. You look like you look like Tom there from Minority Report for Many. Your eyes are going, okay. We got a real-life cyborg on back here. A little too many things going on over here. We'll get back into this actual base here in a couple seconds. But I want to start over here just talking about again, some of the basics of how this operates. So the first thing is what is an automation? How do you understand what an automation even is? I kind of broke it down into three different pieces here that the developers have also tried to make it very clear from their design as far as how they operate. So you have actions that you perform, actions primarily are going to be on your base. You're possibly sending data out to other tools like Google services and things like that. Those actions are executed in a sequence. They try to remind you of what that sequence is via the design of the interface there. And it's all driven by a trigger. So each automation has a single trigger that drives all the actions and just run one after the other all the way to the end. Now there's a little teaser I'll throw out there. I got some fun news at the end that was just kind of posted to Twitter about one of the developers, the automation system not long ago. So talking about what's possibly coming up with automation. So really exciting stuff. But these are the basics as they exist for right now. So again, talking about the visual cues that are there. So when you go and build a trigger, they want to make it visually understandable what it is when you're building this. So they kind of liken it to, you know, pushing over dominoes. So as an icon, they're reminding you the trigger is the first domino push that then chain reacts everything else after it. For the actions themselves, it's like the domino is triggering a supposed to be a golf ball, I think falling into a hole there. And then to remind you of the order of the actions, simple little arrows in the interface, they're going one to the next to the next and so forth. Now, when I first got on board with automations, I was actually part of the original automations beta or the early beta back in, I think June or July, I forget when this was. And at that point, there were only two kinds of triggers available when a record is created and when a record enters a view, you could do a lot with both of those triggers, but there was still some limitations there. And so of course, they're continuing to work on the backside and they added a lot of the newer automation triggers in just the past like week or two, I think. And so now what you have are this number of things. And just this morning or maybe yesterday, I figure when this was the add of these Google options you see over on the side. So these are now available as triggers to do even more elaborate things. But for the demo I'm doing today, I want to focus just on these four over here on the left that I'm calling the core for these are things that can operate strictly within air table itself as far as triggers go. But they can then trigger as far as actions go, anything else you want from the possible list of actions just continuously growing all the time. So first one is when a record is created, obviously it triggers maybe not obviously immediately when a record is created. Now some people think that they can create a new record and then possibly type some things into a field and have that picked up by the automation, but it won't do that. It literally fires the trigger once that record appears in air table. So for that to work, whatever data you want to process in that record has to be in the record already. If it's not there then the automation is not going to pick it up. So this is best used in my experience anyway when you have things coming in from a form field. You can perform field but from a form of some kind. You can use this to do things that are done immediately if you have your base design so that certain information required by the trigger is there when the record is made for example with grouping. If you're grouping by a linked field for example that link is automatically made in that group once you make the new record and if that's needed by the automation then it's got that to do the processing that it needs. So just be aware that record created as a trigger happens the moment that record is made. So you got to be kind of conscious of what your record looks like at that point. The next trigger is when a record enters a view. This again is a second one of the two that were first available during the early beta phase. Now this could be really useful because it can also trigger when a record reenters a view. So it's not just a one-time deal like some other triggering systems operate with some 30-party tools. So if a record enters a view because of some change you made to your record there and then you change something else that leads that view again then later it comes back into the same view it will retrigger a second time or a third time or whatever happens to be. Now early on again this was the only other option besides when record is created and so when I was doing my initial testing I found that I was making a lot of extra views just to trigger things through this system. But now we've got some of the newer triggers that operate based off of how views essentially operate. I'll talk about that in a second. So I find this more useful when you've already got views that you use for your workflow in some fashion and then you want to do other things tied to those views other operations on the records themselves. This is a great situation where a record entering one of those views can then trigger some of those secondary operations to go. So one of the newest ones I guess the third one they added was when a record is updated. Now this also has an important caveat to be aware of here. This doesn't just trigger when a record is updated but it also triggers when a record is created and I have a little bit of a dispute you might say with how this operates. So effectively a blank field if you're targeting a certain field with this particular trigger a blank empty field will still trigger the automation. Now in some cases that might not make that that big of a difference but in certain cases it might actually mess some things up. So be aware that a brand new record with an empty field that's being monitored by an automation trigger will still trigger that automation. So again it's a bit of a caveat there to know how that operates and then the newest one of the top four anyway is when a record matches conditions. This is the one where originally I had built a bunch of extraneous views just to trigger certain animations via that view trigger. Well now the record matches conditions it pretty much has the same operations that you have when building a view in terms of filters. So pardon me all the the filter options you have when building a view are the same options you have for the conditions when setting up this trigger. So you can say when a certain field has certain values in it or when it's empty or when it's full or when dates are before after certain things all those options are in there and you say okay I want to just set up these series of conditions again and you have the and and the or operations in there as well. So a great alternative to having to build lots of extraneous views that just serve this you know to trigger automations. So once you've got your trigger figured out and again there are more of the Google triggers in there right now and I'm focusing on just these top four but once you have your trigger set up and built then of course you're going to figure out okay what actions am I going to do and I'm going to dive over into my base to show you how this sets up with one simple example here. So what I want to do in here I've got a simple task system for assigning tasks to certain people and what I want to have happen is I want a note to be added to my internal notes over here when I assign somebody and possibly through other things as well do the assignment in this example. So I've got a people table over here with a bunch of individual people that I can assign tasks to and so I want the automation to make a note in this field about the assignment when that happened and then also send an email to that person hey you have a new task here's what it is here's a link to the record where you can see more details about it and that kind of thing and that will be driven by changing the status in my status field here and the only options in here right now are pending assigned and complete. I could do more with a complete you know change later on possibly but I'm focusing on just going from pending and changing that to assigned for right now. So in automations I'm going to go create a brand new automation and again you see that lovely visual cue there I'm going to call this uh assigned task and I'm going to choose a trigger and again we have all the options in here. What I want to do is when a record matches condition that I want to specifically look at the status field to see when that status changes to assigned. So I'm going to say I have to select a table it's my task table the condition I want to add is when the status is assigned and again the same option do you have in here as you do for setting up a view filter. Now before I can test this testing is important because the data pulled from the record in your test then gets passed on to later actions that you're setting up. So I want to make sure that I actually have validated to test within here. Now behind the scenes I'm also pulling in some other information I have some other roll-up fields in here that grab details about that assigned person based on the link so their first name and their email address which I can then use in automation. I also have a formula field that simply looks at the last modified time and formats that in a certain way and I use that to insert as an add-on for my internal notes in here but all it's kind of operating again behind the scenes for this stuff. So I need to make sure first off I have somebody assigned for this thing so I'm going to say I assigned it to John Smith and I want to test this based off that assigned trigger setting. So when I run the test it should tell me it's successful. So once that's done I can drop this down and see all the details down here about that successfully tested record and what data came in from that thing. So when a trigger runs it collects all the data from the triggering record at the time the trigger happened and so everything is available in there the assigned person the status all the field data is available with certain limited exceptions but I'll maybe talk about those a little later on. So once I've got a test successful in here the first thing I want to do is I'm just going to do one possible option in this thing for an action. I'm going to add an update to this field. So I want to update the record. So I have to choose again what table that record is being updated from and I can update any record in any table if I want to as long as I have that records ID. So I want to go to my task table I pull the record ID from steps from any previous step in the automation. So you hit the plus over here to say what steps were there and what data is available from those steps. So I'm in here from when my record matches the condition that's my trigger I continue to see what options are available in there and I've got the record ID at the very top so just click insert and that inserts that record ID as an entry for that option. Now I choose what field I want to update. So I want to update my internal notes field. Also don't want to make any changes to the contents of the note I want to add to the note and that can actually be done pretty easily by just first off adding that note's contents from the trigger step as the first thing I add in here. So I can add from that same trigger step. I want my internal notes and I insert that what I want to then do is add a new line. So just enter after that happens. What I now want to do is timestamp the next thing that I add in going to be a note saying you know assigned to John Smith for example. So that timestamp is coming from that extra date field that I have over here this formatted field. So just right down here I add the contents of that field. I can see formatted right down here I can insert that and then I want a space and I'm going to say assign to and then I want to insert the name of the person that I linked to. So that's John Smith from that link field. So I can with a cursor down there it adds wherever you have the cursor currently placed. I can add this in here continue and I want that to be assigned to now it's a sub component of that thing because you might have multiple possible links in there and there are different things you can add from that that link field. I want to add his name so I got the name option right down here I can just insert that and it says list of name. Now if there was more than one link in there it would list everybody in that space but for a single link like this it just lists as one name. So what I'm doing in here is I'm leaving the notes as they were originally set copy those in intact and then add and append to that the extra data that I want to add in there so the timestamp and then assign to so and so in here. Now when I run this test it should update this record here with the timestamp and that assigned note. So there we go it adds that piece in and now I can see it's assigned to John Smith on this date. So I could do the same thing now this is set up and working successfully. I can switch this on I want to add more things like emailing the person and stuff like that. So all the same options you have in here for adding field of contents are available then in an email option an email action for filling in their email address the first name the link to the record and things like that but I'm going to skip over that for now to keep this a little shorter. So what this turned on it's an active automation so now I could do the same thing for these down here I can assign this one the station and that one over to Alice and then one by one just say these are assigned and it'll get the detail and now if nothing's in that field it'll just append the note with the timestamp into the blank field but obviously I've got a line break in there in case I did have things previously so a minor issue there if I don't have any notes but if I did have notes those notes wouldn't be erased they would just be appended to with that additional piece in there. So the bases of Automation are really really cool again lots of different trigger options in there my favorite thing to do with automations is through scripting talking about what Kevon said earlier I love writing a lot of scripts that do more detailed operations for automations but you don't need to know scripting to do this kind of stuff and there's a lot of really elaborate things you can do through the automation system as it currently stands so that's where I'm going to leave this for now and see if anybody has any questions. So cool. We just get someone who's mentioning automations through oh what do you think the biggest distance from Twitter what do you think the biggest difference between automations here and and Zappi or Zapier or Zappi? I think the biggest difference right now is just how long automations and a table have been around and the available features in there you don't have the the option of branching things like you do in Zappier and in Integra Mat also you don't have you know some of the conditional things you have in there but getting back to what I was kind of teasing about earlier if I can get back to my slideshow over here I know that was one of your questions earlier from one of the developers of the RTA but who put it being long they quoted the RTA Twitter account quoted his or sent you a link to this guy's a thread that he wrote he's one of the developers at RTA for the automation system and this is the last post in his thread there's a lot of work left to bring the powerful power functions he calls them functions earlier on in his thread into our low code world conditional logic for loops integration with external services automations calling other automations and more to come soon so they are working on trying to make automations an air table and not just the bare bone system it is now they wanted to make I think my own personal opinion is in theory as robust as stuff like Zappier and Integra Mat and things along that line where you can call lots of other external services and again they do conditional logic to branch out and do different things maybe stop the automation if a certain condition is met or have it go on if it's not Jane stop this crazy thing very early stages right now yeah cool Chris this is amazing Chris can you can you got more people do we got more level two well we got me and we have Camille oh my goodness okay I'll run through mine really quick because it uh it some of it adds on Justin can you stop sharing there you go thanks yeah sorry about that you're good run through mine real quick because it kind of one part of it adds on to automations let me see here let me share my so you're speaking next this year now yeah I'll introduce you Chris Guthrie speaking next uh Chris is up here and he's going to be talking to us if you checked out the website there's one website with all this content for you buttons gateway to on-demand automation and I'll tell you Chris anyone who knows me will tell you I'd like to push some buttons so let's talk about this let's push them let's push them so can everybody see my google slide here yes sir all right so buttons on demand uh I like to use buttons all over my base well let me back up I'm a full time e-commerce seller I primarily sell on amazon but I also consult and help other amazon sellers build their their products their advertising a whole bunch of different aspects and for me and my virtual assistants we use a air table for everything we've actually we are constantly trying to migrate away from other tools if we can and build and and centralize everything in air table so I like to use a lot of buttons because something that Chris said earlier it's kind of stuck with me is automation sometimes just make mistakes happen faster so there are some things like sending emails especially like when we're sending out either request for inspections or sending out invoices or I like I want to proof those sometimes and see them before they just get sent out blindly so I use buttons to send some really simple emails buttons I'm not going to go to this but this these are some of the stock things that buttons can do that air table gives you but I like to think outside and try to think of some different ways to use them so I actually just a couple weeks ago figured this out for myself was to use a button to send a very simple email using the mail to link syntax and you can go out to google and find a bunch of websites that show you the syntax on how to format a hyperlink so that it'll open up your default email program in your computer to send out an email a prose is that it's pretty pretty easy to do this you can even do this on a free account versus sending out emails through automations you have to be on one of the upper tiers on air table and but the cons are is that it's going to be very simple email there's no special formatting you can't put attachments but you can insert a public or the link to an attachment field or not not the link to the field but link to the attachment in the field which is a public document so be aware of that so here is just a little snapshot of a of a demo base I created what we're doing is I have a field it's a rich text field and I'm formatting using curly braces or whatever other method you want to use to call in other fields whenever we hit that send email button and then on the send email button screen we are substituting the the data inside of those curly braces using formula to bring in the data say a phone number or a name or any other piece of information that you need to bring into your email so this is the hardest part of this process you have to like format this formula correctly and you have to replace each each of those variables individually in your in your formula but once you get the hang of it it's actually really easy so I'll demo that for you real quick here I have I have a name I have the email address this is going to go out to phone number email subject the body of the email and if I hit send email button let me bring this over it just formats a really simple email that you can send out and we personally use it for like requesting inspections and requesting freight quotes from our freight from our freight forwarders I want to be able to proof this and this allows me to edit this email also there's just like a ps I want to throw in there or do I want to drag in an attachment or something like that but this is a real time saver because we have this on some of our emails we're sending out we're using roll-up fields to collect different information about shipments and a whole bunch of other fun stuff so that's number one just one way that we use buttons and then number two is I give a shout out to Justin I actually learned how to do this through one of his community posts and thank you to so many other people too you know I've I've learned so much through the community and have built techniques that I'm using currently so we can also instant use a button as an on-demand trigger to an outside service most commonly that would be zappier or zappier or integra mat so we're using a simple webhook and this allows us to initiate an action over on zappier integra mat instantly instead of waiting either for a time integrate or a time period or for an event to happen in order to have the rest of that automation on zappier integra mat run through its course and we are doing that with a button URL and then you could also do it with a script that gets a little bit more advanced you have to you have to know very basic javascript but what's cool about initiating the webhook through through a script is you can do some pre pre and post processing of your data that you're going to be sending out and this really helps with like integra mat because integra mat syncs on syncs on time intervals with this you don't have to wait for that time interval and you don't waste different integra mat cycles because say you want something on integra mat to check every 15 minutes they're going to count that as one cycle and take it away from your balance so what is a webhook in its to me the way I think of it is a is a URL or I'm sorry a hyperlink or whatever that sends out data to that other service so integra mat gives us the core part of the webhook they give you a unique webhook ID and then in this purple section here you can see that this is what we're telling integra mat this data piece should be called and then right here in the air table formula this is the actual piece of information we're sending through the webhook so in this case the record ID I'm not going to show this in detail but these are some of the basic steps on how to set up a very basic integra mat trigger the webhook receives the data we're going back out to air table to grab some other information I'm running to creating a quick variable in this purple step and then updating that same trigger record in back in air table so I can demo that and in it's in the easiest form I do this with the send URL button and so if you watch here I have in this column send to integra mat I have the word amazing and if I hit the button it does open up a link and an integra mat tells you okay we accepted that you can close that and then what my automation did was just append the word amazing to air table is and make air table is amazing I can click that again and then now that field is also updated again you can do that with scripts I'm not going to get into that because we're running short on time and I will share this base and I'll make sure we'll make sure that Chris can share out this link to anybody I have a demo base and I have some explanations in that demo base that can walk you through editing a script or editing the formula for yourself that's so great Chris it's funny I was I all the slides and all of the examples along with all the prizes are out on the website and for the prizes we'll be selecting people random for who we're here today I'd like to say we picked the people who chatted the most but that would not be fair so if you're interested in any of the bases and also since we're still successfully streaming live hopefully this will be out on the internet forever uh Chris you have more folks for us we do we have Camille and she's going to show us the Camille yes the there were there were people fan fan fan per saying for Camille earlier caller are you with us Camille are you here with us caller caller I saw her earlier oh hi I was on mute sorry all right hello um thank you for all the appreciation chat um my name is Camille parks I am a lot of different things I wanted to start my session with like excuse me Camille Chris Chris can you stop sharing for a minute oh yeah sorry about that you're totally good you're totally good I mean if people have Camille t-shirts on you gotta at least have like a little Camille on the screen thank you there you go have an air table t-shirt on and I'm also just out of frame I have air table socks it's real my oh wait let me see that again I gotta get that screenshot yeah go ahead I got it okay yes the chat is like socks yes I have air table socks um so I'm many different things I wanted to start my session with a little brief not life story but life trajectory just so I can get people to not be as afraid of custom blocks as they might be um that's what my session is about or custom apps they changed the terminology on us on Monday so forgive me um how are we on time totally good we've got time built in the end so you can go over a little bit great we're gonna get crazy um so I'm gonna share my screen so let me say one more thing oh hold on one more thing track three hang in there track three hang in there you're coming up thank you coming okay okay um so we've mentioned built on air the podcast and the community um in the previous sessions I want to reiterate um I am one of the hosts for the podcast built on air our other host alia losa is actually in the chat um and we have interviewed so many great um people in the air table community in fact many of them are here we interviewed chris dancy um we've interviewed garith um kavan and justin they've all been on the podcast all excellent guests and if you want to know um how people are actually using air table each episode of the podcast goes into detail of one particular use case for how someone is using your table so just giving that as a shout out um I'm also a community leader on the air table forums so you may or may not have seen me I'm practically everywhere I'm there a lot and I answer a lot of questions um but what I want to get out of this session is I am not a developer by trade in fact the great irony of my life is um I was admitted to undergrad under the um major of computer science and I dropped it the first day of orientation I didn't even get to the school year I was like ah this isn't for me and then I became an urban designer which I love and just looking at this one page from my portfolio database developers like the third thing um that I do but nevertheless earlier this year when custom blocks now called custom apps became a thing there was a contest um that was put out and I wanted to dip my toe in um I had some ideas and I wanted I wanted to build something and the custom apps API is actually it's not so scary once you jump in and um I I I was just obsessed with producing one particular idea um I do want to shout out Kavan she didn't mention during her session but she was also one of the other winners just shout outs everyone did such great things um for this contest and all of them are open source meaning you can install any of the 100 custom apps that were made for this contest yourself um even the ones that didn't win and some of them are excellent so um going forward I'm going to talk to you about the custom app that I made called scheduler it's actually available on the marketplace now um right now installing custom apps that aren't on the marketplace there's a bit of you have to go through a bit of rigmarole to get to get them into your base there's instructions on how to do it but there's some setup that you have to do ahead of time scheduler is one of the ones that you can install straight from the marketplace just like page designer or the dedupe app you can install it straight away and I'm going to talk to you guys about how scheduler came to be and how it works and hopefully I don't run into any bugs um just very quickly there is um airtable.com slash developer slash blocks if you want to jump in there's examples there's um this api reference so you could look at all of the different components that you can add to a custom block if you decide you want to dip your toe in and build something yourself start to build something yourself I highly highly highly encourage you to do so um just as a side thing um to you know gain a new skill obviously I'm obsessed with with building things and so I want to push my obsession on everyone else um so what we are now looking at is a pretty basic airtable base I have a table full of rooms uh conference rooms it could be hotel rooms you could do something very very similar with library books or if you rent things out and you want to um you want something to be um kept for a start date and an end date and you don't want people to overbook or have overlapping bookings for something that's what we're getting at with scheduler um and so I have a table full of reservations so studio a was rented from the 11th all the way to the 14th or something um and then people so who are renting out these rooms pretty basic um structure and I had before the contest I had built the same functionality as a script um using the scripting block now called scripting app um so what you would do is you would first select a person and then you would type in a date and then you would type in an end date and then you would pick a room that was that happened to be available during that time and then if you wanted to add another one you could but I felt limited by that implementation right because you would have to type in the date in a particular format in order for the script to read it properly it wasn't really intuitive um the way the scripting app works is you have to do things in sequence one at a time so if I wanted to go back and change the 19th to some other date I would have to stop and then start over and so I had in my head I have already figured out the the process that I want this to take how do I turn that into an app and I eventually got to the point where um I came up with scheduler and I I knew it would work so much better if you could just click and drag dates on a calendar because that's the most user intuitive way to work with dates right I don't want people to have to type in a date exactly right I want people to go back and change dates if they want I want to make sure people can reserve more than one thing at a time if they want to and um luckily I was able to figure it out so just a quick demo if I select north conference room and studio a this will update and show me all of the reservations for those two resources at the same time and I can click and drag any of the dates that aren't occupied and if I click um reserve these two resources you'll see that a new record has been added to the calendar interface and it pops up um so if I wanted to go in and add a customer I could um and if I tried to select a date that has something already occupying it it won't let me I don't know if you guys can see the the cancel um icon that comes up but uh it won't let you select a date that already has a reservation for it and um in addition if you wanted to view things in full screen I've allowed that um by adding the plus and minus button at the top so you don't have to select from the grid view you can um just incrementally add things by clicking um clicking and removing as such right so again pretty pretty simple in terms of how you would use it in your day to day um and then the settings are also pretty simple as well um this is probably the least favorite user interface for settings that I've developed since the contest I have made a couple other custom apps that I'm really proud of which have much cuter settings than this um but it gets the job done um simple change if I wanted to show all the records as you know orange I can so um it was mentioned in the chat earlier that you don't have to build absolutely everything from scratch when you're building a custom app um I didn't sit here and design the calendar interface it actually uses um something called fullcalendar.io you'll notice it looks very very similar I was able to basically just import the functionality of full calendar and then add just a little bit of code on top of it in order to come up with what eventually became scheduler and um it's while it works and I haven't run into any bugs I don't think they would have allowed it on the marketplace if it had bugs they might have I don't know I hope not um but if if a professional coder were to look at scheduler they would probably go why is everything in a single javascript file why didn't she break it out into different sections and I say that just to hopefully provide comfort to people that although I was able to make something that was successful I'm still learning and you know the sky is really the limit for what you can build in a custom app and um it really is just a function of trial and error coming up with an idea that you really really really want to make um or have made for you there are so many developers out there who specialize in air table who would be more than happy to build a custom app for you um it's just really nice to know the realm of possibility um you'll be a better client so you'll be able to say with much more certainty this is what I want because I know it's possible and that's why I really want people to go out and try it and we also mentioned earlier um in the conference that you know you you draw out your plan I I have a sheet of paper where I've drawn out the my preferred user interface for another block that I'm building and um depending on time I can show one that I'm still currently developing um but I will stop so I don't run over and address any questions if there are any you're good you're good we're good we'll get well track three is all of our skilled professionals so they'll be a little bit uh patient with us you want to show us your drawing um yeah so I don't know how well it's going to come across I'm currently building a stop if you stop showing your screen you'll take full screen your picture will well I mean I can just show what it is because it's it's mostly there I'm building it in an invoicer and it's not production ready and it probably won't be for another like two months so don't get your hopes but I'm close and um basically what I wanted just wait there's more because I've gone crazy and it's taken over my life so I wanted people to be able to move beyond page designer um where you could only look at an invoice but you couldn't add to it you'd have to go back and open up the record and add things and the issue with invoice disease it's a classic use case for what's called a junction table where you don't link products to the invoice you link products to a line item yep and the line item is linked to an invoice right yep I tried to get gareth I tried to pay gareth to build this for me and I'm trying to do it myself well um I am open to collaboration because this is an absolute beast it's probably going to be the most complicated thing I've ever built but I'm so proud of where it is now where you can select any of the products right add a quantity click add and it'll appear at the bottom all your fields will update if you wanted to edit the invoice itself there's a pop-up that comes up and I could change the status from shipping to received and eventually I wanted to print this is all and this for the record does not have any external libraries it's not like scheduler which uses a package like full calendar this is all air table all air table apps um API I have not added anything special to it yet I want to add something for PDFs um but this is just to like which whistle for what's possible for someone to make again this was trial and error this was me getting a sheet of notebook paper and then drawing out okay this is relatively this is how big I want that box to be and and all that kind of stuff and again this is probably going to be the next two months of my life like perfecting this but I want people to know this is a brand new thing for air table custom apps and even the scripting app is new all of this is 2020 release stuff and you're already able to do this kind of stuff if that makes sense amazing this is amazing so I don't know about anybody else I don't want air table socks I want cameo socks no you don't you don't come on this is too good this is too good this is going to highlight of my day I love good base you give good base thank you um so yeah I just I I want people to not feel like oh I'm not a developer I can't build this my uh no 40 hours a week I'm an urban planner and then I also just learned JavaScript myself I'm self taught and trial and error you never stop learning and eventually you'll get to a point where you will have an idea for something and you'll have just enough skillset to fumble your way through it because I'm still fumbling constantly um but it's amazing you know amazing there you go wow uh chris cameo uh kavan I mean we've had so many people on track to appear uh track two is like it's taken on a life of its own right now I think but uh thank you so much uh chris and uh kavan for doing that we are uh chris are we done with track two yes yeah that's it it's wrapped it up and that was that was a great on-cord there