Level-up your Airtable Skills with David Peterson | Makerpad Workshop

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everybody thank you everybody for joining for david's joining hey david good to see you what's up tom all right we'll just give everybody a few minutes to filter in perfect ah connor finlayson haven't seen this man pop up in a webinar in a few weeks good to see you guys hope so he's settling into canada okay and you made it across the oceans there we go kind of recently uh relocated from new zealand that's oh wow that's right my face is correct wow and a prolific air table we use as well with uniform yeah i've i've i've heard i've seen hopefully he'll be submitting some extra complicated questions for us to answer yeah i think so line them up connor hey rio hey dummy on it it was wrap good to see some familiar names here just give everyone a few minutes you got a few people registered for this yep zach that's uh oh unicorn factory dot ca um what's your url let's close notifications okay so there you go okay so all uh if anyone's joined a makeup webinar before uh all questions in the q a and then we'll be stopping interjecting at various times through the conversation to ask anything that's relevant at that point and then aim to kind of leave a bit of time uh at the end to then go through some more um general questions as well that's right with you david that sounds perfect nice cool let's get a few more minutes giovanni if i just uh knock you off this one for a minute and then we can bring you on yeah how you doing sorry did i join the wrong link no no you're no you're okay you're fine okay giovanni you are an engineer at a was that correct uh part of our solutions engineering team so member of our uh customer-facing group but help our enterprise clients build on top of the airtable platform using some of the features that dave is going to be talking about today awesome nice so we've got that we've got the heavy hitters in for this one then yeah point point is everybody in the audience got to give the extra hard questions to geo yeah cool um that would be a good chance to uh how much how many people are going 44 let's get a couple more minutes just gonna know people probably running around the house checking their phones for calendar notifications i regularly uh notice one of mine and i've got a child in my hands and then have to handle them off to somebody else so today we're going to run through some the most recent features um and super powers that editable can give you over the last let's say two or so months they've released a ton um in pretty rapid succession i know people have been kind of rushing to update their air tables for either personal projects or clients i know we have um working on some deep dives for people so yeah excited to share everything that's possible two seconds okay all right let's fire up this uh first poll i'm gonna pop a poll just to kind of judge um everyone's experience should see it on your screen see how much experience people have with that table and this can kind of help shape the conversation of how deep we can go okay we've got some super fans here this is good news we go so four people with none so far 16 with some experience and 15 super fans it's good cool we'll do a little a little intro then but we'll most of the stuff we're going to be demoing is is definitely more 201 301 so we'll get some foundational stuff you know foundational conversation at the beginning but then we're going to be diving into the deep end a little bit yeah that sounds good let's see just get one more minute so if anyone else is boating and then we can dive straight in so for the so this conversation david is going to be leading he's going to be sharing a screen and showing everything his side and i'll be fielding questions and kind of interjecting when i think there'll be something useful to ask um so yeah any questions fire them into the q a and we'll get them answered for you cool let's end this part david if you are ready let's let's take it away let's do it all right um so before i share my screen just want to introduce myself uh real quick to everybody while you can still see you know full faces um so my name is david i work in partnerships at airtable been airtable for about three years during that time spent a lot of time in particular working with the no code community and startups like helping them use airtable really well so really excited to chat with folks um you know with maker pad people in the broader maker pad community um about air table and uh you know about all the cool things that that you can do with it especially some of the latest and greatest features that i think are you know either under hyped or um maybe the right amount of hyped but need a little bit of extra you know can could use some love um and i want to throw it over to giovanni uh geo's joining he's on the the customer solutions engineering team too um he'll be here we're going to be diving into some code later so i wanted geo to join in case we you know anybody had some questions that were a little bit more technical to make sure that we can help everybody um geo do you want to say hi quick yeah no thanks david um so giovanni briggs lead our customer solutions engineering team um our primary focus is helping clients understand how they can build on top of the airtable platform um using a lot of our developer features like scripting the api um and now automations um so david's gonna be walking through um that feature set today and so uh here to answer any of the more challenging questions that may come up um and then also have um tai for my team as well my internet's been a little spotty so if um i get booted he's here as as backup oh my god amazing it's hot that's awesome all right man makerpad we're we're we got a whole we got a whole boatload of folks here to make sure we're answering some questions uh i'm excited okay so let me i'll start sharing my screen uh so we can dive in as tom said questions throughout that's totally fine i'm mainly going to be like demoing things uh too so i have some slides just for like context sharing but goal is to spend most of her time playing around with the product um and answering questions nice cool um all right so let me share my screen here all right leveling up your airtable skills um let's let's go through okay so quick kind of agenda just to so we know where we're going here so uh we kind of we'll do like that quick intro into what airtable is context on air table i know there's a lot of super fans here but for folks who aren't experienced with their table just set the stage a little bit then we're going to dive into two recent uh recent features that we launched so one is a new field the button field another is a block the scripting block they both are super powerful um in different ways so we're going to kind of and you can actually use them together too so that'll be kind of the cherry on top um so we'll we'll talk through that and then have a bunch of time for for q a as well um okay so first just some kind of setting the stage on air table you know i i really like to think look i think airtable is flexible collaborative customizable database right i think that's a useful uh framework to enter into the airtable conversation the way that i like to think about it though is that airtable looks like a spreadsheet has the immediacy of a spreadsheet right you've all you've all uh you know dived into excel um but it's actually a database and what that means is that gives you a lot of advantages you know one thing is the underlying data is the same but you can view it in lots of different ways so it's a it looks like a spreadsheet sure but you can actually you could view it as a spreadsheet or you could view it as a calendar or you could view it as a kanban board right the underlying data is the same but because it's a database you can look at it any way you want the other thing is that it it's a relational database and this is something that took me a while to kind of grok myself but you know i think most most things that you put in a spreadsheet that aren't like finance or accounting they probably should actually be in databases you know relational databases are a much much more intuitive way to structure and organize things uh but we often use spreadsheets because they're just more readily available but once you put things in a database format and you get your brain to start thinking that way it truly unlocks some amazing things and the last thing is because it's a database because we have field types you know the columns are actually fields right and they have specific types of data it's machine readable you can you can easily interact with other services really well so that's what we will be talking about that type of those types of automations and interactions with both the button field and the scripting block and that's truly possible because airtable is a database so what do people use airtable for loads and loads of things you can find i don't know a thousand examples in the maker pack community if you're not a part of makerpad you should go check it out there's that they're like there's amazing things that people are building every day with their table but you can think of it in terms of um you know i think of like a lot of like the classic use cases like you know a product management system or a project management system a marketing calendar system you know kind of these like mission critical systems internal tools internal workflow systems crms you know that that business is built that's the stuff that i'm working on at the startup level and that's the stuff that geo is working on with some of the biggest enterprises in the world they're building these types of systems all with air table so it really scales up it's pretty cool all right so that's the quick kind of context setting now i want to talk about the button field okay so for those who aren't fully familiar with air table you know we have fields and let me just jump in i'm gonna just show you the ui first we're gonna jump back here but i'm gonna i'm gonna give you guys the quick intro first so as you can see like i said looks like a spreadsheet kind of feels like a spreadsheet here but you'll notice that these aren't columns these are actually fields and they all have different types so this is you know a text field this is a an email field this is a single single line or a single select field like a drop down field and there's a date time field and so on um so there's all these field types um and what we've um what we've just launched is this latest one that's called a button field now what i really what's really powerful about the button field is you know all the other fields are kind of like what you'd expect um you know from even a spreadsheet now but the button field kind of brings this app-like interactivity to air airtable you know there is something very satisfying right about just like pressing a button and having to go do something for you and bringing that into air table it starts to make all those things that you built you know that project management system it starts to make it feel a little bit more like software that you built yourself and i really love that so the minute that the button launched i added buttons to like every single workflow i had and we'll show off some cool things you can do with it but the let's just go through like what the button field actually is now first what does it look like okay well it looks like a button no surprises there now what can you do to it so you can change the label change the text change the styling there's also a bunch of actions that you can do with the button that i want to kind of go through so there's like a simple one you might imagine open url now my the secret here is i think open url is both the simplest and the most powerful it's by far the coolest one and we'll get to that but you can also open a bunch of our blocks that exists so we'll show off some of those and you can even run a script so that's how we'll kind of bring things together uh at the end here so you can press a button and and do all this stuff all right so that's what the button field is now let's uh let's actually see it in action okay so this this demo base here this is basically a simple uh content calendar is basically what it is right so we have a tape and we're just paying attention to the content table by the way so here we have a um you know every record every row is a new piece of content and it looks like i'm the editor of a travel blog so it's very aspirational these days uh flying to the cayman islands uh you know um summer inspired bytes this is this is uh aspirational content that we all need uh in the current state of things so we're keeping track of the the title of each of each piece of content you know who's the writer uh what's their email address what's the status so this is kind of like a pipeline uh type workflow uh and a few other a few other things that are kind of relevant here let me actually move this out of the way um [Music] okay so that's the that's the workflow it's a pretty simple content calendar now there's a few different ways that we might want to use a button to kind of enhance this workflow um so the first uh first one is by attaching a photo and i've created these views over here just for uh just to clean things up so you don't have to pay too close attention to them editor of available uh travel inspired or travel blog and uh we have this fly that cayman islands piece of content coming up and i need to find a header image for it um so this is where we can use one of those actions that we were talking about that's embedded into a block so this one you can automatically attach a stock photo from pixels pexels is a stock photo image provider we have a block with pixels so we have a deep integration with them directly this is available out of the box right you can just kind of choose this from the drop down and i'll show you how it works so uh fly to the cayman islands you know i want to attach a photo click the button opens this up and i can just search for cayman islands and then you know choose this photo that looks pretty good um i'm gonna click to attach it when i x out here it has now been attached it's pretty nice that the the button you know tells the block which record it came from so it's attached back direct directly now what would you do otherwise you would probably go to pixels directly download it upload it right like it's possible but this saves you a few clicks uh and it starts to feel like more of a again like a piece of software that you're building and that's pretty nice um but i i want to and oh and i should say by the way you know if you look at these other potential options here send an email with sendgrid create a document with formstack that one's really powerful if you haven't used formstack before you can create a you know a document template merge fields in from airtable into that document that's really powerful uh as well all of these are available out of the box in the same way that we just used this one it's it's just a matter of you know creating the button creating the block and they'll they'll just work um so that's great um but i wanna i wanna convince you i'm gonna start my crusade right now that the open url action is actually the best um so i have two two examples to try to make my case okay so now when you think of open your own open url action you're probably thinking to yourself like oh i'm just clicking i'm just opening this url right directly and is that that much better than me just clicking the url right now you know look i like the button it's colorful but it's not that much better what's really powerful about the open url though is that you can append things to the end of the url and then you can and then that can do things then you can do things with that information so that becomes super powerful so here's another problem that i wanted to solve and you know maybe i'm going to be able to solve with the uh the button fields here let's say on the editor whenever a draft uh a draft comes in i want to create a calendar invite with the writer uh to review the piece of content that they just created so i um turns out that you can do this using the button field and i'll show you how it works so again we're using the open url action but what's really powerful here is within the uh for the url we can use a formula so in this case i'm actually concatenating a bunch of pieces of information together to create a formula that's going to do some work for me you know in this case i have this kind of base formula here so this is a base calendar google calendar formula that lets you create a new new calendar invite and then i'm appending on to it the title field the draft due date and time and also the email field of the the writer so i've appended all that information onto the end of that url and what that means is when i click this calendar invite button it opens up google calendar it automatically fills out the title automatically invites well just me um and uh of the time the time we didn't work but i'll i'll debug that and oh by the way i should say i'm gonna share all this with everybody so you'll have access to all of this this base all these templates we're going to be looking at a bunch of scripts later you have access to all that too so um if you're furiously trying to write down that formula don't don't worry about that um okay a quick question just um where like something like that might be useful for another use case uh inside of airtable is if you're ever like working with somebody where you or a piece of software where you can actually concatenate on or add on url parameters for instance you could that's what he's doing he's just creating this url he's passing some data into it and then that kind of pre-populates whatever you're trying to do so one other use case which we use a lot at makepad is actually um pre-filling um some information into a form that you want to send to a client so when we actually want to make sure that the response of the form gets tied correctly against the maybe a client or a project record we can actually just pre-fill um using a url parameter that given email address name or whatever other reference id or type you're using so that's why the buttons aren't they're great absolutely yeah that's a great example um that's a great example and this uh this next this next example is basically using that to you know taking it one step further um so we're going to be appending parameters to the end of the url but this time we're going to be using uh we're going to be using the button field plus webhooks to try to go to to get in this case to get zapier to go do stuff for us um and i hope i i think this will convince you that the open url button action is the most powerful uh powerful button action of all um so let me let me kind of lay out the problem statement here again so the goal with this is whenever i so i just went through oh and actually before i dive in let me say um this is inspired by one of one of our consultants uh you know an air table consultant in the community his name is gareth pronopos i'm not sure if he's in the audience but he put together a video right after the button field launched and showed off something that looked really similar to this i thought it was super cool uh so wanted to give him some props uh gareth provenos gap consulting should check out his youtube channel too it's there's some really cool stuff um but wanted to give him some props here because i thought it was a thought it was a really really inspirational use case it kind of gave me a ton of ideas of stuff to build too so the problem statement here is you know i want to whenever i add this header image as the editor what i want to do is click a button and send an email to the writer and have them um have them review the the header image and just say like give it a thumbs up say that say that it looks good and i want to do that with just a single click is kind of the kind of the constraints that i've set for myself and i want to use my personal email too so those are those are the different constraints um so i was thinking through what the best way to do that would be and i think using web hooks is a really powerful way to do it so if folks in in the audience here aren't familiar with web hooks the you know the super layman's terms uh explanation might be you know rather than you know pulling another and constantly pinging another service to see what's happened what's happened what's happened instead with web hooks you can listen and listen to a url and whenever something hits that url you're listening you can grab some information from that url appended to the end of it and then you can go do something with that information so in this case and that by the way is kind of what we did with the calendar it's not exactly the same but we appended things at the end of the url so we're going to do something similar but because it's a web hook url we're going to be able to go act on it so in this case what i want to do i want to send an email that attaches the photo and sends that and sends that email to the writer uh so to do that i first need to set up a web hook in zapier so i'm going to jump over there and kind of show you how that works so um when you create a new zap what you're going to do choose the for the app that you choose choose web hooks by zapier and in this case the trigger is catching a hook in other words you're listening you're listening for something to hit that web hook and whenever you create this new app zapier also gives you a url so you have this custom url specific to this particular zap that you've set up okay so that's what i set up first now i copy that url come back here and i just paste it into this field so this is purely that web hook a url that's all it is uh then a few i did a few other things just to kind of complete my vision here of sending this email the first is that i wanted to grab the text of the photo so you can see this is a formula field where i just grab the header image and that what you see that comes up there is actually a it's just the name of the photo it's the file name and then it's the location and i want to pull out the location so i wrote up a quick uh quick formula that lets me pull out just the uh just the location of that image and then i created a pre-filled web hook so this is like the full url with all of the appended information that i want to be able to go do something with so we can just pull this up here let me open it that's actually hard to look at so let's look at the formula so i'm concatenating the web hook i'm adding in an image which is pointing to that photo url i'm adding in an email which is pointing to the email field and then i'm adding in the record id which is referring to the record id of this particular record so we save that now when i click send email and we can um i'm not going to do it yet because i want to show you this app first when i click send email it's going to hit a url and zapier is going to be listening to that url so let's see what that looks like so i did i did this in the past um right before this and you can see so it found a request this is after i clicked you know send email it hit that url and here's what zapier was able to see zapier uh pulled in the image they pulled in the email address they pulled in the record id um so then i can do kind of exactly what i just said i have that email address and i have the url of the of the image so now i can uh send an email in gmail i just used my account to do it but i'm sending it to that email address i you know created a subject line action needed review this image please find a header image attached the attachment is that um that jpeg location uh and that's it uh pretty pretty pretty bare bones email here uh and then the other thing that i did is i just updated that record so that's why i passed through the record id so then i could come back into airtable and uh find the record that we just sent an email about and then i'm actually updating a field called last email sent with the current time um and that's kind of nice because then i can do things like um you know track if i've sent an email yet to that person right okay so that's how the zap works and let's uh let's make it happen so i'm going to send an email you can see it pops open this new url this is the um this is the web hook you can see zapier just auto filled last email sent that's also kind of nice because it makes it's like qa right like we know that that zap actually ran now because it went through um and let's uh let's oh i need to find my email oh you know what i'm gonna do i'm just going to review it here since i didn't open up my email so you can see i sent this email to myself hey please find this header image attached and look it's attached so pretty simple and one thing i'll also add here is you'll notice that the button is no longer clickable uh and the reason is because you can actually add if statements to the button url so i'll just show you what that looks like in this case i'm saying if and uh header image and and the last email sent equals blank then uh hit the pre-filled web hook so basically there needs to be a header image we can't have sent an email before if if those two things are the case then uh then you can actually click the button and send it so there's a little bit of like protection here too you know if you've built a system for a client or for other people uh you know who don't really know the ins and outs and you want to add in a little bit of protection here now you can kind of do that okay so that is my that's the quick rundown on the button field i hope that i was able to convince you that open url is the coolest the coolest action that exists for the button um i wanted to pause quickly before we're moving on to the script scripting block i wanted to pause quickly to grab any questions that are that are burning here before we lose that context yeah so i just wanted to add a bit to that also um if you have any questions either related to the button on its on its own or anything like zapier related we can kind of provide you with some links at the end if you want to dive into zappy but i know um if you get once everyone gets to the stage of combining zapier with wordflow or sorry with airtable and other tools that you might use um it really unlocks like a whole bunch of like superpowers and even like automating an email out the first time is is great so one have another um well some questions come in i'm gonna launch another poll just before we go into scripting blocks just to see um to get a gauge on the how technical people are and then we can help guide the conversation there as well so you can see a poll coming on your screen and so look at some questions a question from jason is there a way to suppress the browser tab opening with webhook data that's a that's a good question i'm not actually sure if we can do that with our button do you know geo if we can suppress the your the new tab opening so no no i'm sorry my understanding is basically when you open that when you click that button by opening that new tab that is what is triggering the get request out to that service um so you do have to open the the new tab for that nice uh next one uh trying to figure out its initiative formulas are underutilized formulas are another underutilized superpower of air table i'd have to agree yeah a question how to send json with an open url button what's the is there a particular use case in mind or i i'm not looking at the question i can pull it up i guess it's like how how can you send additional data like a like a more complete payload just by triggering using a button yeah so button is often going to be right the open url button is going to make a get request and so you could you know use query parameters in that url if you wanted to get extra fancy with it i think what we will what david is potentially going to show next where we use automations or scripting that may be a better place for some of those more complex payloads and there are examples um on our community side of people who have done that to make posts delete any of your other http verb type requests using more complex payloads nice and yeah we can like dive into some uh additional like resources afterwards if anyone wants to like read up on things like web hooks or like formulas and concatenating we can provide some resources on that because i know that if you haven't used it before it can be a bit like oh like how how do i do that so happy to help on that front um but just to share the results of the poll um you have a um but yeah quite a few yes so no cheeky what's javascript answers no i know come on guys cool all right any there's no more questions let's um let's push on to scripting yeah let's let's do it um okay so the scripting block um so before before diving into the specific example on the scripting block i just wanted to pull up the blocks gallery in general for those those folks in in you know watching who aren't uh aren't familiar with blocks just overall um so we already saw it with the pixels block over here but let me just pull this up so you can think of blocks as being they're visualizations integrations tools that can live on top of your air table base so you've built out this content calendar workflow that we just very simple that we just looked through you might want to add in lots of additional visualizations or integrations the like blocks is where you go that should be your kind of first stop to go test that out um so you can do simple things like uh bar charts line graphs uh something like that or a pivot table stuff that you might expect if you just play around in spreadsheets all the time but there's also some more complex visualizations like you know if you're if you you could do an org chart if you were keeping track of employee directory there's a lot of third-party uh integrations as well so if you use mira bureau or jira or type form right all of these tools um and a few others you can just kind of um you can scroll through you can see there's there's a ton here um that you can that you can build with oh another one i would just call out because i use it all the time so it's a special place in my heart is web clipper so this is just super simple uh block with a chrome extension you can clip data from any website and throw it into an airtable base uh actually great for a content calendar use case if you're keeping track of content that you want to want to write about in the future something like that so um oh and some other ones that i would just call out you know there's like a clear bit uh for finding finding or enriching uh enriching leads uh which is really powerful and another one um that i think is work would be interesting for this group is where is this um can i not find it let me just search okay yeah vision this uses the google cloud vision api so you can actually extract text logos um you know labels from images using their machine learning algorithm so it's pretty cool if you want to kind of add scale pull out um pull out categorizations of images we actually have we have users who will use this for you know one example is use it for their lost and found um they want to quickly categorize what has been lost so they take pictures of everything using the airtable app and then run the cloud vision api on it so it pulls out categories of these thousands of items and then they're able to really easily uh you know dull them out and find find whose they were it's a small random example but kind of gives you an example maybe an idea of the power here okay so this is this is what blocks is overall but the um scripting block is new and completely superpowered the scripting block is a whole different different level uh and that's why i thought it was it was the thing that we should highlight for the maker pad community um so let me jump back here okay so the scripting block enables anyone to run custom javascript on top of your air table base uh to do some pretty pretty powerful things um this is what you see when you open up the scripting block for the first time this means that you can there's a bunch of pre-loaded examples that you can play around with or you can just dive in and start coding yourself um we're going to talk about this types of problems you can solve with the scripting block we're going to run through a few examples as well but let me just kind of call out right now i know that half the room here you know at least is not familiar with javascript um i wasn't familiar with javascript either right like i'm the classic example of somebody who has tried to learn to code five times in the past ten years and you know it's it's been the type of thing where i kind of you know i it fits and starts right i kind of made it work um but it just never really it never took it never stuck with me and the scripting block is is the first time that it's really started to make sense and and i think this is what i've been trying to figure out why i think this is why when you start with airtable you've already kind of started building a solution right to a problem that you have like you're building some project management solution for your your business you've already started building this out with with the scripting block you can solve those like marginal problems those last mile problems you can add in that little additional functionality and because it's so scoped it's constrained because you're saying like i just need to do this one thing and everything else is already done right the database already exists all you're doing is trying to solve that last mile problem it's it's so much easier to go you know go through the the community forum and air table go through stack overflow and figure out how to solve that little last mile problem uh and then you do that ten more times and all of a sudden you know you know javascript like it happens so if you're the type of person who's a little bit uncomfortable this is the perfect way to get started i personally think um okay so let me talk about you know the types of problems you can solve with the scripting block so you can start to wrap your head around you know where you should point this this superpower um okay so there's four categories the first is you know what what i would call data validation and formatting or uh you know light data manipulation let's say um so this is stuff that you're probably already doing either manually right you're like going through and just cleaning up data manually or you're doing it with formulas you know an example might be you're concatenating a bunch of things together to kind of format it or you are um extracting the domain from an email address using a formula right pretty simple formula but you could do that plus way more way more complicated stuff with the scripting block because you have the power of javascript to do this validation and formatting for you another another category is what i would call like record creation deletion it's kind of similar to these others but i want to call it out specifically because i think one of the one of the really powerful use cases of the scripting block is to create or delete a bunch of records or update a bunch of records based on something else in in your base so a classic example here would be you have a projects table and a tasks table you know every time a new project comes in for your client you do the exact same 10 things because that's how you onboard a new client uh and it's wouldn't it be nice if you could click one button and all those ten records were created right those ten those ten tasks were created that's like a classic example of something you could you could code up really easily that's actually one of the examples here uh the the record template um you could code up really easily using the scripting block um the third category is basically talking with external services you know enriching data in some way um so this might be you know enriching an email address with a name and a company or it could be um actually something we do here in this currency converter you know pulling in the current conversion rate between two currencies um so you're kind of pulling in from an external service what's the current current conversion rate between the dollar and the pounds and you know how much money do i have in pounds you know because of that um so you can do that with the scripting block and then the last thing last category is kind of simple visualizations so we're not talking about you know recreating tableau or or something here but you can build really simple uh simple tables simple visualizations uh using the scripting block um and that could be really powerful too there's a few great examples of that in our community forum um that we can we can point to in in the follow up that tom and i put together um okay and i also before diving into two examples we have two quick demos and then you can pepper us with questions um and by us i mean geo um and uh we have so two things i i wanted to talk about kind of what the scripting hot can do and what it can't do because i don't want people getting excited about things that just you know aren't in scope right now so what it can do this is kind of stuff we've already talked about so i won't go through it again what it can't do it can't run automatically you do need to click a button now there is dot dot yet that's this this stuff is coming it's something we're working on now um there's some basic automations for example that are currently available for enterprise customers um enterprise customers only though you know broader broader launch is is uh you know on on the roadmap so stay tuned on that but currently can't run automatically um another thing is i can't save the current state for the next run um this is a big one the third one you can't create new tables or new fields so you kind of need the schema of your database to be set up you know correctly or to be fully set up to start um and yeah as i kind of mentioned the more complex data visualization is just out of out of scope right now okay so let's uh let's show off some examples here um okay so we're back in the makerpad demos base so now we're going to do um oh hold on we're going to do this uh this is very this is very simple the last one was a simple content calendar this is just a list so the idea here is this is we're we're asking people to submit a url and we want to do some basic validation is this a url or not um and then based on based on that we can do other things but right now we're just going to validate whether or not this is a url we're going to do that using using the scripting block so let me open up the blocks panel here i'm going to go to this dashboard where i have this validation validation code living so um let's just see how it works first and then we'll kind of dive into the code and i'll say by the way this code is 99 written by geo and i changed it a little bit but so just you know if it doesn't work it's just fault if it does work yeah i was gonna say david you're just setting me up for i know it definitely definitely works okay all right so we click run and then we're just going to pick one of these records um it runs and that worked well okay great and now we're going to i'll show you kind of for the other outcome here in this case it flags that this is an invalid url okay so that's that is the the full full feature full features of the code here so if we click uh edit code you can actually see uh see what's going on so um we're not gonna go through this line by line but i wanna show you that it's simpler than you think you know like you can you too can can do this um if you just uh get a little bit comfortable with what things look like here um so first is we're we're pulling in the table so in this case it was submissions pulling in that table that's the table that this is going to work on where in this case we're um waiting for input from the user to choose the record so that's basically what the second this and that's where the pick a record uh ui comes up and then let the fields equal the url field so that was the that field with the url then we're basically uh we have this is a function that checks whether or not it's a valid url if it is a valid url or if it's not a valid url if url equals false we're going to change the invalid url check flag to true because that means it's invalid and otherwise invalid url is going to stay false and we're going to return the hostname of the it's basically like the domain name of the uh the url that was sent in so it's a pretty simple script here kind of example of validation and we'll just click finish editing um and uh one thing that's uh so you can imagine by the way doing this for there's a lot of other things you might want to validate right you might want to validate like is this an email or not um and there's you can just if you if you just search on google for javascript email validation you know you'll find a bunch of examples of regex you could use or apis you could hit to validate not only is it an email but is it an active email right and actually hit uh you know hit an api to check you know there's a lot of ways that you could extend this so this is just kind of a simple example question is when to ask and david and giovanni might have a good resource for this if somebody um watching is interested in potentially picking out javascript and um learning a bit more about it is there any good resources that you recommend i know obviously google's going to be a great starting point was there a particular one you found useful that people could take a look at um no it's a good question um i would so i haven't i don't think i don't feel like i can uh i can endorse a particular class or anything myself because i've kind of learned by trolling our uni community forum and uh googling to be perfectly honest and you know pinging giovanni late at night those are basically my sources and i don't think i can open all of those up to the entire the entire community here um but uh geo i'm curious if there's anything that you you recommend just from your learning and also anyone in the chat as well if anyone's uh picked up javascript then yeah put your recommendations in there for others that'd be great yeah the i've heard i've actually heard very good things about khan academy actually which shouldn't be a surprise to anyone uh has a javascript course that i've heard um good things about i think it um one of the troubles that some people run into with it is it starts to dive a little bit into you know some um basic computer science concepts that don't always feel super applicable or useful um but when it comes to just sort of having a guided resource for how do i start with javascript how do i get up and running what is my first you know hello world look like um it's a pretty good um starting place that i've seen people gravitate towards nice um do you want to answer a couple of questions now before we carry on a second we just have one interesting one from lorenzo saying um can you trigger a script through an api so it's like david mentioned scripts are manual so you do have to click that run script in order to trick you them in the example here we were showing you know the some of the input functionality where you can actually wait for the user to input information into the script which then dictates how it runs you can also set these scripts up to be more bulk or batch and that they execute on the entirety of the base um and so you could imagine in this case if i had you know a thousand records in here that i wanted to do this validation on you wouldn't want to have to run that script a thousand times i mean that is possible to do you know one click and have it execute across every record at the base and do this type of flagging got it and one more from courtney just quick is it possible to remove and rename for multiple file names in a file upload field could you wait could you say that again is it possible to remove or rename multiple file names in a file upload field rename within the fields go okay yeah so within the attachment fields you can get information about the attachment um but you cannot with scripting today i don't think i haven't i haven't tried it recently you can't manipulate the file details one thing you could do though is say you wanted to pull that file name out into its own field that is something you could do you could read the attachments fields get the file name for that attachment and then write it to a standalone field that you may want to do grouping or sorting by so that type of workflow is possible but actually renaming the the file name i don't believe is got it on this topic sorry to jump in david um from morgan can you triggering a creation of a new view is this is that possible with a script yeah again similar to what david mentioned earlier around tables and fields we all we kind of grouped that all under base metadata um and so scripts cannot manipulate metadata today got it thanks i'm going to update that slide to include views yeah common question yeah once we say fields of tables people are like but what about videos yeah it's all all considered part of uh metadata yeah cool so uh two more quick things and then hopefully we'll have some time at the end for questions um first is uh like we were talking about before you can use the button with scripting together um and because we use that that input and i'll just show you guys what i'm talking about um because we used this input record async because we're awaiting for the user to tell us what what record to act on that means we can also use the button field because the button is a way of listening you know for the for the user's input so we can really easily uh just click through uh that way as well and and run run the script which is pretty cool and again feels you know especially if you're building this for somebody else or somebody else on your team is going to be using this you're the one who understands it but they're going to be using it it's nice to kind of keep all of that keep that functionality in the button so that they don't have to know to go and click run on that on that script now one last uh scripting example and then we'll have some time for questions so this last one is actually a real example so i'm not sure if you guys have heard of this organization called frontline foods so it's an organization that was started after you know the kobe 19 outbreak in the u.s there's actually a really similar one in the uk called yields for the nhs the basic idea is there's a lot of restaurants who don't have who no longer have visitors but have a lot of employees that they still want to pay there's a lot of hospitals that have a lot of workers that would love food and if you could just match those restaurants to those workers then the restaurants could stay in business the hospital frontline workers could get could get get food so frontline foods built an entire system to do this they launched in san francisco bay area scaled to 50 to 60 cities across the u.s they raised you know over 10 15 million dollars they delivered tens of thousands of meals you know thousands of hospitals thousands of restaurants they manage this entire system and air table so i'm going to show you a really simplified version of how they did it uh and they used a script to make it to to help it scale okay so let's just look at uh look at the schema here first so the idea we're keeping track of restaurants could think of this as a mini restaurant crm you know this is where we keep track of all the restaurant name their phone numbers email they kept track of things like status too like are they onboarded or not right like that kind of thing so it really felt like a mini crm but it's also a database of every restaurant that they worked with they did the same thing for hospitals so they kept track of this this is again super simplified version but they kept track of all this information for hospitals and then they kept track of deliveries and deliveries is just a join between restaurant and hospital and a date so when a restaurant and a hospital come together in a specific date that's a delivery and they kept track of all of this all this stuff and this kind of like order management system and again this scaled up to tens of thousands of deliveries over the course of you know a few months um really a few weeks and they did it they did it all in an air table system that didn't look too too dissimilar from this now one problem that they ran into when they were trying to scale is they would run into an issue with recurring orders where they would talk to a a hospital that was like look we need food every day of the week for the next eight weeks like guaranteed we're gonna need it and then they would talk to a restaurant and the restaurant said we would rather have certainty like if we know that we are delivering meals every monday wednesday friday that's way better than you telling us 24 hours in advance because certainty in an uncertain world certainty right now is really valuable for us to keep everybody employed and and all that kind of stuff so manually creating thousands of delivery records though was kind of out of the question you know um so they what we did and this was actually uh written up by a colleague of mine kazra um who also was one of the founding you know kind of founding engineers of the blocks platform itself he he you know jumped in and wrote a script to help them do this uh late one sunday night so thank you kazra uh for their help so the idea here is um let's create recurring orders based on some logic that we that we put in a table in in air table so we created a recurring orders table to create a new recurring order you choose a restaurant so we can do this here you choose you know a hospital and then you choose like what days of the week will this recurring order happen on let's make this a weekend order so saturday and sunday and then you choose a start date and an end date so i'm going to say it's starting this weekend and it's going to the end of august so these are the inputs that you need to create this recurring order and then we're going to go back over here open up the block and click run and you can see that i'm starting to create orders the orders are just on the weekend if you notice from the dates uh they automatically go through the end the end of august um we can again we'll open source this code so you can see but i wanted to show this example because it's a it's a good example of that project task like task templating category of use case that we were talking about before but um because because we're using javascript right because we have the extensibility of code we're able to take all these interesting inputs that are very unique to this particular problem and create a solution that uh is super custom and enabled this real organization to scale up to literally tens of thousands of records of deliveries in a matter of weeks um so yeah that's the last example happy to open it up again for some questions nice i think um this is similar to today um a bit of work with mills nhs i know um johnny burch was running the tech side of things on theirs and then and when he i think actually scripting blocks came out mid project when they were working on it so yeah i think he he's a developer himself and he was over the moon because i think he used it for that exact use case awesome yeah actually i'm pretty sure that this is just a funny aside but i think we connected frontline foods and meals for the nhs at one point because you you guys are both building really similar cool things and we were like hey let's share let's share the wealth let's open source this so that's awesome yeah they did a great job okay so questions do you have unanswered is there an easy way to export content from blocks like page designer charts etcetera to a pdf from corny yeah so page designer has um you can see well i don't have one kind of pre-made here um page designer yes um for charts you're going to need to at this point and correct me if i'm wrong geo but at this point you'll need to screenshot um charts if you want to get them out quickly um but it is this is a really common question and request and definitely something that we're you know it's top of mind all righty um an ap an api uh integration with airtable and webhooks looking for some case studies relating to it using a custom script from amit any particular use case any particular use case in mind uh we've just moved on to another one while it responds ability to hide tables base to base connections from jason great question um so there there isn't it's not possible to hide tables uh right now um again though like common question common request and and uh and good thought so it's something that we're thinking about and then cross-face syncing you know kind of like connections between bass um that's again super top of mind something we're actively working on nice uh how do you handle uh recurring tasks in edit without creating multiple records for each recurring task is there a formula or automation i could do looking for a solution for this um [Music] so i guess if you're running things on like on a schedule i guess you could use you could use like uh zapier to do like a scheduled zap to create a record every every week or create some tasks um yeah is there a native way to do that inside of our table there isn't yeah no go for it geo yeah i think that the example you showed with frontline foods is close to that of scheduling things to or creating a set of tasks um but really like every net new task that you want to track should be a new record in that task table um reusing those records becomes kind of tricky and then you end up overloading data um which long term is often not what you want yeah what i would add to that is you know this is something i said at the beginning it's like the difference between thinking uh thinking like you're using a spreadsheet versus thinking of air table like a database and one of the kind of the key key things of building out the database is that you know your records should be unique and each new task should be a new record and if you're completed if you're finished with it you know archive it it's gone don't like keep that unique because once and once you do that then you can build start building automations and integrations with other services and you'll know that the data is going to stay consistent and every record equals that unique task so that gives you some that consistency gives you some superpowers nice got it i've got a hand up from connor saying he wants to ask a question bear with okay connor adams far away i don't know if the uh question is still relevant or if you've answered it but if you've still got something to ask feel free if he still am still muted give me a few more seconds connor if not oh one thing i also say is um adam w i just saw you you ping about um michael gill's book maker minions one thing that's really cool about that book maker minions is he actually wrote and designed the whole thing an air table and each page is a page designer page so he actually open sourced the base that he built to create the the book uh so anybody can get access to that too uh and it's it's pretty cool it's kind of air table turtles all the way down it's air table all the way down yeah that's great um and jason asks what's next question mark so uh that's a good question um well so a lot of how much you're gonna get out of david on this one uh well i think that look everything that people asked about are actually those legitimately are things that are top of mind and next um so things that we're thinking about you're you're asking the right questions uh the other the other big thing that you know that we're working on is other than extending what we already showed here so that might be more blocks more integrations more button actions right all that kind of stuff the other thing that we're working on is thinking more about bringing automations you know into air table and making them work more uh more native um so there's some that's something that is currently you know available for some uh some paying customers um at the enterprise level and we're going to you know as i mentioned that's going to be launching uh launching more broadly that's something i would really stay tuned on because um a lot of the a lot of the questions that you guys had could also be answered in some ways by automations too uh so uh we'll do i think we should do another one of these uh that kind of showcases all this stuff plus automations you know in uh in a month yourself yeah we can do that sure um i had one question uh for either either of you but mainly giovanni probably um how are you seeing like your enterprise clients when they kind of reach a stage um where they're using air airtable again these bigger scenarios with more stuff coming through like loads of tables talking to each other how what's the difference and how they're using it compared to maybe small startups apart from just more of everything yeah the enterprises often want to feel like small startups um and so i think what's nice about scripting is it gives them that feeling of agility and um mobility that you know um oftentimes what they have is like an internal data warehouse where data just kind of goes to die um and so they start bringing that info into error table to make it operational for their teams and now what scripting has allowed them to do is a lot of them are trying to use our formulas to extract data or manipulate it we're finding that formulas weren't quite as powerful as what they needed and so now having scripting gives them the ability to write much more customized logic for how they choose to tag information extract more details from it and really start building net new information off of data that for a very long time again just sort of sat stagnant in this data warehouse that was out of reach um so that is how we're seeing a lot of our enterprise teams using it is generating net new information that's really useful and effective for their teams to build their workflows on top of another thing i know we were seeing like an increase in people coming from like an enterprise sales background or working in um bigger companies coming into makerpad and they're they're really interested in like potentially our building solutions using airtable and zaful but there's obviously there the concerns about around data and how that's handled how would you how do you um like communicate that to maybe a bigger client that has those worries urine worries isn't you know not wanting data to go to a third party yeah just about like just general security questions it may seem like um like an air table base is less secure than some of the more like traditional databases they've worked with um only because it will be good because i know some of our members a couple of which are in this session are asking this question like we want to use it it seems great but it's what's the issue around um the data yeah so from the air table side the service that we offer to enterprise is the same that we offer um across the board so from a security from our technical and organizational security measures it's the same and when we recently received sock 2 type 2 um iso 27001 certification really geared towards enterprises but the entire environment is in scope for that and you can see that now on our security page so um yeah having a database that sits on your laptop may feel more secure but it's not you're trading off operational usage of it um an air table i think is a really great balance where you have this cloud system that is real time and collaborative and would take you many months to try and rebuild that from scratch while also having sort of the best in class enterprise security that people should have when they're storing their data in a cloud service amazing yeah we had um like a use case where we were working with like an arm of the nhs here in the uk and they had an issue where we were trying to connect um all of the testing labs across the country and they needed to share um connectivity data um and like api access between them all and they were just sending excel spreadsheets and see seeing each other on an email thread it was just it was barbaric to see so we managed to set them up with a permissioned air table with a portal on top of it and that did a did a good job for them so that was just like a use case that we came across that's cool um and final question before you wrap up from me unless anybody else has any more from the audience is how um how big can it will go more like enterprise related question in terms of like rows yeah so the um there's some like soft limits and harder limits um so the the for the free plan we're talking about 1200 records for the entire in the entire base so it's like add up the records across all your table all your tables at the pro level that that goes up to 50 000 um and that at the enterprise level that goes up to a hundred thousand um but one thing i'll say is uh you kind of reach some you know there's there's some performance degradation at the at the edges of those limits uh anyway so um if you're thinking if you're building a building a workflow that's gonna get close to that that's a time to reach out to somebody at airtable and kind of strategize um on you know how to how to set things up so that you can kind of limit any of those issues um and maybe then maybe not use air table maybe it's just not the right solution it depends we also see that like as you start approaching those limits like how much of that data are your users actually interacting with on a day-to-day basis i think that is often where um we we make recommendations like do you really need a hundred thousand data elements for your users to be effective in this workflow and the answer is generally no um that the amount of data they're working with is in the scale of you know five to ten thousand records maybe um and that is well within what we're capable of handling nice but if there is any more no more questions then i'd say thanks to you all for taking the time to share all of that with us and it was great especially for some of the more um technical people in the audience this is going to be made available to everybody and uploaded straight away um so everyone can go and watch it watch it back maybe revisit some of the concepts which we talked about um i know the guys are all uh they're already responsive to any questions so feel free to hit them with as many questions as you want um and yeah they've been really useful to us to make pad and we we use them um extensively and i know like practically all of the members of the building with their tables so we love it here um so yeah thanks again david and giovanni appreciate it absolutely yeah thanks for having us anything fun or you want to add or share uh no i don't i don't think so i guess the the only thing i'll say is we have a we have a deal for maker pad uh pro members um so if you're if you're a maker pad pro member you also get some credit with airtable so if you haven't decided to do that yet um you know get you can get two for the price one you do i'll share the link it's there makepad.com go you can get through that but yeah happy to help uh set that up for you if your makeup member just reach out and we can get you that as well yeah thanks again guys um thanks david uh next time and speak to everybody soon all right see you all see you later bye
Info
Channel: Makerpad
Views: 1,362
Rating: undefined out of 5
Keywords:
Id: w8BheSaFOUQ
Channel Id: undefined
Length: 71min 1sec (4261 seconds)
Published: Wed Jul 22 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.