2/27/2024 – BuiltOnAir Live Podcast Full Show – S17-E08

Duration: 0 minutes

Be Sure to Subscribe to the podcast!

To get all the latest videos and demonstrations from the BuiltOnAir Podcast, subscribe and get notified on our Youtube channel here and our newsletter/community here.

FULL EPISODE VIDEO

Watch the full video of the show. See below for segment details.

FULL EPISODE AUDIO

Listen to the full Audio podcast for this episode here. Or add to your favorite podcast player

Listen On: Apple | Overcast | Spotify


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.

Todays Hosts

Alli Alosa – Hi there! I’m Alli 🙂 I’m a fine artist turned “techie” with a passion for organization and automation. I’m also proud to be a Community Leader in the Airtable forum, and a co-host of the BuiltOnAir podcast. My favorite part about being an Airtable consultant and developer is that I get to talk with people from all sorts of industries, and each project is an opportunity to learn how a business works.

Kamille Parks – I am an Airtable Community Forums Leader and the developer behind the custom Airtable app “Scheduler”, one of the winning projects in the Airtable Custom Blocks Contest now widely available on the Marketplace. I focus on building simple scripts, automations, and custom apps for Airtable that streamline data entry and everyday workflows.

Dan Fellars – I am the Founder of Openside, On2Air, and BuiltOnAir. I love automation and software. When not coding the next feature of On2Air, I love spending time with my wife and kids and golfing.

Show Segments

Round The Bases – 00:01:40 –

Field Focus – 00:01:41 –

A deep dive into the Synced Data Synced Records – Kamille will walk through how data behaves when synced to another base 

Scripting Time – 00:01:42 –

Explore Scripting with “Setting Field Descriptions”.

Alli will walk through a script to set field descriptions via the scripting API.

Base Showcase – 00:01:42 –

We dive into a full working base that will Hannah will share her Grants Management base to track the grants process.

Full Segment Details

Segment: Round The Bases

Start Time: 00:01:40

Roundup of what’s happening in the Airtable communities – Airtable, BuiltOnAir, Reddit, Facebook, YouTube, and Twitter.

Segment: Field Focus

Start Time: 00:01:41

Learn about the Synced Data – Kamille will walk through how data behaves when synced to another base

A deep dive into the Synced Data Synced Records – Kamille will walk through how data behaves when synced to another base 

Segment: Scripting Time

Start Time: 00:01:42

Scripting Time: Setting Field Descriptions

Explore Scripting with “Setting Field Descriptions”.

Alli will walk through a script to set field descriptions via the scripting API.

Segment: Base Showcase

Start Time: 00:01:42

Grants Management

We dive into a full working base that will Hannah will share her Grants Management base to track the grants process.

Full Transcription

The full transcription for the show can be found here:

[00:00:00] Intro: Welcome to the Built On Air Podcast, the variety show for all things Airtable. In each episode, we cover four different segments. It's always fresh and different, and lots of fun. While you get the insider info on all things Airtable, our hosts and guests are some of the most senior experts in the Airtable community.

[00:00:26] Join us live each week on our YouTube channel every Tuesday at 11:00 AM Eastern and join our active [email protected]. Before we begin, a word from our sponsor on. On2Air Backups provides automated Airtable backups to your cloud storage for secure and reliable data protection. Prevent data loss and set up a secure Airtable backup system with On2Air Backups at on2air.

[00:00:49] com. As one customer, Sarah, said, Having automated Airtable backups has freed up hours of my time every other week. And the fear of losing anything. Long time customer [00:01:00] David states, OntoAir Backups might be the most critical piece of the puzzle to guard against unforeseeable disaster. It's easy to set up, and it just works.

[00:01:08] Join Sarah, David, and hundreds more Airtable users like you to protect your Airtable data with OntoAir Backups. Sign up today with promo code BUILTONAIR for a 10 percent discount. Check them out at ontoair. com. And now, let's check out today's episode, and see what we built on air.

[00:01:38] Dan Fellars: Welcome back to the built on air podcast. We are in our final episode for season 17, episode eight. Good to be with you. We've got a full house today, myself, Allie, Kamille, and welcome Hannah. Hi. And has been on the show a few times and also helps basically run it behind the scenes. So good to have her [00:02:00] get some FaceTime with the audience.

[00:02:01] So we'll we'll have a show for us today. I'm going to. Bring on our slides, maybe get rid of our branding so you can see everyone. So I'll go through what we're going to be talking about. We always have four segments. We start with our round the bases to keep you up to date on everything Airtable and what's new.

[00:02:25] And then a quick shout out to onto our primary sponsor. And Kamille is going to walk us through, I don't have a good segment for, for what she's going to be talking about. I put it in the fields, but it's basically about syncing the sync data and how, how records behave in under certain scenarios when syncing, then Allie is going to walk through some scripts to set field descriptions.

[00:02:51] Then a quick shout out to join our community. And then finally, Hannah's going to walk us through a base that she has for managing grants. 

[00:02:59] ROUND [00:03:00] THE BASES - 00:03:01

[00:03:00] And so around the bases, a few things going on. Let's see, let's start. We're going to start with. Start here. So they announced expanded support for interfaces on mobile.

[00:03:18] So we talked about this. I think they had mentioned it previously. Or maybe actually this is a new announcement, but basically there's, there's better. I think somebody spotted it in the community. This is the official announcement. So Android's getting some love. And yeah, 

[00:03:39] Kamille Parks: my co workers make fun of me I primarily contract for Apple right now, but I have an Android phone, which means I can finally look at our stuff, all the stuff that we create, I can look at it now.

[00:03:50] Yay. 

[00:03:51] Dan Fellars: Yeah, yeah. So that is good support for charts and numbers on mobile. 

[00:03:59] Hannah Wiginton: That's great.[00:04:00] 

