FULL EPISODE VIDEO
Watch the full video of the show. See below for segment details.
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.
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.
Round The Bases – 00:04:24 –
Automate Create – 00:38:04 –
Watch as we review and work through automations. How to use a Formula to drive the Single Select Values
Field Focus – 00:47:39 –
A deep dive into the Understanding API Keys – We'll explain the different types of API Keys
An App a Day – 00:59:55 –
Full Segment Details
Segment: Round The Bases
Start Time: 00:04:24
Roundup of what’s happening in the Airtable communities – Airtable, BuiltOnAir, Reddit, Facebook, YouTube, and Twitter.
Segment: Automate Create
Start Time: 00:38:04
Airtable Automations – Formula to Single Select
Watch as we review and work through automations. How to use a Formula to drive the Single Select Values
Segment: Field Focus
Start Time: 00:47:39
Learn about the Understanding API Keys – We'll explain the different types of API Keys
A deep dive into the Understanding API Keys – We'll explain the different types of API Keys
Segment: An App a Day
Start Time: 00:59:55
Airtable App Showcase – TaskRobin.io – Send emails directly to Airtable base
The full transcription for the show can be found here:
[00:01:42] All right, welcome back to the [00:01:44] BuiltOnAir Podcast. After a month break, [00:01:47] month and a week, [00:01:48] we're off an extra week. [00:01:49] So thanks for being patient with us. [00:01:51] Good to be back with you. [00:01:53] We are now into season 14 [00:01:55] starting episode one. [00:01:57] Welcome back, Alli. [00:01:58] Good to see you again. [00:02:00] Thank you. Glad to be back. [00:02:01] Good to see you too. [00:02:02] Yeah, lots going on in the Airtable World. [00:02:06] Kamille couldn't make it today, [00:02:08] but we are excited for this new season. [00:02:11] I was thinking about what [00:02:13] what we're gonna be doing [00:02:15] this season, a couple of things. [00:02:16] This will be Dare Table [00:02:19] will be during this season. So [00:02:21] we'll maybe do a live show from [00:02:23] Dare Table if we can. [00:02:25] I, I think I promised that [00:02:26] last year and we didn't do it. So [00:02:28] this year I'll try to [00:02:30] try to fulfill that promise. [00:02:32] Do a live show, meet lots of, [00:02:34] lots of you. [00:02:35] Hopefully we'll be out there and [00:02:36] hopefully we'll meet some, [00:02:38] some new people and [00:02:40] would love to have you [00:02:41] on the show as well. [00:02:43] So, [00:02:44] other stuff I think we're gonna plan, [00:02:46] there's a lot going on. [00:02:47] Actually, today we'll be [00:02:49] talking about some, some [00:02:50] chat GP T stuff. [00:02:51] I think we're gonna have a, [00:02:53] an episode focused entirely on chat [00:02:55] GP T and Airtable. [00:02:57] So that'll be exciting. [00:03:00] We'll announce probably a new [00:03:02] sponsor this season. [00:03:03] We're in the works with a, [00:03:05] with a new sponsor and, [00:03:07] not quite ready to announce that yet, [00:03:09] but I think this season will be [00:03:11] bringing on a new sponsor. [00:03:12] So that'll be good. [00:03:14] So, yeah, lots of exciting stuff [00:03:17] going on in, in the BuiltOnAir world and [00:03:20] always good to be back with you. [00:03:22] Hopefully, everybody enjoyed your [00:03:24] your month break from us, [00:03:26] caught up on all our old episodes [00:03:28] and ready to begin a [00:03:29] new season. [00:03:31] So let me walk through [00:03:33] what we're gonna be doing today. [00:03:35] We always start off with our [00:03:37] Round the Bases, [00:03:37] getting you caught up on what's [00:03:39] new in the Airtable communities. [00:03:41] Then we'll spotlight [00:03:42] On2Air, our primary sponsor. [00:03:44] Then [00:03:45] Alli is gonna go through [00:03:48] how to use formulas [00:03:49] to drive your single select fields. [00:03:52] And then I'm gonna be [00:03:54] talking about API keys [00:03:56] and understanding all the [00:03:57] difference between API [00:04:00] tokens and keys [00:04:01] and very confusing stuff [00:04:02] going on to help you [00:04:04] decipher the changes that are, [00:04:06] that have happened there. [00:04:08] Then a quick shout out [00:04:09] to our community. [00:04:10] Then we'll end with a, [00:04:11] with an app highlight, [00:04:13] an extension task robin that's, [00:04:14] that's in the marketplace So we'll, [00:04:17] we'll check that out to end it. [00:04:19] All right. Let's see. [00:04:21] So we've been off a month. [00:04:23] So lots of new stuff going on. [00:04:25] Let, let's start with the features. [00:04:28] So [00:04:30] Airtable released quite a [00:04:32] few features since we last met. [00:04:34] Probably some of the bigger [00:04:36] ones came from the the [00:04:38] new interface design features [00:04:40] that launched March 1st. [00:04:44] So, right, right after we ended [00:04:47] and so yeah, new page layouts. [00:04:51] What else we got? [00:04:54] sides sheet. That's a cool one, [00:04:58] reusable record detail. [00:05:03] Default values in interfaces. [00:05:06] They also, I don't know if I have it here. [00:05:08] They also added default values to [00:05:09] single, single selects. [00:05:12] Is it in multi [00:05:13] select? The default multi [00:05:15] select? [00:05:16] I so rarely use multi [00:05:18] select fields, [00:05:19] I don't even know. [00:05:20] Let me see quickly. I will check that. [00:05:22] It does not look like it. [00:05:24] OK? Just single select. So [00:05:27] yeah, [00:05:27] yeah. So default values but, [00:05:29] but in interface forms [00:05:31] you can get those let's [00:05:33] see [00:05:34] quicker access to schema changes at [00:05:39] a [00:05:39] gotta see what else [00:05:43] templates. [00:05:44] Yeah. [00:05:46] So yeah, they did announce, [00:05:47] I don't know if I have it here, [00:05:49] but they [00:05:50] they you can now edit your fields [00:05:52] directly in interfaces [00:05:53] so you can make changes [00:05:55] to the the field configuration. [00:05:57] So you don't have to jump back to the data [00:06:01] thoughts on any of these changes? [00:06:03] What's your favorite? [00:06:04] My favorite is probably the side [00:06:07] sheet option for the [00:06:08] record detail layouts. [00:06:10] I'm finding that really, [00:06:11] really nice and handy. [00:06:14] I think it just looks really [00:06:16] like really sleek and clean. [00:06:19] I am, [00:06:20] I wish I were a bigger fan [00:06:22] of the new page layouts. [00:06:23] I, [00:06:24] I was just saying to Dan [00:06:26] before we went live here, [00:06:27] it bothers me how inconsistent [00:06:29] it is across the different [00:06:30] layouts because if you [00:06:31] start off with a list view [00:06:34] layout or a gallery view, [00:06:36] I love that you can, [00:06:38] you can let the user filter [00:06:39] or change like filter sort [00:06:41] and then they can even [00:06:42] change what the layout is [00:06:43] that they're looking at [00:06:45] really, really cool stuff [00:06:46] that I wish were available [00:06:48] when you drag a list layout [00:06:50] or a, a list element rather into [00:06:53] a different layout, [00:06:54] which is not available right now [00:06:57] and [00:06:58] you can't actually even drag any other [00:07:01] elements onto the page if you [00:07:02] go with one of these new layouts, [00:07:04] which [00:07:05] is annoying as well. [00:07:07] Yeah. [00:07:08] Yeah. So enough to get you excited. [00:07:11] But maybe not get you all the way [00:07:14] there that you would hope to. [00:07:15] So hopefully there's, [00:07:17] there's still iterations coming. [00:07:19] Hopefully, I would, I would think [00:07:20] that they're gonna [00:07:21] make it consistent across [00:07:22] the board. It seems [00:07:23] kind of halfway done at this point. [00:07:27] I also love the ability to add [00:07:29] a new record right from [00:07:30] that screen, which is nice. [00:07:33] That's good right there. Yeah. [00:07:35] Yeah. [00:07:36] Yeah. And the [00:07:39] Yeah, I can't remember when [00:07:40] everything came out but, [00:07:42] like, the ability to add [00:07:43] these, like, tab filters. [00:07:44] I can't remember if that's [00:07:46] part of this upgrade or if [00:07:47] that was previous. [00:07:49] Think it was part of that. [00:07:50] Yeah. [00:07:51] Yeah, that's a big one. [00:07:52] I know we use that quite a bit. [00:07:54] So, that's really nice. [00:07:56] I think we talked about [00:07:57] that before. So that, [00:07:58] that might have came up previous. [00:08:01] yeah, the slide side sheet. [00:08:02] I don't, I don't know if [00:08:04] I have one handy to show. [00:08:05] But basically, yeah, you can click [00:08:07] on a record and it comes from the right [00:08:09] side [00:08:10] and so you can see the the record [00:08:12] details instead of like a pop up model. [00:08:15] So that's pretty slick. [00:08:18] So yeah, cool stuff there. [00:08:21] I think there's more, [00:08:23] let's see. [00:08:26] This was one I believe [00:08:28] somebody posted this [00:08:29] from the BuiltOnAir Slack community [00:08:33] talking about different [00:08:36] interface designer permission [00:08:38] dependencies. [00:08:40] I thought this was was worth [00:08:42] pointing out. [00:08:46] So you can [00:08:51] see, I got to refresh [00:08:52] my memory on this one. [00:08:58] Yeah, I I haven't noticed [00:09:00] any differences amongst [00:09:03] dependencies and sharing things. [00:09:06] Feels like we're just gonna move [00:09:08] the options around like [00:09:09] where you can access [00:09:10] them, [00:09:11] but [00:09:13] got you. Yeah, [00:09:14] yeah, it might have been. [00:09:17] I think, I think what happened [00:09:18] now that I remember, [00:09:19] I think somebody pointed [00:09:20] this out and was asking if this was new [00:09:23] but then I think there might [00:09:24] have been feedback that, [00:09:26] that it hasn't changed and [00:09:27] so it's just new to the person [00:09:29] that pointed it out. So [00:09:30] there may not be anything here. [00:09:33] I [00:09:33] really, I can't wait for the day [00:09:35] where we have conditional [00:09:37] visibility entirely [00:09:38] on interfaces. Yeah. [00:09:40] Right. [00:09:41] Yeah. The whole there is like [00:09:43] if you're using a, a collaborator [00:09:46] field or user [00:09:47] field. But you have to do that [00:09:49] for everybody. So that's where it's [00:09:51] frustrating. [00:09:54] Yeah. [00:09:55] Yeah, if you can make it [00:09:56] a different type of conditional [00:09:59] is needed. So, [00:10:01] yeah, that, that might have been [00:10:03] what I was talking about as well. [00:10:05] But you can do more permissions [00:10:07] in your interfaces than you can at the, [00:10:10] at the data grid level. [00:10:13] So it definitely is a, [00:10:14] a step in the right direction. [00:10:16] Absolutely. [00:10:19] All right. OK. Here's another one [00:10:21] that they it's been in beta for a while. [00:10:23] So I had seen it previously but, [00:10:26] but now it's live, record templates. [00:10:28] Have you played with record templates? [00:10:30] I did when it was in the beta [00:10:32] and I never really [00:10:34] found a use case for it. [00:10:36] I suppose like [00:10:39] maybe it could be nice [00:10:41] from an interface if you're like, [00:10:44] you have a, a form to open up, [00:10:45] you know, create new [00:10:46] project and it sets the [00:10:47] status to new automatically [00:10:49] or something. But [00:10:51] at least when it was in beta [00:10:52] and I have to say [00:10:53] I haven't played with it since [00:10:54] they released it widely, but [00:10:56] there was no way to [00:10:58] dynamically set anything. So [00:11:00] it just didn't really feel useful. [00:11:05] Yeah, you can [00:11:08] yeah, you have to define. [00:11:09] So basically the use case is [00:11:11] you have like a project and [00:11:13] maybe the project has a [00:11:15] project type and depending [00:11:17] on the project type, [00:11:18] you have different tasks [00:11:20] associated with that. [00:11:22] And so this is very common, [00:11:23] we do this quite a bit [00:11:24] with project management [00:11:25] bases. [00:11:27] And so this allows you to, [00:11:30] when a new project is created, [00:11:32] you can set up an automation to [00:11:35] to [00:11:36] basically create new tasks based on that [00:11:41] that template type. [00:11:44] And so you create these record [00:11:46] templates, [00:11:46] so you can have a template for each [00:11:48] type of project [00:11:49] and then associate them. [00:11:52] Yeah, it's, it's kind of nice [00:11:54] for a very basic use case. [00:11:57] I don't know that [00:11:59] like we would probably still [00:12:01] do this the way that we've always [00:12:03] done it, which is maybe [00:12:04] with a little bit of [00:12:05] scripting to, [00:12:06] to, you know, really make it dynamic. [00:12:10] But this does help for, [00:12:12] for your very standard simple use case, [00:12:15] I think. [00:12:16] Absolutely. [00:12:18] Yeah, I guess [00:12:19] I didn't realize that I'm just, [00:12:20] I just opened it up [00:12:21] to play with it quickly. [00:12:22] So yeah, you can add more than one record [00:12:25] as part of the template. So that is nice. [00:12:29] And they did allow now they [00:12:30] do have relative date settings. Which [00:12:34] is interesting, [00:12:36] but I don't really know [00:12:38] that that's helpful. It doesn't, [00:12:40] doesn't quite look like it is. [00:12:42] Yeah. Doesn't do [00:12:43] what I would think it does. [00:12:45] Yeah. [00:12:45] Yeah, we'll do. We should, [00:12:47] we should plan on doing a, [00:12:48] a segment on going deep [00:12:49] into record templates [00:12:51] because that it's worth, [00:12:52] it's worth learning it and adding [00:12:54] to your, [00:12:55] to your toolbox. [00:12:57] But yeah, let us know [00:12:58] in the comments [00:12:59] if you're, if you're watching, [00:13:00] let us know how you're using [00:13:01] record templates, what you think of them. [00:13:03] I could see this being flushed out more. [00:13:06] There's more you could do here. [00:13:08] Exactly. Right. [00:13:09] Like I'd love to be able to, [00:13:12] you know, fill in, make it dynamic and [00:13:15] like, for example, [00:13:16] if there's a collaborator field, you know, [00:13:18] make sure that that's filled out [00:13:20] with the person that created the record, [00:13:23] like have it assigned to that person or, [00:13:26] and like make it due always a week from [00:13:28] today or something like that. [00:13:32] Yeah, there's options, [00:13:33] I wish were there that [00:13:34] I don't believe currently are. [00:13:36] Yeah. [00:13:36] Yeah. Yep. [00:13:38] Very good. [00:13:39] So yeah, that's a new one [00:13:42] that got, that got added. [00:13:45] I think that's all the feature, [00:13:47] new items that came out this last month, [00:13:51] all just kind of blends together. [00:13:53] I know. Right. I mean, [00:13:55] the other thing I can think of that [00:13:57] I am so not a big fan of [00:14:00] and doesn't seem to [00:14:01] either. It's not released 100% yet. [00:14:04] They're rolling it out or it's only, [00:14:06] I haven't quite figured out [00:14:08] when I, when it appears [00:14:09] and when it doesn't, [00:14:11] but there's the new apply button on [00:14:12] the filters for particular views, [00:14:15] which [00:14:16] I really [00:14:17] not a fan of, [00:14:18] I really don't like [00:14:20] at all. It's really slowing me down [00:14:21] and I've noticed it's, [00:14:23] I think it's usually [00:14:23] on views that have, [00:14:25] or tables that have a lot of records. [00:14:29] I don't know how many records [00:14:30] that has to be for it to show up, [00:14:32] but [00:14:33] it's really slowing me down. [00:14:35] And I've had a lot of people say like, [00:14:36] oh, well, [00:14:37] it's good if the view is [00:14:39] being watched by Zapier [00:14:40] and it prevents you from [00:14:42] like accidentally, you know, [00:14:44] flooding the view with [00:14:45] all these records when you [00:14:47] don't realize it. [00:14:48] But [00:14:49] they don't actually show you, [00:14:51] like, say you're changing the filters, [00:14:53] they don't show you the preview of what [00:14:54] it's gonna look like when you hit [00:14:56] apply. So you don't even know what the [00:14:57] changes are that you're [00:14:59] making until you click the button. [00:15:01] Yeah. [00:15:01] So it's, [00:15:02] I could go on forever [00:15:04] about that but not a fan. [00:15:05] Yeah. Yeah. Yeah. [00:15:07] And is it so I can't remember [00:15:09] so it's only so if you [00:15:10] don't have many records, [00:15:12] then it doesn't show, [00:15:13] but then it does show [00:15:14] when you have a lot of records? [00:15:16] I believe so. I think that [00:15:17] that's the pattern I've noticed. [00:15:20] But I don't know how many records [00:15:21] is the threshold for it to show up. [00:15:23] Yeah, that makes it even [00:15:24] more confusing. You're like, [00:15:26] wait, [00:15:27] where did but go [00:15:28] or why is that there now? [00:15:30] I know it's so confusing and like when I, [00:15:32] because like I'm used to just [00:15:34] clicking away from the filter [00:15:35] and if the button is [00:15:36] there [00:15:37] now a little pop up comes up [00:15:39] and says, wait, [00:15:40] you didn't apply your changes but [00:15:41] then the options in the pop up are just [00:15:44] back or discard. [00:15:45] It doesn't let you click apply [00:15:47] in the pop up either. [00:15:49] So it just slows me down [00:15:50] even further because [00:15:51] I've got to say back and then [00:15:52] click apply and I'm like [00:15:57] oh man [00:15:59] sometimes. [00:16:01] Yeah. [00:16:02] Yeah. Scott agrees. [00:16:04] Very tedious and unnecessary. [00:16:07] Yeah. [00:16:08] Yeah. Oh man. Add it to the list. [00:16:12] OK. [00:16:13] Well, let's move on. [00:16:14] I think we've got some [00:16:15] cool things to show here. [00:16:18] So this is one. [00:16:19] So Ben Bailey just noticed this. [00:16:21] I think this has been here [00:16:23] for a while, but I was like, [00:16:24] hey, this is kind of cool. [00:16:25] I don't know that we [00:16:26] ever highlighted this. [00:16:27] It was new to Ben [00:16:29] so it might be new to others. [00:16:32] But this is in an interface button. So [00:16:36] there's [00:16:37] different types of buttons. [00:16:39] So this is a button inside [00:16:41] of an interface that's [00:16:42] different than a button [00:16:43] outside the interface. [00:16:46] And then I think even within [00:16:48] interface, there's two different types of [00:16:50] buttons. [00:16:52] but anyway, so this is kind of a, [00:16:55] a cool little way where [00:16:57] go to URL and records. [00:16:59] So it basically allows [00:17:00] you to pick a field that, [00:17:01] that has a URL and it's, [00:17:04] yeah. [00:17:05] So that is very useful. [00:17:07] So if you want to go to some external, [00:17:10] so they have go to external URL where you, [00:17:13] where you define it right there. [00:17:15] But this is kind of just [00:17:17] a way to reference a [00:17:18] field. [00:17:20] I like that a lot. [00:17:22] Yeah. [00:17:22] Yeah, Carlton, I guess is [00:17:24] new to him as well. So [00:17:26] worth highlighting a [00:17:29] little trick there. [00:17:31] Let's see what else we got? [00:17:33] Oh, this was one, [00:17:34] I was hoping that that Kamille [00:17:35] was here to, to take credit for this one. [00:17:38] This was actually really cool. [00:17:40] A lot of people didn't [00:17:41] know about this one. [00:17:42] So and it took me a while [00:17:44] to figure out what she was talking about. [00:17:47] So, are you familiar with, [00:17:48] with this? You want to explain it? [00:17:50] Yeah, I use this often actually, [00:17:53] it's really, really nice. [00:17:55] So, [00:17:56] and this, [00:17:58] it comes with some caveats. [00:18:00] So you, you need to make sure that [00:18:01] you have no duplicate [00:18:03] record names in a table, [00:18:05] which is best practice. [00:18:08] But [00:18:09] say you are syncing a table [00:18:13] when you sync a table or a view [00:18:16] into another base, you then can [00:18:18] change the field type of any of those [00:18:20] synced fields that are in the synced view [00:18:23] or table [00:18:24] into the synced base. [00:18:27] And so if you've got [00:18:29] say two tables from the same source [00:18:32] into the other base, and you wanna make [00:18:35] sure that they stay linked together [00:18:37] and you can know for sure that they're [00:18:40] not [00:18:41] that you have no duplicate names [00:18:43] and everything's gonna line up properly. [00:18:44] You can just change the field type [00:18:47] to a linked record [00:18:48] and link it to that table [00:18:49] and the changes will flow through [00:18:51] and [00:18:52] you don't have to use an automation [00:18:54] to keep that linked record field in sync. [00:18:57] which is really, really nice [00:19:00] because yeah, by default, [00:19:02] when you, when you create [00:19:04] a sync table, [00:19:05] all of the fields in the destination are [00:19:07] they're long text now, right? [00:19:09] I think they're all like long text. [00:19:11] I don't think they [00:19:12] used to all be long text. [00:19:13] I think somewhere they change that, but [00:19:16] you can still go into the destination [00:19:19] base and then change the fields [00:19:22] to be specific. [00:19:24] And so [00:19:27] yeah, so if you just change the field, [00:19:28] so you just do it once and then after [00:19:30] that, every time it syncs over [00:19:32] as long as the name match it will, [00:19:34] it will link it. And if the name doesn't [00:19:36] match it will actually, [00:19:37] I think it'll create a new record [00:19:39] in the link table, [00:19:40] a new, you know, so you might have some [00:19:43] orphaned records in the link [00:19:45] table if your names don't match. [00:19:47] Right. [00:19:48] I typically like to use the, [00:19:50] the record ID to make sure that things [00:19:53] sync up just because [00:19:55] you [00:19:55] don't [00:19:56] and then this doesn't [00:19:58] require an automation. [00:20:00] But I have noticed like, say you sync out [00:20:02] a table to a different base [00:20:05] and you're doing stuff in that other [00:20:07] base and you wanna [00:20:08] sync that back into your [00:20:09] source base as a second table. [00:20:12] You can use the record ID [00:20:13] to link it back up [00:20:15] to the original record as well in [00:20:16] the same method. [00:20:18] That's really confusing to say I like [00:20:19] I can demo [00:20:20] it. [00:20:22] But yeah, this is a really, [00:20:23] really great tool [00:20:24] that I've been using more and more [00:20:25] often. [00:20:26] Yeah. Yeah, [00:20:28] because yeah, [00:20:29] the other work around now this is [00:20:31] now, does it work [00:20:33] if let's say you're syncing two tables [00:20:36] over that are linked, [00:20:37] it will also work if, [00:20:39] if you do that, [00:20:40] if both tables on the destination are, [00:20:42] are synced tables. [00:20:44] Exactly. That's, yeah, that's what [00:20:46] I'm talking about [00:20:47] as long as you don't have [00:20:49] like duplicate record names [00:20:50] because then you can't [00:20:51] be, you can't be sure [00:20:52] that it's gonna pick the right. [00:20:54] Yeah. [00:20:55] Yeah. [00:20:56] Yeah. So you must have [00:20:57] unique primary keys. [00:20:59] Yeah. [00:20:59] Yep. And then so it works both ways. [00:21:02] Yeah. So even if both tables are synced [00:21:04] or if your destination [00:21:06] just wants to have an independent table, [00:21:09] that it works as well in that [00:21:12] case. So [00:21:13] this saves, yeah, usually like [00:21:14] I've done it where you [00:21:16] just set up an automation [00:21:17] to like copy it and, [00:21:19] and to to create the link. [00:21:22] But this, this saves that automation. [00:21:24] What I have noticed, [00:21:26] which is kind of interesting is [00:21:28] if you do use this method [00:21:30] and then you know how [00:21:31] normally when you right [00:21:32] click on a linked record field, [00:21:34] it gives you the add look up field option. [00:21:36] In [00:21:37] this case, when you, when you change [00:21:40] the field type to a linked record [00:21:42] type, [00:21:43] it does not give you [00:21:45] that option. When you right [00:21:46] click, it doesn't show [00:21:47] you the add look up fields. [00:21:49] But you can [00:21:50] still, if you go create a new field, [00:21:52] make it a type of look up. [00:21:53] You can still choose that as [00:21:55] your [00:21:56] linked fields. [00:21:58] Yeah. [00:22:00] Yeah. OK. Well, if this was confusing, [00:22:02] we'll have Kamille do a segment on it and, [00:22:05] and showcase this in a future episode. [00:22:11] All right. Moving on. Let's go to [00:22:13] the popular TableForums. If you haven't [00:22:16] joined table forums, [00:22:17] definitely check it out. [00:22:18] It's, it's growing and, [00:22:19] and lots of interaction happening there. [00:22:23] Looks like we just lost Alli. [00:22:25] Hopefully she comes back [00:22:27] this time. It's not my, [00:22:29] it's not my computer internet. [00:22:31] So it looks like Alli's having [00:22:33] internet issues. [00:22:35] There she is [00:22:38] somehow my browser just like [00:22:39] hit the back button. I don't. [00:22:43] No worries, no worries, you're back. [00:22:46] All right. So yeah, so just kind [00:22:48] of giving a shout out to [00:22:49] TableForums and [00:22:50] Scott and Kuovonne [00:22:51] and everybody that's, [00:22:53] that's active over there. [00:22:55] Appreciate it. [00:22:55] Lots of, lots of cool conversations. So [00:22:59] I was gonna showcase a couple [00:23:00] show and tells from there, [00:23:02] this is a really good tutorial [00:23:04] from Kuovonne [00:23:05] on how to convert a script [00:23:07] from scripting extension [00:23:09] to an automation script. [00:23:10] There are differences, [00:23:12] there are things you can do [00:23:14] in one and not in the [00:23:15] other. [00:23:16] I know I get this quite a bit. [00:23:18] I need to and I've got [00:23:20] a script out there that [00:23:21] people are always asking [00:23:22] how do I run this in an automation. [00:23:25] And [00:23:26] so I'm gonna, I'm gonna send [00:23:28] people to, to this article [00:23:29] to understand how to [00:23:30] move it over. [00:23:32] But so yeah, shout out to Kuovonne [00:23:33] for this good tutorial on, [00:23:35] on what what you have to do to [00:23:38] and what the differences are [00:23:39] between the two environments [00:23:41] and how to move from, [00:23:42] from one to the other. [00:23:47] Very useful if you're scripting. [00:23:50] Yeah, this was a good [00:23:53] conversation on interfaces. [00:23:58] So just kind of a question from, [00:24:01] from a, from a consultant Rupert asking [00:24:05] about, you know, working with [00:24:06] interfaces or some good conversation here [00:24:11] about [00:24:13] kind of the pros and cons like [00:24:15] everybody's asking for it. [00:24:16] But there, I think like [00:24:17] what you were saying, [00:24:18] like there's all these like [00:24:19] little things where you're like, [00:24:20] ah it's frustrating. [00:24:22] So there. So if you find yourself [00:24:25] similarly, [00:24:25] like struggling with interfaces, [00:24:27] this is a good thread. [00:24:30] I think there's some good [00:24:33] commentary in here. [00:24:37] Absolutely. [00:24:42] Yeah. I think it's just, you know, [00:24:45] overall, I think the general consensus is, [00:24:47] is [00:24:50] is [00:24:52] there's a lot there but just kind [00:24:55] of like that last 10 20% [00:24:57] that just still is [00:24:58] frustrating with them. [00:25:01] Yeah, [00:25:02] I saw, there was a sentence [00:25:04] I just saw up on, [00:25:05] I think maybe it was Bill's Post [00:25:07] that said they tolerate [00:25:09] weak features, which [00:25:11] I have to agree with. [00:25:13] Yeah. [00:25:14] Yeah. [00:25:14] Yeah. [00:25:16] So good. Good back and forth Kuovonne [00:25:18] if you ever see a conversation [00:25:20] between Bill and Kuovonne [00:25:21] that's worth reading. [00:25:22] It's, it's, [00:25:24] I enjoy their back and forth. [00:25:26] I think they, [00:25:27] they like to [00:25:29] poke at each other a little bit [00:25:34] and [00:25:35] yeah. So, [00:25:36] yeah. Good conversation on, [00:25:38] on interfaces and, and how maybe you can [00:25:41] help them or use them more effectively. [00:25:45] All right, the last segment there, [00:25:47] I've got four, just kind of shout outs and [00:25:49] like I mentioned at the beginning [00:25:51] of the show, we're gonna do a deep dive [00:25:53] later this season in the chat GP T but [00:25:56] it just this last month, [00:25:57] it just start, [00:25:58] it's starting to show up everywhere. [00:26:01] So Greg built a really cool [00:26:05] chrome extension [00:26:07] and I think it's now it's [00:26:10] now in the chrome store [00:26:12] and I believe it's free. [00:26:15] So it's kind of cool. [00:26:16] So it's an extension. [00:26:17] So it can actually like insert stuff [00:26:19] into the browser. [00:26:21] So it actually puts a, [00:26:22] a button in the Formula Builder [00:26:25] and it allows you to [00:26:27] get help with your formula. [00:26:29] So you can ask inside the formula box [00:26:32] and then it'll give you a, [00:26:34] a sample [00:26:36] formula using chat GP T [00:26:38] and there's a video about it. [00:26:40] So that's pretty cool. [00:26:43] There's another, there's an extension [00:26:47] in the marketplace now [00:26:49] that that basically you can take [00:26:53] you know, a prompt. [00:26:55] So you have a field here [00:26:56] and [00:26:58] you can put your prompt there [00:26:59] and then click the button [00:27:00] and then it puts the [00:27:01] output in the, [00:27:03] in the text there. [00:27:06] So that's kind of cool. [00:27:10] It is called, [00:27:13] oh this one is actually a script. [00:27:17] I thought that [00:27:20] yeah, OK. This one's a script, [00:27:22] there's also in the marketplace, [00:27:23] there's a dedicated extension [00:27:25] that I think does very similar to this. [00:27:28] So you could do it either way. [00:27:30] So I don't know if it's [00:27:31] from the same developer. [00:27:34] I'll have to find that out, [00:27:35] but this one's actually a script [00:27:36] and he provides the [00:27:37] script there. So you just copy that [00:27:39] and then you do have to provide your own [00:27:41] API key from, from open [00:27:44] A I and so then you can [00:27:48] get going, but it looks like it [00:27:50] uses the, the configuration. [00:27:51] So [00:27:53] you'll, you, you just have to copy [00:27:55] this in and then it'll ask you for, [00:27:56] it'll ask you for your key. [00:27:59] So that's cool. [00:28:01] Then, now this one was also cool. [00:28:05] This is a from John [00:28:07] Ken. He has a youtube [00:28:09] video basically how you [00:28:11] can build chat GP T assistant [00:28:14] in Airtable. So kind of similar to, [00:28:16] to that script but takes it up a notch. [00:28:19] I think he uses make to, [00:28:21] to make the API call. [00:28:25] I'm not sure about that. [00:28:27] I, I started to watch the video [00:28:28] but I think it uses, [00:28:30] I think the API call, [00:28:31] maybe it's directly, maybe it is using a, [00:28:33] a script to, to make the call. But [00:28:36] a [00:28:37] very detailed tutorial [00:28:39] if you want to incorporate chat GP T [00:28:42] into your Airtable [00:28:43] and create a copilot [00:28:45] in there. [00:28:47] And this was actually [00:28:49] the same one that, that [00:28:51] G G BT. So [00:28:54] yeah, nothing new there. [00:28:55] So, yeah, there's also [00:28:58] if you check out, [00:28:59] I do need to give a [00:29:00] shout out to Bill French. [00:29:01] He's been writing a lot about A I and, [00:29:04] and chat [00:29:05] GP T and, [00:29:06] and how he's got it set up and, [00:29:08] and a pretty event stuff. [00:29:10] So if you go to I, [00:29:11] I, I believe in, in TableForums, [00:29:14] he's got, yeah, there we go. [00:29:16] There's this one, [00:29:18] I think there's others as well. So, [00:29:20] so if you want to learn [00:29:22] more about a I, [00:29:23] you can check out Bill French's [00:29:26] stuff and, [00:29:27] he's, he's talking a lot about [00:29:30] it. [00:29:30] There are others. [00:29:33] I don't know, I'm still in the playing [00:29:34] with the mode. I haven't like, [00:29:36] fully integrated it into my workflow. [00:29:38] Other, other people on our team on the [00:29:40] consulting side, [00:29:41] are using it much more [00:29:43] consistently as part of our, [00:29:45] our workflow. So, [00:29:46] I need to, I need to [00:29:48] make it more a daily routine. [00:29:52] I don't know how much you're using it. [00:29:54] You still in play mode or is it? [00:29:56] Still in play mode. I, I don't really use [00:30:00] it much for like my day to day work [00:30:02] using Airtable, [00:30:03] but I saw somebody the other day [00:30:06] had a, had a good use case for it [00:30:08] where they actually fed [00:30:09] it a formula and asked [00:30:10] it to describe it [00:30:12] and then were able to use that [00:30:13] as their field description, [00:30:15] which I thought was [00:30:15] really cool. [00:30:18] But other than that, I mean, [00:30:19] you gotta be really careful [00:30:21] because Chat G BT does [00:30:22] just make stuff up when it doesn't, [00:30:24] when it feels like it. So, [00:30:26] yeah, [00:30:27] yeah, it is tricky. [00:30:29] Yeah, so yeah, [00:30:30] you gotta be careful with it. [00:30:32] So, all right, I think that's [00:30:35] around the a wrap up of, [00:30:37] Round the Bases and [00:30:38] what's going on there [00:30:40] if we missed anything. [00:30:41] It's very likely we missed a major [00:30:43] feature release. It all kind of blends [00:30:45] together. So feel free [00:30:46] to hit us up, let us know. [00:30:49] and, we'll keep you up to date [00:30:51] going forward. It's easier when we're on a [00:30:53] weekly basis. There's, there's, [00:30:55] there's, [00:30:57] easier to keep our eyes on it. [00:30:59] Ok. [00:31:00] Shout out to On2Air. [00:31:01] Our primary sponsor. [00:31:03] It's an all in one tool kit to run [00:31:05] your business on Airtable. [00:31:07] If your business depends on Airtable, [00:31:09] then you definitely need to check out [00:31:10] On2Air [00:31:11] and the suite of apps that we have. [00:31:14] I'm going to [00:31:16] give a quick update on our forms. [00:31:20] We're getting close to, [00:31:23] we are still in a private beta, [00:31:24] although we have many people using it in [00:31:26] production [00:31:27] and getting really good success. [00:31:30] For today, I wanted to highlight [00:31:32] and Scott, I know I was watching, [00:31:34] this is, this is thanks to Scott, [00:31:37] we just made a change [00:31:38] and I don't even know if Scott knows this. [00:31:40] I, I I forgot to update him that, [00:31:42] that this change went live. [00:31:43] But [00:31:45] we now [00:31:48] I [00:31:48] want to get feedback. [00:31:50] So this is kind of a feedback session [00:31:52] on how people would [00:31:53] expect a form solution to work. [00:31:57] So when, when dealing with [00:31:59] linked records, [00:32:00] one of the challenges that we faced [00:32:02] and we just changed [00:32:04] the behavior over the weekend [00:32:05] is how to deal with [00:32:08] creating new LINKED records, [00:32:10] updating existing records [00:32:12] and when that link takes [00:32:13] place. [00:32:14] So the behavior of how On2Air [00:32:16] works is [00:32:18] you can, you can use the same, [00:32:22] You can use the same form [00:32:24] to either create a new record [00:32:26] or edit an existing [00:32:27] record [00:32:28] and this makes it easy to [00:32:32] that's not good. [00:32:37] All right, [00:32:38] found a bug. [00:32:39] It's always good. [00:32:41] And so, [00:32:43] so we changed the behavior of [00:32:46] it used to be when you create, [00:32:48] if you're, [00:32:49] if you're creating a linked record, [00:32:51] so like a sub a child record, [00:32:53] you would create that record [00:32:56] and it actually would save in Airtable, [00:32:59] but it wouldn't be linked to the parent [00:33:02] until you save the parent. [00:33:04] So that linking didn't happen until, [00:33:07] until you save the, the, [00:33:08] the top level form [00:33:11] here. [00:33:11] And so based on feedback, [00:33:13] especially from Scott, [00:33:15] heard him loud and clear, [00:33:18] we changed that and, [00:33:20] and other people also [00:33:21] expressed this. So now [00:33:22] when you create a new record, [00:33:24] a new child record, [00:33:26] it will automatically link to [00:33:27] the parent record. [00:33:28] If the, if you're editing [00:33:30] an existing record, [00:33:33] if you're creating a new record, [00:33:35] then there's nothing [00:33:36] to link to until that, [00:33:37] that parent record is created. And so [00:33:40] it's kind of confusing. [00:33:41] We're, we're working on [00:33:43] documentation to, [00:33:43] to explain this better. But [00:33:45] I want to get people's feedback [00:33:47] because there's other [00:33:48] scenarios where so if [00:33:49] you're [00:33:50] because the difference between [00:33:52] a form solution like ours [00:33:53] and creating a new [00:33:54] record in Airtable is, [00:33:56] you know, an Airtable, [00:33:58] you always create that parent first. [00:33:59] So that parent always exists. [00:34:01] Whereas if you're outside of Airtable, [00:34:03] that parent doesn't exist [00:34:06] until you hit save. [00:34:08] And so the behavior is a little [00:34:09] bit different than, [00:34:11] than how it works inside of [00:34:12] Airtable. We want to get this right. [00:34:14] We're deciding if we make it [00:34:16] configurable or just kind of [00:34:18] set in stone what the behavior is [00:34:20] and, and educate the clients. [00:34:22] Because there's other differences [00:34:25] if you're, [00:34:26] if you're [00:34:28] removing so example, [00:34:30] you have a list of child records [00:34:32] and you want to remove one of them [00:34:35] that doesn't get unlinked [00:34:37] until you hit, save on the parent. [00:34:40] So there's different scenarios [00:34:42] of when, when the linking happens or gets [00:34:45] removed or when it doesn't [00:34:47] happen depending on, [00:34:49] you know, what state you're in. [00:34:51] And so I want to get people's feedback, [00:34:52] what would your expectations be [00:34:55] with with when that link takes place? [00:34:57] So as of now, [00:34:59] it will, when you create a new [00:35:01] child record, if the parent record exists. [00:35:04] So if you're editing an [00:35:06] existing parent record, [00:35:07] that link will happen once [00:35:09] you create the record. [00:35:11] Because the other thing is we, [00:35:13] we debated early on [00:35:14] is when do you actually [00:35:15] create the child record? [00:35:17] Do you wait till you [00:35:18] save the parent record? [00:35:20] We decided that, that [00:35:21] that actually gets created once you hit, [00:35:24] save on the child. [00:35:26] So it's kind of confusing [00:35:28] because you will have [00:35:29] updated data in Airtable of [00:35:30] the child record, but the parent [00:35:33] doesn't get updated until you hit, [00:35:34] save on the parent. [00:35:38] So we're getting feedback from Scott. [00:35:42] Save changes automatically [00:35:44] affect the parents as, [00:35:45] as un linking child or [00:35:46] creating or editing. All right. [00:35:48] Good feedback, Scott. [00:35:49] We'll take it into consideration. [00:35:52] Yeah. [00:35:53] Yeah. So, yeah, let me know. [00:35:55] I don't know any thoughts. [00:35:57] That's, it's a great [00:35:59] philosophical question. right? [00:36:02] I guess is [00:36:03] everybody's gonna have different opinions. [00:36:06] No doubt. I will say that like, [00:36:09] I guess [00:36:09] it would be really nice if like [00:36:12] in, I guess in my opinion, [00:36:14] it would be nice if like [00:36:15] nothing happened until you [00:36:16] hit save on the parent. [00:36:18] But I could imagine that that [00:36:19] would be a logistical nightmare [00:36:21] for you to code on [00:36:21] the back end. [00:36:24] But the, the thing that like I've found [00:36:26] confusing when using form solutions like [00:36:27] this, when you create the child [00:36:29] and your child record has a formula, [00:36:31] for example, for the primary key [00:36:33] that's trying to read that parent name. [00:36:36] Then when you create it, [00:36:37] it's just got like a blank [00:36:39] and then a dash and then [00:36:40] whatever. So it just looks a little funny. [00:36:44] So yeah, there's a lot of little [00:36:46] details to keep in mind there. [00:36:47] Yeah. [00:36:48] Yeah. Yeah. All those things. [00:36:50] Yeah, especially [00:36:51] or like your formula doesn't [00:36:52] update until, you know, [00:36:54] because it has to go back to Airtable. [00:36:56] So we solved that by creating [00:36:59] our own formula field. And [00:37:01] this was actually something else [00:37:03] that just went live this weekend. [00:37:04] Now, a child table or a child record [00:37:07] can actually reference a record from the [00:37:10] parent. [00:37:11] And so now you can create [00:37:13] custom formulas within the client [00:37:16] within the form that reference [00:37:19] the parent. So and it will update live. [00:37:21] And so that is a cool feature [00:37:23] that that's been requested quite a bit, [00:37:25] but it was challenging to pull off. [00:37:27] But we got that working now, [00:37:30] I hear you. [00:37:31] So that yeah, there's, [00:37:32] there's lots of little things it's like, [00:37:34] oh OK. I could see it working [00:37:37] different ways for [00:37:38] different use cases. And [00:37:40] that's one of the challenges [00:37:41] with Airtable being [00:37:43] just a flexible platform as it [00:37:44] is they, [00:37:45] you know, everybody has a different [00:37:47] opinion on how it should be implemented. [00:37:49] Absolutely. [00:37:50] So that we, we, we have [00:37:52] that similar struggle on our end. [00:37:55] All right, there's our shout out to [00:37:58] On2Air, check it out at on2air.com [00:38:01] okay. [00:38:02] Alli is gonna walk us through [00:38:04] and how to use formulas [00:38:06] with your single select [00:38:07] fields. [00:38:09] Here you go. [00:38:10] All right, [00:38:11] excellent. So I just threw [00:38:13] together a small little [00:38:15] use case for this demo, [00:38:17] but there are a million ways [00:38:19] that you could use this [00:38:20] to your advantage. [00:38:22] So [00:38:23] here I've got [00:38:25] in a variation of the sales [00:38:27] C R M template that Airtable has. [00:38:31] I've got this closed date field. [00:38:33] And then I've calculated [00:38:35] how many weeks that each [00:38:37] of these opportunities has [00:38:38] been aging. [00:38:40] So this one's five weeks old, [00:38:42] nine weeks old, [00:38:43] 24 weeks old and so on and so [00:38:45] forth. [00:38:47] Then I've calculated here in a [00:38:49] formula with a bunch of nested ifs [00:38:52] what [00:38:53] I want my like aging status to be. [00:38:58] So [00:38:58] this could really be anything you want. [00:39:00] I'm sure that everybody's got their own [00:39:02] little twist on this in, [00:39:04] in a bunch of different bases. [00:39:07] Like sometimes you have [00:39:09] a formula driven status that [00:39:11] displays certain values based on certain [00:39:14] parameters that that record holds. [00:39:18] So in this case, we've just got, [00:39:20] you know, if it's new, [00:39:21] if it's less than five [00:39:22] weeks old, I've designated [00:39:23] that as a new opportunity. [00:39:25] 15, less than 15 weeks old, [00:39:28] it's getting old, [00:39:29] less than 25 weeks old, getting older, [00:39:32] then turns into Danger. [00:39:34] And then if it's over 35 weeks old, [00:39:37] it just says too old. [00:39:38] So that could be tweaked [00:39:40] or changed in any number of ways. [00:39:44] Now I'm gonna show an example of a chart [00:39:47] based on that aging status field. [00:39:51] And so, [00:39:52] and then this is one of the [00:39:54] use cases as to why I like to [00:39:56] take that formula field and turn it [00:39:58] into a single select in a way [00:40:00] because these colors don't really [00:40:02] mean anything to me, right? [00:40:03] Airtable's [00:40:06] default color scheme [00:40:08] isn't super helpful in designating like [00:40:12] I would like the red to be [00:40:13] when it's too old, [00:40:15] but instead it's assigned [00:40:16] that blue randomly, [00:40:19] all sorts of different reasons [00:40:21] why I'd want this to be. [00:40:22] I, I want more control [00:40:23] over the color in this chart. [00:40:25] And if I go and pick any one of these, [00:40:27] they're just, none of them are gonna [00:40:29] line up exactly with where [00:40:31] I would want them to be. [00:40:33] So, the way that I like to get around that [00:40:36] is [00:40:38] I create a single select field [00:40:41] and I'm just gonna call it aging status. [00:40:44] I like to put a little gear [00:40:45] in front of my, [00:40:48] a lot of different like [00:40:49] formulas in Airtable if [00:40:52] like I know that this formula field [00:40:54] can stay hidden and it's also integral, [00:40:56] integral to a process [00:40:58] because this gear likes to, [00:41:01] it's kind of a [00:41:02] scary thing for people to look at [00:41:04] and be like, oh there's a gear there that [00:41:06] looks like it's important. [00:41:08] I'm not gonna touch that. So [00:41:09] it's a nice little way [00:41:11] to get around that. [00:41:12] So I'm just gonna copy [00:41:15] and paste [00:41:16] into this field. [00:41:19] Now, I can [00:41:21] take these [00:41:23] and you know, assign [00:41:25] my colors to them as I want [00:41:30] could say new, [00:41:31] I want new to be at the top. [00:41:35] And then I also, [00:41:37] if the opportunity has been [00:41:39] closed, [00:41:42] then it says closed one or closed lost. [00:41:46] So now these colors are really [00:41:48] what I want displayed on my chart. [00:41:51] But [00:41:52] this is not gonna be updated [00:41:54] automatically when this changes, [00:41:56] right? Like if I move this so that [00:42:01] it was [00:42:02] new, [00:42:03] this is now new, [00:42:05] but this is still says getting old. [00:42:08] So to get around that, [00:42:10] I'm gonna create one formula field here [00:42:14] and I put a little lightning [00:42:16] bolt when I know that [00:42:17] this field is gonna be [00:42:19] triggering an automation. [00:42:22] So I'll say update aging status [00:42:25] and I'm gonna write a formula [00:42:27] very simple. [00:42:28] It's just gonna say if I have an [00:42:29] aging status [00:42:31] and that aging status [00:42:34] does not equal [00:42:37] by aging status, single select, [00:42:40] then I want to [00:42:42] update [00:42:44] the aging status. [00:42:47] And this should be the only [00:42:49] one that has this value in it. [00:42:51] If I go here, only one is filled. [00:42:55] So now I can set up an automation [00:43:00] to update that aging status field. [00:43:03] And I'm gonna go with when [00:43:05] record matches conditions, [00:43:07] you could, I suppose ignore that, [00:43:10] not do the formula [00:43:12] and just use when record updated. [00:43:14] But I don't trust that trigger [00:43:17] at all. [00:43:18] I 99.9% of the time and going [00:43:21] with when record matches conditions. [00:43:23] And I try to have a formula [00:43:25] that's gonna drive that. So [00:43:27] I know [00:43:27] I have more control over [00:43:29] when that automation [00:43:30] actually is triggering. [00:43:32] So basically this is just saying [00:43:34] when update aging status is not empty, [00:43:37] I only have this one [00:43:39] that [00:43:39] meets those conditions right now. [00:43:42] And then I'm gonna update [00:43:44] on the opportunities table, [00:43:46] that same record that [00:43:47] triggered the automation [00:43:50] and I'm gonna update my [00:43:52] aging status single select [00:43:56] with the value from the formula. [00:44:03] So if I just run that real quick, [00:44:06] you can see it crossed out, [00:44:08] getting old and it replaced it with new [00:44:10] and then also that update [00:44:12] aging status formula field went away, [00:44:14] returned empty. [00:44:18] So now [00:44:19] in my chart, if I flip how this is grouped [00:44:24] instead of my formula field, [00:44:26] I can use my single select [00:44:28] and it's much prettier with [00:44:30] the colors exactly how I want them. [00:44:33] I could then [00:44:34] go change those colors if I wanted. [00:44:36] Like let's say I want too old to be [00:44:39] black or gray [00:44:43] that also updates my [00:44:45] dark colors as well. [00:44:47] So [00:44:48] I've found that, that [00:44:50] I just like doing that to get more [00:44:52] control over how my interfaces look. [00:44:54] You can also use this like [00:44:56] if you wanted to make a like a kanban [00:44:59] or kanban, [00:44:59] not sure how everyone [00:45:01] pronounces that word. [00:45:02] If you wanted to make [00:45:04] a [00:45:04] kanban view over this formula field, [00:45:07] you obviously can only do it [00:45:09] with a single select. [00:45:10] So this would allow you to [00:45:11] use this as your single [00:45:13] select field instead. [00:45:16] One last thing I will point out [00:45:18] is I like to whenever I do this, [00:45:20] I usually set the field permissions [00:45:23] to say that nobody [00:45:25] except automations can update this field. [00:45:29] Because [00:45:30] otherwise [00:45:33] I'll show you what happens. [00:45:35] I, I turned that animation on. Right? [00:45:36] Yeah. [00:45:38] Otherwise if somebody [00:45:39] comes here and flips this, [00:45:41] it's just gonna change back. [00:45:44] And [00:45:45] that's a confusing user experience. [00:45:48] So I like to make sure that [00:45:52] nobody can [00:45:53] update that record. So that way it's just [00:45:56] stays that way. [00:46:00] Yeah. [00:46:02] Very cool. [00:46:04] Yeah, that's another, [00:46:06] even the way that you set up that, [00:46:08] that automation or that formula there to [00:46:11] detect it. [00:46:12] If you set it up the other way. [00:46:14] Whereas just listening, [00:46:15] like on the close date [00:46:16] for when the close date [00:46:17] was updated, [00:46:18] then it wouldn't have triggered if the, [00:46:20] if you manually change the [00:46:22] drop down to, to reset it back. [00:46:24] So that's another benefit of setting [00:46:27] it up the way you did. But yeah, [00:46:28] putting that permission on there. That, [00:46:30] that's nice. [00:46:32] Definitely. Yeah, I've found that that's, [00:46:34] it's helpful because it just [00:46:36] locks it down even further. [00:46:37] How does, how does it behave in [00:46:39] kanban [00:46:40] if you have that permission on there? [00:46:42] Can you still do a kanban [00:46:43] but you just can't drag it between? [00:46:46] Yeah, I believe so. Let me here. [00:46:47] Let me just present one more time and [00:46:51] well, it's [00:46:59] so now if I use kanban [00:47:02] do you have the [00:47:04] permission on? [00:47:05] Yeah. [00:47:06] Yeah, I do. Good. [00:47:08] So, yeah, now I just can't. [00:47:14] Yeah, [00:47:14] but you still get the look [00:47:16] and feel that you [00:47:17] the kanban wants. [00:47:19] That's kind of cool. Just to lock it in. [00:47:23] Nice. Very cool. That is a great trick. [00:47:26] Yeah, get the coloring and get it the [00:47:28] way you want [00:47:30] nicely done. [00:47:31] All right, let's move on. [00:47:34] So this one, I wasn't quite sure [00:47:36] we don't have a segment. [00:47:37] Actually, before I do that quick, [00:47:39] shout out from Alex. Very cool. [00:47:41] I've been using formula to update [00:47:42] the dropdown field, but I was using [00:47:44] the when record change automation. [00:47:46] I've seen it not work [00:47:47] only a handful a couple [00:47:48] times. [00:47:49] Yeah. [00:47:50] It, [00:47:51] I've, [00:47:52] I feel like it runs when I don't [00:47:54] expect it to [00:47:54] and it doesn't when I do expect it [00:47:56] to sometimes which [00:47:58] not a fan of. [00:47:59] Yeah. [00:48:00] Yeah. [00:48:01] All right. So understanding API [00:48:04] tokens and keys. So a month, [00:48:06] maybe two months ago, [00:48:08] Airtable came out with some new ways to, [00:48:11] to deal with third party integrations. [00:48:14] The old way that has been [00:48:16] there for since the get go is [00:48:18] every account had one single API key [00:48:22] and or every user, I should say [00:48:24] every user had one single API key [00:48:26] and it had read and write access [00:48:29] and that was the only way you [00:48:31] could integrate. [00:48:32] And so there was no granular [00:48:33] permissions around who could access what [00:48:36] you pretty much gave access [00:48:38] to everything with that one API key. [00:48:41] So they finally came out with [00:48:44] more granular ways. [00:48:46] And I'm gonna walk through [00:48:47] just kind of the some of the differences. [00:48:51] So this API key, [00:48:52] this is the old way this used to be a [00:48:54] there's still if you go to your account. [00:48:57] There was a section here [00:48:59] that showed this. If you click on it, [00:49:00] it'll show the actual key. [00:49:04] And they have now a big, [00:49:06] big notice here that this [00:49:08] will be ending at the end [00:49:09] of January 2024. So [00:49:11] if you've integrated anything [00:49:14] with Airtable, [00:49:15] you've likely come to this, [00:49:17] copied your API key, [00:49:18] inserted it into the third party tool [00:49:21] that you need to [00:49:22] once the tool has been upgraded [00:49:25] and supports different [00:49:27] methods, you'll need to [00:49:29] upgrade that by the end of [00:49:31] basically this year. [00:49:34] My understanding, I know, [00:49:36] I think Scott mentioned [00:49:37] that make requires you to [00:49:39] create new connections using [00:49:41] the the new approaches. And so you have to [00:49:44] basically go through every [00:49:46] automation that you have set up [00:49:48] and update them. I don't know [00:49:49] if you've gone through that process. [00:49:52] Not yet. [00:49:53] Zapier [00:49:54] doesn't even let you use the tokens yet. [00:49:57] Oh really? Or O'Auth [00:49:58] they haven't implemented O'Auth? [00:50:00] Not that I've seen it [00:50:02] only accepts an API key. [00:50:04] Yeah. [00:50:04] OK. [00:50:05] So yeah, so some haven't yet [00:50:07] implemented it yet. [00:50:08] So it's kind of confusing [00:50:09] because you've probably gotten [00:50:11] emails from Airtable [00:50:12] saying you need to upgrade [00:50:13] and you go and, and you can't [00:50:15] because the third party tool [00:50:17] has doesn't support [00:50:17] the new methods yet. So [00:50:19] it's all very confusing. [00:50:22] But basically, so now moving away [00:50:25] from the old API keys, we have, [00:50:28] you know, a year or less [00:50:29] than a year now to, to migrate. [00:50:31] There are [00:50:33] three new approaches. [00:50:35] Two of them are the ones they talk about. [00:50:38] There's a third one that, [00:50:39] that I'll talk about, but it, [00:50:41] it's only for enterprise accounts. [00:50:44] So the new approaches are [00:50:46] personal access tokens and O'Auth. [00:50:51] So let's start with O'Auth [00:50:52] so O'Auth [00:50:53] requires the third party [00:50:56] tool to implement it. So [00:50:57] if they haven't implemented O'Auth [00:50:59] then it means nothing to you yet. [00:51:03] So at On2Air [00:51:04] we just a couple of weeks ago, [00:51:06] we released our O'Auth [00:51:07] integration. [00:51:08] So now we're fully [00:51:10] supporting the new approaches [00:51:12] and we did it the smart way [00:51:14] we made it. You don't have [00:51:16] to go through and reconfigure everything. [00:51:18] You just go to your connection [00:51:20] and there's now a way to upgrade [00:51:22] that connection to use O'Auth [00:51:24] and then anything that was [00:51:25] already using that [00:51:26] connection now uses the [00:51:27] the O'Auth [00:51:28] so it's just [00:51:29] one place that you need to update [00:51:31] and then if you have lots of [00:51:33] backups or forms configured, [00:51:35] you don't have to go to each one to, [00:51:36] to update them. So [00:51:38] hopefully that is helpful. But [00:51:41] so O'Auth [00:51:42] the third party basically sets up a, [00:51:45] a gateway, you've likely seen this with [00:51:48] Google or Twitter or anything [00:51:50] that it comes up with a pop up [00:51:52] that says, do you want to, [00:51:53] do you give permission [00:51:54] to this third party tool? [00:51:58] To get access to it [00:52:00] and you give them permission. [00:52:02] Now, the O'Auth [00:52:03] with [00:52:05] let me see if I can. [00:52:07] Yeah, the O'Auth [00:52:08] with [00:52:10] with Airtable [00:52:12] is even a little bit more granular [00:52:15] because it actually asks you which base [00:52:18] you want to give access to [00:52:20] or which workspace. [00:52:22] And so you can actually [00:52:24] just give access to certain bases [00:52:27] or you can also give access [00:52:29] to all workspaces [00:52:30] and all bases. So, so it can be [00:52:33] as granular as open as you want. [00:52:35] You can also define if you want to [00:52:39] just give read access or write access or [00:52:42] access to the meta information. [00:52:44] So that, that actually I take that back, [00:52:48] the developer determines what you, [00:52:51] what they need [00:52:52] access to and then you, [00:52:54] you grant them access to that. [00:52:56] So you don't decide [00:52:57] what tiers you do decide [00:52:59] what bases you give access to but, [00:53:02] but not the read or [00:53:03] write, or whatever the developer [00:53:05] that implements O'Auth [00:53:06] determines that [00:53:07] and you have to then agree to that or not. [00:53:11] If you want to add access to that [00:53:13] third party tool. [00:53:15] So that's O'Auth [00:53:16] that's done more by the developer [00:53:18] and then they present it to you. [00:53:20] The one that's more in your control [00:53:23] are these personal access tokens. [00:53:25] And so what these allow you to do is [00:53:28] so if I go here and create a new one, [00:53:31] and I'm actually gonna use this [00:53:33] for the next segment. [00:53:35] And so we are going to [00:53:38] create a task robin. [00:53:40] So a personal access token, [00:53:42] if you're they only want you to [00:53:45] use these for internal workflows. [00:53:49] If you're writing scripts and want to [00:53:52] use access to your own API [00:53:55] or to your own bases, [00:53:57] that's where personal [00:53:59] access tokens come in. [00:54:00] They don't want third party tools [00:54:03] to rely on these, they want those to use [00:54:06] O'Auth. [00:54:07] The main difference is, is these tokens [00:54:10] don't have a refresh mechanism [00:54:13] to them, meaning [00:54:14] they don't require the developer [00:54:16] to constantly be checking to see if, [00:54:18] if the user still wants to give access, [00:54:21] the user can come in here and, [00:54:24] and revoke these tokens and delete them, [00:54:26] which means they will no longer work. But [00:54:29] in O'Auth [00:54:30] there's another layer of kind of [00:54:32] security to just make sure that that it's [00:54:34] always up to up to date [00:54:36] within a time frame which is also [00:54:38] a pain in the neck to deal with as a [00:54:39] developer, but there is benefits to it. [00:54:44] So anyways, you create an access token, [00:54:46] you define the scope. [00:54:47] So the different scopes are [00:54:48] what you're giving permission to. [00:54:50] So [00:54:51] they can see all the data, [00:54:53] edit the data [00:54:54] do interact with the comments. [00:54:57] And then the base schema [00:54:58] means they can read like all your table, [00:55:00] field names and field types [00:55:02] and field configuration [00:55:04] and then writing means they can [00:55:06] actually like create new fields [00:55:09] or new tables [00:55:09] using this access. [00:55:11] And then there's also [00:55:13] web hooks to, to interact with [00:55:16] the web hooks that are now available. [00:55:18] And then this one's more for [00:55:20] developers of implementing [00:55:22] extensions which at one point [00:55:24] used to be called blocks. [00:55:26] Then there were apps [00:55:27] now they're extensions, [00:55:28] but it looks like the API [00:55:30] is still using the original name [00:55:32] of blocks. [00:55:34] So you define that. [00:55:36] So for this one, you gotta give, [00:55:38] I'm gonna give read and [00:55:39] write access. I think I need to give [00:55:41] schema read and write as well. [00:55:45] And that's it. And then, [00:55:47] and then now you can define the base. [00:55:50] I'm gonna just give access to one base [00:55:54] to make it simple [00:55:55] and then I'm gonna create a token. [00:55:58] I'm going to hide this. [00:56:00] So I don't share my token [00:56:03] K. I copied it and then I'm done. [00:56:06] Bring it back. [00:56:08] Yeah. [00:56:10] All right. And so now I created this [00:56:13] new token, [00:56:13] it will actually have popped up. [00:56:15] I pulled it over to another screen. [00:56:18] And actually it looks [00:56:20] like it shows partial, [00:56:21] but this is not the full one. [00:56:22] So if you try this, this won't work. [00:56:26] But yeah, so now I have a token copied [00:56:29] and and so I can use it. [00:56:31] So those are, those are the two [00:56:33] that you would interact with. [00:56:35] If you're, you know, if you're, [00:56:37] if you are integrated with a, [00:56:39] with another tool [00:56:40] and they don't yet have O'Auth [00:56:42] then I would say don't [00:56:44] use an access token. [00:56:46] Some, an access token wouldn't work. [00:56:49] Some, it might work. [00:56:50] It depends on how they, [00:56:51] they implemented the, [00:56:53] the tokens originally. [00:56:55] but, [00:56:56] but they're going to have to [00:56:58] implement O'Auth [00:56:58] by the end of the year, [00:57:00] like Zapier. I probably, [00:57:01] you know, if you, if you update it [00:57:03] with access tokens, you're gonna have to [00:57:05] update it again once they implement [00:57:07] O'Auth. So [00:57:09] that's fine if you want to do it twice [00:57:11] or if you wanna wait till they have [00:57:13] O'Auth [00:57:13] implemented, you could do that. [00:57:15] There is one other type of token [00:57:18] that's only for enterprise level and it's [00:57:20] called a service token [00:57:22] and it kind of works very similar [00:57:24] to these personal access tokens. [00:57:26] The difference is a personal access token [00:57:29] by its name is tied to a person. [00:57:32] So this is tied to [00:57:33] the user that created the token. So [00:57:36] anything that this token does [00:57:38] to like update a record, [00:57:40] it will if you look at like the last [00:57:43] modified by, it'll be tied to the user [00:57:45] that created that token. [00:57:47] A service token that's only [00:57:50] available at enterprise does not, [00:57:52] is not associated with any user. [00:57:54] And so it can kind of be this, [00:57:57] you know, universal token that is [00:58:00] updating it similar to [00:58:02] when like automation's [00:58:03] update records. It shows that it [00:58:05] was created by an automation. [00:58:08] It will show I believe that it [00:58:10] was created by a service [00:58:12] key or service token [00:58:15] and maybe give the name of it. [00:58:17] I can't remember. I, [00:58:19] I, I've used it once [00:58:20] with an enterprise client. [00:58:21] I don't know if you know that, [00:58:24] how it shows up. [00:58:25] I haven't played with it yet, [00:58:27] so I'm not sure. Yeah, I think it, [00:58:28] I think you name it [00:58:30] just like you name these [00:58:31] tokens and it'll say it was, [00:58:33] it was updated by that, [00:58:35] that service token. [00:58:36] So, [00:58:36] so it's not tied to any individual user [00:58:39] which, which is beneficial. [00:58:41] And if you're at a company where [00:58:43] people are coming and going, [00:58:45] you don't want, you know, [00:58:47] when you have to remove that person. [00:58:49] If you have automations [00:58:50] using that token, their person [00:58:52] little token, [00:58:53] they'll break once they get removed. [00:58:56] And so a service token lives you know, [00:58:58] forever beyond any individual user. So, [00:59:02] so [00:59:02] there's, there's definitely benefits [00:59:04] to, to using service tokens. [00:59:06] If you're at the enterprise level, [00:59:09] that's a big benefit to it. [00:59:12] So that is understanding the API keys [00:59:16] and [00:59:18] we'll move on here. [00:59:19] Got just a few minutes [00:59:21] and just a quick shout out to join [00:59:23] the BuiltOnAir community. [00:59:25] Our goal is to get to 1000 [00:59:27] youtube subscribers [00:59:29] by the end of the year. [00:59:31] We're in the 700 range. [00:59:33] So please subscribe to our youtube channel [00:59:36] and join our community [00:59:38] if you're not already in there [00:59:40] builtonair.com/join [00:59:42] This year I think we do have some, [00:59:44] some big, big plans coming for, [00:59:46] for BuiltOnAir. So [00:59:47] we'll be announcing some, [00:59:49] some updates in the future. [00:59:51] Finally An [00:59:52] App a Day [00:59:53] Task Robin. [00:59:55] So no association with Task Robin [00:59:57] use at your own risk. [01:00:00] I I have only seen this posted [01:00:02] the the developers posted in the in the [01:00:06] forums, but I have not spoken [01:00:09] or talked to this developer so [01:00:11] use at your own risk. [01:00:13] But I wanted it is a cool functionality. [01:00:15] So I thought it was worth showcasing [01:00:18] how it works. [01:00:20] And [01:00:22] so basically you go [01:00:23] to the marketplace, by the way, [01:00:25] when I went to install this, [01:00:27] I noticed there are a lot [01:00:29] of new extensions [01:00:31] in the last, you know, six weeks. [01:00:33] So Airtable is getting more [01:00:36] active at approving extensions. [01:00:38] So that's good to see. [01:00:41] Hopefully that continues and they, they [01:00:44] implement extensions. [01:00:46] Airtable, you need extensions [01:00:49] inside of interfaces, please. [01:00:51] Absolutely. [01:00:53] Yeah. Yeah, [01:00:54] that will be that, [01:00:56] that will be when extensions really [01:00:58] become [01:00:59] popular. [01:01:01] I want pivot tables. [01:01:03] Yeah. Yep. [01:01:05] So, so what Task Robin does is [01:01:08] it sets up an email address [01:01:11] that on Task Robin. [01:01:12] So it does integrate. [01:01:14] So it does go through them. [01:01:15] They kind of act as a as a proxy, [01:01:18] but basically you can send any email [01:01:21] to the address that, that you [01:01:24] configure here at task Robbin dot I O [01:01:27] and it will actually like save that [01:01:30] email into your table that gets created [01:01:34] here. And so I haven't actually [01:01:36] walked through all of this. [01:01:37] So we're gonna do [01:01:37] this live. This will be an unboxing. [01:01:40] So I'm gonna use, [01:01:42] I'll use my [email protected] [01:01:46] And then let's use BuiltOnAir. [01:01:48] So I'm gonna, [01:01:49] so it's going to create a [01:01:51] BuiltOnAir at Task Robin dot I O [01:01:53] and let me [01:01:55] move this, I'm gonna enter [01:01:57] the API key that I just created [01:01:59] so [01:02:01] bad news. [01:02:03] So they don't support the access token. [01:02:06] So I pasted it in my API key, [01:02:09] my access token and it tells me [01:02:11] it's in the wrong format. [01:02:13] So they still use the [01:02:14] old API key format. [01:02:17] So [01:02:18] let me [01:02:22] let me grab that real quick. [01:02:24] Actually, I'm logged in with the user [01:02:26] that I'm not comfortable giving. [01:02:28] So we're just gonna walk through it. [01:02:31] How it works. But basically, [01:02:37] so I'm gonna bring it back in. [01:02:40] So basically how this works [01:02:43] is you set it all up and then [01:02:45] you can send anything you [01:02:47] could set up email rules in your [01:02:51] oops. [01:02:52] No, we can't see your screen. [01:02:54] Yeah, I gotta [01:02:55] add it back into my. [01:02:57] There we go. [01:03:00] So once you set it up as long [01:03:02] as you're emailing it from here, [01:03:04] you could set up like auto forward [01:03:06] rules and then just forward it into this [01:03:08] email address, then this application [01:03:11] will automatically, [01:03:12] save it. So this is really cool for [01:03:15] automating, you know, [01:03:17] just any kind of email, [01:03:19] ingestion into Airtable. [01:03:21] You can do this with Zapier [01:03:23] and make as well. [01:03:24] They, they have that functionality, [01:03:26] maybe even more advanced where, [01:03:28] like I know Zapier [01:03:29] has a email parser that can parse it out [01:03:33] and then you could put specific fields [01:03:36] based off of your email. [01:03:38] I use this on the consulting side for, [01:03:41] for leads. I think you probably do as [01:03:44] well. [01:03:44] And I part I extract out, [01:03:46] I do it through a script. [01:03:48] So I actually have like [01:03:50] rejex [01:03:50] and [01:03:51] extract out from from the body [01:03:54] of the email and then update fields. [01:03:56] And you could do that with [01:03:58] this as well. The benefit [01:03:59] like this, this is actually kind of [01:04:01] good because it gets the email into [01:04:03] Airtable and then once it's [01:04:05] in Airtable, then you can [01:04:06] write a script to extract from there. [01:04:10] which is actually what I do as well. [01:04:12] But I use Zapier for, [01:04:14] for getting it into Airtable, [01:04:16] right? [01:04:17] So, but it's cool, nice, nice app. [01:04:19] This functionality this would be [01:04:21] there is I I thought Airtable [01:04:24] announced a feature. [01:04:26] it was like air email syncing [01:04:30] and I was hoping it was this functionality [01:04:33] and maybe someday they will. [01:04:35] It's not quite this, [01:04:37] it's more of sending in like a [01:04:38] CS V attachment [01:04:40] and then gets synced. [01:04:42] This is what I was hoping for. But [01:04:45] yeah, so this, this is a cool cool app. [01:04:48] Check it out task Robin dot I O [01:04:51] and I believe they support other [01:04:53] platforms as well besides Airtable [01:04:56] and is this free? [01:04:58] I think they have a free tier for [01:05:01] just a few emails and then it's, [01:05:03] it's paid for [01:05:05] any kind of serious usage. [01:05:08] Yeah. [01:05:08] Yeah. [01:05:09] So, [01:05:10] but yeah, check out [01:05:12] check out the the extensions [01:05:14] and maybe we'll explore [01:05:16] some of these others. [01:05:17] If there's one you want us to explore, [01:05:19] always open to [01:05:21] digging into these. [01:05:23] So [01:05:26] that concludes today's show. [01:05:28] Thank you all. [01:05:29] Excited to be with you for another [01:05:31] season. We'll be back. [01:05:32] We have a guest joining us next week, [01:05:34] so [01:05:34] be sure to catch us next time. [01:05:36] We'll see you then. [01:05:38] Ok. Thank you. [01:05:40] Bye [01:05:41] bye.