2/4/2025 – BuiltOnAir Live Podcast Full Show – S21-E05
Duration: 0 minutes
Be Sure to Subscribe to the podcast!
To get all the latest videos and demonstrations from the BuiltOnAir Podcast, subscribe and get notified on our Youtube channel here and our newsletter/community here.
FULL EPISODE VIDEO
Watch the full video of the show. See below for segment details.
The BuiltOnAir Podcast is Sponsored by On2Air – Integrations and App extensions to run your business operations in Airtable.
In This Episode
Welcome to the BuiltOnAir Podcast, the live show. The BuiltOnAir Podcast is a live weekly show highlighting everything happening in the Airtable world.
Check us out at BuiltOnAir.com. Join our community, join our Slack Channel, and meet your fellow Airtable fans.
Alli Alosa – Hi there! I’m Alli 🙂 I’m a fine artist turned “techie” with a passion for organization and automation. I’m also proud to be a Community Leader in the Airtable forum, and a co-host of the BuiltOnAir podcast. My favorite part about being an Airtable consultant and developer is that I get to talk with people from all sorts of industries, and each project is an opportunity to learn how a business works.
Kamille Parks – I am an Airtable Community Forums Leader and the developer behind the custom Airtable app “Scheduler”, one of the winning projects in the Airtable Custom Blocks Contest now widely available on the Marketplace. I focus on building simple scripts, automations, and custom apps for Airtable that streamline data entry and everyday workflows.
Dan Fellars – I am the Founder of Openside, On2Air, and BuiltOnAir. I love automation and software. When not coding the next feature of On2Air, I love spending time with my wife and kids and golfing.
Show Segments
Round The Bases – 00:01:40 –
Meet the Experts – –
Meet Jonathan Bradshaw.
Jonathan is currently a developer with Optimize IS, based in the UK. He has been working with Airtable for 8 years.
Field Focus – –
A deep dive into the Button Formula Hack Button – Use a formula in a button field to link each record to a different layout in an interface page, using data from the same table, giving you multiple "mini apps"
Audience Questions – 00:01:41 –
Kamille Parks answers the Airtable question: “How to Allow an Edit Button before edits”
View the question in the community
Answer: Kamille will walk through how to set up an interface to be read only until an Edit button is clicked.
Full Segment Details
Segment: Round The Bases
Start Time: 00:01:40
Roundup of what’s happening in the Airtable communities – Airtable, BuiltOnAir, Reddit, Facebook, YouTube, and Twitter.
Segment: Meet the Experts
Start Time:
Jonathan Bradshaw –
Meet Jonathan Bradshaw.
Jonathan is currently a developer with Optimize IS, based in the UK. He has been working with Airtable for 8 years.
Segment: Field Focus
Start Time:
Learn about the Button Formula Hack – Use a formula in a button field to link each record to a different layout in an interface page, using data from the same table, giving you multiple "mini apps"
A deep dive into the Button Formula Hack Button – Use a formula in a button field to link each record to a different layout in an interface page, using data from the same table, giving you multiple "mini apps"
Segment: Audience Questions
Start Time: 00:01:41
Airtable Question – How to Allow an Edit Button before edits
Kamille Parks answers the Airtable question: “How to Allow an Edit Button before edits”
View the question in the community
Answer: Kamille will walk through how to set up an interface to be read only until an Edit button is clicked.
Full Transcription
The full transcription for the show can be found here:
[00:00:00] intro: Welcome to the Built On Air podcast, the variety show for all things Airtable. In each episode, we cover four different segments. It's always fresh and different and lots of fun while you get the insider info on all things Airtable. Our hosts and guests are some of the most senior experts in the Airtable community. [00:00:26] Join us live each week on our YouTube channel every Tuesday at 11am Eastern and join our active community at BuiltOnAir. com. Before we begin, a word from our sponsor, On2Air. com. backups. Onto where backups provides automated air table backups to your cloud storage for secure and reliable data protection, prevent data loss and set up a secure air table backup system with onto air backups at onto air dot com. [00:00:50] As one customer, Sarah said, having automated air table backups has freed up hours of my time every other week. And the fear of losing anything. Longtime customer [00:01:00] David states, OntoAir Backups might be the most critical piece of the puzzle to guard against unforeseeable disaster. It's easy to set up, and it just works. [00:01:08] Join Sarah, David, and hundreds more Airtable users like you to protect your Airtable data with OntoAir Backups. Sign up today with promo code BUILTONAIR for a 10 percent discount. Check them out at ontoair. com. And now let's check out today's episode, and see what we built on air. [00:01:36] Dan Fellars: Welcome back to the built on air podcast, episode five of season 21. Good to be with you. I've got myself, Dan, Allie and Camille back together to see you all. We should be having another guest. Join us. Hopefully he joins us shortly. Later in the show, we'll get to meet Jonathan and have some, some info on him, [00:02:00] but why don't I walk us through what we're going to be talking about today. [00:02:03] We'll first start with our round the bases, go through all the communities, everything going on, keep you up to date on all the news and updates. Then we'll talk about backups and onto air and, and as our primary sponsor. And then if Jonathan joins us, we'll learn a little bit about him and his background. [00:02:22] And then he has got a segment he's going to show us. Cool button formula hack on how to build mini apps within Airtable with that. Then finally, shout out to join our community at Built On Air. And then we'll end with an audience question. How to allow edit buttons before you can edit. Inside an interface. [00:02:44] So we might start with that one and see if Jonathan joins us. Okay. First round the bases. First off looks like the community in the air table community, they're doing a onboarding office hours. So this is, it looks like something new [00:03:00] that they're starting. February 12th. So a week from next week. And so if you, so they kind of will do maybe what we do, an update on everything new, answer any questions, some practical tips. [00:03:16] So that is something if you want to hear directly from the Airtable community. Or the air table community leaders, you can join their onboarding office hours in february. So you gotta register. So click on that link to register and get in. Okay, what's new? Looks like there's one new announced thing interfaces for ipads. [00:03:39] So I believe that means, does that mean all interfaces because before some interfaces didn't work on mobile and I assume that applied to iPads. [00:03:49] Kamille Parks: That was going to be my question as well. So some things that were missing from mobile interfaces were conditional visibility and certain page [00:04:00] types couldn't be shown. [00:04:01] Basically all of the old ones, but even some of the new ones. I feel like. Maybe dashboard perhaps wasn't available on the new or on mobile interfaces. I'm unsure if this update includes more page types and features being enabled for mobile, or if it's just the same experience as previously, but for iPad. [00:04:27] Alli Alosa: Yeah, I actually was playing around the conditional visibility last time I tested it. It actually did seem to work on mobile, even though it's still, it still comes up and says it won't, I need to reconfirm that, but I'm pretty sure it sometimes does and the record review layout says that it's not mobile friendly, but it is mobile friendly. [00:04:49] The new the new version. [00:04:50] Dan Fellars: Oh, really? [00:04:51] Alli Alosa: Yeah, it's important. It works on mobile. [00:04:54] Kamille Parks: Does it? Did you test IOS or Android IOS? Maybe [00:05:00] it's not available on Android then. Although I have an Android despite my current employment. I think we, one of these days we'll just have to. Get all of our various devices and, and try to pin down what actually doesn't work because yeah, sometimes Airtable will say this feature doesn't exist and it does. [00:05:21] Dan Fellars: Yeah. Now, now this is inside the app. So for mobile, do I should know this do interfaces actually work in the mobile Airtable app or just. Okay. Okay. So I wonder if I assume that it worked in the, in the iPad. I don't own an iPad, but I assumed this, that interfaces worked before. This isn't just saying you can now get what you can get on mobile. [00:05:55] I think this is saying you can get everything right? [00:05:59] Alli Alosa: I'm [00:06:00] pretty sure that interfaces, while it worked on IOS mobile did not work on [00:06:08] Dan Fellars: iPad. [00:06:09] Alli Alosa: Yeah. [00:06:10] Dan Fellars: Hmm. Interesting. So maybe this is catching up with mobile or maybe this is catching up with web. We'll see. Yeah. Let us know if you know in the comments. [00:06:22] Alli Alosa: Yeah. [00:06:23] That's [00:06:23] Dan Fellars: good. [00:06:24] Alli Alosa: I wouldn't know. [00:06:25] Dan Fellars: Yeah. It doesn't. It just says Airtable interfaces are now accessible using the native app. Does that mean no interfaces were before? [00:06:35] Alli Alosa: Pretty sure. Yeah, I wonder if the shared like if you embed an interface or, you know, just go directly to the publicly shared link. If you, if you use that feature, if that would work. [00:06:50] I'm not sure. I'm not clear. [00:06:52] Dan Fellars: Yeah, not sure there. All right. But making progress. Hopefully they get full support for all [00:07:00] pages on mobile. That's that's definitely needed. Okay, let's go into the built on air community talking about new features. Scott Rose first to point this one out. And it's not announced. [00:07:14] So this is unannounced. So mail hooks knows about this. [00:07:21] Alli Alosa: It's just an email address that you can go Use to send emails to and when you send an email to that email address, it will trigger an automation much like a webhook does when you call a webhook. But this is one you can trigger by sending an email to an email address. [00:07:41] Dan Fellars: Yeah, that's pretty cool. They kind of had this before. Not, not through the automations, but they did have a update, [00:07:49] Kamille Parks: a [00:07:50] Dan Fellars: CSV. You could attach a CSV and send it to a special, to update a table. I wonder if, I didn't see [00:08:00] this mentioned. Does it have access to attachment files? [00:08:05] Alli Alosa: I don't know, but I would think it probably does. [00:08:10] I mean, if you, I would assume it's very similar to, they have the triggers of when email received for Outlook and for Gmail. And I'm pretty, I remember correctly. You can grab attachments with that, but I, yeah, yes. So I would assume it functions in the same way as long as they're actually attached, not in line. [00:08:37] Dan Fellars: Yeah, I can't show on here. I think it's only on business plan and enterprise, which the space is not. So yeah, I'll have to test it out. Yeah. Hopefully Scott re recreated the email or actually you can't recreate it cause it's tied to the workflow. Hopefully he deleted this workflow. [00:09:00] It's Russell pointed out this security flaw there. [00:09:06] Yeah. And then what other comments? Oh yeah. So just kind of the format and how that works. Yeah, kind of interesting. [00:09:19] Kamille Parks: Once again, strange that they don't announce you know, a new feature being added, they just sort of. Drop to this one, but not on the what's new page. I didn't see anything on the community forums about it So a lot there's a lot of guesswork on what is it? [00:09:38] Yeah [00:09:41] Alli Alosa: Make has had mail hooks for a while and This kind of reminds me of I mean Zapier's like email parser kind of almost functions in the same It gives you like a You can send stuff to but I don't know. I've always found [00:10:00] using emails, an email received as they trigger can get really messy. [00:10:07] Especially when there's like, if you have, if you send an email to a person, I mean, this might be different because you're sending it to just the specific email address, but like if you've got an automation set up, watching an inbox or a folder and triggering off of that, it's, it's going to trigger every time somebody replies to it, if you've got like auto replies getting sent, like out of office emails, that's going to trigger it it just can get really messy and go out of control pretty quickly, but this is different because it's like, You're not going to get any auto replies to it. [00:10:40] Dan Fellars: Yeah, that's true. Yeah, but you could with this kind of functionality. I know, like we use HubSpot and with my email client, I set it up to where it always BCCs to a HubSpot email and then it tracks all the emails inside of HubSpot. So in theory, you could do something [00:11:00] similar, but you gotta be careful because you're like me, you get a lot of email and [00:11:04] Alli Alosa: that's [00:11:05] Dan Fellars: gonna trigger a lot of automations. [00:11:08] Alli Alosa: And the body of it just gets messy. It becomes really difficult to extract what you actually need out of the body sometimes, depending on there's HTML. It looks all funky. [00:11:20] Kamille Parks: I just did a test and it splits out the body as Markdown and HTML. So if you wanted just the text of the email the one I sent was very simple. [00:11:33] So it came out very cleanly in the Markdown one, but in the HTML one, You can quickly see that there's, I didn't think there was HTML in there, but apparently there was. So yeah, [00:11:46] Dan Fellars: Scott chimes in. Scott's the one that found this. The cool thing about using make for this is you can strip HTML formatting from the email bodies. [00:11:55] Alli Alosa: Yeah, you can do that with Zapier too. I believe even natively in [00:12:00] Airtable, I think they give you, you know, body, plane, body, HTML. [00:12:04] Kamille Parks: It do. Yeah. And you can also pull attachments. So the attachments do come in through this as an array as well as an array of who it was sent to so that's useful if you wanted to iterate over each of the addressees, including the automation itself and do something special with the file each time. [00:12:26] That's something that you could do. [00:12:28] Dan Fellars: Very nice. Yeah, cool. But yeah, this is something we'll likely incorporate often. Alright, next one. Okay, I needed, this is kind of cool. I actually did not know about this. So Dominic says, I needed a way to simulate the effects of users being in different time zones and locales. [00:12:48] for Airtable date fields would present. So in Chrome DevTools, there's an easy way to simulate switching between regions. And I've [00:13:00] been doing web development for a while and was not aware of this, so there's this so it's sensors in your Chrome developer tools and you can change your location and then automatically all your date fields would modify if they're like to the local Time zone. [00:13:17] Alli Alosa: That is really interesting. Yeah. [00:13:20] Dan Fellars: Scott [00:13:25] Alli Alosa: says he was going into his Mac system settings and changing the time zone there, but that would screw up the entire computer. Yeah. [00:13:34] Dan Fellars: Very true. I've done that in the past as well. Looks like it's not in Firefox. So it looks like it's just a Chrome or Edge feature. [00:13:48] Kamille Parks: Very useful. Yeah. [00:13:51] Dan Fellars: Awesome. Okay, next one. Oh, that's the same one. Moving on. Okay, so here's a tool. I know a lot [00:14:00] of people have used this with Airtable a year or so ago. This was like the hottest thing, Bardeen. And it's a kind of web scraping web automation tool. And so that would be interesting if people's using it. [00:14:12] I don't, it kind of died down. I remember like a year or so ago, like the next greatest thing. And there was a lot of discussion in our air table community about it. I haven't heard much lately, but it looks like they're revamping completely to be fully AI driven. And so anyways, if anybody's. Looking at this, I'd be curious to see what the new version, if you have to to get early access, I think you have to respond to it. [00:14:40] Lorenzo, I saw him on there. So Lorenzo, if you hear this, let us know what the new features look like and how it plays with Airtable. [00:14:52] Okay. Next one. This is from Reddit. I was curious that there was actually a couple comments on many extensions. [00:15:00] I was like, many extensions. If you don't know, if you've been around for a while, no Allie. Is or was a power user. At one point, this was like the only show in town for certain functionality. [00:15:11] But they've definitely kind of gone a different direction. And so anyways, I thought it'd be interesting to check in on many extensions. People still using it alley. Is it still in your? Yeah, it's definitely still still around. I've got lots of clients still using it. Most of them are legacy. You know, they've been using it for a long time. [00:15:30] Alli Alosa: The pricing has gone up like astronomically. It used to be straight 39 a month, unlimited access to everything. And now it's like. I think it's 79 a month, or they have different tiers now, actually. The functionality is still really great. There's still a lot of things that MiniExtensions can do in relation to forms that FillOut does not. [00:15:55] But that gap is closing rapidly, and I really am partial to the look [00:16:00] and feel of FillOut. Although, MiniExtensions has made a lot of improvements, and they're continuing to. So, I mean, I'm still a fan. There's there's still if I if I picked up a new project today and needed a form I would go with fill out because it's more cost effective With many extensions you get all these other tools as well like QR code creators and Like AI stuff and there's all these different things that they have which are really great [00:16:29] Dan Fellars: It's kind of like a Swiss Army knife of little tools and everything. [00:16:35] Yeah, I'd be curious to know, yeah, if so, so they are still improving it and working on it? [00:16:41] Alli Alosa: Absolutely. They even have a new community. They have their own, like, discourse or discord. I get those two things. Yeah. Whatever air table used to be on, they have that [00:16:50] Dan Fellars: discourse. [00:16:52] Alli Alosa: Yeah, many extensions have, they have their own community now and they're putting out lots of like help documentation. [00:16:57] So they're, they're moving quickly. They're doing some stuff [00:17:00] [00:17:01] Dan Fellars: cool. Cool. Yeah, I have seen, you know, so this is where again, looks like they moved to fill out for the form portion, but portals, The way that MIDI extension kind of built portals was unique. It's a little bit different than the softers and stackers. [00:17:19] Yeah. So those that, yeah, were using that approach, it's hard to replace. [00:17:27] Alli Alosa: Absolutely. Yeah, I used it. They were integral in my RSVP system for my wedding. So it will always be [00:17:35] Dan Fellars: partial to them. Yeah. Yeah. They were [00:17:39] Alli Alosa: at your wedding [00:17:41] Dan Fellars: in spirit. Didn't get an invite. Okay. One more. This is [00:17:47] oh yeah, here we go. So Hannah, she's on our team talking about how to capitalize. So yeah, we need a proper function in, in a formula to be able to like mix [00:18:00] case the spelling, but short of that, it looks like there is a way in formulas. It looks like Justin has a version of it. And then our good old W Van Hall has a version of it. [00:18:14] We click on his just to see what it was. Yeah. [00:18:22] Alli Alosa: How does he do it? [00:18:23] Dan Fellars: He doesn't show, let's see, he doesn't show the formula. [00:18:31] Kamille Parks: Well, he has a link to a demo base, which I'm sure has to be broken by now. [00:18:36] Dan Fellars: Oh, it still works. I [00:18:37] Kamille Parks: got [00:18:38] Alli Alosa: it still up. Yeah. It's got a little red thing on it, like, maybe this is old. [00:18:47] Dan Fellars: Yeah. It doesn't yeah, I'd have to copy it to get the actual formulas. [00:18:54] Kamille Parks: Yeah. Yeah. The field descriptions, is it in, in [00:19:00] those if you go to NBR, SP1, et cetera, the field descriptions. Okay. Yeah. So if you copy this, I'm sure you'll be able to get [00:19:09] Dan Fellars: here's one. [00:19:10] Alli Alosa: It looks like it's just for the name, like for one predictable string or somewhat predictable, you know, he's got multiple spaces in here where you're splitting it all up. [00:19:21] But I think what Hannah was doing was more of a long. Text like [00:19:28] Kamille Parks: like a full sentence. [00:19:29] Alli Alosa: Yeah, just way less predictable. [00:19:33] Dan Fellars: Yeah. So yeah, and Hannah is not a developer. So she's trying to learn scripting. But then yeah, if you ever want somebody to come treat or, uh, look at your, your code with a fine tune lens, reach out to Kavon. [00:19:49] She is the best. Yeah. Then here's one this, this is kind of a short version if you want a real quick and dirty script. Martin shares this [00:20:00] one. That does the job pretty sufficiently for basic use cases. So, anyways, if you want to see how. Hannah did it. She shares her script, which is, which is takes guts to put your code out publicly when you're learning. [00:20:18] So that's good. But yeah, it would be a lot easier if there was just a proper or a title case function and they will, all right, I think that's everything. No other major updates with that. So this might be the first time this has ever happened where one of our guests couldn't make it. He is in England, so. [00:20:43] There might be some time zone issues that didn't get communicated. So I might be asleep at the moment over on the other side. So why don't we do this meal? If we start with yours and then if you have any questions, [00:21:00] those listening, let us know if there's something that you want us to dive into, we might have some time today, otherwise we might call it short and reconvene next time. [00:21:08] So with that, I'll give a shout out first to onto where, if you are running your business on air table, best practice is to make sure that your data is stored outside of air table. We help you back up your data to your existing sources, whether that be box, dropbox, google drive or one drive, you can make sure your data, your attachments, your meta information is all stored. [00:21:33] In a safe location for you to to do that. So with that, let's do an audience question. All right, Camille, show us the way. All righty. So with this post. On the Airtable community forums, it's sort of structured more like a feature request. And the general gist of what they're [00:22:00] asking for is an edit mode for records within Airtable. [00:22:05] Kamille Parks: And if you've used Airtable before, you know that Airtable Kind of is always in edit mode. There's no real concept of locked with the exception of table permissions. So you either have the ability to edit. Any record in a table, or you have the ability to edit no records in a table. There's no in between. [00:22:28] But what this poster is saying is that it would be helpful if when you're going through your air table, by default, everything is read only and you click a button or some other. Means and then you can edit that row and then hit another button and hit save. So that is how other platforms work. A lot of the time where you have to open up a record, if you will start editing it. [00:22:54] And then there's a concept of a safe button or table doesn't have a safe button. So, [00:23:00] notwithstanding Airtable actually implementing the feature in some way, I did want to talk about one way that you could mimic this sort of, this general idea. In Airtable today, it does require interfaces, and it does require that you're on the business plan or above if you use the particular method I'm about to demonstrate. [00:23:20] So with that, we'll go into an Airtable Base, where I've set up very simple interface with only a handful of fields, but you'll see that these fields are editable and I have a submit button, so I'm going to go ahead and fill in this is a and then this is five hours. And once I'm done filling out this record, I can hit my submit button and now you'll see the button has changed to a different button that says edit and these are all read only again. [00:23:53] So the exception to the rule for there's no concept of a save button is air tables [00:24:00] forms. So if you open up a form any adjustments I make to this, like starter record do not get saved into my data until I hit the create button, which I'll do to demonstrate what this interface looks like with a brand new record. [00:24:17] Where everything, again, is blank. I'll change to a different category. This one is maybe 10 hours, and then I can submit this one as well. So, at a very high level, we have a submit and an edit button, and I can toggle back and forth between the two. Now, as I'm editing, I am directly affecting the record in the base. [00:24:41] I'm not, there's no like cancel button that's implemented in what I'm showing now. So the record underneath really is C now that I've made that change and hitting submit just locks the page and doesn't do anything else. So how is this [00:25:00] page set up? If I edit the interface what I can see is I have two nearly identical. [00:25:06] Groups. The first one has all the fields I want visible, but read only. And then the second one has all the fields I want visible, but editable. And the difference between them is conditional visibility. Conditional visibility is the part that requires you to have a business or hire plan. You can't turn on visibility if you're on team or below. [00:25:29] And then the last. A group I have on the page is my utility section, which I like having because one of the caveats with conditional visibility on interfaces is that the basis for your visibility, that field, whatever it's comparing against must exist somewhere on the page. So in this case, I want the edit button. [00:25:54] To only be visible if it, if the record itself has a status of submitted [00:26:00] because I don't want to click the button to say edit if I'm already editing it. And then similarly, my other button that should switch it to the status of draft or away from the status of draft only show this button. If the status is draft, and hopefully that makes sense where these these two buttons have effectively the same condition applied to them. [00:26:26] But in the inverse, there is 1 additional thing I added just for demonstration is, let's say you have. Records that you can submit, you can edit down the line, but at some point, there should be a stoppage. You shouldn't be editing the same records forever, because at some point it's going to get approved. [00:26:45] So, what I've said is, don't show the edit button. If the status is approved either because once it's approved, you shouldn't edit it anymore. Now, in this demonstration, I've put in no place for someone to market as [00:27:00] approved, but that can be easily added if need be and then the utility section. The reason why that doesn't show up. [00:27:07] If I hit preview is because I have a slightly different condition set up. But I'm still using conditional visibility. So something I like to do is set an impossible condition. So in this case, the primary field for this demonstration table is the record ID. So I said only show the utility section when the ID is a gear icon. [00:27:32] That can't happen. So the utility section will never be visible, which is great because that's exactly what I wanted. And just because this section is hidden doesn't mean I can't use the status field as the basis for whether something else is hidden or shown on the page, which is pretty handy. So that's the structure of the interface and how it's all sort of set up [00:28:00] in order for us to get there. [00:28:01] get to the point where we have editable versus non editable. There is some workarounds or there are some workarounds if you want to do this on the team plan, but it would require multiple pages. Or at least what I'm about to suggest would require multiple pages. So because you can't have conditional visibility, and we do want to lock edits to something that is draft or hidden, what you might do is have one page that's called draft records. [00:28:33] And then we might duplicate it. Well, we've set our set our filters first. So I only want to show records where the status is draft. So I have no draft records right now. Then I want to duplicate this page and call it submitted records. [00:28:59] And then [00:29:00] I want to say filter where status is submitted. So now. On the submitted ones, I don't want anything to be editable, and I don't need my utility section anymore, and I don't need my visibility settings either. What I do want to do is get rid of all of my extra bits delete this, and then we'll edit what this edit button does in a second. [00:29:30] But we want to do the opposite. On the other page as well. So I'm going to give us one record that we can work with on the other page. [00:29:45] So I have at least one draft. And on my draft page, I want to keep the editable section. Same thing as before, get rid of my visibility settings, which will no longer work. Because the field I'm [00:30:00] using doesn't work anymore, or doesn't exist anymore, rather. [00:30:06] This. [00:30:13] So now what I have are buttons on each page that will send it back and forth to the different pages. So, on the submitted ones, I can't submit. Or I can't edit them until I send them back to the editing page. Now, is this ideal? No, but I think that was Airtable's intention when they locked conditional visibility to higher tiered plans. [00:30:40] But that does sort of prevent you from editing a record that shouldn't be edited at a particular time. Now, in my example, I also said I don't want you to go back to editing if it's already been approved. So, with this sort of workaround, you might need a third page for [00:31:00] approved that just doesn't have that button. [00:31:02] Or what you could do is What this button is actually configured for is update record, and it's just directly changing the status if you have it set to an automation. Instead, you can have the automation have a conditional a conditional action on it, where if the status is already approved, do nothing. [00:31:21] So then you have a button that does nothing, which is also not great, but it does prevent you from editing something that shouldn't be edited. [00:31:32] Alli Alosa: I like to when I do something like that. Like have a button start and automation if it's if the conditions aren't exactly what I want them to be, I might have it, I might send it into a conditional path to go back and update the record with a message that's displayed on the actual detail page to be like, sorry, something's wrong or whatever it might be. [00:31:56] Yeah, [00:31:59] Dan Fellars: that is [00:32:00] very cool. That's an awesome use case. [00:32:03] Alli Alosa: I love this. [00:32:06] Dan Fellars: All right. I was thinking, well, let me do Let me bring us back in here. It looks like we had some miscommunication. We might not have gotten the emailed out to Jonathan. So we'll get Jonathan on a, on another episode. Okay. We got a question from Alicia. [00:32:23] I'd love to hear your thoughts on record templates. I rarely use them and wonder if I'm missing out. And what scenario do you find the most valuable? [00:32:30] Kamille Parks: I also rarely use them, but in my last demo, I did use record templates because they are conditionally useful. So a lot of the times when I'm creating a record, usually by automations, I have records created in the format of a template. [00:32:49] So projects have the same default. Tasks assigned to them and they'll get customized later, but there's also a lot of extra [00:33:00] information that I want to pull from other linked records and not necessarily from a template. So in order for an automation to kind of play nicely, I'll have I'll create a record and have data pulled into that record via some other source, a find record step or some other triggering record from another table, and then I'll have another step in that automation that's updating that record I just created using a record template. [00:33:30] And the advantage record templates have. over, say, a repeatable action just create multiple one record step in a repeated action loop. If you have automation set up where you want conditional steps, you can't have a repeatable. And you have to separate those into two different automations. And sometimes that messes with your timing. [00:33:54] Another advantage that a record template can have is the [00:34:00] offsetting of dates that's pretty useful. If you have a predictable interval of dates that you want your records to be created with based off some starting point, either today or a record in, or a field in the record that you're. [00:34:16] Creating the template with and I do like that. You can have a lot of additional sub records created as part of one template. So if you want to create a template project, you can create the project record itself, all of its tasks, all of its assignments. All of it's like attachments or whatever, just several tables worth of extra records that you can associate with one template. [00:34:46] Problem with record templates, in my opinion, is that they're not editable or configurable from an interface. You have to go back into the base in order to edit them. And oftentimes, what I do in my day to day is [00:35:00] I'll build solutions for end users and say, here you go, use your product. But if they have any notion of templates, they don't have the permissions to edit the record templates themselves. [00:35:12] If they want to rename their, their template projects or what have you, they have to come back to me to do it. So there's a permissioning thing in there and a visibility thing that is not great. [00:35:24] Alli Alosa: There's also a limit on how many times you can use the template. And I don't understand. It doesn't seem like it even resets, like I just looked at mine and it says I've used six out of 500 records, but I haven't run any record templates in like months and months, so I don't know. [00:35:49] Where that number, like, is it 500 times like I can only use it 500 times in this space, or does it reset? I don't know [00:36:00] that [00:36:00] Dan Fellars: that's weird. I didn't realize there's limits. [00:36:04] Kamille Parks: It also if you have an automation. That says update the date to today or something like that. It will just do that. It will always set the date to today, provided that the automation has the right permissions to do so. [00:36:19] With a record template, if you have a record template where the date is today, which is something you could do, if there's already a date in there, it won't do anything. So, applying a record template. a literal record template in Airtable. There are some fields where it will override what it sees in there, and some fields where it will say, we're not going to interfere, which is, I wish that were toggleable, and it's not. [00:36:49] Or at least that was the case. When I first started using record templates when they came out and then decided for a variety of reasons that it's often not what I want. [00:37:00] That is interesting. We've got time. So we want to just hold a I'll, I'll start from scratch with a, a subtable or something. And then again, this is on a business plan. [00:37:14] So your mileage may vary on a team plan for what I'm about to demonstrate. We're going to link to our subtable to establish that relationship. And so now let's do some record templates, create a new template for my hours. And then we're going to call this basic just so it has a name. So the first thing I want to do is say I want the default date to be today. [00:37:42] That's pretty simple. I want the hours to be 77. I want the event category to be B, just setting default values that are applied with the template. And then is it not? Oh, it's up here. I want to do link to a new record [00:38:00] each time. I'm going to call that A. I'm going to call this B. And I'm going to call that C. [00:38:06] So now I have a pretty simple record template that should create, along with it, three different Records in my subtable. So if I were And I'm going to, okay, great. There's no default. So what I'm going to do is click down here, maybe? Yeah, if I click this plus down here, I have the option of creating a new blank record or a new record from my template. [00:38:36] So if I do record from template, you'll see all of the selections that I made in my template settings are carried over. And then look at that. ABC. Wonderful. So these three records came in newly created, which is exactly what I wanted. Now, the problem is, well, let's test. This record already existed. I [00:39:00] want to apply a template to it. [00:39:01] And there's only one, I'll choose basic. So all changes saved. It should have done the thing. Like I said before, because there was already an event category and a date inside them, this didn't change. But if I go to link, it did create three new records. So this, I find confusing behavior. Is the template applied or not? [00:39:25] Alli Alosa: It is a little weird. I was just looking at their, at the support doc for it, and it just says it won't overwrite any fields that already have. Values, if you apply it to an existing record it does seem a little funny, but also I guess, I guess I get it though. Cause like, what if somebody accidentally chooses that record and then they're like, Oh, oops, like I didn't mean to do that. [00:39:52] That could be a problem. I also realized I was mistaken in the limitations that I was talking about. See in the bottom of your [00:40:00] record template. Four out of 500 records used, that's not how many times you've used. It's how many records are included in the templates you have set up. So basically four records. [00:40:12] So you can only set up up to 500 templated records. Use it as many times as you want. I think poor phrasing that includes the top level and the sub level. Gotcha. So because there's one with three subs. Exactly. [00:40:31] Alicia had a good question. She said if it had linked records already, would it not have created any? [00:40:37] Kamille Parks: Excellent question. Let's do it again. So I'm going to reapply. You know what? No, I'm going to use a record that wasn't part of my template structure. We're going to apply a template again. Basic. Okay. You just said that you weren't going to override existing is [00:41:00] I would call that an over. [00:41:04] Yes, but come on now. [00:41:07] Dan Fellars: I wonder. Can you set up attachments and templates? [00:41:12] Kamille Parks: Let's just see. [00:41:13] Dan Fellars: Cause it would probably do the same. It would, it would append attachments. [00:41:18] Kamille Parks: Record templates. All right. So first things first, let me make an attachment field. Attachment. Great. And then I'm going to. Use here's my emoji. [00:41:33] Yeah, I love it. So now I'm going to edit my template a little bit so you can use the attachment field. Sometimes the attachment field doesn't Work with new air table features. Cause it's, it's probably one of the more complex fields under the hood, I think for them to manage, but you can use an attachment. [00:41:56] So I'm going to try on this [00:42:00] record first, cause it has no attachment in it. It creates brand new records, keeps going wonderful. And then with this one. Apply template. Basic again. Oh, it amends. So it loves arrays, I guess. The last array would be multi select, so [00:42:26] Multiple select. One, two, three. Alright, let's just see if this works. Now, if this doesn't work, Airtable, I have I have complaints. [00:42:43] Dan Fellars: Yes. [00:42:43] Kamille Parks: Apply template. Okay, so it will always amend arrays or append to arrays, I think is the most accurate way of saying that. And with linked records, it will, [00:43:00] if you said create new records, which is what I said you have the option of creating a new record versus linked to an existing record when you first set that up. [00:43:10] It will always create new records in the, When it does the append, so it doesn't keep track. I don't think of. This record. I don't think it has a property that says template applied or template used or something. So it would prevent itself from doing that. So that's interesting, but regular old single single fields, things that aren't arrays, there's a value in them, they will not be overwritten, which sometimes will work for your workflow. [00:43:42] And sometimes it will not [00:43:45] Dan Fellars: be the only way to apply templates is just that manual way that you did it? [00:43:50] Kamille Parks: Well, you have a couple of options. So I'll do at a scheduled time every 15 minutes. And then the action it should [00:44:00] do is create a new record in my hours table. And from here, I could say from a template. [00:44:07] So basic. And that will do as it kind of like kind of implied. So I'm gonna do My test, it's going to create a new record, which it did. And then here's the reset records. And then my fun arrays that we just did. But what I often do, if I need to do this via an automation is to create a record using specific fields, because I might want to, if I know I don't want the date to be today, instead, I want the date to be, I don't know, the 28th for some reason, what I'll do is. [00:44:44] Get a update record step and update the same table, and I'll pull this the same record ID, and then I'll say from a template. So, for, because we [00:45:00] just covered that. Certain field types will not be overwritten by the template if they have something filled in. If I know I want the category to not be B, but to be C, I could specify that here. [00:45:14] And then when the template's applied, it's going to create my new sub records for me, and make the attachment, and all those other things. The ones I've set up front will remain. So, you could do it that way. [00:45:28] Dan Fellars: Interesting. And then, but if you use the template in the update record, it will override the fields if they exist, right? [00:45:37] Kamille Parks: It shouldn't. So, I mean, for consistency, it shouldn't. But let's just see. We're gonna, we're gonna try this again. So we're waiting for a new record to be created down here. A second one created by automations. We [00:45:55] Dan Fellars: gotta wait 15 minutes. [00:45:59] Kamille Parks: Can I not do [00:46:00] test? I don't know. [00:46:06] There you go. So here we are. So yeah, it didn't override 28th, but it came in with a category and then hours because I didn't specify a specific value. So that is at least consistent with Airtables behavior of the automation didn't override the date either. [00:46:29] Dan Fellars: So if you always want to override, you need to first clear those fields and then update from a record. [00:46:36] Yes. Interesting. Cool. So you could do dynamic templates using the conditional logic in the automations, and so you could, so you could automate dynamic different templates? [00:46:51] Kamille Parks: Yes. And then I think the last thing just to show is how buttons work in interfaces with templates. [00:47:00] So One of the options for the action is to apply a template and for, to make this more interesting, I'm going to create a second record template really quickly for the same table, on the button itself, you can have it so that it applies one template and if I do that, it will just apply that template, but you can give your end users an option of to Multiple templates. So you can control which ones are visible. And when you have more than one visible, this is what it would look like apply basic or this one. [00:47:37] Obviously, you would name them appropriately. So you could say, you know, basic versus pro or something like that is your templates to give your end users some idea of what each template might entail. This is the same limitations we had just talked about where it won't overwrite anything that's existing. [00:47:59] But if you [00:48:00] need your end users, rather than having multiple, but one button per template, you can kind of combine them all into one button, which I think is nice. [00:48:14] Dan Fellars: Very cool. That's awesome. We haven't done a deep dive on that in a while, so. Thank you, Alicia, for the question. Hopefully that was helpful. Actually, I learned it's, it's actually more powerful than I was thinking. There's like, there's, there's, there's use cases for it, but it is kind of hard to pinpoint when it is. [00:48:39] Kamille Parks: Better than using a regular automation. And that button piece might be one of them just because if you have a lot of templates that you're applying, maybe it's best if you, if you use it in this, in this way, but [00:48:58] Dan Fellars: awesome. Cool. [00:49:00] Well, let's wrap things up unless any other questions or insights last chance in the community. I'll give a shout out. If you are not in our amazing built on air community, join us built on air dot com slash join gets you in for free. We have a slack community of thousands of air table users were getting close to 2000. [00:49:21] So hoping in the next month or two, we hit our 2000 number. Also subscribe to our newsletter. Either directly on, on via email or from LinkedIn. You can also get our newsletter there and also subscribe to our YouTube channel. That's where you can typically find us. Or if you'd like to just hear on audio, you can also find us on all podcast channels. [00:49:43] So with that, let's wrap up. Thank you everybody. And we will see you next week. [00:49:51] Alli Alosa: Thank you.[00:50:00] [00:50:06] intro: Thank you for joining today's episode. We hope you enjoyed it. Be sure to check out our sponsor, On2Air Backups, automated backups for Airtable. We'll see you next time on the Built on Air podcast.