[00:04:03] Dan Fellars: What's 

[00:04:03] Hannah Wiginton: that? Hannah said, that's great because for a long time they didn't really add a whole lot to the mobile app. And so now they seem to really be doing more with it, which is great for. Anyone who's not sitting at their desk all 

[00:04:16] Kamille Parks: the time. I did also notice when you're developing or creating an interface page, you can preview it in what it would look like for mobile.

[00:04:26] I don't know if it's there all the time, but there's at least one place in the interface designer where you can look at what it would look like on mobile, which is useful because it does look different. There's more limited things that can obviously fit on the screen. So it's something to consider when you're designing those pages.

[00:04:46] Dan Fellars: This is something, I think this is Alex Wolf, who's in the built on air community and used to work at Airtable, but looks like he's now at Airbnb. Interesting. Alright. [00:05:00] So version 6. 0. 1 supports interfaces on Android. So there's some announcements, there's a couple other features that people found new that we'll be talking about.

[00:05:14] but we'll go through a couple other from the Airtable community. So here's one asking about downgrading from enterprise to teams. So if you're on enterprise and you're downgrading, they, so they downgraded from enterprise. My assumption was if you were on enterprise, you would have to go through your account manager to To downgrade.

[00:05:40] Alli Alosa: Yeah, I actually just ran into this with a client, because they, they downsized. They don't have enough seats to justify enterprise anymore. So they were going to go down to business and I was trying to help them. And even like in the admin panel, it's just a mess because you can have unlimited workspaces.

[00:05:58] So like you have to [00:06:00] downgrade one workspace at a time. It just seems, and they all seem to be built separately, even though you have unlimited, it's very odd. So I reached out to. And they said, no, you def, you definitely need to go to the account manager. 

[00:06:15] Dan Fellars: Interesting. And maybe they did their actual question is so they downgraded to free and then now they have all these like old users.

[00:06:25] That they want to delete, but the ability to delete, you have to be on the team's plan to delete users. And so they're kind of stuck. They don't want to upgrade with all of those users. So I think somebody said it's possible they have rights to bases and you have to go to each base and remove them or each workspace so that they don't have any permissions to any bases.

[00:06:51] And so it looks like that's the answer there. So if you're running into that. All right, here's another one that that [00:07:00] seems to I know I think I have a client that is running into this issue, but there was some issues with copy and paste, Jan here. Databaser is talking about rich text. There was, an Airtable status where they were saying, was it rich text?

[00:07:22] Let's look at this. 

[00:07:24] Alli Alosa: Yeah, this wasn't, yeah. 

[00:07:27] Dan Fellars: So they say it's resolved, but Scott's saying it's still an issue. Interesting. None of his issues with it have been fixed. Still have problems of copying, pasting, or rich text. So I don't know if that's still an issue for people, but Airtable say they have it resolved.

[00:07:51] Yeah, it's responded.

[00:07:57] Yeah, so there may be, [00:08:00] And I think, I think it's been there for a while. Let's look at this. I guess it was identified on the 9th and resolved on the 13th. So, so maybe it, it hasn't always been there and they got it fixed. So anyways, tell us if it's working for you. If, if you're able to copy and paste.

[00:08:26] Rich text fields. Very interesting. Alright, moving on to the built on air community, a few things. This one was just kind of cool. If you do SEO and looking for an example, we'll actually have Borja come on and show us, I think he said Hannah's going to reach out to him and get him on. Next season, maybe.

[00:08:50] But if you're interested in how somebody built an article writing tool with SEO and AI inside of Airtable and automatically [00:09:00] published to, to WordPress he put together a loom video walking through how he does that. So it could be of interest if you're in the marketing SEO world. All right.

[00:09:12] Here's one from, Ben mentions that download CSV from interfaces is new. I believe, did we talk about this before? I can't remember if it was on there. What's new page? 

[00:09:27] Kamille Parks: It is now referenced on there. What's new page? So they have announced it, but 

[00:09:33] Hannah Wiginton: I don't know. But this is awesome because like, if you've ever, used glide or something like that, they already have that in there.

[00:09:41] And sometimes you just want to have a spreadsheet really quick of the data and. You know, there are workarounds in interfaces to do that, but just having that, that button right there is really great. I was excited about this one. 

[00:09:59] Dan Fellars: [00:10:00] Yeah. So if you're in interfaces and you need the ability to export as a CSV, that's now.

[00:10:06] Available. That's nice. So, yeah, so where do you set this? Let's see. Where is the screen 

[00:10:14] Kamille Parks: if you are on the full page interface types? It's in the right hand sidebar. It'll just be visible under. You can kind of see it in that screenshot. It's nested under user actions. The same place where you enable someone to sort or search or filter the end user, giving them that opportunity.

[00:10:35] And if you're on a detail page, it's. Also, in that same relative location, wherever you would go to turn on filtering for your end users is the same place you would go to turn on downloading as a CSV. So this is a pretty useful. I've I had a client before where they wanted, a view that was easy to export to their different partners, but they kept [00:11:00] having to filter that view for each client that they had or have like 30 copies of the same view.

[00:11:05] And then now it looks like they can just create an interface and use that interface like toggle for which client it is, which should be a lot faster for them. 

[00:11:20] Dan Fellars: Cool. All right. Next one is from Russell, talking about conditional visibility and interfaces can only be defined by the contents of previous fields.

[00:11:34] So that's great for forms. That makes sense because you're usually going one at a time, but it's bad for interfaces or everything else. So the most common requirement. Is if something is empty, hide it. So 

[00:11:47] Kamille Parks: we do that. We did talk about this before. It doesn't necessarily have to be a previous field. It could be any field that is on the page and that field [00:12:00] itself can be hidden.

