5/30/2023 – BuiltOnAir Live Podcast Full Show – S14-E08
Duration: 54 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.
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:03:54 –
Following Articles Used in this Segment:
[BuiltOnAir Community] general – BuiltOnAir – Slack
[BuiltOnAir Community] Formula Output Text Limit
[Airtable Community] New: Improvements to Timeline View – Airtable Community
Industry View – 00:23:31 –
Learn all the ways you can use Airtable within the Non-Profits/NGOs Industry. From pre-made bases, apps, automations, and custom bases, we’ll show you how to set up bases and get your Non-Profits/NGOs organization established in Airtable.
Jen Rudd will walk through how Airtable can be used within the NGO/Non-profit world.
Base Showcase – 00:37:42 –
We dive into a full working base that will Kamille will showcase a demo of a prototype for the character listing of a Table Top Role Playing Game.
Audience Questions – 00:50:38 –
Jason G answers the Airtable question: “How does the scripting handle record ids if not in the view”
Full Segment Details
Segment: Round The Bases
Start Time: 00:03:54
Roundup of what’s happening in the Airtable communities – Airtable, BuiltOnAir, Reddit, Facebook, YouTube, and Twitter.
Following Articles Used in this Segment:
[BuiltOnAir Community] general – BuiltOnAir – Slack
[BuiltOnAir Community] Formula Output Text Limit
[Airtable Community] New: Improvements to Timeline View – Airtable Community
Segment: Industry View
Start Time: 00:23:31
Airtable for the Non-Profits/NGOs Industry
Learn all the ways you can use Airtable within the Non-Profits/NGOs Industry. From pre-made bases, apps, automations, and custom bases, we’ll show you how to set up bases and get your Non-Profits/NGOs organization established in Airtable.
Jen Rudd will walk through how Airtable can be used within the NGO/Non-profit world.
Segment: Base Showcase
Start Time: 00:37:42
Character Sheet for TTRPG
We dive into a full working base that will Kamille will showcase a demo of a prototype for the character listing of a Table Top Role Playing Game.
Segment: Audience Questions
Start Time: 00:50:38
Airtable Question – How does the scripting handle record ids if not in the view
Jason G answers the Airtable question: “How does the scripting handle record ids if not in the view”
Full Transcription
The full transcription for the show can be found here:
[00:01:40] I'm not ready. I'm not ready. [00:01:43] Welcome to the BuiltOnAir Podcast. [00:01:46] I need to share my screen. [00:01:47] It's like I've never done this before. [00:01:50] We are live [00:01:52] and we are in our final episode [00:01:56] of the season. [00:01:58] Just one second here. [00:02:01] Let me get my screen up. [00:02:06] We are [00:02:08] the movies. [00:02:09] There we go. [00:02:10] Welcome to the [00:02:11] BuiltOnAir podcast [00:02:13] season 14 episode eight, [00:02:14] final episode of the season. [00:02:16] We'll be off for a month [00:02:18] and then we'll be back in July. [00:02:20] So good to be with you [00:02:22] one final time [00:02:23] before we take a little break. [00:02:24] We have with us, [00:02:26] our regular Jen Rudd. Welcome back, Jen. [00:02:29] Thanks for having me again, Dan. [00:02:31] Yeah, good to have you [00:02:33] and we've got Kamille again [00:02:35] as always. I believe Alli [00:02:36] is out with COVID unfortunately, [00:02:39] this week. So she's recovering [00:02:41] from that and so hopefully she is back [00:02:45] healthy soon [00:02:46] here shortly. So [00:02:49] let's get started. [00:02:50] So we always [00:02:51] do an hour long episode talking about all [00:02:53] things Airtable. [00:02:55] I'll run you through [00:02:56] what we're gonna be doing today. [00:02:57] We'll start as always with [00:02:58] our Round the Bases. [00:03:00] Keep you up to date on [00:03:01] the World of Airtable. [00:03:03] And then a [00:03:04] quick shout out to On2Air, [00:03:06] our primary sponsor. [00:03:08] Then Jen Rudd is going to [00:03:10] walk through how Airtable is used in the [00:03:13] nonprofit world. [00:03:15] And then Kamille is gonna [00:03:17] walk through a base that she is working on [00:03:20] for a tabletop role playing game. [00:03:23] I had to Google what TT R P G meant. [00:03:26] So now I know [00:03:29] and we know a little bit more [00:03:31] about Kamille [00:03:31] what she does on the weekends. [00:03:33] Yeah, [00:03:34] I'm so cool. [00:03:36] That's right. [00:03:37] That's right. That'll be fun. [00:03:39] And then a quick shout out to [00:03:41] join our community [00:03:42] and then finally I'll walk [00:03:43] through a question on dealing [00:03:45] with scripting [00:03:46] and views that came from the [00:03:48] BuiltOnAir community. [00:03:49] So let's start off [00:03:51] with our Round the Bases. [00:03:53] There was [00:03:55] one announcement that came out last week [00:03:58] improvement to timeline views. [00:04:02] So Alex walks us through [00:04:05] some enhancements. [00:04:07] I have not had a chance to [00:04:09] play with these. [00:04:10] Any, anybody play with these yet? [00:04:12] No, I thought the overlap [00:04:13] of the things were pretty cool though. [00:04:15] The overlap of the Light Balls. [00:04:17] Yeah, I've, I've seen them in [00:04:19] action and they are pretty useful. [00:04:21] I was working on a, a [00:04:22] timeline that had [00:04:24] episode releases and depending [00:04:27] on like if it's a movie, there's only one [00:04:29] episode, but if it's, [00:04:32] you know, a show, [00:04:33] it might have 10 episodes. [00:04:34] And so it would like, [00:04:35] you could fit the whole label [00:04:37] on a show [00:04:37] but you couldn't for a movie and you [00:04:38] never know what the name [00:04:40] of the movie is. Well, now you can, [00:04:41] because it just goes [00:04:43] past where that block ends. [00:04:46] So I, I think it's pretty useful. There's [00:04:50] you know, it seems pretty [00:04:52] consistent in what I've seen also [00:04:53] if you continue to scroll, [00:04:55] you can kind of see it in this, [00:04:56] screenshot but like, [00:04:58] if you have a really long [00:04:59] bar and you like scroll [00:05:01] along it. Yeah, it will stick with you. [00:05:04] So you always know what it's called even [00:05:06] if like the beginning [00:05:07] isn't on screen anymore. [00:05:10] Yeah, so it'll show it [00:05:11] like that right there. Yeah, [00:05:14] cool. So nice little [00:05:16] enhancements to the timeline. [00:05:18] That's good to know they're [00:05:20] still working on those, those widgets [00:05:25] and yeah, nice, nice enhancement there. [00:05:30] That was the only, [00:05:31] I think that was the only [00:05:33] like kind of product [00:05:34] announcement that I saw this last week. [00:05:37] So that's the only thing that, [00:05:39] that came out. [00:05:40] Well, I actually I take that [00:05:41] back, there was one more [00:05:43] that came from Russell [00:05:44] in the BuiltOnAir community [00:05:46] seeing the data library feature [00:05:49] starting to be rolled out. [00:05:51] So we talked about this [00:05:53] the last two weeks or so of [00:05:55] they've announced the, [00:05:57] the data library, the verified data [00:05:59] and it looks like that's [00:06:01] starting to roll out more and more. [00:06:04] And so that's cool to see, [00:06:05] I have not yet played with it. I need to, [00:06:07] I need to start playing with this [00:06:10] so I could be wrong, [00:06:11] but I in Russell's post, [00:06:13] he says he wishes he had a way to [00:06:16] replace old syncs with the new masters, [00:06:18] I think [00:06:19] because it's the same source. [00:06:22] You don't do anything. [00:06:23] Unless it's like syncing, [00:06:26] like his old sync is synced [00:06:28] from a similar dataset [00:06:30] that wasn't the one that was [00:06:31] published. [00:06:34] I think if your old syncs [00:06:37] are using the same view [00:06:38] that was added to the data library, [00:06:41] there's nothing different that you need to [00:06:43] do because it really is just a [00:06:45] shared link. It's just like a shortcut [00:06:47] to get there faster. [00:06:49] I could be wrong but that was [00:06:52] my understanding of what it is. [00:06:54] So explain that more. [00:06:56] I'm not quite getting that. [00:06:57] So we have regular shared [00:07:00] views that you can sync [00:07:02] into other bases and it sounds [00:07:04] like Russell has [00:07:05] multiple synced tables set up somewhere. [00:07:09] But then now he's published [00:07:11] to his data library [00:07:13] one source that says current [00:07:14] team and partners [00:07:15] and one that says clients, [00:07:17] if he has any existing syncs [00:07:20] that are syncing from the same source as [00:07:23] the client's data library [00:07:25] or the current team [00:07:26] and partners data library, [00:07:28] I think [00:07:29] it's technically already connected [00:07:31] because it's coming from the same source. [00:07:33] I don't think there's any distinction. [00:07:34] It doesn't like take your data and put it [00:07:36] somewhere special. It just sort of [00:07:39] surfaces, those shared links, [00:07:41] you know, up top. [00:07:42] So you don't have to like find the, [00:07:44] the link or search by base [00:07:46] and then by table and then by view, [00:07:48] I could be wrong. But that is, [00:07:51] that's how I've been [00:07:53] understanding that your [00:07:55] old syncs are just the same. [00:07:57] So basically, [00:07:59] in order to get something [00:08:00] into the data library, [00:08:02] you're essentially sharing it [00:08:03] the same way that you would [00:08:05] to sync a table? [00:08:07] Yes, got you. [00:08:09] OK. [00:08:10] So yeah, so, so the data library [00:08:12] is really kind of more [00:08:14] just a a view of what's [00:08:15] been shared. [00:08:17] Yeah, it's a, it's a [00:08:19] condensed view of like [00:08:21] of your shared links and it's supposed [00:08:24] to be just the stuff that like you're [00:08:25] gonna add to all of your bases [00:08:27] or most of your bases [00:08:29] such as a list of clients. [00:08:30] That's [00:08:30] gonna be [00:08:31] one list that you're probably [00:08:33] gonna use all over the place. So [00:08:35] rather than finding, [00:08:37] you know, a list of clients [00:08:39] every single time you create a new base, [00:08:41] it's just an option under like [00:08:43] add new table. OK, [00:08:45] clients. And you already know [00:08:46] it's pulling from the [00:08:49] correct base and view. [00:08:51] That's the idea. [00:08:53] So is this different [00:08:54] than the verified data feature? [00:08:57] It, it, [00:08:57] it's the same. So [00:09:00] you have your data library [00:09:01] which can contain [00:09:02] any number of, there's probably [00:09:04] some limit any number of [00:09:06] shared views and some of those [00:09:08] can be verified [00:09:10] if they're verified they'll [00:09:11] get a little check mark [00:09:12] and the purpose of verifying them is like, [00:09:15] I guess this makes more sense [00:09:17] on enterprise plans. If you have like [00:09:23] of the, your over overall [00:09:25] company might have a list of clients, [00:09:28] but an individual department [00:09:30] might only have their list of clients, [00:09:32] which is a subset. [00:09:34] Your overall company is gonna verify [00:09:36] like the one, the overall one and that's [00:09:39] the one that gets the check marks [00:09:41] versus clients, [00:09:42] dash marketing or clients dash [00:09:43] accounting or something like that. [00:09:45] So you can tell the difference [00:09:47] on departments. [00:09:47] Alternatively, [00:09:49] you could do it the other way around [00:09:51] where it's the general [00:09:52] all clients and then [00:09:53] your department, [00:09:54] you can have a different [00:09:56] set of verify data than [00:09:57] the accounting department. [00:09:59] So my list of clients [00:10:01] gets the check mark and then [00:10:03] accounting departments doesn't. [00:10:05] So I, you know, [00:10:06] I know, oh I want this one. [00:10:07] I'm in the marketing team. [00:10:09] I want the marketing team's [00:10:10] verify data set. [00:10:12] So just controlling [00:10:13] downstream versions of the data [00:10:15] upstream depending [00:10:16] on how you're viewing the data. [00:10:18] Yeah, it's trying to limit [00:10:20] Daisy chaining of [00:10:21] sync from A to B to C to D. [00:10:23] It's like D is synced from A now, [00:10:26] that's the hope. [00:10:28] Got it. [00:10:30] Very good. OK. So there isn't [00:10:32] in order to get data [00:10:34] into the verified data, [00:10:35] it still resides in kind of a [00:10:37] normal base and table [00:10:38] and then you share it and [00:10:40] then click a check box [00:10:41] saying it's verified? [00:10:42] Yes. [00:10:44] Ideally, I haven't seen this. [00:10:46] I, I would love it [00:10:47] if once you share a link just [00:10:48] in general, it gets like an icon [00:10:50] next to it in the, [00:10:51] the base when you're viewing [00:10:52] it. We sort of add a lightning bolt [00:10:55] to the name of the view to remind [00:10:56] ourselves, but it'd be helpful [00:10:58] if there was an icon [00:10:59] that appeared automatically [00:11:00] and then if it's a verified [00:11:02] or sync data that gets its own, you know, [00:11:05] icon that, that shows the difference, [00:11:07] it'd be really helpful if you could see [00:11:09] that at the base level, [00:11:10] otherwise you have to go [00:11:11] to your admin panel or [00:11:12] something like that. [00:11:13] Interesting, interesting [00:11:15] for some reason, [00:11:16] the vision I thought when they were [00:11:17] talking about this verified [00:11:19] data feature, I was thinking [00:11:21] you would go to some different U I [00:11:23] outside of like a base [00:11:25] to kind of create your [00:11:26] verified global data. [00:11:29] But it sounds like it just works [00:11:31] like all the other bases. [00:11:32] Yeah, you can view it in like [00:11:34] you have in your settings panel, [00:11:36] your account settings or your admin panel, [00:11:39] there's a different place to look at [00:11:40] them all but to create them, [00:11:42] just start like any other shared view. [00:11:45] OK. Very good. [00:11:47] That's helpful. We need to dig into that. [00:11:50] All right. But yeah, [00:11:51] it looks like that's [00:11:52] starting to get rolled out [00:11:54] to enterprise [00:11:56] for now [00:11:57] and good stuff there. [00:12:00] OK [00:12:00] a couple other from the BuiltOnAir [00:12:02] slack. [00:12:05] Let's see. [00:12:07] This question was, does anyone know [00:12:10] if there's a way to sync an updated field [00:12:12] in Airtable to update a cell in Excel? [00:12:15] Not natively. [00:12:19] I'm trying to remember why I picked this. [00:12:23] I don't think this is the one [00:12:24] that I was planning to pick because [00:12:27] this is kind of a, [00:12:28] just a straightforward. [00:12:29] Nothing too exciting about this [00:12:31] one. [00:12:32] So anyways, if you're trying to, [00:12:35] to link Airtable to Excel, [00:12:37] I think there was a different one. [00:12:39] I was trying to link to. [00:12:41] Oh, this is it, [00:12:43] it was this one [00:12:44] I picked. I had the [00:12:46] wrong thread in my link. [00:12:48] This was the one [00:12:49] are Airtable web hooks [00:12:50] counted against your automation [00:12:52] runs? [00:12:53] Can't seem to find documentation [00:12:55] on this except to do that. [00:12:57] So [00:12:59] so just kind of explaining how, [00:13:01] how automations. So basically, [00:13:03] if an automation, [00:13:04] if you're using automations to start [00:13:07] a or excuse me, if you're using web hooks [00:13:09] to start an automation, [00:13:11] then that that counts as an automation [00:13:14] run. So however many times you, [00:13:17] you hit that webhook will count as [00:13:20] one automation run per execution, [00:13:24] right? [00:13:25] It's processing that data for them. So, [00:13:28] yeah, [00:13:28] but if you have a web hook [00:13:30] that triggers a make scenario [00:13:32] that's not an automation for them, [00:13:35] right? Yeah. [00:13:36] Yeah. So if you're hitting [00:13:38] out somewhere else, so [00:13:40] and then Scott clarifies that if you use, [00:13:43] there's a automation trigger for [00:13:46] web hook received that obviously [00:13:48] is an automation run [00:13:49] because that is triggering [00:13:50] that automation [00:13:52] and then separate from that, [00:13:53] there's different web hooks [00:13:55] that you can set up [00:13:55] that are like, [00:13:57] you know, [00:13:58] related to the base [00:13:59] and those aren't automation. [00:14:02] Yeah. [00:14:03] And this was actually the one [00:14:05] I that I wanted, sorry, [00:14:07] it took me three times, [00:14:08] but this is the one I want. [00:14:09] What are we talking about? [00:14:11] All right. All right. [00:14:12] OK. So Karlsten asks, [00:14:14] the largest output that [00:14:16] you can have in a calculated [00:14:17] formula. [00:14:19] So I was thinking about this, [00:14:21] I've never pushed the limits on this. [00:14:23] It looks like others have. [00:14:24] Josh says he's gotten the 9000 [00:14:26] Bill has hit in 100,000. [00:14:29] So if you have a formula [00:14:31] that's generating like a lot of output, [00:14:35] I know the long text field [00:14:38] has a limit of 100,000 characters. [00:14:41] But I've never pushed the limit [00:14:44] on the formula output. [00:14:46] So it looks like 100,000 [00:14:48] somewhere in there. [00:14:51] Have you ever tested that? [00:14:53] No, but I have a couple of different [00:14:56] implementations that sort of log a [00:14:58] history of record changes in a, [00:15:01] a long text field in the form of Json. [00:15:04] And I sure hope it never gets to [00:15:07] this level because I've, [00:15:08] I've tried to do it as [00:15:10] compactly as possible, [00:15:11] but I, I was under [00:15:12] the impression that it's [00:15:13] some 1000 [00:15:15] amount of, [00:15:17] characters and [00:15:18] if it ever gets to that level [00:15:20] then we should be tracking [00:15:21] it that way anyway, [00:15:22] I don't think. [00:15:23] Yeah, I've had some roll ups [00:15:24] of roll ups of roll ups [00:15:26] and it gets pretty gnarly, [00:15:26] but I haven't hit 100 K yet, but [00:15:29] I have maxed out the Google Doc [00:15:31] automation multiple times. So [00:15:32] that was fun [00:15:35] of how much, [00:15:36] how much data you can push [00:15:37] in or like how many, [00:15:38] how many fields you can push in [00:15:40] or how much text you can [00:15:41] put in. So finally [00:15:43] we had to do something crazy. [00:15:44] I can't remember what we did, [00:15:45] but it was like, [00:15:46] definitely [00:15:46] there's like a limit to what [00:15:47] you can push into a Google doc. [00:15:49] Basically. [00:15:50] Interesting. [00:15:52] Yeah, I don't know what, yeah, [00:15:55] I don't know [00:15:56] what our limit is with On2Air. [00:15:58] If we've hit that limit with [00:16:00] pushing data and I, I'm not sure [00:16:02] we'll have to test that. [00:16:04] Cool. Yeah. [00:16:05] So there are definitely limits. [00:16:08] Somebody if you want to, [00:16:10] if you wanna let us know what, what [00:16:12] the max is, if you can get over 100 K [00:16:15] and beat the Bill's output, [00:16:18] that would be great. [00:16:21] We're gonna keep on the theme of limits. [00:16:23] So here's another one. [00:16:24] There's lots of people talking [00:16:27] about limits, limits that like [00:16:29] probably if you're hitting these limits, [00:16:31] there might be other ways to, [00:16:32] to do things. [00:16:33] Here's another one. So with URL prefills [00:16:39] of [00:16:40] how much you can put in [00:16:43] the URL to like prefill a form field. [00:16:46] So browsers do have some limits sometimes. [00:16:49] Like it's, it's a lot. [00:16:51] So depending on your browser, [00:16:53] there might be limits [00:16:54] but it looks like the form [00:16:56] Airtable form itself has a, [00:16:59] has a 16,000 character limit. [00:17:02] And that's what, that's what Scott says [00:17:05] is mentioned in the support docs. [00:17:07] That's [00:17:07] the, [00:17:08] it's pretty, [00:17:09] that's a lot. It's not a small, [00:17:12] it's a URL. [00:17:14] Yeah, [00:17:15] I think the problem is [00:17:16] I have problems even with [00:17:17] form where people will drop part [00:17:19] of the URL just like when they click on [00:17:20] something, even though it's a hidden [00:17:22] URL. So having prefilled [00:17:24] forms is probably not [00:17:25] like good long term just because I [00:17:28] I run into issues inconsistently where the [00:17:30] prefills just drop off and just have [00:17:32] raw form and now [00:17:33] you've exposed all your data. [00:17:34] So, you know, using a third party form [00:17:37] like On2Air sometimes that prefills [00:17:39] with just a random string into these [00:17:42] 1600 or 16,000 characters [00:17:45] might be a better solution [00:17:46] if you're trying to push the limits [00:17:48] because something [00:17:48] inevitably dropped off and you're [00:17:51] just not feeling the data [00:17:53] the right way. So [00:17:55] yeah. [00:17:55] Yeah. [00:17:57] Yeah, for sure. So that's [00:17:59] yeah. And then you gotta [00:18:01] worry about like encoding that, [00:18:03] that long text, [00:18:04] make sure you don't have [00:18:05] any funky characters in there that could, [00:18:07] that could cause some damage [00:18:09] So [00:18:10] yeah, I typically try to avoid. [00:18:12] That's one of the cool things about On2Air [00:18:14] docs or forms is [00:18:17] if your data is already in Airtable, [00:18:19] you don't have to prefill it into the URL. [00:18:21] You can, you can actually [00:18:23] one of the cool features is [00:18:25] you can actually use a record ID as your, [00:18:27] as your template [00:18:29] for your default values. So, [00:18:31] so if you just put that long text [00:18:34] into a random record and then just use the [00:18:36] record ID as your, as your placeholder, [00:18:39] it will then pull all the values from [00:18:41] that record and, and use those as your, [00:18:43] as your default values. [00:18:45] So that's kind of a cool feature [00:18:47] and make it so they can't edit anything. [00:18:50] Yeah. Yeah. And then you [00:18:52] can make them read only. [00:18:54] Yeah. So [00:18:55] anyways, more limits. [00:18:57] Somebody should collect, [00:18:58] maybe we should do that at [00:19:00] like just every limit possible [00:19:02] of Airtable. [00:19:02] That would be a nice resource to [00:19:04] have. [00:19:07] Maybe Scott will do that. [00:19:09] So we're continuing [00:19:11] with the Airtable Forums. [00:19:13] This was a really good article [00:19:16] by friend of the show, Kuovonne. [00:19:18] Just talking about the different roles [00:19:22] and jobs um related to Airtable. [00:19:25] And so if you're thinking about, [00:19:27] I like Airtable, [00:19:28] what are some things that I [00:19:30] could do for a career in Airtable? [00:19:32] This is a really good, just kind of [00:19:35] just, [00:19:36] just breaking out all the different things [00:19:38] that you could do and different roles [00:19:40] and, and people have some [00:19:42] questions about that and [00:19:44] how people got into it. [00:19:47] So worth checking out if, [00:19:48] if that's of interest to you. [00:19:53] And yeah, we've got a couple [00:19:56] representative in this group [00:19:58] as well amongst here. [00:20:00] All right, last one, [00:20:02] continuing last week [00:20:03] if you didn't catch last week's [00:20:05] show, it was all about A I and [00:20:08] we had Bill French [00:20:09] along with Lorenzo Lee talking about [00:20:13] Airtable and A I in the future. [00:20:15] So Bill [00:20:17] continued with that theme and, [00:20:20] and wrote a good article on the [00:20:22] Airtable forums talking about [00:20:25] an A I first mind mindset and mindfulness [00:20:30] and how that can help you in, [00:20:33] in your career. [00:20:34] And so [00:20:37] uses Airtable as an example of, [00:20:39] you know, kind of using A I [00:20:41] instead of maybe [00:20:42] Rejex and the differences between [00:20:44] those two approaches and where A I can, [00:20:47] can take things up a notch [00:20:49] from there. So [00:20:52] good [00:20:53] good, good article. [00:20:54] If you want to dive, [00:20:56] dive deeper into that, [00:20:57] that world of A I. [00:21:00] All right, [00:21:02] I believe [00:21:04] has [00:21:04] had any other news [00:21:05] that you guys can think of? [00:21:08] Not that I can recall. [00:21:12] It's a long weekend coming back from. [00:21:14] So I know I know it was a long weekend. [00:21:16] Yeah. So Airtable probably didn't [00:21:18] push anything. [00:21:19] Maybe this week there will [00:21:20] be some, some pushes, [00:21:22] definitely over the next four weeks [00:21:24] while we're, while we're out, [00:21:26] there hopefully will be some [00:21:28] announcements made [00:21:30] that we'll review when we get back. [00:21:32] Ok. Check out on2air.com [00:21:34] if you are running [00:21:35] your business on Airtable. [00:21:37] It's a suite of tools [00:21:38] and apps that help you [00:21:40] do more with your Airtable. [00:21:42] If you rely on your business [00:21:44] within Airtable, then you [00:21:46] definitely need to check out the, [00:21:47] the suite of apps that Airtable provides. [00:21:50] For today, we're gonna highlight a [00:21:53] case study that we just put out. [00:21:56] Hannah finished this [00:21:58] Walking through with one of our [00:22:00] customers that uses On2Air forms for a [00:22:03] grassroots grocery. Pretty cool use case. [00:22:07] So [00:22:09] it's called [00:22:12] well I guess Grassroots Grocery is, [00:22:15] is what is called. Dan [00:22:17] Zad [00:22:18] is the executive director [00:22:20] and this case study walks through how [00:22:23] they use On2Air forms and Airtable [00:22:26] to set up [00:22:28] groceries that can, that can help families [00:22:31] every Saturday. They kind of have a [00:22:32] an event and the people fill out [00:22:35] what they need [00:22:36] through the forms and they track [00:22:38] everything in Airtable. [00:22:40] So they have 3000 volunteers [00:22:43] fresh produce that [00:22:45] gets distributed to families in need. [00:22:48] So pretty cool stuff. [00:22:50] And he used a partner [00:22:52] give a shout out to Mecca Parker at [00:22:55] Parkwest Digital that, [00:22:57] that helped him set this all up [00:23:00] and has been using On2Air forms [00:23:02] as has Jen Rudd as well. [00:23:04] I know we've done a case study with Jen. [00:23:06] So this is a new one. So [00:23:08] check out On2Air forms if you have [00:23:10] a need for collecting data and getting it [00:23:12] into Airtable and also [00:23:14] updating that data as well. [00:23:16] And check out this case study [00:23:18] to see how they've done that. [00:23:20] So that's a good theme for today. [00:23:22] More, more nonprofits [00:23:26] using Airtable. [00:23:27] All right, with that, Jen. [00:23:29] Why don't you, [00:23:30] share what you've got for us today? [00:23:33] Absolutely. Let me see. [00:23:41] Ok. You can see my screen? [00:23:44] Yes. [00:23:44] Ok. I [00:23:45] have this over here. [00:23:46] So I work with a lot of nonprofits [00:23:49] and one of the biggest, [00:23:51] things that nonprofits have to do [00:23:53] is share their impact. [00:23:54] Meaning they have to say [00:23:55] what's the activities [00:23:56] that they're doing and how it's impacting [00:23:58] those they have set out to work with, [00:24:00] whether they're working with, [00:24:02] underprivileged Children or, [00:24:04] you know, different, [00:24:05] parts of the country of [00:24:06] the world that need assistance. [00:24:08] Sometimes we have to make sure that we're [00:24:10] tracking [00:24:11] the activities that they're doing [00:24:13] and then also the impact [00:24:14] that they're doing. [00:24:15] So, a lot of what [00:24:16] nonprofits do is reporting, [00:24:18] it's nice to get money from funders [00:24:19] but then you have to tell them what [00:24:21] you're doing with that money, [00:24:23] in addition to what you're [00:24:25] actually trying to [00:24:27] do as your activities. [00:24:28] So, what I did today [00:24:30] was just kind of demo, [00:24:31] what it would look like [00:24:33] to create a report [00:24:34] from the activities that you're doing [00:24:36] within an organization. [00:24:37] So basically, [00:24:38] I created this simple base which has a [00:24:40] table of activities [00:24:42] and then attendees [00:24:43] which are people [00:24:44] that would be coming to if it was like [00:24:46] a [00:24:48] I can't think of the word [00:24:49] if they're like coming to [00:24:51] a symposium to talk about [00:24:52] what the the the nonprofit is doing, [00:24:54] you can have different [00:24:56] attendees that you would keep track of. [00:24:58] You also want to figure out [00:25:00] usually a nonprofits [00:25:01] have a couple different [00:25:02] focus areas [00:25:03] or attendance of things [00:25:04] that they're doing. [00:25:05] So being able to track both [00:25:06] the activities of what they're [00:25:08] doing to those focus [00:25:09] areas so they can tie them back [00:25:10] to the reporting is really helpful. [00:25:12] And then also, especially if you have [00:25:14] people interacting with the organization, [00:25:16] sometimes you want to have an [00:25:18] evaluation of these activities. [00:25:20] So basically, what I did here [00:25:22] is I created an activity table [00:25:24] which keeps track of the activity, [00:25:26] name, any notes on it, [00:25:27] the attendees, [00:25:28] the activity date, the location, [00:25:31] what the focus area is [00:25:32] and then also a place [00:25:34] to keep track of all these [00:25:35] evaluations. [00:25:36] And also there's some other [00:25:38] information that they might need to have, [00:25:40] maybe who the actual [00:25:41] attendees are, [00:25:42] but also maybe the number of [00:25:43] attendees that are coming [00:25:45] to this activity or events. [00:25:46] And so basically, we're doing this [00:25:49] because we want to be able to generate a [00:25:51] report by tracking who's [00:25:53] coming to the event [00:25:54] and their evaluations for this [00:25:56] event. [00:25:57] So we have an event here [00:25:58] which is like this global partner meeting [00:26:01] and we can add different people [00:26:03] and I just use a random person [00:26:06] generator to [00:26:06] add a bunch of attendees. [00:26:08] And you can see that I'm using a account [00:26:12] field here which just tells me [00:26:14] the number of attendees that are attached [00:26:17] to this this particular activity. [00:26:20] If you wanted to also keep track of [00:26:22] attendance, you can also roll this up and [00:26:24] say only [00:26:25] count the number of attendees [00:26:27] who actually attended the events, [00:26:28] you might have invited 150 [00:26:30] and only eight showed up. [00:26:31] So it's good to have [00:26:32] those differentials [00:26:33] of both who was invited [00:26:35] and possibly also who actually attended [00:26:38] just for your reporting metrics [00:26:40] and so forth. [00:26:41] So then we have these attendees [00:26:43] and we have this evaluation [00:26:45] and we try to make the evaluation [00:26:47] very generic [00:26:48] because you wanted to use it for [00:26:49] multiple activities. [00:26:50] You might have different evaluation [00:26:52] forms based on what [00:26:53] type of activity they're doing. [00:26:54] Whether it's a meeting, [00:26:55] a symposium, a small group session [00:26:58] or if someone's coming to an event that [00:27:00] you put on [00:27:01] as the foundation. So basically, [00:27:03] I just did a very general evaluation [00:27:05] form that we can use [00:27:06] over and over again for [00:27:07] any activity [00:27:09] that someone attends. [00:27:11] And here we're just linking the activity, [00:27:13] the attendee [00:27:14] their overall experience, [00:27:16] key takeaways, maybe some [00:27:18] suggestions for the next event. [00:27:20] And would you recommend to others? [00:27:23] Then for the attendees, I just [00:27:25] just we talked about pre fills [00:27:27] of the attendee name [00:27:28] into the form. [00:27:29] So that when somebody gets this link. [00:27:32] So for example, this is for [00:27:34] Moana, [00:27:38] you'll see that the attendee [00:27:39] has disappeared because we prefilled their [00:27:42] name. [00:27:43] I think we're, we're only seeing [00:27:45] your Airtable. OK. Share this tab [00:27:49] better? [00:27:50] Yeah. [00:27:51] All right. [00:27:51] So basically here, [00:27:52] if you look at the URL, [00:27:54] I prefilled the attendee's name [00:27:55] with the record ID, [00:27:57] which also is helpful. [00:27:58] We can't, we can't see the URL. [00:28:01] OK? [00:28:02] Try [00:28:02] to [00:28:03] share the window. [00:28:06] I [00:28:06] share a screen, [00:28:09] click on the window. [00:28:12] I'm smart. [00:28:15] Only had one coffee this morning. [00:28:18] OK. Can you see my? [00:28:19] OK. So if you look at the URL, [00:28:21] I prefilled the record ID. [00:28:23] And that's because [00:28:24] sometimes people change [00:28:25] their names or you have placeholder. [00:28:27] So it's always good to use [00:28:29] you can use a person's name [00:28:30] but just because the Dan's point [00:28:33] about encoding U L S and so forth, [00:28:35] an ID, a record ID string is [00:28:38] actual string. So it's much easier [00:28:40] to add to A URL. You don't have to worry [00:28:42] about encoding or weird characters [00:28:44] and it's also just shorter theoretically. [00:28:46] So it also lets them know like [00:28:48] it also, if someone's looking at the URL, [00:28:50] they're not saying, oh, [00:28:51] that's my name. Maybe if I delete this, [00:28:52] if they're nosy, [00:28:53] then they can expose all of the [00:28:55] attendee information. So you're exposing [00:28:57] your entire base. So if I was to [00:29:01] just take out this prefill [00:29:06] and [00:29:08] oh [00:29:10] here [00:29:11] you'll see that you can now [00:29:13] pick from an attendee list [00:29:14] which you may not want to [00:29:15] expose to people in general. [00:29:16] So that's why we use prefills a lot [00:29:18] is to hide the data from people [00:29:21] without exposing the information. [00:29:23] So we're just going to do more on it here [00:29:26] and then we're gonna pick the activity [00:29:29] in the activity [00:29:30] what I did was I created a view [00:29:32] which says, OK, only show me [00:29:34] the events that happen [00:29:35] in the next 10 days. [00:29:37] So they don't have a huge list [00:29:38] to pick from so they [00:29:39] can't pick the wrong one. [00:29:39] So [00:29:40] whenever you have prefills [00:29:41] or just forms [00:29:42] that you want people to fill out the [00:29:43] more that you fill it out for them [00:29:45] or restrict what they can pick the less [00:29:47] chances they have variables [00:29:49] to make changes. [00:29:50] So here we have the global partner, [00:29:51] meaning [00:29:53] they do the overall experience, [00:29:54] their key takeaways, [00:29:56] suggestions for next events. [00:29:57] And then would you recommend to others? [00:30:00] So when somebody submits that form [00:30:04] in the evaluations tab, [00:30:07] it gets linked to that attendee. [00:30:10] And then basically what I did was [00:30:12] I use this a lot for [00:30:14] nonprofits is to roll up the information [00:30:17] that is coming from different fields. [00:30:19] And I'm also adding this new line, [00:30:21] new line. So basically it breaks up [00:30:23] the information. So it'll say, [00:30:25] you know, overall experience [00:30:27] call in overall experience [00:30:29] and the number of stars and so forth. [00:30:31] So when it creates this output, [00:30:34] when it's just a single line text, [00:30:35] you see it as a long string, [00:30:37] but here you could see it, [00:30:38] it's broken up like like [00:30:40] a normal person would type [00:30:41] it out you would say their [00:30:42] overall experience is five stars. [00:30:43] Yours are key takeaways. [00:30:45] So you have these variables [00:30:46] from different people, [00:30:47] but it's formatted in a way [00:30:49] that you can add it to your report. [00:30:52] So then what I then did [00:30:55] is I have [00:30:57] a roll up about that formula field [00:30:59] from the evaluation. So I'm able to array [00:31:01] join [00:31:02] the values, which just [00:31:03] means take everything [00:31:04] and then separate each, [00:31:06] each report output with two lines. [00:31:09] So it then again, looks like [00:31:14] this [00:31:16] as opposed to, you know, [00:31:17] really ugly and so forth. [00:31:19] So it allows you to kind of [00:31:20] break up the information [00:31:21] in a way that would [00:31:22] make sense for a report. [00:31:24] And the reason I did it this way [00:31:26] is that because instead [00:31:27] of somebody typing out [00:31:28] all those responses, [00:31:30] I can now go into Google Docs [00:31:36] and create a document with the [00:31:38] activity name, [00:31:39] the date formatted, [00:31:40] I just did it because [00:31:41] when you put a date in Airtable, [00:31:43] um it shows up with that really [00:31:45] long string. [00:31:45] So this is just more human readable. [00:31:48] And then I have the, you know, [00:31:49] the written information, focus area [00:31:51] and it gives me the focus area fields, [00:31:53] number of attendees and then the feedback, [00:31:55] which is that report output, [00:31:57] fun automation is turned on. [00:32:00] We're gonna a live demo, [00:32:02] we're gonna wait for it to [00:32:04] update. And so whenever I do [00:32:05] automations where I have like [00:32:07] reports generated and [00:32:08] so forth, I just clear out this check box [00:32:11] and especially if you want to make [00:32:13] sure that all the information [00:32:14] is filled in before [00:32:15] you generate the report. [00:32:15] It's always good to have [00:32:16] a check box as opposed to just [00:32:18] all the criteria is met because [00:32:19] it's just a user saying, OK, [00:32:21] go ahead and generate that report. [00:32:24] I generated the report [00:32:26] and see it has the title of the event, [00:32:28] the date [00:32:29] and then it also gives [00:32:30] some of that information. [00:32:32] And so this is really basic, [00:32:34] but what you can do is do [00:32:36] some of the formatting in Google Docs, [00:32:40] you can make this bold, [00:32:41] you can change this to header one [00:32:45] and it's always good to kind of [00:32:51] and its [00:32:52] paragraph [00:32:54] and so forth. [00:32:55] So when you do a new output, [00:33:02] it's not going to run [00:33:04] because I'm done moving live. [00:33:06] Yeah. [00:33:07] Airtable has been [00:33:08] a little slow this morning. [00:33:10] It's OK. It's working. [00:33:12] All right. [00:33:12] So then if I go back and see the data now, [00:33:18] so now you can add a little bit [00:33:19] of formatting when you're using roll ups, [00:33:21] you can't roll, [00:33:22] you can't format roll ups, [00:33:23] which is the only downside, [00:33:24] which is [00:33:25] one of the things I'm running into [00:33:26] as I'm generating like this really, [00:33:27] really long report for [00:33:30] a professional organization, [00:33:32] they have all of this report language [00:33:34] that they already have written. [00:33:35] So basically, we just take that [00:33:37] they select which report language [00:33:39] they want to use [00:33:39] and then we output it into [00:33:40] a Google Doc and they can further [00:33:43] format and add to it in a word doc [00:33:45] afterwards. But we're taking all [00:33:47] does the, [00:33:49] it takes markdown, right? The [00:33:53] the window for [00:33:55] in inserting content into the Google Docs, [00:33:59] it does, but it's, it's, [00:34:01] it doesn't really take [00:34:02] markdown necessarily. [00:34:03] I try different markdown outputs [00:34:05] and it just doesn't really, [00:34:06] it basically whatever the formatting here, [00:34:10] I'm happy to try a mark down. [00:34:12] So like, because I was [00:34:13] running into this when I [00:34:14] was trying to do a link. So like [00:34:17] like here [00:34:24] also whenever you have a Google Doc [00:34:26] or some of those docs where they have [00:34:27] the weird formatting in a place [00:34:29] where you can have marked down. [00:34:31] So if there's like an underscore [00:34:33] or things like that, [00:34:33] it totally breaks [00:34:35] Airtable fields and so forth, [00:34:37] it's really annoying. [00:34:40] So sometimes I have [00:34:41] to shorten the links again. [00:34:48] Okay. [00:34:53] Not see. [00:34:58] No, [00:34:59] no, [00:35:00] we tried, [00:35:01] we tried. [00:35:03] Yeah, it's, it's, it's helpful [00:35:04] for like the first cut. Like, [00:35:06] so a lot of this, like if you just [00:35:08] need an output, it's kind of fine. [00:35:09] But you can always do third parties [00:35:11] to make it prettier like documents. [00:35:12] I've done a lot of reporting [00:35:14] with document for some nonprofits. [00:35:15] So that's really helpful [00:35:17] to use third parties. But I think [00:35:19] the more that you can at least structure [00:35:21] how you want responses or you [00:35:23] have structure [00:35:24] how you want the format of all [00:35:25] these reports to come in [00:35:26] and then request information [00:35:28] or set up information [00:35:29] and Airtable in such a way [00:35:30] that lends itself to that output. [00:35:32] The less time the team members [00:35:34] can be like typing reports and doing [00:35:36] the administrative stuff that's really [00:35:38] helpful that actually helps to, [00:35:39] to generate more funding, [00:35:41] but it also helps them focus [00:35:43] more on driving impacts [00:35:44] and reporting on that impact. [00:35:48] So, [00:35:49] but then [00:35:50] I've shown like six or seven [00:35:52] people how to do the [00:35:54] just the basic reporting output. [00:35:56] And there's like [00:35:57] that is the most amazing thing [00:35:59] ever and it really is just [00:36:01] formatting it in a [00:36:02] formula and then using [00:36:03] that roll up functionality [00:36:05] to drive how it's written out. So [00:36:08] definitely helpful to just again [00:36:10] formalize how you want the inputs to [00:36:13] maximize the outputs. [00:36:17] Very cool. [00:36:19] Maybe what's your experience [00:36:20] been just working [00:36:21] with nonprofits in general, [00:36:23] how has Airtable [00:36:25] helped or impacted those? [00:36:27] It's helped a lot, [00:36:28] especially as like, like [00:36:30] these are these organizations [00:36:31] that are doing great things [00:36:32] and it's either a lot of [00:36:34] distributed teams working [00:36:34] in different locations [00:36:36] at different times or [00:36:37] they're very small grassroots [00:36:39] and they're doing a lot of things. [00:36:41] I've worked with [00:36:43] hood huggers in there in North Carolina [00:36:46] and they do some great things with [00:36:47] community gardens and helping under, [00:36:49] you know, underprivileged youth [00:36:51] and things like that. [00:36:52] So they're doing so much [00:36:53] with a very small team [00:36:55] and using forms like we use [00:36:57] On2Air forms [00:36:58] just so that you can check in for [00:37:00] their [00:37:01] their work times and so forth. [00:37:02] So it's really helpful [00:37:03] because now we don't have [00:37:04] to go in a job form and like [00:37:06] recreate the form each time [00:37:07] they can just change the fields [00:37:09] in Airtable and now it's, [00:37:10] you know, updated on the form [00:37:11] and things like that. [00:37:12] So it's really helpful [00:37:13] to be able to get information [00:37:15] so that they can run [00:37:16] their organizations in a more [00:37:17] effective manner. [00:37:18] But also like be able to spend [00:37:21] more time working [00:37:22] with people because they have [00:37:23] the structure behind it to make sure [00:37:25] that they have everything that they need [00:37:27] to do what they have to do. [00:37:29] Awesome. [00:37:31] Thank you. Thank you for sharing that. [00:37:33] That's good stuff. Very applicable to all, [00:37:35] to all use cases so not just nonprofits. [00:37:39] All right, Kamille, [00:37:41] let's get Nerdy [00:37:44] yay [00:37:46] character sheets for TT R P G. [00:37:50] Am I sharing my screen? [00:37:53] Ok. So there is a new tabletop [00:37:56] role playing game [00:37:57] called Candela Obscura that [00:38:00] just got released recently [00:38:01] and I was looking through [00:38:03] the rule set and it seemed [00:38:05] simple enough that [00:38:07] I wondered, can I build this into an app? [00:38:10] Just because I wanted a, [00:38:13] a side project to work on. [00:38:15] So here is an example of [00:38:17] a character sheet. So [00:38:19] every character is gonna have [00:38:21] a name and here are all [00:38:23] of their skills and you [00:38:24] fill in these dots for how good [00:38:27] you are at moving or things like that. [00:38:31] And then you have [00:38:32] essentially your health are these [00:38:36] three batches of three stripes [00:38:39] over here and [00:38:40] there's a bunch of stuff [00:38:42] on this sheet that [00:38:42] the idea is when you play, [00:38:44] you print it out [00:38:45] and then fill in these different [00:38:47] marks with a pencil and then erase them [00:38:50] as you take a point of damage or fill it [00:38:52] back in as you heal. [00:38:55] But [00:38:56] you know what if this were an [00:38:57] app? Why not? [00:38:59] So I started by creating a [00:39:02] quick prototype in Airtable, [00:39:05] of course, and I was able to get it [00:39:08] pretty quickly. [00:39:11] There's, you could see I have a [00:39:14] handful of tables up top. [00:39:15] The most interesting [00:39:17] piece of it I think is probably [00:39:21] this field here. [00:39:23] There is a concept in the game [00:39:26] that you as a group, [00:39:27] you have 24 points. And [00:39:30] once you get to point 7, [00:39:33] you get some kind of reward. [00:39:35] And if you get to point14, [00:39:37] you get some other reward, [00:39:38] point 21 some other reward and then [00:39:41] there's three more points. After that, [00:39:43] I wanted [00:39:46] some like visual indicator [00:39:48] of that progress as you go. [00:39:51] And so this is a somewhat [00:39:53] complicated formula. [00:39:54] You could see all the substitutes [00:39:56] that are happening [00:39:57] where I'm taking all of that. [00:40:00] I [00:40:00] thought [00:40:00] it would be worse [00:40:02] actually. [00:40:03] Well, you know what, [00:40:05] I it took some time to get this [00:40:07] to work exactly how I wanted it. [00:40:09] And [00:40:11] you know, we, we've shown [00:40:13] on the podcast before, things like, [00:40:16] you know, this is basically the same [00:40:18] thing but simpler, it's basically just a [00:40:19] rating. [00:40:20] Where if I took a point off [00:40:23] it this one would be gray [00:40:25] versus all yellow, [00:40:28] but this one because it was so complex, [00:40:31] the, the output we've reached to the [00:40:33] seventh thing and now it's a goal [00:40:36] and then if I were to [00:40:39] really quickly, [00:40:46] I were really, really quickly [00:40:48] and I say quickly, [00:40:49] it's not gonna be quick because [00:40:51] there's gonna be [00:40:55] some, some problems, [00:40:57] there's gonna be an automation [00:40:59] that's supposed to run [00:41:00] that like creates [00:41:02] a bunch of keys in order to [00:41:05] generate [00:41:06] all of the possible [00:41:08] points that you can get. [00:41:09] It sounds more complex [00:41:11] than it actually is to play the game. [00:41:13] It's more complex when [00:41:14] you're building it into an app. [00:41:15] But looking at this formula again, [00:41:18] I'm saying, how many points do we have? [00:41:21] All right, [00:41:22] repeat [00:41:23] the character f however [00:41:26] many times I have that [00:41:28] I have those points. [00:41:31] And then I wanna create some [00:41:34] empty circles for the ones that [00:41:36] I haven't achieved yet. Repeat that [00:41:39] in intervals of six and then [00:41:41] repeat one [00:41:45] special point like this square here. [00:41:48] This is a milestone that I haven't reached [00:41:51] yet. [00:41:52] So I'm grouping [00:41:54] points of seven where the seventh [00:41:57] point is special three times. [00:42:00] And then at the end of the, the formula, [00:42:03] I'm only taking [00:42:06] the portion of unused points. [00:42:12] I'm taking away like the placeholders [00:42:15] for the ones that I've actually achieved. [00:42:18] I don't think that made any sense. [00:42:20] Does that make sense to you guys? [00:42:24] It does. But my brain hurts [00:42:25] thinking about building that. [00:42:27] It's, [00:42:29] it's, [00:42:30] it's a long and complicated thing. [00:42:32] And the, the reason why I made, [00:42:33] made this project is for [00:42:35] things like this where like [00:42:37] you go back to the character sheet [00:42:38] that isn't actually on this one. [00:42:40] It's on a different one, [00:42:41] but it in real life. This is so simple, [00:42:44] right? You just fill in a dot on, [00:42:46] on a page and then you erase it [00:42:48] when it goes away. That's really, [00:42:50] really simple. But I wanted to try [00:42:53] and do it [00:42:53] programmatically and then this is [00:42:55] what [00:42:55] you get eventually, once you [00:42:58] deal with all the formulas [00:43:00] and then I put it into, [00:43:02] you know, a character sheet, [00:43:03] you have it laid out a particular way. [00:43:05] Here's that same thing again. [00:43:07] But now we're on an interface [00:43:08] and then each character [00:43:10] has their own sheet. [00:43:12] And here's where I started [00:43:13] to run into problems. [00:43:14] You'll see, move, strike control [00:43:17] are the same things as move, [00:43:18] strike control over here. [00:43:20] You can see that the maximum [00:43:22] number of circles I have is three. [00:43:25] But [00:43:27] this one, I don't know if [00:43:28] you guys can see is kind of [00:43:30] like [00:43:31] it has a thicker outline. [00:43:34] That means when you start [00:43:36] as this character, you only have one move, [00:43:38] you have one strike, [00:43:40] you have to hide because [00:43:42] these two are are darker. [00:43:43] The problem I was running into [00:43:45] is I wanted it to look like [00:43:47] the character sheet, [00:43:49] including this sort of diamond [00:43:51] symbol which sometimes [00:43:52] is filled in and sometimes isn't, [00:43:55] I can't really do that well [00:43:57] in Airtable or Airtable interfaces, [00:43:59] I have a rating field that I can [00:44:02] control this formula output, [00:44:04] but I had no real good way of [00:44:06] controlling this sort of [00:44:08] diamonds thing off to the [00:44:09] side. [00:44:10] And that's where I started to think. [00:44:13] Can I build this again [00:44:14] somewhere else? And so I did [00:44:17] this is now glide where the data source is [00:44:21] that same Airtable base. [00:44:23] So we look, [00:44:25] I think better. I think this is a [00:44:27] a cleaner layout than what I'm capable of [00:44:30] doing in [00:44:33] Airtable, [00:44:35] but I can like [00:44:37] control some of these other dots. [00:44:41] But the problem with glide is [00:44:43] I don't have the particular plan [00:44:45] that makes [00:44:46] record updates immediate. [00:44:47] So I just clicked this minus [00:44:49] button and it's gonna [00:44:50] take forever for this to go [00:44:52] from two dots to one dot [00:44:54] Then I thought, can I build [00:44:57] it again somewhere else? [00:44:59] And then I did. So [00:45:02] I've been saying that I wanted to try out [00:45:04] Xano for, for some time [00:45:06] now, this was the project. [00:45:08] I decided to give it a go [00:45:10] with Xano [00:45:11] is [00:45:12] an API builder and a database [00:45:16] that [00:45:17] I was able to create an instance [00:45:20] of in order to design it [00:45:23] again in we web, which is like [00:45:26] web flow, but more like programmatic. [00:45:30] And so all of that to say [00:45:33] I now can go [00:45:37] and look at this version of [00:45:40] effectively the same data [00:45:43] except now this looks [00:45:46] even closer. The layout is instead [00:45:48] of vertical, I made it horizontal, [00:45:50] but that was a, [00:45:51] you know, a design choice. [00:45:53] But the reason why I like this one [00:45:56] the best is because all of these now are [00:45:58] buttons I can click directly on [00:46:01] this diamond shape [00:46:03] and it controls that value [00:46:07] and then the same thing [00:46:08] with all of these dots up here. [00:46:10] Whereas [00:46:11] back in the Airtable version, [00:46:14] I had no way of making this clickable. [00:46:17] This would have to be like [00:46:18] a separate check box. [00:46:20] But there's nine of these, [00:46:21] there's these three, these three [00:46:23] and these three and I didn't want [00:46:26] nine check boxes [00:46:27] in addition to nine rating [00:46:28] fields. [00:46:29] In addition to all the other fields, [00:46:31] it seemed really complex. [00:46:32] So this is probably going to be [00:46:35] how I spend my spare time for some time. [00:46:39] Just trying to figure out [00:46:41] what is the best way [00:46:43] to recreate [00:46:45] this thing [00:46:47] digitally. [00:46:49] And so far [00:46:51] it's been hard. [00:46:54] It's cool though. [00:46:56] Yeah, I [00:46:59] Xano it's, I'll show really quickly [00:47:03] what [00:47:04] I like most about [00:47:06] how I figured it out in Xano. [00:47:09] If I go look at my base and look at my [00:47:13] character sheet, [00:47:15] I have a whole lot of fields [00:47:18] and [00:47:19] you have multiple things called drives. [00:47:22] Each each character has a different [00:47:25] maximum number of drives [00:47:27] per drive and then how [00:47:29] many they have available. [00:47:31] That sounds really confusing. [00:47:35] And it's hard to keep track [00:47:36] of in Airtable [00:47:37] because each of those has to be a [00:47:38] separate field. But in Xano [00:47:40] they have a field type [00:47:42] for a structured object. [00:47:44] So if I look at drives, [00:47:45] I have the three buckets [00:47:47] that they're under [00:47:48] and each bucket can have [00:47:50] a maximum and available and resistance. [00:47:52] And this is different per character. [00:47:55] It's structured in like a [00:47:57] JSON format so that I can have [00:47:59] one field for drives and then just iterate [00:48:02] through those versus having, [00:48:05] you know, [00:48:06] I think I have [00:48:07] like five [00:48:09] no, I have four fields per drive [00:48:13] and that's [00:48:14] annoying. [00:48:15] And one of them is a formula that [00:48:17] just outputs it prettily [00:48:24] excellent. Very cool. [00:48:26] And we web, [00:48:27] so we web talks to Xano just like a post [00:48:30] database. [00:48:31] Yes, it also can [00:48:33] it a native data source is Airtable. [00:48:36] So at the end of the [00:48:37] day, I could build this exact thing [00:48:40] using Airtable [00:48:41] as the data source still in we web. [00:48:44] But I wanted to try out Xano [00:48:46] and I do really like the [00:48:48] option of having a [00:48:49] structured [00:48:50] JSON [00:48:51] field type in Xano. [00:48:54] I wish Airtable kind of had [00:48:57] either a structured data type [00:49:00] field type or like plain JSON [00:49:02] as a field type because I use it all the [00:49:05] time. [00:49:06] Yeah. [00:49:06] Yeah. [00:49:07] Awesome. [00:49:09] Thank you for sharing that. [00:49:11] We'll see how it ends up. [00:49:13] You'll need to [00:49:15] show the company behind [00:49:16] that game, what you're working on. [00:49:19] I mean, I don't think I'll ever [00:49:21] get it into a point where it's like, [00:49:23] hey, [00:49:24] people, you should use this [00:49:26] in your actual games. [00:49:28] I wanna get it to a point [00:49:29] where it's fully functional [00:49:31] and it is at this point, [00:49:32] anything everything [00:49:34] you see on this page works. [00:49:35] But like, [00:49:38] you know, with any game, [00:49:39] there's so many like, [00:49:40] I don't wanna have to put [00:49:42] in all of the rules [00:49:43] as like automations like, [00:49:43] oh when you reach this milestone, [00:49:45] this thing happens. [00:49:46] I don't want to program [00:49:47] that I just wanna make [00:49:49] like any circle you can fill in, [00:49:52] I want to fill in a bowl [00:49:53] and that's it. That's where I wanna stop. [00:49:57] Got you. [00:49:59] Awesome. Thank you [00:50:00] Kamille for sharing that. [00:50:02] Let's move on [00:50:03] quick shout out to join our community [00:50:06] at builtonair.com/join [00:50:07] that will get you into our [00:50:09] slack community of thousands [00:50:11] of Airtable users and [00:50:12] fans [00:50:13] and people just like you. [00:50:14] So join us. [00:50:15] We'd love to have you participate [00:50:17] and also subscribe to our podcast [00:50:20] on youtube. We're trying to get that [00:50:22] subscription count up [00:50:24] or on your podcast listener as well. [00:50:27] You can listen to us on your favorite [00:50:29] podcast. [00:50:31] Let's move on. [00:50:33] We're gonna finish up with [00:50:35] an audience question. [00:50:36] This question came from Jason G [00:50:39] in the BuiltOnAir community [00:50:42] and it involves scripting [00:50:44] and Jason G says in scripting, [00:50:46] if I call view dot Select record [00:50:48] as sync, but one of the record I Ds [00:50:51] is not in that view, will the entire call [00:50:54] fail or will it still return [00:50:56] the rest of the records? [00:50:59] If you don't know the answer to this, [00:51:01] what is your guess? [00:51:02] If you know the answer, [00:51:04] don't, don't, don't say. [00:51:06] I don't know the answer. [00:51:09] I feel like if one is missing, [00:51:13] I don't know if I would want that [00:51:15] to be an error. I think I would. [00:51:16] Well, [00:51:17] do I want to know [00:51:19] that it wasn't I don't know. [00:51:22] I don't, I would throw an [00:51:24] error handler just in case. [00:51:25] Yeah. [00:51:27] Put it [00:51:28] in [00:51:28] a patch. [00:51:29] All right. Let's find out. [00:51:31] I wasn't sure either. [00:51:32] My guess initially was that it [00:51:34] would air out. That was my guess [00:51:36] that it would throw an error [00:51:38] saying invalid record, I guess. [00:51:41] So, let's take a look. [00:51:43] So I've just got a simple, table. [00:51:45] This is just called documents. [00:51:47] That's what it was called. [00:51:49] And I've got four items here, [00:51:52] this one I don't need. [00:51:54] And so in this view, [00:51:56] I'm showing all of them [00:51:58] and I've got all my record I Ds [00:52:00] here exposed. And then in this view, [00:52:04] I'm hiding two of them. [00:52:05] So, so A and C are showing. [00:52:08] So [00:52:09] what we're gonna do [00:52:12] over here. So I've got my, my, [00:52:15] my variables for this is the table ID, [00:52:18] here's the view ID for the view [00:52:21] that lists all of them. [00:52:22] And then here's the view [00:52:24] ID for the one that [00:52:25] just lists two of them. [00:52:26] And then right here, [00:52:28] here's the list of all of the record I Ds. [00:52:30] So I get my table from the base. [00:52:34] So here's, here's a reference [00:52:36] to the table and then [00:52:38] here's the reference to the [00:52:39] view that we're gonna use. [00:52:41] And then here's the command for [00:52:44] for selecting the records as [00:52:47] sync. [00:52:48] And when I was writing this, [00:52:50] I could have sworn, it did this change? [00:52:52] Maybe Kamille, you knew [00:52:53] I thought that there was one [00:52:56] parameter for the record I Ds and then, [00:52:58] and then a second parameter [00:53:00] for your options. [00:53:02] And maybe, maybe I'm just making that up. [00:53:04] But now it's changed to where you pass [00:53:06] the record I Ds [00:53:07] in as part of the, [00:53:09] the object. [00:53:11] I don't recall that being the case. [00:53:15] Any time I've used record I Ds, [00:53:17] which I didn't use for quite some time. [00:53:19] But I've been using it [00:53:20] more and more recently. [00:53:22] It's been a parameter [00:53:23] of the options object. [00:53:26] Yeah, [00:53:26] maybe, yeah, maybe I was [00:53:29] just hallucinating. [00:53:31] But [00:53:32] but anyway, so this is how [00:53:34] you get the record I Ds. [00:53:35] And then this is a quick shortcut [00:53:37] to get all the fields [00:53:39] so it doesn't complain [00:53:40] about not specifying the [00:53:42] the field parameters, [00:53:43] you just get them all from the [00:53:45] table. [00:53:47] And so, and then I'm just just [00:53:49] out putting them to see what it is. [00:53:51] So [00:53:52] this one, I'm gonna run it first [00:53:54] with all with the view [00:53:55] that has all of them. [00:53:56] So this one as you expect should [00:53:59] return all of them because [00:54:01] all of those fields are in there. [00:54:03] So we see we get all four [00:54:05] back with all four records. [00:54:08] So now if we change this view [00:54:10] to be the view sum, [00:54:13] we'll find out [00:54:14] if it's gonna throw an error [00:54:15] gonna return them all or maybe it [00:54:17] just ignores it. Maybe it says [00:54:20] if you're asking for all the record I Ds, [00:54:22] then I'm gonna give you all of them [00:54:23] regardless of what the view has filtered. [00:54:26] So those are probably the, [00:54:27] the three options that it could do [00:54:31] and [00:54:32] it returns no error and it just gives [00:54:34] you the two that are in that view. [00:54:36] So it actually ignores the other [00:54:39] two that you're asking for. [00:54:41] So the filter is what, what [00:54:43] besides not the record ID [00:54:45] as being specified. [00:54:47] Yeah. [00:54:48] So it basically, [00:54:49] so this record ID, it says [00:54:51] return us all record I Ds [00:54:54] that exist in this view, [00:54:57] what about if you only [00:54:59] wanted to see one of the record [00:55:00] I Ds in that view? [00:55:02] Then you would need to specify that [00:55:05] in your list here. [00:55:07] And [00:55:08] so I don't only return one? [00:55:11] Yeah. [00:55:12] Yeah. If you did this, [00:55:14] then it would just return [00:55:15] that one. [00:55:16] Yeah. [00:55:17] Now the question is [00:55:20] question is if the record ID was invalid, [00:55:24] then it just returns empty. [00:55:26] So basically treats [00:55:28] those unknown record I Ds as invalid. [00:55:32] So if he pats in an invalid record ID, [00:55:35] it's not gonna throw an error. [00:55:37] It's gonna just [00:55:38] assume that, that [00:55:40] it, it's a search effectively. [00:55:43] It's like how many results [00:55:45] match your query. [00:55:46] In this case, it's [00:55:47] record ID equals this or [00:55:50] is one of these and [00:55:51] if none of them match it, [00:55:53] then to Airtable, I guess [00:55:55] that's not an error. It's just none match. [00:55:59] Yeah. So you do that if you're [00:56:00] trying to see of all these records, [00:56:02] which one of them fits this criteria, [00:56:04] which is the, the filtered view. [00:56:06] Yeah. [00:56:07] yeah. Yeah. [00:56:08] Yeah. So, I wonder if, yeah, [00:56:10] under the hood it might be [00:56:12] converting this to a [00:56:15] a [00:56:15] filter, [00:56:18] or a select filter formula [00:56:21] and it might be saying if record ID [00:56:25] equals this or if it equals the others, [00:56:28] that's what we do a lot with, [00:56:30] when you use the API, [00:56:31] it doesn't have this where [00:56:32] you can pass in record I Ds [00:56:35] to the API, [00:56:36] you can do a single one where you [00:56:38] just pass in the single [00:56:39] record [00:56:39] to get that. [00:56:41] But if you are saying return multiple [00:56:43] like specific record I Ds, [00:56:46] then you have to use like the [00:56:49] or, and you say record ID equals [00:56:52] A or record ID equals B [00:56:54] and so in that scenario, [00:56:56] it would work the same. [00:56:57] So I wonder if it's, [00:56:58] that's what it's doing under the [00:56:59] hood. [00:57:02] So [00:57:03] that is good to know [00:57:04] we've solved that mystery. [00:57:06] So I'll reply back to Jason G [00:57:07] and let him know that [00:57:09] mystery is solved. [00:57:13] Yay. [00:57:15] We did it [00:57:18] all right. [00:57:19] And that concludes [00:57:22] the season. So we will be back [00:57:25] in 4 to 5 weeks at the beginning of [00:57:28] July. So probably [00:57:30] after the fourth of July. [00:57:32] Maybe we'll start a week later, [00:57:35] but excited to see what [00:57:37] comes out in the next [00:57:38] couple weeks while we're off [00:57:40] and thank you all for joining [00:57:42] and we will see you next time.