1/10/2023 – BuiltOnAir Live Podcast Full Show – S13-E01
Duration: 57 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:04:45 –
Following Articles Used in this Segment:
[Airtable Community] New beta: Sync API – Airtable Community
[Airtable Community] Product update: See who fills out your form – Airtable Community
[BuiltOnAir Community] Secret Upload Feature
[Facebook] (20+) Airtable Community | EXCITING ANNOUCEMENTS COMING | Facebook
[Web] Airtable – Layoffs.fyi Tracker (layoffs.fyi/tracker)
An App a Day – 00:29:12 –
Watch as we install, explore, and showcase the On2Air Forms App from the Airtable Marketplace. The app is described as “We will build a working demo of how to use On2Air Forms to create a form for 2023 Predictions for the Airtable community.”.
Automate Create – 00:42:22 –
Watch as we review and work through automations. Kamille will walk through how to use advanced Make.com features to generate a form with custom HTML that saves to Airtable.
Scripting Time – 00:55:53 –
Explore Scripting with “Display Editable Values”.
Alli shares her script that displays all the editable values of a chosen record. Use case: Use case: trying to determine if a record is safe to delete without unhiding all necessary fields/scanning a large table.
Full Segment Details
Segment: Round The Bases
Start Time: 00:04:45
Roundup of what’s happening in the Airtable communities – Airtable, BuiltOnAir, Reddit, Facebook, YouTube, and Twitter.
Following Articles Used in this Segment:
[Airtable Community] New beta: Sync API – Airtable Community
[Airtable Community] Product update: See who fills out your form – Airtable Community
[BuiltOnAir Community] Secret Upload Feature
[Facebook] (20+) Airtable Community | EXCITING ANNOUCEMENTS COMING | Facebook
[Web] Airtable – Layoffs.fyi Tracker (layoffs.fyi/tracker)
Segment: An App a Day
Start Time: 00:29:12
Airtable App Showcase – On2Air Forms – We will build a working demo of how to use On2Air Forms to create a form for 2023 Predictions for the Airtable community.
Watch as we install, explore, and showcase the On2Air Forms App from the Airtable Marketplace. The app is described as “We will build a working demo of how to use On2Air Forms to create a form for 2023 Predictions for the Airtable community.”.
Segment: Automate Create
Start Time: 00:42:22
Airtable Automations – Creating custom forms in Make
Watch as we review and work through automations. Kamille will walk through how to use advanced Make.com features to generate a form with custom HTML that saves to Airtable.
Segment: Scripting Time
Start Time: 00:55:53
Scripting Time: Display Editable Values
Explore Scripting with “Display Editable Values”.
Alli shares her script that displays all the editable values of a chosen record. Use case: Use case: trying to determine if a record is safe to delete without unhiding all necessary fields/scanning a large table.
Full Transcription
The full transcription for the show can be found here:
[00:01:42] Welcome to the BuiltOnAir podcast. [00:01:45] We are back with the New Year. [00:01:47] I need to [00:01:48] share my screen. [00:01:53] Welcome back to season 13. [00:01:57] We are starting our new season [00:02:01] with the new year. [00:02:03] Episode one. Welcome back. [00:02:05] Good to have everybody with us again. [00:02:07] Hopefully you had a great break [00:02:09] over the holidays, [00:02:11] rejuvenated for the new year. [00:02:12] Good to see you, Alli and Kamille. Hello, [00:02:16] Hello. Hello. Anybody do anything fun [00:02:20] and exciting Since we last met? [00:02:22] I'd never do anything fun or exciting. [00:02:27] I got stuck in the snow of Wyoming. [00:02:30] We were my in laws live in Wyoming and we [00:02:33] went there over the break [00:02:36] and had to stay overnight [00:02:38] in a small town in Wyoming [00:02:39] because the roads all got closed [00:02:42] with the weather and so that was fun. [00:02:45] We made it the next day, [00:02:47] then they opened up the next day [00:02:48] and roads weren't too [00:02:49] bad, [00:02:52] so we survived. [00:02:54] But [00:02:56] yeah, so we are starting off our [00:02:58] new season. [00:02:59] One change we're making for for [00:03:02] this year and going forward, [00:03:04] we're gonna shorten [00:03:05] our season's a little bit, [00:03:06] so we're gonna do [00:03:07] seasons of eight episodes [00:03:09] roughly over a two month and then [00:03:11] take a month off. [00:03:12] But what that means is [00:03:14] we're going to do more seasons in [00:03:16] the year, so we'll get one a quarter, [00:03:18] so we'll kind of go on a quarterly basis. [00:03:21] So [00:03:22] eight episodes per season, [00:03:24] but an extra episode every year. [00:03:27] And that will [00:03:28] give us a little bit more time [00:03:31] to prep and get ready for each season, [00:03:34] Take a little bit more of a break, [00:03:36] but so that will be coming this year, [00:03:39] but we have fun, [00:03:40] exciting things that we hope to [00:03:43] accomplish this year and we'll [00:03:44] talk a little bit more about that in [00:03:48] in some further episodes. [00:03:50] So I'll walk through what [00:03:51] we're gonna be talking about [00:03:52] today. We always start [00:03:53] our show with our Round the Bases, [00:03:56] talking about what's [00:03:57] going on. We've been gone [00:03:58] for a few weeks [00:03:59] and so there's lots that happened [00:04:01] since our last season. [00:04:04] Then we will do a spotlight [00:04:06] on On2Air our primary sponsor [00:04:08] and then I'm going to highlight [00:04:10] one of On2Air's forms [00:04:12] and we'll do some some [00:04:13] fun, exciting stuff and showcase [00:04:15] how to build some advanced forms. [00:04:17] And then Kamille is gonna [00:04:19] take it up a notch [00:04:20] and build some even cooler forms [00:04:22] using make and custom html [00:04:25] inside of make and then [00:04:27] a quick shout out to join our [00:04:30] community and then Alli will round it up [00:04:33] with some scripts on displaying editable [00:04:35] values [00:04:37] and that will be our show. [00:04:39] So we always [00:04:40] start off with our Round the Bases [00:04:43] and we need to address [00:04:47] the elephant in the room since we last met [00:04:52] there was a, there's a website, [00:04:54] I don't know if [00:04:55] you've all been to this website [00:04:57] Layoffs.fyi [00:04:58] it's really just a redirect [00:05:01] to the eu's Airtable and they [00:05:04] track basically all the layoffs [00:05:06] that happen that are happening [00:05:09] in the tech world, [00:05:10] there are quite a few every day, [00:05:12] there seems to be more companies adding, [00:05:15] but back here on December 8th, [00:05:19] there's an entry for Airtable. [00:05:22] Airtable had a pretty massive [00:05:25] round of layoffs, [00:05:26] laying off 20% of the workforce, [00:05:29] roughly 250, [00:05:31] employees. [00:05:33] So that happened after [00:05:34] that I think, I think it was the week, [00:05:37] our last show right after that, [00:05:39] that same week, [00:05:40] I think it happened. Quite [00:05:42] unexpected. [00:05:44] How how did you all take it? [00:05:46] What was your initial reaction? [00:05:47] What's your reaction [00:05:49] a couple of weeks later? [00:05:51] Definitely a bummer, [00:05:53] huge bummer. [00:05:57] Always a bummer to hear about layoffs, [00:05:59] that's for sure they're coming more and [00:06:01] more often nowadays. [00:06:03] Definitely was really sad to hear [00:06:05] I knew a lot of the employees that were [00:06:07] affected and [00:06:09] hope they're doing well. [00:06:12] really sad stuff. [00:06:15] Yeah, very unexpected. [00:06:17] You if you read [00:06:18] you know, all the techcrunch and I [00:06:20] believe Howie put out his [00:06:22] the email that he sent [00:06:24] to all the employees. [00:06:26] They made that public [00:06:27] so you can read that on [00:06:29] Airtable's vlog I believe. [00:06:32] But just yeah, just kind of [00:06:34] heartbreaking unexpected. [00:06:36] I was chatting with [00:06:38] a member of the Airtable team [00:06:40] that morning and it was interesting, [00:06:42] I don't believe he knew at the time [00:06:45] that it was happening, but he mentioned [00:06:47] somebody else who was supposed [00:06:48] to be on the call, [00:06:49] couldn't because of some [00:06:50] emergency and then like literally [00:06:53] an hour later I think [00:06:55] it got the word got sent [00:06:57] around and so and unfortunately [00:06:59] this person was part of the layoffs and [00:07:02] so I spoke to him [00:07:03] like an hour before [00:07:05] he found out. So it was pretty [00:07:06] pretty sad to hear [00:07:09] Kamille. What was your reaction? [00:07:11] You know it's it's very sad [00:07:14] because obviously we [00:07:16] use Airtable ourselves [00:07:17] quite a lot [00:07:18] and there's some over the course of time [00:07:21] when you use a product [00:07:23] more and more you [00:07:24] meet different people who actually [00:07:26] work for that company. [00:07:28] And so I think we'd all had [00:07:31] instances where we're like [00:07:32] oh well this person [00:07:33] was very helpful in getting me [00:07:35] whatever I needed to do. [00:07:37] So I could use Airtable better [00:07:39] and then it just it [00:07:42] you know you see it from the other [00:07:44] side and you just, you know [00:07:47] you're disheartened on their behalf, [00:07:50] especially since you know some of the [00:07:52] people that I know who worked [00:07:54] at Airtable [00:07:55] I thought were very very good at [00:07:57] their jobs. And so I only hope that [00:08:00] they find a different path forward that is [00:08:03] beneficial to them [00:08:04] and they can keep being [00:08:05] awesome at what they do. [00:08:07] Yep, yep. [00:08:08] There was some insights that [00:08:11] Howie shared in his email [00:08:13] that I thought were [00:08:14] interesting, in particular really [00:08:18] doubling down on enterprise. [00:08:21] I think he made that very clear [00:08:23] in his email and part of the reason for [00:08:26] transitioning and some people leaving, [00:08:29] there was actually two C level executives [00:08:31] that parted ways as part of this, [00:08:34] So kind of a transition in focus. [00:08:39] Just good and bad. [00:08:40] I don't it'll be interesting [00:08:42] to see how that plays out. [00:08:44] I do think there is value in [00:08:46] in making an open platform [00:08:49] like Airtable that's [00:08:50] accessible to everybody [00:08:52] and it eventually bubbles up [00:08:54] into the enterprises [00:08:55] through kind of an organic approach. [00:08:58] So I hope they don't lose that aspect of [00:09:01] their product and business. [00:09:04] But what are your thoughts on [00:09:06] on kind of their focus [00:09:08] and comments that he made? [00:09:11] I think I was using Airtable [00:09:13] just the other day for [00:09:16] like very quick data cleanup. [00:09:19] Like we have my obligatory one per season. [00:09:23] I'm an urban planner [00:09:24] And we were doing a project [00:09:26] where we're doing design standards [00:09:29] that says in [00:09:30] order to have a good building, [00:09:32] you must select [00:09:33] three items from this list, [00:09:34] three items from this list, [00:09:35] three items from this list. [00:09:37] And we had accumulated [00:09:37] those same lists [00:09:39] over the course of my company [00:09:41] being in business for something [00:09:43] like 80 years. [00:09:44] So I wanted to de duplicate [00:09:46] those three different lists and I [00:09:49] just dump them all into an Airtable [00:09:51] and move stuff around and did some [00:09:52] filtering and [00:09:54] all of that to help clean up [00:09:55] this very simple thing [00:09:57] that was never going to live [00:09:58] in Airtable. [00:09:59] I just wanted it cleaned up [00:10:00] and then moved back into the word file [00:10:02] where it lives, and [00:10:06] I had a moment where I thought [00:10:09] to myself [00:10:09] what if I had to build this with SQL or [00:10:12] what if I, I've been getting into SAN no [00:10:15] more recently, I really like SAN oh [00:10:16] there's no way I would do [00:10:18] the same task in zan oh [00:10:20] this very very simple use case [00:10:24] and sometimes when I think of Airtable, [00:10:26] I think of things like that and [00:10:28] sometimes I think of my clients [00:10:31] who you know send invoices [00:10:33] and contracts and all [00:10:34] of these business things and [00:10:39] I think Airtable is sometimes better [00:10:42] suited to the former and sometimes [00:10:45] better suited for the ladder [00:10:47] and if you push towards [00:10:48] the enterprise level you [00:10:49] might lose the former [00:10:51] and that would make me sad. [00:10:53] Yeah, [00:10:54] yeah, [00:10:55] I have to agree with that, [00:10:57] I mean it is important, [00:10:58] I think it's a tough line to toe right, [00:11:00] like [00:11:00] there's [00:11:02] like as I've worked with more [00:11:03] and more companies, [00:11:04] I have seen a bigger push for, [00:11:06] you know, more features, [00:11:08] more business like [00:11:10] like abilities to come out of Airtable [00:11:12] which is good and it's needed [00:11:14] but I do think there might be a risk of [00:11:17] alienating a larger portion [00:11:19] of their customer base [00:11:21] by focusing so hard on [00:11:22] enterprise. [00:11:25] Yeah, we shall see how that, [00:11:27] how that plays out [00:11:28] in traction but yeah, [00:11:30] that was kind of the reasoning [00:11:32] behind some, you know, [00:11:33] staff members of just kind [00:11:35] of refocusing and keeping attention [00:11:38] on certain areas [00:11:39] and scaling back on others. [00:11:42] But quite a few people [00:11:44] addressed and we shall [00:11:46] see how that plays out. [00:11:48] Hopefully, like you said [00:11:51] that they all find good employment [00:11:54] from the looks of [00:11:55] it. If you look at this list, it is [00:11:58] Going to be a tough market. [00:11:59] I just noticed this one today, [00:12:01] it looks like coin [00:12:02] base. Another one. Big one. [00:12:04] Wow the sum at the bottom [00:12:06] is just depressing. [00:12:07] Yeah. [00:12:09] Yeah, that is [00:12:11] interesting and that's not even [00:12:13] all of them because some of them like this [00:12:15] doesn't have a number, [00:12:18] so you don't know how many that is. So [00:12:22] yeah, we're in for some interesting [00:12:24] times in the in the market, [00:12:25] especially in the tech market. [00:12:31] But there was some positives [00:12:34] coming out of Airtable, [00:12:37] I believe we've already addressed [00:12:39] the new community, I think that came out [00:12:41] before we ended. [00:12:43] So we've already discussed [00:12:45] the new community and good and [00:12:47] bad of that, that's an ongoing topic. [00:12:50] I'm sure what we're more about [00:12:53] maybe other things [00:12:55] in the work we'll see. [00:12:57] But they did announce two product [00:13:00] releases, I believe, both in beta, [00:13:03] so this first one is a sync A P.I. [00:13:06] So more on the developer side [00:13:08] anybody wanna explain this [00:13:11] if you looked at this? [00:13:13] I forgot it happened, [00:13:14] so I'm not the one to explain this one. [00:13:19] Yeah, it basically is it allows you to [00:13:24] use an api so there's a new endpoint [00:13:28] that you can push data to it [00:13:31] and kind of provide a mapping [00:13:34] and it will update [00:13:35] or create if that if that field exists. [00:13:40] So it's kind of a bulk update feature [00:13:44] but it it supports up to 10,000 rows [00:13:49] And [00:13:50] two MB per request, limited. [00:13:54] And give a shout out to Scott Rose, [00:13:57] friend of the show. There might be other [00:13:59] things in the works [00:14:01] Scott might have something up his sleeves. [00:14:03] We shall find out [00:14:04] we'll definitely have him on [00:14:06] in the future to to share with [00:14:08] anything he's got cooking. [00:14:10] So yeah so with this one [00:14:13] yeah this could be interesting, [00:14:17] we'll see [00:14:18] we might explore this for backups [00:14:21] to help sync backups back in if [00:14:24] needed. So this is something [00:14:26] we're looking at. Definitely. [00:14:28] Do you think would it [00:14:29] be safe to like compare this to like [00:14:31] an automated version of the C.S.V. [00:14:33] import extension? [00:14:35] Yeah I could see that's hugely beneficial. [00:14:39] Right? So is it like I haven't played [00:14:43] around with it but I'm assuming [00:14:44] that if it's saying 10,000 rows, [00:14:46] if you have a CSV that's 10,000 rows [00:14:48] and you sync it up to this A P I [00:14:51] that you don't have to do the like [00:14:54] 50 x 50 like update in batches, [00:14:56] right? [00:14:56] It's just gonna suck up the whole thing. [00:14:59] Yeah that's that's hugely beneficial. [00:15:01] I can see a lot of use cases for that. [00:15:03] Yeah Scott asks if it's similar [00:15:06] to sending CSV files as these [00:15:09] emails. That is my guess [00:15:11] and my understanding. [00:15:13] So the bad part about this which [00:15:15] is what Scott's probably alluding to is [00:15:18] you actually have to set up a new table [00:15:20] and make the source be the essentially [00:15:24] the sync A. P. I. Is your source endpoint [00:15:27] similar to if you were syncing from [00:15:29] any of their other endpoints that they [00:15:32] support. [00:15:35] Right. Which makes it a little [00:15:37] right. That's so I guess it's kind [00:15:39] of different than the C. S.V. [00:15:42] Import extension updates an existing table [00:15:45] where as this is like you lose [00:15:47] your ability to update the data manually. [00:15:51] Right? Right. So yeah. [00:15:53] Yeah and that's what he's asking you [00:15:56] that [00:15:57] which is interesting because [00:15:59] then it's it's not really a sync, [00:16:01] it's definitely not a two way sync. [00:16:03] I really I think it's a one way sync from [00:16:05] your source into Airtable dynamically. [00:16:11] Yeah which is [00:16:14] which can not be ideal [00:16:16] in dealing with that [00:16:18] so you really have to think of it [00:16:20] as like okay yeah this is [00:16:22] really just pulling in data [00:16:24] from an external source [00:16:25] dynamically. [00:16:28] Yeah. Yeah. [00:16:31] Alright so that's one feature release, [00:16:34] there was another one in the forms so [00:16:37] we have a theme of forms today. [00:16:41] So Airtable updated their form. [00:16:44] So now you can opt into this [00:16:46] functionality to collect respondent email [00:16:50] addresses automatically [00:16:52] which requires a sign in. [00:16:54] So on the form there's a new [00:16:56] toggle right here [00:16:59] it says collect respondent [00:17:02] email address automatically. [00:17:05] But what that means is [00:17:06] if you toggle this, [00:17:08] that means everybody has to [00:17:10] have or create a new account [00:17:12] with Airtable, free account. [00:17:15] And so it's a good way for Airtable to [00:17:19] collect more emails from people. [00:17:22] I think it's a growth hack thing, [00:17:24] but I think there's use cases [00:17:26] for it because [00:17:27] now you can [00:17:28] you don't even have to ask for emails. [00:17:30] I think it'll automatically. [00:17:33] Let's see. [00:17:34] Is this with a collaborator field [00:17:35] or does it? I believe it is, [00:17:37] it will input into the created by [00:17:39] field as opposed to being [00:17:41] anonymous as it used [00:17:43] to be. [00:17:46] So basically creates read only [00:17:48] collaborators. Yeah, [00:17:50] I could see pros and cons [00:17:53] if you have a use case [00:17:54] where especially if [00:17:55] you're using interfaces, [00:17:56] everyone who looks at your interface [00:17:58] has to have an Airtable account anyway. [00:18:00] So it's not like oh I need to make my [00:18:04] you know, clients or customers or [00:18:07] whatever, I have to get an extra account. [00:18:09] They already had one but if you [00:18:11] aren't in that space [00:18:13] then yeah, it might not. [00:18:15] We wouldn't be able to do wide [00:18:17] wide audience forms I guess. [00:18:21] Right. [00:18:22] I kind of see this as [00:18:24] more of an internal tool, [00:18:25] I don't think I would use it as [00:18:26] an external feature. [00:18:27] Right? Because I think [00:18:29] just like what you said, [00:18:30] I think some people might [00:18:31] be like I don't want to sign [00:18:32] up for another thing, [00:18:34] but if you if you're already [00:18:35] using it internally, [00:18:36] that's a huge benefit to be able [00:18:38] to see instead of anonymous for the form [00:18:41] submission. Like because [00:18:42] that gets annoying [00:18:43] if you are using forms in an [00:18:45] internal sense. Yeah. [00:18:48] Yeah, definitely. So yeah [00:18:50] and this is what it looks like [00:18:52] if they come to it, [00:18:54] it requires them to [00:18:56] to log in or create a new account. So [00:19:00] yeah, it's good if you want [00:19:03] everything inside of Airtable. [00:19:06] So that is cool. [00:19:08] Oh yeah and Jan, databaser [00:19:11] he actually noticed this a [00:19:14] month or two before [00:19:15] this announcement [00:19:16] and he kind of talked about using it to [00:19:17] create a mini portal solution. [00:19:20] So if you read his post [00:19:22] here that he links to [00:19:24] it's a good way to kind [00:19:26] of create a portal system. [00:19:29] Alright, moving on, [00:19:30] this one is just kind of a general [00:19:33] web article that might be [00:19:34] worth a read actually, [00:19:36] it's a video but they [00:19:37] summarize it in this article. [00:19:39] So Howie spoke at a recent sas ter [00:19:43] event which is a big b two B software [00:19:47] conference and lays out his [00:19:50] what he's doing [00:19:51] and what Airtable is doing to [00:19:53] move up market into the enterprise. So [00:19:57] interesting tidbits [00:19:58] and you can see that this, [00:20:01] I think the interview happened [00:20:03] before the layoffs although [00:20:05] it was published [00:20:07] after but I believe it took [00:20:09] place before [00:20:12] if I'm not mistaken. [00:20:14] So but one thing I thought [00:20:16] was interesting it says [00:20:17] choose your competitors wisely [00:20:20] and he talks about specifying [00:20:22] like what market [00:20:24] you want to play in [00:20:25] and who you want your competitors to be [00:20:28] and so he doesn't [00:20:29] specifically [00:20:31] you know give names of who [00:20:33] they think their competitors are [00:20:35] but just kind of [00:20:36] reading between the lines. [00:20:37] So he talks about initially [00:20:39] being kind of compared [00:20:40] with asauna and trello [00:20:42] and kind of more like [00:20:44] just task management systems but [00:20:46] now where they're moving, [00:20:48] they talked about their new [00:20:50] connected apps platform [00:20:51] and trying to really move out [00:20:53] of just task management [00:20:55] and more into the world of [00:20:56] like the sales forces of the world [00:20:59] and Microsoft's of the world. [00:21:00] So [00:21:01] by their defining of their of themselves, [00:21:05] they're trying to reposition [00:21:07] themselves, appears. [00:21:12] Yeah. [00:21:13] Alright. Moving on. Something from the, [00:21:17] from the BuiltOnAir community, [00:21:20] this is Mike from aeropage and you should [00:21:23] check out a aeropage. He's building some [00:21:26] some cool apps and right now a lot [00:21:28] of them are free to use, [00:21:30] I don't know if that will [00:21:32] always be the case but [00:21:33] there's some cool stuff [00:21:35] at his website at aeropage [00:21:38] but he showcases this video, [00:21:40] I won't, I won't open it but [00:21:43] basically talks about how you can [00:21:47] automatically pull or paste attachments [00:21:51] into the attachment field. [00:21:54] So not just pull but [00:21:56] if you wanted to pull up a [00:22:01] if I were to add an attachment [00:22:05] field. If you like copy an image [00:22:07] and you want to paste it you can't just [00:22:10] paste it into here and you can't paste it [00:22:14] into here. But if you just click right [00:22:17] up in this header area [00:22:19] and then paste [00:22:20] it will actually paste your image as an [00:22:24] attachment or your file as an attachment. [00:22:27] So it's kind of a cool hack. [00:22:29] That is so funny to me that's [00:22:32] why? Who figured this out? [00:22:35] And what was the sequence [00:22:37] of events that led us here? [00:22:40] Yeah so shout out to Mike [00:22:42] for finding that secret upload. [00:22:47] Yeah I tried it it does work [00:22:50] and he shows in the video it works. [00:22:53] You just click up in the upper section [00:22:55] and then paste and then you're good to go. [00:22:57] So that's if you like copy an image. [00:23:00] Like if you like right click on an image [00:23:02] somewhere and say copy image [00:23:04] or does it work [00:23:05] with the link to image too? [00:23:08] I don't think so. [00:23:09] I think it has to be in your clipboard. [00:23:12] Can you can you do an [00:23:13] image source directly into [00:23:15] the attachment field? Because the A.P. I [00:23:19] only takes URLs to images? If you do the, [00:23:24] yeah. [00:23:26] Yeah [00:23:27] and I've noticed you can't copy [00:23:28] and paste an image [00:23:30] URL into an attachment [00:23:31] field, but if you use an automation [00:23:33] to copy the U. R. L. And paste it into the [00:23:35] attachment field [00:23:36] that does render the image. [00:23:37] Which I think is kind of [00:23:38] interesting. [00:23:42] So Garrett. Garrett likes that info. [00:23:45] Amazing piece of information. [00:23:47] I agree. Yeah. That's cool. [00:23:49] So that's helpful if you [00:23:50] do a lot of copy and [00:23:51] pasting of attachments. [00:23:56] So that is from there [00:23:58] and then a couple of quick ones [00:24:01] from the Airtable [00:24:02] community in Facebook. [00:24:05] This one I thought was cool [00:24:08] former Airtable engineer, [00:24:10] Stephen Zong and longtime user [00:24:13] kind of built this this little hack of a [00:24:16] website. I guess he really wanted to see [00:24:23] if you have a shared view link [00:24:27] it doesn't have previews [00:24:29] of the images in the [00:24:32] or the preview I guess of that link [00:24:35] doesn't have the images when you like post [00:24:37] it to twitter or something like that. [00:24:41] And so I guess he found a way to [00:24:44] override the rendered preview. [00:24:50] And so all you have to do [00:24:52] is just replace Airtable.Com [00:24:54] with Airtable.cool [00:24:56] and then you the same share link [00:24:59] and then it will add a preview image like [00:25:02] this. I love that. [00:25:05] That's so cool. [00:25:07] Yeah. Nice little hack. [00:25:09] It looks like it's free last time I went [00:25:11] to this when I saw this [00:25:14] the other day sometime working, [00:25:17] see if it works today [00:25:27] slow. [00:25:31] I do really like that because I I [00:25:37] Oh [00:25:38] yeah, I was gonna say [00:25:39] I get frustrated too seeing just the like [00:25:42] organize everything on Airtable. [00:25:44] Like that's all the image [00:25:46] says usually when [00:25:47] you share it anyway. [00:25:49] Yeah. Yeah. [00:25:51] Yeah. Yeah. On twitter I was noticing [00:25:53] that a lot of people sharing, [00:25:55] you know a twitter shared view [00:25:57] and it just always says Airtable. [00:26:01] Yeah. Love that. [00:26:03] Yeah. Garrett. Yeah. [00:26:05] We should do a segment [00:26:06] on all the cool hacks. [00:26:07] Yeah. We try to [00:26:09] showcase these whenever [00:26:11] they come up but cool stuff going on. [00:26:14] Alright. Last one [00:26:16] from the Facebook community [00:26:19] Chris Dancy made an exciting [00:26:21] announcement. [00:26:22] I think there's more information coming [00:26:25] but there is a date for [00:26:26] the next Dare Table [00:26:29] and it's going to be in [00:26:33] San Francisco and dates are [00:26:38] Just comes up May 17 and 18 [00:26:43] so mark your calendars [00:26:45] May 17th and 18th. [00:26:46] All three of us were there right? [00:26:49] Yeah, we were all there [00:26:52] in the first one. So I don't know. [00:26:58] First yeah, the first one was digital. [00:27:01] Second one was in person in Austin, Texas [00:27:04] and now the third one [00:27:05] it's going to be in [00:27:07] San Francisco and fun fact, [00:27:09] even though I'm [00:27:10] born and raised in California, [00:27:12] I've never been to San Francisco. [00:27:14] So yeah. [00:27:16] All right [00:27:18] now we've got a reason [00:27:20] you can watch the video of after Kuovonne [00:27:23] I know Kamille you're in this one Alli I [00:27:26] don't know if you're in this one as well, [00:27:30] Scott is amazed. I don't leave the house. [00:27:35] I often refused to on principle, [00:27:39] so this was a cool event, [00:27:41] it's just awesome to see people in person. [00:27:43] You saw kind of everybody [00:27:46] so shout out to Chris [00:27:48] and Ben if Ben is involved on the next one [00:27:52] and yeah, [00:27:54] excited for that. [00:27:55] I love they just go to wherever [00:27:57] Airtable is located last time [00:27:59] it was in Austin. [00:28:01] Airtable had has an office there [00:28:03] and now we're going to their [00:28:05] headquarters in San Francisco. [00:28:08] Yeah, [00:28:09] and then we'll go to New York. [00:28:12] Yeah, that's right, that's right, [00:28:14] be good. So exciting. [00:28:16] So mark your calendars. [00:28:18] Maybe we'll do a show from [00:28:20] there. We talked about that last time. [00:28:22] Didn't happen, but maybe this is the year [00:28:24] we do that. [00:28:26] Alright, [00:28:27] yep. Any other exciting news? [00:28:30] Airtable related that we didn't touch on? [00:28:34] I can't think of any. [00:28:37] Okay, let's move on. [00:28:39] So a quick shout out to [00:28:41] On2Air, our primary sponsor. [00:28:43] I won't talk too much because [00:28:45] of the next segment, [00:28:46] we'll actually dive deeper in, [00:28:47] but On2Air is an all in one toolkit [00:28:50] to run your business on Airtable. [00:28:52] It's a suite of apps [00:28:53] that help you do more with your [00:28:55] Airtable environment if you're [00:28:57] running your business on Airtable, [00:28:59] you definitely need to check out On2Air [00:29:01] and augment what you've [00:29:02] already got going in Airtable. [00:29:05] So with that our first segment [00:29:08] is a deep dive into our [00:29:11] On2Air forms and how [00:29:13] they work. And I'm gonna showcase that. [00:29:15] And the reason why I wanted to do that [00:29:17] is I want to [00:29:21] do some predictions for 2023 [00:29:23] on what's going to happen [00:29:26] with Airtable, [00:29:27] the Airtable ecosystem. [00:29:29] What are your predictions? [00:29:31] So, well I am historically [00:29:33] bad at this. [00:29:35] So let's [00:29:36] let's see how I do. [00:29:38] So while I'm walking through this [00:29:41] I'm gonna post a link to the comments [00:29:45] and anybody that's listening live. [00:29:47] We'd love to get your predictions. [00:29:48] Feel free to fill out the form, [00:29:51] Kamille and Alli [00:29:52] you can fill out your form as [00:29:54] well and put your predictions in there [00:29:57] and so I'm gonna walk through how I built [00:29:59] this form and add some tweaks to it. [00:30:04] So [00:30:05] the main thing that you like to do [00:30:08] in forms is create or update records. [00:30:11] On2Air Forms allows you to update [00:30:14] existing records [00:30:15] or create new ones. In this [00:30:16] example, we're just creating new ones [00:30:19] because we're just creating new [00:30:20] predictions. But you we could [00:30:22] make it to where [00:30:23] you can go back and edit your [00:30:25] predictions if you wanted. [00:30:28] And so we'll walk through that. [00:30:31] So the first thing [00:30:33] that we do is we basically [00:30:37] if I were to go through this process [00:30:39] again you just create a new one. [00:30:41] You'll connect your api [00:30:43] connection to Airtable. [00:30:44] Then it will display the list [00:30:46] of your bases that you have access to [00:30:49] select your base and your primary table of [00:30:52] where you're gonna be saving [00:30:54] your submissions to [00:30:56] when the form is submitted [00:30:58] and then then you'll come into here [00:31:01] and you'll come into our designer to [00:31:03] design your form. [00:31:05] And the first thing that you'll do is [00:31:09] you'll add fields to your form. [00:31:12] So you'll decide which fields [00:31:15] from that table [00:31:16] that you specified in the initial phase [00:31:18] what fields you want to add to your form. [00:31:21] You don't have to add all the fields. [00:31:24] And then once you add those fields then [00:31:27] you click done. [00:31:28] We also have custom fields. [00:31:30] Like static text dividers, [00:31:32] formulas and our linked field display [00:31:37] item. And so you can add [00:31:38] some custom fields [00:31:40] want those are maybe more of an [00:31:42] advanced but once you have your fields [00:31:45] then you can click on any of them and [00:31:47] configure them. You can modify the title. [00:31:50] The subtitle the help protect, [00:31:52] you can decide if you want it to be [00:31:55] an optional field which is the default, [00:31:58] you can make it required. [00:32:00] Or you can disable it [00:32:01] or you can just display [00:32:03] the value of that field and not [00:32:04] make it editable. [00:32:06] Or you can hide the field. [00:32:08] So it's used just on submission for [00:32:10] example. There's other things you can do. [00:32:13] I won't walk through everything but [00:32:16] You can also set default values. [00:32:18] So for this one I set [00:32:20] the default value for the [00:32:21] for the drop down field [00:32:23] of what year you're making [00:32:24] your prediction for to be the [00:32:25] current year 2023. [00:32:27] You can also use a U. R. L. Parameter [00:32:31] to pre fill that if [00:32:32] you wanted to. [00:32:34] You could also on dropdown fields [00:32:37] you could allow the user to on the fly [00:32:40] create new submissions. [00:32:42] So if I wanted the user [00:32:44] to create a year a year [00:32:46] submission that is not currently [00:32:48] in my dropdown list, [00:32:50] you could do that and [00:32:52] they could type in their own custom [00:32:54] value for that drop down field. [00:32:57] You can do some more advanced stuff. [00:33:00] So for a check box you can modify what [00:33:02] the labels are. You can specify yes or no. [00:33:05] You can also even specify how it's [00:33:07] displayed. There's different [00:33:09] ways that you can display it either as a [00:33:12] checkbox, a switch, a button, [00:33:15] or a select dropdown. [00:33:16] So with checkbox fields [00:33:18] there's different ways to display them. [00:33:21] And then the powerful aspect of it [00:33:23] is when you're dealing with [00:33:25] linked records. [00:33:26] So I think I skipped a step. [00:33:28] I'm gonna showcase [00:33:29] how the structure of the base is [00:33:31] in Airtable. So you always start with [00:33:34] building your base in Airtable. [00:33:36] So I'm gonna have my submission field [00:33:39] that's my main field of where I'm [00:33:41] saving everything into. [00:33:43] And then a submission [00:33:44] can have multiple predictions. [00:33:46] So you can enter multiple [00:33:48] predictions all in one submission. [00:33:50] So my predictions here [00:33:52] has your table here [00:33:54] of all the predictions that you're [00:33:57] making [00:33:58] and [00:34:01] and then it links to them. [00:34:02] So it's a one to many relationship. [00:34:05] So submission can link [00:34:07] to multiple predictions. [00:34:09] So how that looks in On2Air is [00:34:12] you specify I added this [00:34:14] linked record field [00:34:16] and then you can specify what [00:34:18] fields you want to display. [00:34:20] So you could display [00:34:22] multiple fields if you wanted [00:34:24] in the table listing. [00:34:26] I just needed the prediction for this one. [00:34:30] And then [00:34:32] and there's more that you can specify [00:34:35] in here if you wanted to only show on the [00:34:37] listing or on the look up [00:34:39] if you're looking up existing ones [00:34:42] and then on your [00:34:43] sub form you specify if you want [00:34:47] to allow users to create new records, [00:34:51] update existing records, look up existing. [00:34:54] So in this case [00:34:55] I don't want them to [00:34:57] look up existing predictions. [00:34:58] I only want people to create new ones. [00:35:01] So I turned off the ability to update [00:35:04] existing predictions [00:35:06] or look up existing predictions. [00:35:09] So there's only the [00:35:11] ability to create new ones. [00:35:13] So if I look at the preview [00:35:15] there's only gonna be [00:35:16] create new button. [00:35:17] If I toggle these on then [00:35:19] there will be other buttons to look [00:35:21] up or edit existing [00:35:23] items in there [00:35:24] and then I'll come into here [00:35:27] and I want to manage my sub form. [00:35:29] And so this is where you specify [00:35:32] when you're creating a new record, [00:35:34] whether what fields you want [00:35:37] on that sub form that gets created [00:35:40] and so you can configure this sub form [00:35:43] and you can actually have sub forms [00:35:45] within sub forms. So you can have [00:35:48] multi tiers of linked records, [00:35:51] multiple tiers down the road, [00:35:53] so it actually is unlimited. [00:35:55] I probably wouldn't [00:35:57] suggest doing more than three, [00:35:59] it kind of gets unwieldy [00:36:00] to try to manage that, [00:36:02] but in theory you can have [00:36:03] inception going on [00:36:05] where you can actually have [00:36:06] links going back to the parent [00:36:09] table. So you can get as tricked out [00:36:13] as you want to with your inception [00:36:16] of of linked records. [00:36:18] And then there's other things [00:36:20] you can specify if you [00:36:22] allow for looking up existing records, [00:36:24] you can specify how to search for those [00:36:27] records, how to filter those records [00:36:29] that can be added. [00:36:30] So lots of amazing stuff [00:36:31] that you can do with [00:36:34] with that. So Scott says [00:36:36] rename it to On2Air inception, [00:36:38] I like that. [00:36:39] Okay, so now we have our form, [00:36:42] all our fields configured, [00:36:44] I've made a couple [00:36:45] required [00:36:45] and then I'm going to my page submission [00:36:49] and one thing I realized I [00:36:51] forgot was [00:36:52] just putting something at the top [00:36:55] of my form, so I'm gonna update [00:36:57] my editor and this is mark down, [00:37:00] so it provides you the markdown syntax as [00:37:04] well as the display of what you want [00:37:06] of what it'll look like. [00:37:07] You can actually specify and just deal [00:37:10] with the preview mode or just the [00:37:12] editor mode, [00:37:13] I like the split mode [00:37:14] where you kind of see both. [00:37:19] So I forgot to put something [00:37:21] at the header [00:37:22] so we'll just keep it simple but you [00:37:24] can do anything there and then now [00:37:27] if I open it up it should show [00:37:30] my new header that I added. There we go. [00:37:33] And so now you enter your form [00:37:35] and now this is what the form looks like. [00:37:38] Enter your name, value, year. [00:37:41] Little marketing [00:37:42] will let you know if you're [00:37:44] about On2Air so quick yes [00:37:48] you're interested. [00:37:50] And then here is where you create [00:37:52] your prediction [00:37:53] so you click on this and then [00:37:55] this is a markdown editor [00:37:57] because it's a rich text field, [00:37:59] so it has markdown [00:38:00] support [00:38:01] and has this header to help you [00:38:04] do anything in markdown you want to do. [00:38:07] And so now you can enter your prediction [00:38:10] of what you want it to be click add and [00:38:12] then that will add it here [00:38:14] and then once you submit [00:38:15] your form and have [00:38:16] everything submitted, [00:38:17] you'll get the submission page. You can [00:38:20] also modify the submission page [00:38:22] of what that looks under the page settings [00:38:26] you can specify the text [00:38:28] that you want it to display. [00:38:30] You can also add some buttons [00:38:32] to create a new one [00:38:33] or go somewhere next if you [00:38:35] want to take them to another form [00:38:37] or another website. [00:38:39] So lots that you can do [00:38:41] on here. So with your predictions entered, [00:38:44] let's take a look. [00:38:45] Let's see what kind of [00:38:46] predictions we've got. [00:38:48] So [00:38:52] let's see here. [00:38:55] Okay, so my testing take over the world. [00:38:58] Airtable is going to the [00:38:59] prediction I had is Airtable is not [00:39:02] going to hit their launch date for their [00:39:04] connected app platform. [00:39:06] They say Q1 last year [00:39:07] I think with the layoffs, [00:39:09] I don't think that they're going [00:39:11] to make that. [00:39:12] So my prediction is the vision of [00:39:14] their connected apps [00:39:15] and they had some specifics [00:39:17] as part of that. [00:39:17] I don't think that's gonna [00:39:20] make it for Q one. [00:39:22] Alli says Airtable will be more [00:39:25] ubiquitous than Excel [00:39:27] and Google sheets by 2025. [00:39:29] Alright, so I'm gonna keep track of these. [00:39:32] That one is yet to happen. [00:39:35] It's a little subjective. [00:39:39] All right, Kamille says interfaces [00:39:41] will allow conditional [00:39:43] visibility of elements [00:39:44] including containers based [00:39:45] on the current user or record data. [00:39:47] Example, display chart [00:39:49] if count of linked transaction [00:39:52] is greater than zero, [00:39:53] very specific. It's needed. [00:39:56] It should be there. [00:39:58] They already have conditional [00:40:00] visibility in some aspects like oh, [00:40:02] you can only see certain records will only [00:40:04] appear in a list [00:40:05] if they meet certain criteria. [00:40:07] What I want and what I think [00:40:09] they'll add because [00:40:10] it's relatively easier than [00:40:12] that is just [00:40:13] don't show this thing at all if [00:40:15] certain conditions are met. [00:40:18] Your second one [00:40:20] form views will get a similar [00:40:22] but simplified layout engine as [00:40:23] interfaces allowing fields [00:40:25] to be placed side by side. [00:40:27] I don't like that one [00:40:29] because that competes with forms [00:40:31] but [00:40:33] the form things inside of interfaces [00:40:36] that you put fields next to each other and [00:40:39] I'm like, well this seems like a gimme [00:40:42] for form views but of course we talked [00:40:44] about this in previous seasons [00:40:47] when new features get added, [00:40:49] their code base is [00:40:51] newer than the older aspects [00:40:52] of the product. [00:40:53] Like form views have been there [00:40:55] forever. So I think they would have to [00:40:58] do some other adjustments [00:40:59] under the hood in order for that to work. [00:41:02] But anyway, that's, [00:41:04] I don't know, sometime in 2023 maybe. [00:41:07] Yeah, yeah, we shall see. [00:41:09] So yeah, you watching live [00:41:11] or if you're watching [00:41:13] a recording of this or [00:41:14] listening [00:41:15] we have a link in the comment section, [00:41:19] I wanna hear your predictions, [00:41:20] I'll collect these, [00:41:22] maybe we'll share some more [00:41:23] in a future episode [00:41:25] and we'll kind of track them, [00:41:27] see who, whose predictions come to pass. [00:41:30] And so yeah, hopefully that showcases [00:41:33] the power of what you can do in [00:41:35] On2Air forms. [00:41:36] We are still in private beta [00:41:39] wrapping up a couple finishing [00:41:41] touches. Hope to go out of private beta [00:41:46] this month or next and [00:41:47] but we do have people [00:41:49] using it in production, [00:41:50] seeing some amazing results [00:41:52] and we have a new case study [00:41:55] out on how Jen Rudd [00:41:56] from grow with Jen [00:41:58] uses this new forms to [00:42:02] to do that. [00:42:03] So Melanie I see yours, [00:42:04] you gotta enter it into the form for it to [00:42:07] be count to count. [00:42:08] Melanie says a mass exodus to smart sweet. [00:42:11] So we'll see. Hopefully not. [00:42:13] I'm still on the Airtable bandwagon. [00:42:19] All right, let's move on. [00:42:21] Kamille is gonna show us [00:42:24] a different variation [00:42:25] different to take on [00:42:27] on on forms. Go for Kamille. [00:42:30] Alright, everyone can see my screen? [00:42:34] Zoom in just in case. [00:42:37] So I recently had a client [00:42:40] who had very specific [00:42:44] use case that they wanted to solve. [00:42:47] They had effectively a project that their [00:42:51] own clients would be assigned to. [00:42:54] I'm gonna do [00:42:55] This project for Jim [00:42:57] and it has something like 10 tasks [00:43:00] and some of those tasks [00:43:02] needed to be approved [00:43:03] by their client before they [00:43:05] could begin the project. [00:43:06] And what they wanted was [00:43:09] to send in an email a link [00:43:11] to a form where the client [00:43:13] would just see the name [00:43:15] of the project at the top [00:43:17] and then list every task that [00:43:18] requires their approval [00:43:20] and then them to click a check [00:43:22] a check box next to each [00:43:23] of those tasks and then hit submit. [00:43:26] When they submit it. Anything that they [00:43:28] checked off would be marked as approved [00:43:31] in Airtable. Now there's a bunch of [00:43:33] ways that this could be done [00:43:36] with a lot of different forms solutions [00:43:39] or even using something like document or [00:43:41] e signature dot io where [00:43:44] you can pre populate [00:43:47] a template with a series of [00:43:50] check boxes in them. [00:43:52] But having a dynamic number [00:43:54] of checkboxes was difficult [00:43:56] in a lot of my initial testing, [00:43:59] so I decided to just make a form [00:44:02] out of html. [00:44:03] Good old html people remember that, [00:44:05] That's a thing that builds [00:44:08] most web pages, [00:44:09] but I reproduced a simplified version [00:44:12] of their use case here. [00:44:14] You'll see I have a project [00:44:17] and I have a bunch of [00:44:18] tasks linked to that project. [00:44:20] If I go to the tasks table, [00:44:22] you'll see I have a [00:44:23] checkbox for whether or not [00:44:25] it's approved, the date it was approved [00:44:27] status, assign me, some other things, [00:44:30] an attachment field etcetera. [00:44:32] So what they wanted was to send an [00:44:37] a link in an email. [00:44:38] I'm not gonna go over the [00:44:40] automation because it's very [00:44:41] simple. But effectively this link [00:44:44] would be pasted into an email, [00:44:48] they'd be able to click on, [00:44:50] click it and then [00:44:51] they'd be presented with this. [00:44:52] What we're looking at right now [00:44:55] is a page created using make [00:44:59] the artist formerly known as Integromat. [00:45:01] That displays this table of all of the [00:45:05] linked tasks for that project. [00:45:09] And then you'd be able to go through [00:45:11] and say I approve numbers two [00:45:13] and three but not four through eight [00:45:16] for the purposes of this demo, [00:45:18] I have elected to show any task that has [00:45:21] already been approved [00:45:22] as a check box that has been disabled [00:45:25] so you can't change [00:45:26] it after the fact. [00:45:28] Obviously this can be edited but [00:45:30] I want to prove two and [00:45:32] three in this go [00:45:33] and if I go back to tasks [00:45:35] you'll see currently they're not [00:45:37] approved. [00:45:39] But if I go back to my form and click [00:45:41] submit [00:45:43] your task has now been approved [00:45:46] and now in Airtable [00:45:48] those have been updated. [00:45:50] So just to walk through the [00:45:52] two make scenarios [00:45:54] that allow this to happen, [00:45:56] I'm going to explain each one of these. [00:45:59] Hopefully in enough detail. [00:46:01] So the first thing is a web hook. [00:46:05] The [00:46:07] button here open U. R. L. [00:46:09] That is that web hook. [00:46:11] All it's doing is saying [00:46:13] what is the record id [00:46:14] of whichever project I just clicked on? [00:46:17] And it's passing that to the web hook. [00:46:20] Then I have a module that searches [00:46:22] through [00:46:23] the projects table in my Airtable base [00:46:27] and finds the project based on that [00:46:30] record I. D. [00:46:31] From there, I have some variable set up. [00:46:35] I have done this before so I already [00:46:38] know what I want the page [00:46:40] to look like essentially [00:46:42] if I go back and then if I [00:46:44] refresh it it should have those two. [00:46:48] Yeah these are now all disabled but I'm [00:46:51] looking at this to sort of [00:46:54] show you guys how this page is set up. [00:46:58] It's very simple but what I [00:47:01] wanted [00:47:03] I wanted the name of the page [00:47:05] to come in as something other [00:47:07] than just something [00:47:07] blank or saying web hook. [00:47:10] So I have it pre filled [00:47:12] with approved task for and [00:47:13] then as a variable the name [00:47:15] of the project that was clicked on [00:47:18] and then a bunch [00:47:19] of styling stuff. I like styling, [00:47:21] I have said before in the past that I hate [00:47:24] Bootstrap, I still hate Bootstrap [00:47:26] but there was no way I was going to design [00:47:29] you know these two pages [00:47:31] in any sort of details. [00:47:33] So I just used bootstrap so [00:47:35] here I am eating crow [00:47:38] but simple sort of breakdown [00:47:42] of the page and my [00:47:45] internet is freezing. [00:47:49] Okay, here we are. [00:47:51] So it's a simple page. [00:47:52] This is just a regular old table. [00:47:54] That through the power of [00:47:59] you'll see there's a lot of things [00:48:01] nested inside each other. [00:48:01] Here's the table. [00:48:03] This is a regular table but [00:48:05] what bootstrap helped with was making it [00:48:09] display very nicely on the page. [00:48:12] It's also semi responsive, [00:48:14] so on a phone you would scroll [00:48:17] to the right to get to [00:48:18] the other columns of the table, [00:48:20] so it would fit. [00:48:21] Other things that I used [00:48:23] from bootstrap or things like badges. [00:48:26] So the five pending tasks, [00:48:28] you'll note eight minus [00:48:30] the three approved is five [00:48:31] using their badges class that just made it [00:48:37] very very easy to sort of set up [00:48:39] in this way that I have it. [00:48:41] So [00:48:43] at the start of this scenario [00:48:45] I have one variable [00:48:47] that's putting together the [00:48:49] page header that is linked [00:48:51] to the bootstrap style. [00:48:53] She named the page approved [00:48:54] task for name of project [00:48:56] and then set up all of my containers [00:48:59] and then another [00:49:00] one for page footer [00:49:01] which is just closing all of the [00:49:04] html tags that need to be closed [00:49:08] then for each task that is linked to my [00:49:12] project. Get the task record. [00:49:16] If there are any attachments [00:49:18] split the attachment field, [00:49:20] attachments are arrays. [00:49:22] Even if there's only one attachment. [00:49:25] What I wanted in this form [00:49:27] was to have them [00:49:28] appear as a list where you can click on [00:49:31] each one and then get the link to the [00:49:33] image. Side note, [00:49:35] we know that the images to the [00:49:39] or the U. R. L. S. To the images [00:49:42] from attachment fields will expire after [00:49:45] some number of hours. [00:49:47] Because this web hook is being fired [00:49:51] every time you click on the link to open [00:49:54] the form or to refresh the page, [00:49:56] I think I'm okay. [00:49:57] I think it's getting a fresh [00:49:59] U. R. L. I don't know [00:50:00] I haven't tested. [00:50:01] But the odds that someone's gonna be [00:50:03] looking at this page for number [00:50:05] for more than three hours I think is slim. [00:50:08] So I elected to ignore [00:50:10] that possible hiccup. [00:50:11] But I'm vocalizing it now [00:50:13] in case you're following along [00:50:15] and you want to use [00:50:15] this for some other use case. [00:50:18] So essentially build a little U.R. L. [00:50:21] To each attachment, [00:50:23] if there are any to begin with [00:50:25] then compose a table [00:50:27] row. So if you know how to build [00:50:29] a table in html, [00:50:30] you'll know that you'll need [00:50:31] one tag for the row itself [00:50:33] and then another tag [00:50:35] for each cell in that row. [00:50:37] And it's just pulling in all of my [00:50:43] variables from the current task itself. [00:50:47] Then, assemble all of those rows into [00:50:50] one giant text block. [00:50:52] And then I have another [00:50:55] module that composes the form itself, [00:50:58] so just some introductory text above it, [00:51:01] the form itself, the action of the form [00:51:05] is to submit this form to a different [00:51:08] web hook [00:51:08] and I'll go over that in a second. [00:51:10] And then it just displays the [00:51:12] form including the header [00:51:14] rows up at the top [00:51:16] and then all said and done. [00:51:18] I have assembled my page header [00:51:20] and my page footer [00:51:22] which I did before and then [00:51:24] this text that goes at the top [00:51:27] of the page to say [00:51:29] here's how many tasks you have [00:51:31] for approval [00:51:31] for whatever the name of the project [00:51:33] is. And then I did it this way [00:51:35] because if there are no tasks [00:51:37] for you to approve, [00:51:38] I don't want to show them [00:51:40] the form [00:51:40] which is why it's a conditional if [00:51:42] statement. And then [00:51:45] I just say this is an HTML dump [00:51:47] that I'm giving you it's a status 200 if [00:51:49] everything went fine [00:51:51] and that's how we arrive here. [00:51:54] Now if I want to [00:51:56] once again approve something else [00:51:59] I'm presented with this page. [00:52:02] This is accomplished [00:52:03] with that second web hook [00:52:06] if I go back [00:52:08] approval form to. [00:52:09] So with this web hook, [00:52:11] what it's doing is it's receiving [00:52:15] all of the form data [00:52:16] that has been submitted. [00:52:18] I only really have two fields. [00:52:21] The first field is the list [00:52:24] of record I. D.s [00:52:26] That had a check box. [00:52:28] So that was accomplished in the [00:52:31] each table row [00:52:32] at the start of the table row [00:52:34] was a check box. [00:52:35] And all of them were part [00:52:36] of the group called record I.D.s [00:52:39] so at the end of the day [00:52:40] I'll have an array of record I.D.s [00:52:43] that were checked off. [00:52:45] And then technically submit is a [00:52:47] input. I don't need that at all. [00:52:50] Because once it's once I'm here it's been [00:52:52] submitted [00:52:53] I don't need to do anything with that. [00:52:54] I just need the record I.D.s [00:52:57] so for each task that was approved, [00:53:01] get the [00:53:04] get the Airtable record [00:53:06] and then I wanna put in a timestamp [00:53:09] of whatever time it [00:53:10] is now as the date approved. [00:53:13] I wanna move the status to [00:53:15] in progress and then [00:53:17] I wanna mark approved as yes [00:53:19] so every time for each item [00:53:21] I checked off it will [00:53:23] update each of those records individually. [00:53:26] It's going to do some stuff that's [00:53:29] technically not [00:53:32] technically not necessary I don't think [00:53:35] but it's in a similar manner [00:53:37] this time at the end [00:53:38] because it's a very short [00:53:39] scenario, I'm assembling the [00:53:42] start of my page [00:53:43] and the end of my page is my [00:53:45] header and footer [00:53:47] and then it's displaying [00:53:49] that all together here [00:53:52] and that's how we end up with this page [00:53:54] and I believe that's it. [00:53:57] Yeah it's amazing how make [00:53:59] can basically be the back end [00:54:01] server to something [00:54:02] like that. Yeah. [00:54:04] I would only recommend [00:54:06] this be done for very [00:54:09] very simple things that like [00:54:11] from a ui or user experience [00:54:14] perspective would be [00:54:15] better suited in this in this case. [00:54:18] So my client was very specific about [00:54:21] I want my customers to click a [00:54:23] check box next to each thing [00:54:25] and that be what [00:54:26] Marks it as approved [00:54:28] and so the closest I could [00:54:31] get to their vision was to do [00:54:33] this but if you have a complex form, [00:54:36] use a form solution like On2Air. [00:54:39] Yes [00:54:41] that is incredible, Kamille. [00:54:44] That's right. Very cool, [00:54:48] awesome. Thank you Kamille [00:54:50] for sharing that. Last question, [00:54:52] how was the orange [00:54:52] chicken? [00:54:56] That's what was on the receipt [00:54:58] that you shared. You know it was fine. [00:55:02] I forgot when that's from [00:55:04] I was trying to get, [00:55:05] I wanted to demonstrate what it [00:55:06] would look like if I had an attachment [00:55:08] and that was the first image I had in my [00:55:10] reel and I was like I don't know [00:55:13] when this is from [00:55:14] or why I have this receipt, [00:55:16] but here it is, [00:55:18] that's perfect. [00:55:21] Alright, we'll continue on [00:55:23] quickly before we move [00:55:24] to Alli's last segment, [00:55:25] a quick shout out to [00:55:27] the BuiltOnAir community. [00:55:28] We'd love to have you join us [00:55:29] if you're not already in there [00:55:32] and we are we have a goal to get to 2000 [00:55:36] members of our community, [00:55:38] so tell your friends, [00:55:39] join everyone that's not already [00:55:41] in our community. [00:55:42] We'd love to have you. [00:55:43] We have a very active slack community [00:55:45] and join us at builtonair.com/join [00:55:49] alright. Our final segment get [00:55:51] into some scripting with Alli. [00:55:54] Alright, alright, [00:55:56] so this is a fairly simple [00:55:59] use case that I came across the [00:56:02] other day. It was not in this base, [00:56:04] but I have a base that I've been working [00:56:06] through trying to do [00:56:08] some de duplication and [00:56:10] and or just try and clean up [00:56:13] a lot of records on the table. So [00:56:16] I've got this empty row here [00:56:18] and it looks to me like it's pretty empty, [00:56:21] right? There's a unit number, [00:56:23] but I can't see any other [00:56:25] fields filled in here. [00:56:26] But if I've got a lot of fields [00:56:29] on this table [00:56:30] and a lot of them are editable, [00:56:32] some of them are formulas of course, [00:56:34] or roll ups, but I don't want to spend the [00:56:36] time to like create a view, [00:56:38] unhide all my editable fields [00:56:40] to just see if there's [00:56:41] anything important on this record. [00:56:43] And even if I did do that then there's of [00:56:46] course a chance for user error, right? [00:56:48] I could scroll across the entire table [00:56:50] and have all my fields on hidden [00:56:51] but I still might miss something that this [00:56:53] record has as part of it. [00:56:56] So I wrote a pretty quick script [00:56:59] that I'm just gonna [00:57:00] just show from the start [00:57:02] here. [00:57:04] And the purpose of this script [00:57:06] is to be able to pick [00:57:08] a record and it's just [00:57:09] going to go through [00:57:10] all of the field values [00:57:12] for that record and display to you [00:57:13] anything that's editable. [00:57:15] And of course [00:57:16] this could be adjusted to show, [00:57:17] you know, just all the fields [00:57:19] like maybe you want to [00:57:20] just get a one page summary [00:57:21] of all the field values [00:57:23] for a record [00:57:24] and that's not a bad use case either. [00:57:26] But in this case [00:57:28] I took it a step further and got rid of [00:57:33] all of the fields that are calculated [00:57:36] because I only care about things that are [00:57:39] inputs on this record right? [00:57:41] If it's linked to something else [00:57:43] then that's that [00:57:43] counts as also an editable field. [00:57:45] So I would see that field [00:57:47] value as well in the [00:57:48] script. Just to go over really [00:57:51] quickly from the very top. [00:57:53] I've just got script settings where [00:57:55] I'm defining the title [00:57:57] and [00:57:58] a short description. [00:58:01] I've written the script so that [00:58:04] we're [00:58:05] we know what the Active view is [00:58:07] and the active table for the user. [00:58:10] So that way when I click run [00:58:12] it's just gonna prompt me [00:58:13] to pick a record from [00:58:14] this view that I'm already on. [00:58:16] So I can actually show that quickly. [00:58:19] So you can see here that these numbers [00:58:21] all correspond with what's there. [00:58:24] If I were to filter this down to [00:58:27] Where stock contains 123 [00:58:31] I'm gonna now see [00:58:32] only those two records as my options here. [00:58:35] So just a quick way to whittle down [00:58:39] what we're looking at here [00:58:40] and get the user to the record [00:58:42] that they're actually [00:58:42] looking at on the screen very quickly. [00:58:47] So we've got it gets the table [00:58:49] based on the current table I.D. [00:58:51] That we're on and then the view based on [00:58:53] the view that we're on using this [00:58:54] cursor object that Airtable gives us. [00:58:58] And then we're prompting the user [00:59:00] to choose the record from that view. [00:59:02] And then we go and determine [00:59:04] what field values we have. Or excuse me, [00:59:07] what fields are on that table. [00:59:09] And I'm pulling out [00:59:11] just the editable fields [00:59:12] as well as any fields that might [00:59:14] have to do with the metadata [00:59:16] of that record. [00:59:17] So it might be helpful to see you [00:59:19] know when the when the record [00:59:21] was created, when [00:59:21] it was last modified, who it was [00:59:26] etcetera. So I purposefully am [00:59:29] pulling out these calculated fields [00:59:31] to be able [00:59:32] to display for the user [00:59:33] because they might be helpful [00:59:34] in trying to get to the [00:59:35] bottom of what this record came from. [00:59:39] Then it just loops through [00:59:42] all of the fields [00:59:44] and pushes any present field [00:59:46] values into an array [00:59:48] that could be displayed [00:59:50] ultimately in a table. [00:59:52] And that gets returned up here. [00:59:55] So we're displaying [00:59:57] all of our metadata first [00:59:59] if there is any. [01:00:01] And then [01:00:03] all of the fields with values. [01:00:05] So if I choose [01:00:07] that first record at the top here, [01:00:11] so you can see here it's showing [01:00:13] I haven't actually [01:00:14] I could you know make that [01:00:15] look display pretty prettier [01:00:17] a little bit [01:00:18] but I haven't gone that far yet but [01:00:20] now I can see here I do [01:00:22] have a notes field [01:00:23] that says don't delete this record. [01:00:25] So I know I don't want to actually [01:00:27] delete this record for whatever reason. [01:00:29] Right? Whereas if I picked something else [01:00:36] I can see, hey this is actually [01:00:38] something that's being used [01:00:40] and has a lot of [01:00:41] values on it. [01:00:41] So I probably shouldn't [01:00:43] delete this record. [01:00:44] Yeah very simple. [01:00:46] Just a nice quick, [01:00:48] easy way to be able to see everything [01:00:50] that a record is touching [01:00:52] in that one table [01:00:55] even just to use that as a quick way [01:00:58] to see a vertical view of all the fields [01:01:00] like even that's handy because [01:01:03] sometimes it's having [01:01:04] to scroll all the time. [01:01:06] Exactly. Yeah and you could quickly get rid of if you wanted to show all of the [01:01:10] fields, then, [01:01:13] you know, [01:01:14] you could just get rid of [01:01:15] just tweak this line so that it's only [01:01:18] returning all the fields [01:01:19] and not filtering out the computed ones. [01:01:23] Right, awesome. [01:01:24] That is a cool script. [01:01:27] Thank you Alli for sharing that [01:01:29] you [01:01:30] were right, [01:01:34] Concludes [01:01:35] the 1st episode. [01:01:38] Many more [01:01:40] come be with you [01:01:41] have any guests that have something [01:01:44] cool to share with the [01:01:45] community. [01:01:46] We'd love to have you on. [01:01:48] We always enjoy having guests come on the [01:01:50] show. So reach out [01:01:51] and we'll get you on an episode [01:01:53] or if there's anything you [01:01:54] want to see us cover, [01:01:55] let us know and we'd love to [01:01:57] go through that with you. [01:01:58] So I hope everybody has a great week [01:02:00] and we will see you next week. [01:02:03] Bye bye.