[00:12:02] I don't know if you can hide a field based on if that field is empty off the top of my head. I don't know. I think it has to be based on other fields, but the field by which you are hiding everything does not itself have to be visible. It does need to be on the page though. 

[00:12:22] Dan Fellars: That's for interface only, right?

[00:12:24] The conditional on forms it's previous. 

[00:12:27] Kamille Parks: Correct. 

[00:12:30] Alli Alosa: Which makes sense on forms. But yeah. Yeah, that's a very odd decision. 

[00:12:38] Dan Fellars: Yeah, it should be, you know, just like they have on filters, like there's no is empty or is not empty on the filters, right? 

[00:12:48] Alli Alosa: I don't understand why, for example, like the list view, it's different, whether like there's different options, whether you're on like the main interface page or the detail page or [00:13:00] one of the old interfaces or in the base, like they're all five of those have different iterations.

[00:13:05] It's so 

[00:13:05] Kamille Parks: strange and 

[00:13:08] Dan Fellars: you can't, can you, I can't remember, in this dropdown here, can you select the, the field you're trying to filter, 

[00:13:21] Kamille Parks: or can you only select one of the fields? I don't remember. I, I will test in the background to see if that's the case. I feel like you can't. I feel like it has to be other fields, but I will test and see what the results are.

[00:13:35] Dan Fellars: Yeah, because I could see why maybe they, they made that decision that you can't. Do a filter based off of the current one, because then you can't, if you hide it, you can't change it to unhide it if the filter is based off of that value. So that kind of makes sense.

[00:13:58] Yeah, it's hard to tell from this.[00:14:00] 

[00:14:02] Can't even hack it with a mirrored formula field that just says if a field is empty or not, I assume because the formula reference the field you have selected, so you can't even, so it doesn't give you, so you can use the formula field, but not if that formula field references the field you want to filter.

[00:14:22] So they clearly put thought into this, so there's some reason that they made that decision. If they didn't put that into it, I would think those formula fields would show up. 

[00:14:34] Kamille Parks: So the field selection for when you filter by a field being visible, you cannot select the field you're currently on. So if you're trying to hide name, when name is empty, you can't filter by when name is empty.

[00:14:52] It has to be a different field. 

[00:14:55] Dan Fellars: And apparently not a formula field. Yeah, very [00:15:00] interesting. Yeah, we'll see. Maybe that's something they'll revisit. All right, one more. Hannah, what did you find today? 

[00:15:11] Hannah Wiginton: Okay, formula fields. You can now see the results as you're typing the formula out, which is awesome. So you can see if it's valid and what what results you'll get once you save that formula.

[00:15:27] That's 

[00:15:29] Kamille Parks: cool. That's very cool. 

[00:15:31] Dan Fellars: Yeah. So you basically select a record and then it just sticks on that record. It uses the values from that record and then shows you the result. Is it just right to the right of 

[00:15:41] Hannah Wiginton: that? Below. I mean, basically what that is, is the formula is valid. So it's showing me all the results that would show in my, you know, whatever it is in my, But basically I can [00:16:00] filter kind of, I guess, 

[00:16:05] Dan Fellars: where does it, where's the preview? Is that down here, this lower section? 

[00:16:11] Hannah Wiginton: No, it's like you click, you click on that blue upload where it says kind of upload most recent, which is a, yeah. And then it just drops down and shows you the results. So in that formula, It's due within 90 days and it's based on the due date.

[00:16:27] And so what it's showing me are all the results that would display for that formula. 

[00:16:35] Alli Alosa: That's so cool. 

[00:16:37] Kamille Parks: Gotcha. 

[00:16:39] Dan Fellars: Okay, that's cool. Yeah, I hadn't seen that before. So I don't know if Josh says it's, I couldn't, I couldn't understand it. 

[00:16:45] Hannah Wiginton: I just saw it this morning editing and I'm like, I don't think that it was there.

[00:16:50] I mean, 

[00:16:53] Kamille Parks: this would have been new. I've been writing formulas like crazy recently, and I think I would have noticed. I hope [00:17:00] it surprised me. 

[00:17:02] Dan Fellars: Yeah, that's a cool feature. All right. Some more. This is from table forums. So on the new dashboard interface asking about the filtering. So this person's asking they used to on the, like on the view or on the data layer, you can filter by a date and you can use that same date multiple times in the filter.

[00:17:30] So you can say the date has to be greater than or equal to a certain date and less than or equal to another date so that you could, like, lock it into a range. But apparently, in interfaces, you can't use the same field twice in the filter. 

[00:17:47] Kamille Parks: Yeah, 

[00:17:48] Alli Alosa: yeah, Scott had a good workaround where he just created a formula field to display that date again.

[00:17:55] And then you can use the formula field in the filter, [00:18:00] as well as the original date field. But yeah, it's very silly. There's a lot of really silly things, I think, with the new dashboard. I like some things, but Other things. I'm just like, why? 

[00:18:14] Kamille Parks: Yeah, that one feels more like an oversight necessarily than like a feature or perhaps something that has to do with like gating performance or something.

[00:18:23] It just it, it feels odd that that is an instance where you can't filter by the same field twice. Whereas in other. Like basically everywhere else in the product there, that limitation doesn't exist. I can kind of see it for when, if you have those drop downs at the top of a full page interface or on the dashboard page where, like, each field appears once, that makes sense because you don't want to have, like, why would you have two of the same drop down?

[00:18:52] When does that second drop down appear? Does it? Get added automatically. That is the only instance where I think that makes sense from a [00:19:00] design perspective. But in terms of like everywhere else that you can filter and every other type of filtering, that does not make sense. In my opinion, 

[00:19:10] Alli Alosa: absolutely, they did.

[00:19:11] They expanded upon like options, like when you're filtering by a date field on an interface, They made it so there's more options in that drop down. It would be great if you could just set a custom range, like you can do, you know, it's on or after exact date, but they should allow you to have like the two conditions within that one.

[00:19:31] It's between. 

[00:19:32] Kamille Parks: Yeah, exactly. Yeah, if they do that, then you, you'll probably take out a, a good chunk of these use cases. But sometimes you, you do want, the, the one I run into all the time with select choices and linked records is I wanna check that something is not blank, but is also not any of the following.

[00:19:54] And that requires two conditions. It can't be done in a single one to my knowledge. [00:20:00] Yeah. 

[00:20:01] Dan Fellars: And is this for all field types? You can't, like a text field, you can't say name is Kamille or name is Allie. You can't do that. Interesting. And I 

[00:20:10] Kamille Parks: don't think, I think that's always 

[00:20:11] Alli Alosa: been the case. Even when interfaces were first put out, you can't, they're all, all and always.

[00:20:20] I don't think you can change it to and or, and they don't have condition groups either. So it's always been a bit limited. 

[00:20:27] Kamille Parks: Yeah. The baked in filter, the one that is not displayed to, and users that can have conditions on it, but the end user filters was always either and or, or, and I think the first filter element that was on like the blank page layout and like the ones that were completely drag and drop anywhere.

[00:20:49] Those were always and and you couldn't do or so. Yeah, it's always been kind of a weak point. 

[00:20:56] Alli Alosa: Absolutely. Something that's been really bothering [00:21:00] me is like, I used to be able to like with the blank dashboards or like the record review, you know, I do something all the time where I link up all my tables to a table called months, for example, so I can like bucket my data into months and then I could look at one of those months and display on the page all the data having to do with that month and filter it all with the same kind of things, but you can't.

[00:21:27] I don't do that anymore on the new dashboard because you have to have separate filters for each section. So you can't, you'd have to go through and say, this month is this, this month is this and like set them all. But it's, I don't know, I think maybe one day they'll fix it. But until then, I'm not really able to use the new dashboard in the ways I want.

[00:21:50] Dan Fellars: Yeah, it's, it's definitely version one. 

[00:21:54] Alli Alosa: Yeah, that's true. 

[00:21:56] Dan Fellars: All right. [00:22:00] A few more. Here we go, start here. From Twitter, Airtable just had a birthday, 11 years, and so happy birthday Airtable, 11 years in. It must be February, February 22nd, February 21st is their birthday. I think I remember last year when they had their 10 year.

[00:22:31] Okay. Kind of on the same thing. Something else I found on X Twitter. Just an article from Wall Street Journal talking about company or people that left, that left the Bay Area, but are now coming back. And they mentioned Airtable, the founder of Airtable, which I assume is Howie. I think he was in LA and apparently now came back to San Francisco to run things.

[00:22:58] So [00:23:00] it sounds like Airtable Coming back to the office, which is for tech companies. Here's another one. Somebody showing what their calendar view or this is a this is a timeline view. I assume, kind of cool. So curious if anybody has something more complex than this. See if you so this is like an event calendar of a conference and all the key, all the speakers and everything.

[00:23:34] So always to see people pushing the limits. 

[00:23:40] Alli Alosa: Yeah, I love that. 

[00:23:42] Hannah Wiginton: I like the comment looks like one of those guitar hero things where you need to match. Yeah,

[00:23:50] Kamille Parks: this looks impossible. 

[00:23:52] Hannah Wiginton: Yeah. Yeah. Expert 

[00:23:54] Alli Alosa: level. All 

[00:23:58] Dan Fellars: right. [00:24:00] Some more. So this more outages, increased error rates last week. So a few days ago, if you saw some errors through automations, you weren't alone, your table looks like had some outages. Hopefully it's back up. And finally, friend of the show, Russell is hosting an Airtable meetup in London.

[00:24:30] So if you're out in that area check out his link here to sign up. And join other Airtable fans out in London for for a meetup. So we'll be good with Russell. Cool. Any other news or updates in the world of Airtable that I missed? 

[00:24:52] Kamille Parks: I think that's it. 

[00:24:55] Dan Fellars: All right, let's move on. Talk about backups. 

[00:24:57] ON2AIR SPOTLIGHT - 00:24:57

[00:24:58] If you are [00:25:00] relying on Airtable to run your business, best practice says to have your data stored outside of Airtable.

[00:25:06] That's where backups comes in from onto air, check it out at onto air. com. You can use promo code built on air to get a discount and. Be able to make sure that all your data, all your attachments and your schema are backed up outside of Airtable and we save it to your google drive, your box or your drop box account.

[00:25:26] So check us out at onto air dot com that 

[00:25:31] FIELD FOCUS - SYNCING AIRTABLE BASES WITH NO REVISION HISTORY - 00:25:35

[00:25:35] Kamille is going to share some fun syncing stories with us. 

[00:25:43] Kamille Parks: Well, now seems as good as time as any to have a brief refresher course on what happens when you sync from one table to another in Airtable. A lot of this is going to be consistent no matter what your sync type is, if it's Airtable to Airtable or if you're [00:26:00] using the built in, you know, like the Google Drive.

[00:26:05] Sync to another Airtable base, or if you just have any of the other ones, and at the end result, you have one table in Airtable that is syncing to a different table, also in Airtable. So, really simple setup. I have a view that has just five records that is being synced. To this other base come in here and then for my other table in that same second base I am linking to some of those records that are sinking in.

[00:26:43] I just want to make reference to a lot of things that happen in the revision history. When you. link to a record. Obviously, that is a change to this record in this case, record number three. And so that should show up in [00:27:00] your side panel. If you were to delete or rather unlink the record, it should also show up as a change in history for that record.

[00:27:12] I'm going to go ahead and relink the same one. But what happens if a record is Desynced from your synced table. What would that look like in terms of revision history? So I'm going to find lemon ginger shake in my original and I'm just going to delete this recipe. So. What should happen is you can see it kind of over here, but you could definitely see it right here.

[00:27:44] It is no longer linked to that linked record. But you'll notice it doesn't show up in the revision history either. So just as a note of clarification, when you link and unlink or make a change back and forth, like [00:28:00] within the same minute or so of, Of Airtable, it will sometimes it collapses the change.

[00:28:09] So me linking it in the first place, de linking in and relinking it was removed. But it's being desynced from the table is not logged anywhere in the revision history. And if I hard refresh the page just in case to see if it shows up, it will not. Other weird behavior. Now it doesn't say that it was ever linked at all because the record does not exist in this base at all.

[00:28:38] Fun times with syncing behavior. I linked all of these right back to back before the podcast began. And you can see it remembers that this one was linked roughly at the same time period. But the other one, it's as though that record never existed here. So What do you do? If you [00:29:00] needed that record for whatever reason in your downstream base, there's a couple of things that you could do.

[00:29:06] First thing I'm going to do is I'm going to go to my trash and I see that I have that record deleted much like you would for any record that you actually delete, not it being desynced from. a table in your base, but something being deleted. This is a regular Airtable table. So this is standard behavior.

[00:29:25] It shows up in my trash of my original base, not in my synced base. And I'll demonstrate that as well. If I go to my trash here, there's, you know, other stuff that I have done, but not that missing record lemon ginger shake from my synced table. If I restore this, it'll come back in. It will re link itself to other Tables that were in this space, which is great.

[00:29:52] It comes in completely restorative how it originally was. And then conveniently in Airtable, it shows back [00:30:00] up and it sinks table. And now all of that history comes back. Wow. And then it has changed its mind about whether or not to collapse this change into one. But it does not recognize that it being linked back from being distinct is a different change.

[00:30:19] It's a bit confusing. This linking here is not, it's not technically it being relinked. I feel like that was very confusing, but this is, in fact, a somewhat confusing process. To recap what happens If you were to delete something in some way, shape or form from the source, that means either deleting the record, which is what I did previously, or if this were a filtered view, right now I didn't have a filter, but if I say does not contain anything.

[00:30:58] Okay. Let's say butter [00:31:00] now. So now it's removed from this view, but still exists in the source space. It should, Oh, wait, I wasn't linking to anything. Sorry. Let me do chocolate so that we can see for demonstration. If I could spell that would be great. Does not contain. Chaco, it will do the same thing. It is though it never existed in this base, this downstream base that I have.

[00:31:27] If I were to look at its revision history, it does not show up as any type of modification and you would have no way of knowing, even if I had a lookup of that linked record and a formula based on that lookup that is not reflected either. And just to. For ultimate clarity, it being desynced does not show up in the downstream bases, revision history or deletion history.

[00:31:56] If you were to restore a deleted record [00:32:00] from the trash, Or, if you were to adjust your filters such that that record is added back to the origin or the home base, it will add itself back to the downstream base, relink itself to whatever it was previously linked to, That change is also not actually reflected in revision history as well.

[00:32:27] You'll see. It's only showing me the first time I linked to the record 30 minutes ago. Not that it was removed and then added back by nature of sinking and restoration. Something to keep in mind, though, although This being removed and this zeroing out, therefore my formula zeroing out, is not reflected in revision history, it is still technically a change in field value.

[00:32:54] So if you had an automation that was triggered for when [00:33:00] this linked field is empty, Or when this is filled, that automation will trigger when either of those conditions are met because it is now empty, or in this case now filled same thing with your formula. So if you had an automation that said alert me when the amount is over 10.

[00:33:21] It will alert you twice when it first did it and then when you removed the record and therefore zeroed out the formula and then when you restored it, that's when you would get that second email automate automation because it now has reached those conditions again. Yikes. Something to keep in mind when you have a synced table.

[00:33:46] There is an option that might save you some headaches if you go to your synced table, not the source, but wherever it is synced to and update its sync configuration, [00:34:00] there's an option for delete records when they are deleted or hidden in source. Hidden in source would be the same thing as filtering it out of the view if it's an, If you're using an Airtable view, if you're using Google drive or something, you move it out of the folder and then move it back.

[00:34:17] Something like that. I'm going to change, delete the records in this table is on by default. If you have leave the records in this table, turn on what will happen is this synced record. Will be more or less orphaned, so it will no longer receive updates from the source. Let me demonstrate that if I delete Lemur Ginger Shake again, it should remain how it is in this table.

[00:34:50] And we'll pause here for a moment. You'll see that nothing is changing. I'm going to and then just for demonstration purposes again, this is still linked to it [00:35:00] because it's synced copy still exists. It just doesn't have any updates coming to it. If I hit control Z, filter it down. It's now still in this space.

[00:35:14] I'm going to filter it out of the view. So it's gone, but still exists in this table does not contain lemon. And then I'm going to make another view really quickly just to demonstrate what happens if I rename that record. It should still be in this table, but. It's not going to know that its name is now lemon ginger shake plus all that extra stuff.

[00:35:43] It has severed its tie from the original, but does still remain in this space. So you're not going to have the linking and unlinking that happens mysteriously and without warning your downstream base. But you will run into [00:36:00] that where if something changes in the original, you're not going to get those updates anymore.

[00:36:06] Something to keep in mind, but that is 

[00:36:07] Dan Fellars: bringing it back into view. If you bring it back and update, 

[00:36:12] Kamille Parks: it sure will. So what's happening is it should come in and sort of watch it. I'll go to this table. Yeah. So it's updating the correct 1. It does not create a copy of that record. It is looking at a unique identifier.

[00:36:31] for the synced table because I'm doing Airtable to Airtable. That is the original record ID as they exist here. And so it knows this is the same record ID. Therefore update this row rather than adding a new one. And that's why all of your linked relationships are preserved even after they come back after restoration, because it knows which.

[00:36:56] unique identifier to look for. It is the [00:37:00] same if you have another sync source. So when you are syncing through the sync API, for instance, you are asked which of these fields has a unique identifier and they very much should be truly unique identifiers. So you can have this type of behavior represented.

[00:37:20] Wild. Yeah. 

[00:37:22] Dan Fellars: Yeah. What's going on there? I can only imagine, like, the developers, like, what do we do in this scenario? What about this use case, edge case? 

[00:37:31] Kamille Parks: It's one of those things where, like, I, I feel like I understand why it behaves this way, and I'm, it is so helpful that restoring a deleted record or filtering it Back in, we'll fix all of your links.

[00:37:45] So you don't have to figure out what was linked before, but I really wish that something being de synced from the table shows up in its revision history. I'll do this one. Cause it is less confusing. It does [00:38:00] not show up at all that it was de synced and then re synced back in. 

[00:38:06] Dan Fellars: Alicia asks if there is any visual indicator that it's been orphaned.

[00:38:12] Kamille Parks: You can now 

[00:38:14] Alli Alosa: you can what I do is if I put a button in, if you do a button to open the source record, it'll button will be grayed out and then you can use a formula field that says. You know, if that button field is empty and it's deleted, 

[00:38:31] Kamille Parks: so just to quickly demonstrate what Ali is saying, open source record, this option will only show up.

[00:38:37] If you are inside of a sink table, I will do this all of these. Let me give it a background. So it's more visible on screen and then if I once more with feeling delete this from that view, It should, yeah, now it's grayed out because again, [00:39:00] I have the setting on don't delete, synced records. That's why it's still here, but now it's grayed out.

[00:39:07] And so that would be your first visual indicator, but Allie was taking another step for further with a formula, formula, and then you said, if the button. Or if 

[00:39:22] Alli Alosa: not button deleted, you can do it, you know, either way. Really? 

[00:39:28] Kamille Parks: Yeah, 

[00:39:31] Dan Fellars: you don't have the 

[00:39:33] Kamille Parks: preview. Yeah, I don't. Yeah, I don't have it yet. I feel cheated.

[00:39:39] But yeah, so that is a, that's something that did not immediately come to mind for me, but yeah, this is, this would be great. And of course, now you can color code your things based on, If your formula is not empty, then it should be red because it's gone. Stuff like that. [00:40:00] 

[00:40:01] Dan Fellars: There you go. Awesome. Is great stuff.

[00:40:05] That's probably the deepest dive anybody's ever done on synced records. Very cool. 

[00:40:12] Kamille Parks: It's one of those things that doesn't come up until it does silently. 

[00:40:17] Hannah Wiginton: I'm just thinking about how the person put it there and they're like, I, I, it was there. I promise it was there, you know, And then it doesn't show.

[00:40:27] Kamille Parks: Yeah, and this is a great option to have to leave the record in there if it's not deleted, but it is very confusing if you don't have something like at what Allie just mentioned, that lets you know that it is like the tie has been severed because then you're like, well, what? It's right in the original.

[00:40:44] Why is it not right here? And yada, yada, yada. So be mindful of the settings you have turned on. Also. If it's something where it's a critical base, something you can also do in the original one, if you do, I don't [00:41:00] have it on the plan that this space is sitting in, but able, enable table permissions and turn off deletion so that no one can delete it and then lock the view so no one can change the filters.

[00:41:11] Dan Fellars: Yeah, excellent. Thank you for sharing that. 

[00:41:18] SCRIPTING TIME - ALLI ALOSA - ADDING FIELD DESCRIPTIONS WITH A SCRIPT - 00:41:23

[00:41:23] And we're going to go back here and now Ali is going to walk us through some scripting. 

[00:41:31] Alli Alosa: Awesome. Okay. So this is a pretty somewhat niche, use case, but it's something I was actually doing a lot of the other day that I found useful. And Alicia will actually, recognize what I'm doing here.

[00:41:48] We talk about this a lot. So I, I've written a couple of scripts to populate a table of fields. So with metadata, in your base. I've did a [00:42:00] really dumbed down version of it here for, for now. I only grabbed a couple different fields. Kavon has an app out there in, I think in the marketplace that can do this too.

[00:42:10] And it's super fancy. So I highly recommend it. So it makes it really nice. You can actually kind of look at all the fields that you have in a base. You can group them by your table, and get a feel for, you know, if you've got things, duplicate information, all that kind of stuff. And one thing this was, I did a really, really quick, very quick script just to populate this table, but you can get way fancier with it.

[00:42:44] So the use case that I'm going to talk about today is there is a relatively new JavaScript method that Airtable has given us. To allow you to use scripting to update the fields description, [00:43:00] and I have found this really useful as I'm going through and kind of doing a base audit on one of my larger bases that I work in all the time.

[00:43:10] I've got thousands of fields, and we're trying really hard to, like, keep up with field descriptions, which I am terrible at. So if you're like me and you hate documentation, this might be helpful. So rather than actually going through all the tables and like finding the fields, adding the descriptions, you've got to click, edit the description, add it here, save, go to the next one.

[00:43:33] Takes a lot of time and lots of clicks. Having it in this kind of format is really nice because what it's allowed me to do is I could just write the field description in here. I can just write, you know, the address of the company, for example, and then I'm going to write, I'm going to show you how you can write a script to just click a button and have that field description update.

[00:43:59] [00:44:00] So real quick, I'm going to write this script very. Simply without any bells and whistles, but I'm going to say, let table fields and let me make this big

[00:44:15] will say based on cat table fields because I need to define the table that I'm going to be clicking a button on, I'm going to say, let the record selecting equal a weight input record. I think. And I'm going to say, just choose record because I have to give it a label. And then table fields is my source.

[00:44:42] So now I'm going to say if I have selected a record, I'm going to say let the field ID equal record dot get cell value. Field ID, and [00:45:00] the description I want to update is that description field. Now, let's say I want to like just output on the screen what that description is. I'm going to say output dot text description.

[00:45:20] So just to demonstrate that, let's put a button to run a script, and I'm going to point it at my demo dashboard. I didn't name my scripting app, so it's not very helpful here, but we'll say set field description. I apologize. I'm slowly getting over a cold. So my voice is like totally gone right now. So, when I click this button, all it's going to do is just output what that description is.

[00:45:51] So, next, I want to be able to ask the user, like, hey, are you sure you want to update the field description? [00:46:00] So we'll just put in a set of buttons and we'll say like let should update another input, but this time I'm going to use buttons update field description and they'll have just yes or no. And then if they pick 

[00:46:23] Kamille Parks: yes,

[00:46:26] Alli Alosa: and we will say we need to, in order for us to use this field description method, we need to pass it a couple of things. So one of those things. is the field itself. So I need to actually go out and get the field on that table. So I have the table name here. So I'm going to have to use, I have to go get the field on that table.

[00:46:54] So that's going to be my next step here. Where I'm just going to say let [00:47:00] table equal base dot get table, and we'll say, I should have defined it as a variable up here, record dot get cell value table.

[00:47:20] Oh, well, table to update, you need to name your variables uniquely. So then we need to define that field. So field to update equals table to update to get that field. And this time I'm just going to use the field ID that I have here on that table, and then we'll say await field to update dot update description async.

[00:47:51] And then I'm just going to pass in that description here and that's really it. So then I can, you know, output, [00:48:00] or let's just do text for now. Usually I'll end my script by saying something like done. Now, when I click this button here, it's going to say, here's the description. You know, I could make this fancier with headings and stuff.

[00:48:17] But we'll say update field description. Yes. And it says, okay, done. So now if I go actually look at that field on my company's table, it's called address. Now I have a field description that says what I typed in there. So this has saved me a lot of time as I'm trying to go through and like, beef up the documentation and descriptions in my bases.

[00:48:42] I could just kind of go through and type what I want the description to be. Click the button and I'm all done and I don't need to kind of go searching through each table to find each field as I'm updating the description.

[00:48:56] And that's 

[00:48:57] Kamille Parks: about, 

[00:48:59] Dan Fellars: yeah, very [00:49:00] useful. You don't have to go to each one individually. Exactly. Cool stuff. Maybe yeah, if anybody's interested, let us know. We can maybe make that script available for you to play with. 

[00:49:14] Alli Alosa: Absolutely. I have a fancier version of it. So I'll, excuse me, I can share that maybe in the Slack channel or something.

[00:49:21] Dan Fellars: Okay, great. Thank you, Ali, for sharing that. 

[00:49:26] BUILTONAIR AIRTABLE COMMUNITY SPOTLIGHT - 00:49:27

[00:49:28] And just quick if you are not in our community, we would love for you to join us built on air. com slash join. We'll get you in. Also subscribe to our YouTube channel. And watch the podcast as much as you can. Share it with your friends. Join us. 

[00:49:44] BASE SHOWCASE - HANNAH WIGINTON - GRANTS MANAGEMENT SYSTEM - 00:49:47

[00:49:47] We will finish off with a base on grant management with Hannah.

[00:49:52] If you want to share your screen.

[00:49:58] Kamille Parks: Oh, sorry. [00:50:00] 

[00:50:00] Hannah Wiginton: Let me pick the right one here. 

[00:50:04] Kamille Parks: How's that? 

[00:50:06] Dan Fellars: Yep. You're on. 

[00:50:08] Hannah Wiginton: Okay. So this is a. grants management system and a little about me. I run a basically the grants program for a nonprofit. So essentially what that is, is writing grant proposals and grant reports to get funding from foundations and you know, you have to really be organized.

[00:50:37] and plan it out because most of them have specific deadlines and, you, you have to do it on time and you definitely don't want to miss a deadline because that means you don't, you may or may not get the money to, to do it. So, years ago, I, of course, [00:51:00] was using a spreadsheet just to manage everything and you know, when you're, when you're doing that, you can't necessarily keep track of specific foundations that you ask for money year over year.

[00:51:16] And so I, several years ago, set up an Airtable base to where it's helps me really manage that process. Of course, I use things like linked records to link foundations to grant proposals and. Different things. And so this is just a demo of what I use. I actually created an interface for it. You know, I don't know, six months ago, typically just was using the back end.

[00:51:47] But now with the dashboard, you can really get a snapshot of what's upcoming and what's due and things like that. So, it's been pretty helpful. [00:52:00] Typically, Yeah, definitely. This is the, the dashboard. So I can see at any time how many proposals I have open. What is due this month, what's due in 90 days, because a lot of times for a proposal, you have to have several pieces of documentation and budgets and just a lot of different documents.

[00:52:24] And so it kind of helps me stay ahead and know what is upcoming on there. In this case, several of these use formulas, actually that 90 days formula was one that uses one of these here that we were looking at a minute ago. And so it can tell me. What proposals are due within 90 days. And so I can see that also have tasks related to different proposals, and also grant reports.

[00:52:57] So several different things, [00:53:00] but I can get a snapshot of everything that's upcoming. These. The amount received and pending right now, they're just set to capture everything, but this could be filtered down further to say, within the specific. Year, you know, what's my budget, how far am I, what I've received so far for the year.

[00:53:25] So now in the grant proposals, I just basically have them grouped by statuses. So a lot of times what I do is when it comes to grant proposals, you really have to be. A year ahead because a lot of times a foundation will only have, deadlines maybe once a year or, or two times a year. So it really has to be planned out about a year ahead because if you miss it, then you're.

[00:53:56] Like a year and a half behind and don't get the money. [00:54:00] So, really have to stay on top of that so I can see, you know, what I have in progress, what's pending, what I have coming up next and what I've received and again, on, on the backside of this, a lot of it is linked together, which has really made it helpful to be able to see how much.

[00:54:23] I've requested from specific foundations, how many proposals we've sent them and, at any time, you know, do we have an active proposal or is it from another fiscal year? So again, and interfaces have just created. A, a page that really shows me everything I need. And, for a grant writer, a lot of times it helps to know different things.

[00:54:55] So, let's see here. So the request cycle, when it's [00:55:00] open, how much you want to request, how much you are going to request outcomes and goals for the proposal you can have your tasks and various different things, links to the. Request for proposal and even files if you also want to link that, which has, you know, an Airtable that may or may not be the best solution.

[00:55:24] So I also keep everything in Dropbox as well.

[00:55:33] So on the funders, basically just all the information, I mean as far as. Who we're getting funding from, let me find one that actually has one. Of course, you can keep all the, the contact information and then have, can see, you know, what projects are active for each one the, all the grant proposals we've [00:56:00] written to them over any time.

[00:56:03] I mean, really, it's, it's really a customer relationship manager. Is the way that I look at it and then interactions and messages to them and things like that tasks related to either a grant proposal or grant reports due dates, again all of this I keep on the dashboard because you can see it at any time and then i've also showcased this to other grant writers because A lot of them may not work for just one sole non profit.

[00:56:40] They, you know, consult with multiple ones. And so you can also have clients here. So you can this is a formula or I guess probably a roll up that It's showing all the active proposals for each one, how much you've received for each client different things like [00:57:00] that. And then on the reporting this is one that I'm going to change now that the download CSV.

[00:57:09] Is an option because right now these are all buttons that are linked to various views in just the database. And so instead of, you know, it is nice to kind of be able to do this, but at the same time, it can also be transitioned to probably, You know, using the download file option. So it's just linked to different filtered views that you can get a snapshot of and download the CSV to have at any time, which, as I think Kamille mentioned earlier, just.

[00:57:45] Being able to send someone a spreadsheet is still, you know, super useful for someone. You don't necessarily need to share a dashboard here. Here's a list of everything we have open. So that is what [00:58:00] that is. And, Yeah, that's, that's it. If you're a, if, if there's anybody in nonprofits who is needing to, you know, really manage their grant proposal process and reporting, this is a great way to do it.

[00:58:17] Airtable has kept me organized and Made sure that I don't miss any deadlines and, and we get money. So that's really great. 

[00:58:30] Kamille Parks: Let us know how the download CSV goes when you switch out that reporting tab. Cause I do kind of like having those buttons that kind of take you to place. But when if you do a interface.

[00:58:43] Page because interface pages have tabs. Let us know when you download the CSV. Is it just the tab you're looking on? Or is it the whole thing? Because that yeah, it would be great if you could do a tab at a time. So you can have pre filters on there rather than you having to make a new [00:59:00] page for each of those buttons that you had on your reporting screen.

[00:59:04] Hannah Wiginton: Yeah, and that's a good point, too, because, you know, part of that reporting screen is, okay, what, what really snapshot of information do you need during a year? Who do I need to report to every month? Who needs to see the quarterly reports on it? And what all do we have open? And so part of that reporting are, you know, really those pre filtered, here's just a quick snapshot that at any time you could send to someone.

[00:59:32] And so, you know, Trying to look at those CSVs now because they do need to be pre made and, you know, filtered down to something specific. So I'll let you know. 

[00:59:47] Dan Fellars: Is there a industry specific software out there that a lot of people use for this? Or is it pretty much spreadsheets? 

[00:59:55] Hannah Wiginton: You know, so it's interesting because, [01:00:00] there is, but some of it is, you know, it's, it's old, outdated looking and, you know, it's one of those, I feel like an industry where.

[01:00:14] There's grant writers, you know, you're just using your spreadsheet. You're making sure you're at the proposal and get the money. And that's really all that matters. And when it comes to kind of, you know, the tech side of it, it's not so much there yet, there are some newer systems out now that. Combine a little bit of the tracking, but also when you're in grants management, you have to also do a lot of research and finding specific funders who would support your type of cause.

[01:00:48] And so there are some out there now that are starting to combine both of those together. And you know, they're, They're pricey, but it just [01:01:00] really depends on what you need. They can be super useful because you can identify a foundation that you didn't realize may give you money. So it's kind of a trade off depending on where you are in your budget.

[01:01:14] Dan Fellars: That's what, that's what I love about Airtable is like, this replaces what could have been a full SAS solution, you know, a few years ago. 

[01:01:25] Hannah Wiginton: Yeah. And, you know, I've had to, obviously you do need to get in there and create some formulas and things to showcase some things a little bit easier. But really being the linked records is what really changes it because at any time you can keep, keep track of, you know, what funders and proposals and things like 

[01:01:48] Kamille Parks: that.

[01:01:51] Dan Fellars: Very cool. Thank you for sharing that and excited to see how that evolves as you continue to develop it. So that [01:02:00] concludes not only today's episode, but also season 17. So we will be off. For a few weeks, we'll be back at the beginning of April. Hopefully everybody has a great March and month, and we will see you in a few weeks.

[01:02:13] Take care. Bye.

[01:02:32] Thank 

[01:02:32] Kamille Parks: you for joining today's episode. We hope you enjoyed it. Be sure to check out our sponsor, OntoAir Backups, automated backups for Airtable. We'll see you next time on the Built On Air podcast.