5/6/2025 – BuiltOnAir Live Podcast Full Show – S22-E05

Duration: 0 minutes

Be Sure to Subscribe to the podcast!

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

FULL EPISODE VIDEO

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

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 –

Base Showcase – 00:01:41 –

We dive into a full working base that will Matthew Busel from Whalesync will share how they built an AI Tools Directory in Airtable showcasing >2,000 new AI products. They utilized Airtable AI, Data Fetcher, Whalesync, and more.

Field Focus – 00:01:41 –

A deep dive into the Global Variables Rollup – A deep dive into the Global Variables Rollup – Alli shares a demo on using a summary/utility record to set global variables. 

Feature Alert – 00:01:42 –

We dive into Automation Secrets feature –
Hot off the Press feature to use secure script input variables (i.e. API Keys).

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: Base Showcase

Start Time: 00:01:41

AI Tools Directory Showcase

We dive into a full working base that will Matthew Busel from Whalesync will share how they built an AI Tools Directory in Airtable showcasing >2,000 new AI products. They utilized Airtable AI, Data Fetcher, Whalesync, and more.

Segment: Field Focus

Start Time: 00:01:41

Learn about the Global Variables – A deep dive into the Global Variables Rollup – Alli shares a demo on using a summary/utility record to set global variables.

A deep dive into the Global Variables Rollup – A deep dive into the Global Variables Rollup – Alli shares a demo on using a summary/utility record to set global variables. 

Segment: Feature Alert

Start Time: 00:01:42

Airtable Feature – Automation Secrets

We dive into Automation Secrets feature –
Hot off the Press feature to use secure script input variables (i.e. API Keys).

Full Transcription

The full transcription for the show can be found here:

Intro: [00:00:00] 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.

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 onto air backups onto OnAir 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.

Onto air [email protected]. 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 longtime [00:01:00] customer, David states on-air 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. Join Sarah, David, and hundreds more Airtable users like you to protect your Airtable data with OnAir backups. Sign up today with promo code built on air for a 10% discount. Check them [email protected]. And now let's check out today's episode and see what we built on air.

Dan Fellars: All right. Welcome in to episode five of season 22 of the Built On Air Podcast. Good to be back with you myself, Dan Fellers, Camille Parks and Ali Elosa with us today and we've got special guest Matthew. Welcome, Matthew. 

Matthew Busel: Thanks for having me. 

Dan Fellars: Good to have you with us. Matthews the founder of Whales Sink, and we'll be sharing some cool stuff [00:02:00] that he's been building with Airtable later in the show.

I'll first walk us through what we're gonna be talking about today. We will start with round the bases, get you up to date on all the news updates and ongoings in the world of Airtable and the different communities around Airtable. Then a quick sponsor, highlight on, on our backups. And then Matthew's gonna show us a tools directory about AI tools that he's built and stored in Airtable and how that works.

And then Ali's gonna walk us through global variables. How to use summary roll-ups to utilize global variables in your base. And then just highlight how you can join our community and be a part of the fun. And then Camille's gonna walk us through a brand new, fresh off the press feature automation secrets.

So excited to, to see that as well. So with that, let's start with around the bases first. If you were [00:03:00] getting a bug last week with interfaces and not being able to share with people there was a bug. We actually saw this at, at our agency. We were running into this. And so basically if, if you had a button that called an automation.

And the user did not have base level access. The button was being grayed out. And so that was not a feature change, that was a bug. I think they did fix it later that day. So if you ran into that, you weren't alone's 

Alli Alosa: probably. I wouldn't be surprised if it happened while they were adding the new automation secrets.

Maybe. 

Kamille Parks: Well, they made an adjustment to dashboards last week and I feel like someone might have knocked something over accidentally stood it back up. 

Dan Fellars: Yeah. Yeah. There's a couple, couple issues. Allie's dealing with some other automation issues, bugs, 

Alli Alosa: weird stuff. [00:04:00] 

Dan Fellars: Yep. Okay. As far as what's new, there's a couple things.

Since last week, this one came in under April, I think the end of April. So this was a enterprise level change. They basically allowed made, made their permissions a bit more granular so you can have. Permissions for different admin users. So you could have an admin user that can just manage user configuration.

And then there's integration. So user admins that can handle integration changes brand changes. So changing the, the logo or whatnot. And then, yeah, so those are those, and then you still have the super admin that can do 'em all. So they kind of just made their enterprise permissions a bit more granular.

Set that up. Next one. Okay. Use managed components with existing apps. So this is [00:05:00] nice 'cause sometimes you're like, oh, I built this cool app and I wanna make it a managed component, but you couldn't do it. Is that right? Like you couldn't make it managed? 

Kamille Parks: Yeah. So what you could do is you could build a base like normal and then you can convert that.

You can add that as a managed app or parts of it as managed components, but it doesn't take the thing you originally built and turn it into an instance. That's correct. So this is, I think, still not. That I don't think what it says is that when you are installing a custom component into an existing app what you can do is say the example they're given is a, a formula field that comes with it to fields.

A start, an end date, and the formula gives you like a date range or whatever, if you're installing that component into an existing app. If you already have a start date and end date, you don't have to add two brand new fields, which was a [00:06:00] pain point for me and for many others. You can say, use these existing fields I already have, but bring in this new formula that I.

You know, outputs that date range. So I was doing a little bit of quick testing this morning. I wasn't able to get it to work. It does say that you have to re-release your managed component in order for it to be able to do. This update where you can use existing fields, but they have screenshots of a screen I wasn't able to get to, so I'm sure it's there.

I just wasn't able to figure out exactly how to do this with a, a component that I made months prior. Maybe brand new components are easier to. Have this done. I still need to do some testing. But the general idea, this was my biggest complaint about managed components, was I already have a start field.

Mm-hmm. I don't, I don't wanna start over. But this is a pretty, pretty nice upgrade if I can get it to work. [00:07:00] 

Dan Fellars: Nice. Cool. So that's helpful. Yep. All right, one more along the same, same lines. Customized sync, source and managed app and components. So this is something that I ran into. So basically when you create a managed app, if that managed app has a, a data sync to view.

You could not, it was locked and so you couldn't change that view to be another one. So now they made it to where you can, you can create an instance of a managed app and then change the view. It has to be from the same table of where the source is, but you can change it to a different view. So that's really nice if you have like parent child, but you want the child to have different subsets of data from the parent.

You can now change it to different views, so you can have all these views at the parent for each of the children, and then modify 'em. So we had that exact use case. So this was a nice, nice addition. [00:08:00] 

Alli Alosa: It's exciting. I haven't played with managed apps or components at all yet, and I really need to, I'm, I'm, I'm excited about where this is headed.

Yeah. 

Kamille Parks: Yeah. They're, they're kind of a must if you're in a very large organization, hence why they're enterprise scale features. And the, these were like very like. They were immovable problems when trying to implement them and at least some of the bills that I've been a part of. And these two improvements make them much more viable to use for things that are already in flight.

For brand new projects, it wasn't a big deal 'cause there's nothing to convert really. But, if you're, unless your company started yesterday, 

Dan Fellars: you 

Kamille Parks: probably have something that's already in place and it's nice to be able to have this option to change the specific sink source or to say, use this existing field instead of having to [00:09:00] rebuild everything from scratch.

Alli Alosa: Yeah, I'm excited. 

Dan Fellars: Cool. Cool. And then yeah, not on here yet, but released, I, it looks like to everybody, I think everybody has access to secret secret keys or values inside of automations. And so that's a new feature that you can check out. Check, and Camille later in the show is gonna walk us through that one.

So hold on for that. All right. A couple other new changes or features. This one was not a new feature, but it looks like they added information to let you know that who is going to get notifications on errors? So this was always like the running, you know, issue of like. You know who, who actually gets notified when there's an error in an automation, and it was whoever last toggled it on or off.

And that was kind of like this secret, you know, only only people who [00:10:00] tested it knew that, but now they're putting a notification so at least you know who's getting it. 

Alli Alosa: I, they change also, like on the left hand sidebar, it used to say how many runs happened in the last month? Underneath all the automations, and now it says, who was the last person to update it so you can quickly see who's getting those emails, but.

Dan Fellars: They took away the runs. 

Alli Alosa: Yeah. I'd rather see the runs. That's way more important to me. Like, I'd like 

Kamille Parks: to see both, not, not to sound greedy. I think both important pieces of information, especially since there's a, a hard limit to the number of automations. You're, I think it's at the workspace level, but how many can run in a given month, so, you know.

Yeah, weird. 

Alli Alosa: It's a weird thing to do. Weird choices, but I mean, I think it's important to see both. I think. I mean, it used to be, I'm pretty sure if you [00:11:00] mouse over the automation, you get more info like who last, who created it or who updated it. I can't remember which, but I don't know. They could move some more information to that.

I think that'd be great. Yeah. 

Dan Fellars: But anyways, one small step. Okay, here's another one. Scott mentioned this. There's a teaser from the airtable community. Looks like 

Kamille Parks: it's 

Dan Fellars: at the bottom. Okay. It's the last line. Is this, what she's talking about here is not necessarily new, right? There's nothing new here?

Kamille Parks: Well, they added, I think we already talked about this, but they added a few new view types. Yeah. To the dashboard layout for the numbers. Yeah. Okay. Yeah. 

Alli Alosa: And the term on editing for the dashboards. That's awesome. Yeah. I, I hadn't even seen that yet. 

Kamille Parks: Directly. Yeah, so if you have a list view, I haven't tested with the other view types, but you can edit from a dashboard, which is nice.

That's 

Alli Alosa: very nice. [00:12:00] 

Dan Fellars: That is good. Okay. 

Alli Alosa: That's been a blocker for me several times, so I'm excited about that. 

Dan Fellars: And you can now add calendar and Kanban to a dashboard. Was that not there before? 

Kamille Parks: Nope. Yeah, not really. Okay. Still no grid. 

Dan Fellars: The 

Kamille Parks: one view type that that summarizes data already not there on a dashboard.

Dan Fellars: Is this a grid or list? That's a list. That's a list. 

Alli Alosa: And I really want pivot tables not on a dashboard anywhere else. I wrote 

Kamille Parks: a comment on that. In this thread. Red. I 

Alli Alosa: want my pivot table. Yeah. 

Dan Fellars: So it also hinted one of our top requests from the community next week, which would be this week. So stay tuned.

So the guess is dark mode, that's what people are guessing. 

Kamille Parks: Well, yes. So that's that's the guess. And for the Astute Observer, you might have noticed that the styling [00:13:00] for if you go, if you edit an automation, you can. See, like, I think this person pointed it out. But the colors are very, they're very slightly different.

And I suspect if it really is dark mode that's to make things higher contrast which you need if you want to be able to toggle between light and dark mode for still to still be legible. So. This is kind of the pattern of Airtable releases, where they'll put out something that seems random all by itself for a week, two weeks, sometimes a whole month, and then suddenly a new feature comes that's like dependent on the previous thing, but they don't release at the same time.

Alli Alosa: Yeah. Yesterday while I was messing with. Automations. I noticed this change, and then partway through building the automation, it changed again. To different icons that were all just like blue, black and [00:14:00] white, like no color at all. Like they got rid of like the, and I get, I got so used to the colors, like the green for the update records and the orange for the fine records.

So when I, when that happened, I was like, whoa, what's happening? Like, I don't know what's going on, but they changed it back. So 

Kamille Parks: yeah, I was editing something. I went to lunch, I came back and the colors were different and I was like, am.

Yeah. 

Dan Fellars: Yep. Yeah, they must be doing some CSS. Cool. Well, we'll see. That might come later today. Maybe find out. All right, next one from LinkedIn. Yeah, a couple events. If you're a customer of Airtable or partner looks like in a couple weeks there'll be Airtable, Paris. I don't know. Maybe need to fly out to Paris for that.

And then a little more notice. Yeah. Yeah. This is the first I saw that one June 24th in la. Well, no, anybody [00:15:00] gonna be at that one? We got some la I'm gonna be there. 

Matthew Busel: I I think I might need to make the trip. 

Dan Fellars: Yeah, yeah, I might I might be out there as well. I don't know. Ali, if you'll cross the fly across the country for that one.

Alli Alosa: Hey, my brother lives in la. Maybe I'll hit him up and be like, Hey, I'll come visit. Yeah, 

Dan Fellars: yeah. Okay. We'll see you out there for that one coming up. Put it on the calendar. You gotta, you gotta register here. So link to register. This is one I always like to see interviews with C-suite executives at Airtable.

This is with the CFO. This is the first I've heard the name for the CFO. So Amber Rei tabi CFO at Airtable. Just kind of talking, I think I don't think it's Airtable specific, but if you'd like to meet the executives at Airtable, there's an interview we'll link to. Okay. Some AI news anthropic, which is, I've heard Claude or Cloud.

I've heard people [00:16:00] pronounce it both ways. I 

Kamille Parks: say Claude. Yeah, 

Dan Fellars: me too. I think like the French name is cloud. I don't know. I don't speak French. Mm-hmm. But somebody told me that that was the proper way to say it. Somebody on YouTube. Was saying it that way. I saw. Anyways, they now have connections, integrations, they call it.

And so they're connecting different systems. So through your chat you can connect different systems. They don't list. Airtable is one of their first 10, although they do list Zapier, so you can get to it through Zapier. My guess is Airtable will be added shortly. 

Kamille Parks: They do list linear, which I happen to very much like.

Dan Fellars: Okay. I'm not familiar with that one. Linear 

Kamille Parks: is similar to Jira. It's, it's in the same product sphere as Jira. I just, I don't know. I like it better. 

Matthew Busel: Okay. Yeah, we, we use linear. They're fantastic. 

Dan Fellars: Mm-hmm. Yeah. Very cool. I'll have to check that one 

Matthew Busel: out. 

Kamille Parks: They're also self hostable. 

Dan Fellars: Hmm. Okay. [00:17:00] Okay, next one. Similar.

Zapier had a big announcement with their AI workflow capabilities. So let's see. Intelligent AI processing those built right into your Zaps. So it looks like kind of agents built into Zap. I know they already had this, but I saw a couple people talking about this big announcements. I don't know if.

Anybody's familiar. With what they're adding. 

Kamille Parks: Nope. Gotta be honest. I have not touched Zapier in I think three years. 

Dan Fellars: Yeah. So yeah. So there's some improvements there. Okay. This one was interesting. We'll find out Matthew, if this company is in your list. But reductive is a common interest 'cause they mentioned Airtable is one of their customers.

So if you ever wondered, so what they do is they help companies convert all your documents [00:18:00] to, into your, your LLM or your vector database to be, to be addressable or ingested so that it can be processed by your AI agents. And so all of the documents that you put into your Airtable attachments, this is how Airtable converts them and makes 'em usable by their, by their ai.

Elements. So basically they support all the different file types and everything. So if you want to know how Airtable AI works under the hood, this is one of the pieces to that. That is cool. Okay, last one. We'll end with this. So this is, this I think originally comes from, aI lead at AWS at Amazon and just kind of talking about like, AI is cool, but if your data is bad, it doesn't matter.

You know how cool your, your agent builds are. So it's got a nice, you've got bad data and you add machine learning to it. It's still bad data with artificial [00:19:00] intelligence, it might look good, but it's still bad. Generative turns it into a unicorn. And then genetic ai, just different versions of crap.

Alli Alosa: Garbage, gin, garbage out. 

Dan Fellars: That's right. That's right. So make sure.

All right with that. If you are running your business on Airtable, it's best practice to have your data backed up and stored outside of Airtable onto our backups. Helps you store your data in Box Dropbox, Google Drive, and OneDrive, as well as your schema and attachments, and also has restore capabilities.

So check it [email protected]. Use promo code built on there for discount and get started today backing up your data. Okay. Similar one. Matthew, why don't you give us a little bit of context. You were on the show a few years ago and we kind of heard your story. So if you wanna hear Matthew's [00:20:00] background and how he came into this we'll have that in our, in our log history.

But give us some context. Give us an update quickly on your company and then we'll learn what you built and can share with us. 

Matthew Busel: Absolutely. Yeah. I can give you the, the very quick rundown, but I'm one of the co-founders of Whale Sync. We went through YC on Summer 21. And basically we're a two-way sync data tool that connects apps like Airtable with other apps like HubSpot, Salesforce, Webflow, superb base or even doing two-way syncs between two Airtable bases.

And what I thought could be cool to share today is we actually just built an Airtable base to power a directory we built of AI tools. And so I'll, I'll show it in a sec, but basically the irritable base is essentially our backend database. It stores now over a thousand different AI products.

Reductive, he mentioned is one of them. We use our own tool, whale Sync to sync that with Webflow, which is a website builder, and then display those. And then we're doing a little bit of our own AI tooling on the background to automatically sort of fill out the Airtable base. So when we add a new tool instead of having to go research it and [00:21:00] come up with a description for it we have AI and AI agent essentially that's going out and researching and finding all that, taking screenshots of the website so that we can add AI tools at scale.

Very cool. 

Dan Fellars: All right. If you wanna share your screen. Yeah, 

Matthew Busel: lemme go ahead and share. Let me go ahead and I'm gonna share the whole screen here and you can tell me if it's big enough there.

Do you see my screen? Yeah. Now we see the full screen. Yep. If we go full screen. Cool. So feel free to kind of point me in the direction that you guys think would be most interesting, but I'll give that the high level overview. This is our AI tools base. Like I mentioned, it's got now over 1300 different AI tools.

This is the backend database that, again, is being synced with Webflow, with Whaley to this website page here. So everything on that irritable base is corresponding to one of these different tools. All of that be, you know, because of Airtable and the way that it has things like URLs and tagging.

So we're [00:22:00] using link records here to tag each of these. With a you know, like a tag and a role. I can come over to my website and say, let's just filter for, you know, customer support tools, right? Or I can get rid of that or say, let's filter for just AI chat bots, things of that nature. So that's sort of the, the fundamental piece of how this all works.

A couple other things I'll call out. So one is I mentioned that sort of AI bit. If we want to add something new to this base, I'll go on Product Hunt today and just sort of grab the first new AI tool that comes up. We'll call this one Exploreum and I can basically grab, ah, that might not be a good one.

Let's do one that has a little more of a descriptive homepage that'll be a little more interesting. So we take this one zero, right? New AI tool for prospecting leads. I can copy that, put it into here, hop it into my new irritable base and put this into to do. By marking this as to do, I'm basically telling our AI [00:23:00] to run it through our system.

It's automatically gonna open up the webpage, scrape it, and get all of sort of the details that are in it, send that over to ai. Sort of run a little bit of, again, AI magic here. And in about 30 seconds or less here, it's gonna fill in the summary, the description, the tags, and a roll. On top of that, what you'll notice is I've hooked that up to Airtable automations.

So as the AI sort of spits out a tag or a role, we want that to actually be corresponding to the linked record here in in these other roles and tags pages. So I have an automation, which we can talk about as well that basically listens for those updates and automatically, you know, does the corresponding one with the linked record.

There's a little bit of logic there to just make sure it doesn't accidentally delete data and things of that nature we can talk about too. But that's the fundamental way this works. And then maybe I'll just add lastly, we're also using, you know, the, the pretty standard e extension here of just de-duping.

So, you know, as [00:24:00] this happens, we have a handful of people on the team that are working on this. Sometimes they don't know, or I don't know that someone's added a tool. We use the dedupe pretty extensively to just, you know, make sure we don't actually create duplicates. But that's the high level overview.

I'll pause and yeah, let me know what's what's interesting to talk more about. There. 

Dan Fellars: Did did I see an automated popup window that went to the website? Yes. Yes. Where, what, what was, what was starting that? 

Matthew Busel: Yeah. So one of our, our teammates Joel is our head of growth, basically uses something called playwright.

I think it's playwright, if I'm not mistaken. That basically is a developer tool that was built into our, our agent. And yeah, whenever you add a, a new website, so let's do another one here. Let's see if Swaddle will work. That, you know, AI that we've built. Again, it's nothing like, it's crazy. It's a sort of a small script essentially.

But I can come in here, call this phone running. Like on your local computer or? Yes, exactly. So I'll just to get a little technical here, I'll over to Cursor, [00:25:00] you can kind of see the logs. It's processing a new cycle. It's automatically pulling up the screen, scraping everything it needs, taking screenshots of it and then closing it.

And then moving this to, to ai 'cause it's sort of scraped all the information, sending it to ai. And then once AI comes back with a summary, a description and tags, you can kinda see it popping automatically. Gotcha. Very cool. 

Dan Fellars: Did you mention you also use, are you using Data Fetcher extension? 

Matthew Busel: We, we were.

So I basically before we had built our own little, you know, agent to do this data fetcher was how we were going about this. And we're, we're, again, no affiliation but big fans. We were basically having once we like scraped all that information manually, we would use data fetcher to get an AI summary, description and tagging.

By using their open AI connector. Gotcha. And again, if it wasn't for the fact that we built our own agent, we'd, we'd still be using them. They're still really good. 

Dan Fellars: Yeah. Very good. 

Matthew Busel: Very 

Dan Fellars: cool. 

Matthew Busel: Yeah, and I'll just say last, like of course there's a lot [00:26:00] going on here between, you know, to build the whole, let's say, product of, you know, the, the AI agent, that whale sync piece to connect it to Webflow.

Obviously the whole webflow front end, but all of this would be. You know, very, very difficult to do if it wasn't for this very easy Airtable spreadsheet here. That's sort of the, the backbone of all of us. So we're obviously huge, huge fans of, of, of Airtable. Yeah. 

Dan Fellars: Maybe give kind of a quick overview of how Wellsy fits into this.

So the data's in here, what does Wellsy do from here? 

Matthew Busel: Yeah. So lemme just, I'll pull up our our whale sync account really quickly here. But as I mentioned before, whales Sync basically connects two different apps. So. Airtable and HubSpot, Airtable, Webflow, Airtable Notion, Airtable Super Base, or even again, Airtable and Airtable.

But if I open up this, this specific one which is just the sync between our, this Airtable based AI tools and our website whale sync is essentially the connection between those two. So if we take, this is called tools. If we go here, we look at how this is hooked up. [00:27:00] We basically are mapping each of the fields in this Airtable.

So name and URL and summary. To a corresponding field in Webflow and kind of setting the direction to two way here. And Whales sync basically just sort of sits in the background and listens. And now whenever data gets updated in this Airtable base, it automatically syncs to that Webflow site. And so literally if I move this to active and active, another minute or two.

This will show up and be live on our, you know, website all sort of instantly. And again, this is Airtable Webflow is one example of, of how people use Whales sync. But we use it for Airtable and super base Airtable. And Airtable is another really popular one. Obviously. If you're not on Airtable Enterprise, we don't have access to their two-way sync.

That's another way that, that we've seen the fairly popular. 

Dan Fellars: Mm-hmm. Very cool. Yeah, will Sync has been been a cool tool to watch it grow and see all the new end points that you're adding. Thanks. Appreciate it. [00:28:00] Awesome. So if they wanna find this directory, it's on your website and they can see the 

Matthew Busel: end result.

Yeah, absolutely. So you can go to whales sync.com/tool/a directory to see the directory. Obviously if you wanna try Whales Sync for any two way syncing with Airtable, it's just whales sync.com. And I'll just say, feel free to come in here. Some people don't know it, but you can also just mess around here and say like, oh, that's awesome.

And to there.

Dan Fellars: Thanks. Very cool. Awesome. Thank you for sharing that and let's move on. Okay, Allie, walk us through global variables. 

Alli Alosa: All right,

let's see. Can you see my screen? 

Dan Fellars: Not yet. 

Alli Alosa: It says it's showing online. Let me, let me [00:29:00] stop and redo it. Let's see. 

Dan Fellars: Oh. Oh wait. Yeah, 

Alli Alosa: I just got rid of it. I'll, I'll put it back again. 

Dan Fellars: Yeah, sorry. There's two code, so there was down below hidden. 

Alli Alosa: Ah, 

Dan Fellars: I see. 

Alli Alosa: All right. Excellent. Okay, so this, what I'm about to talk about is something that.

It is like extremely powerful. There's some words of caution to be said about it, and I could literally talk about use cases with this all day. But I'm gonna just pick one out to talk about. So there is this little trick you can do in Airtable, taking advantage of linked records. You may have heard people call this table a like summary table or a utility table, utility record, et cetera.

There's a lot of really cool things you can do with it. So what does that mean? Let's say I want to get the average grade [00:30:00] of all of my students. This is a base of students in classes. It's the same base I used at Dare Table. This past year, and let's say I wanna get the average grade of all of my students, this 78.9 here at the bottom of my summary bar, and then say, I wanna know what students are above that average and what students are below that average.

But I want that in a field so that I can use it as a filter. It's not super easy to do, right? One thing I could do is I could create a formula field on this table and just say that the answer is 78.9, so that every single record has that value on it. And now I can do a calculation to be like, it's the average grade of the student, higher or lower, bigger or smaller than the actual average grade of the class, but.

The second somebody, someone's change someone's grade changes. [00:31:00] This 79 is not gonna be accurate anymore, and I'm gonna have to go back and update my formula every time I wanna do do this check or do this calculation. So that's not good enough for me. I want to be dynamic and have it so that I never have to worry about touching it.

It'll just always show me if somebody is above or below the average. So how can we do that? Well. What I like to do is I might create a formula field and just type in any word. Sometimes I use emojis for this as well. Just like have been fun and now I have a field where every single record has the same value on it.

If I then take that, edit that field. And link it to another record, and I'm gonna create a new table and just call it summary. So now I have [00:32:00] every single record on this table linked to my summary table. And on my summary table, I just have one record that's linked to every single student in my base. Now what I usually do as the first step after that is.

To create an automation and say it's gonna be called Link Students to Summary. 'cause I wanna make sure that every single record on my student's table always is linked to that summary table. And I don't want, people have to worry, I don't want users to have to worry about making sure that that link is in place.

I don't want them really even to ever see it. 'cause a lot of people get confused when they see it. They're like, what is this? But. I am just gonna set up an automation on the student's table where summary is empty, and then very simply create an update step on the student's table [00:33:00] for the record that triggered the automation.

And I'm just gonna fill in that summary field with the word summary, so that way if I add a new student. Side note, if you group your view by that, every time you add something, it'll also be linked to that record. So that's one way of going about it. That's how I used to do this before automations were a thing.

But if I add a new record, it will get linked to summary. If I delete the summary link from somebody, it gets put back. So it's just always there. Little housekeeping thing, but now let's talk about where the magic happens. So like I said, there's a lot of really cool, powerful stuff you can do now, now that we have this table and record and in place.

But let's say we're gonna follow that path that I talked about at the beginning. So I'm gonna add a roll up [00:34:00] and say average grade for my students. And technically this is an average of an average. But let's not get into the math that significantly. I'm gonna say if average values average values, because otherwise if I don't do the if statement, it will error if I have nothing in that field.

'cause it can't do an average of zero. So there's our 78.9. And now when I go back to my student's table now, because I have every record linked to that record that has that number on it, I can now use that number as a global variable. And this is gonna be the average grade, like full, wide.

Now I've got this number on every single record, and I could do a [00:35:00] formula field and compare that to my average. And we could say if average grade is, let's say, greater than or equal to the average grade school wide, we'll say above average, otherwise. Below average, and I'm gonna use my new favorite feature here.

I am obsessed with this feature. It is very useful to be able to have this displayed as single select options. So now I can filter using a dropdown without having to remember the exact words I typed. We will say above or below average. Now we can see very quickly who's above and below, but let's just say one of those grades is gonna change.

If we go [00:36:00] to the enrollments table, let's bring somebody who is failing up to an A. Let's see, we'll do 98. So now that should maybe, maybe bring our average up. Yeah, now it's 79.2. So this person who was previously below, I think now is above. But that will all change dynamically as I'm adding my data, adding enrollment records, changing grades, adding grades, et cetera.

And I never have to worry about making sure that that stays in line. There's a lot more you can do with this. Another one of my favorite use cases is like, you could have, you know, all your summary data for the whole student's table on this record and use this to send automated emails, mark it up with HTML, et cetera.

There's a million things I could go on and on and [00:37:00] on. But one thing I will caution is that if you have a lot of data, and I'm talking like. Hundreds of thousands of records. Like if you've got, if you're approaching a hundred K, this method is a little bit dangerous. It does have the potential to impact your performance.

So definitely use it with caution. And if you notice things starting to slow down, it's probably because you're using this method. But if you've got a small data set, it's totally worth it. Very easy and useful. 

Dan Fellars: Yep, yep. That's definitely a useful strategy. Super cool. That was awesome. 

Alli Alosa: Thank 

Dan Fellars: you.

Alli Alosa: Yeah, that's a really fun one. Oh, the other thing really cool that's just to show is if you do, like, say you wanna trigger an automation off to like send an email to everybody on that student's table, you could do, you could use this record as that as well. Because if you update this [00:38:00] record to something and then you look up that value,

so like say your trigger is when this select field is sent, I wanna send an email to everybody. You can set this one record to send and then that automatically triggers all the records on this table as well. So just some building blocks to help you understand where that, why this table is so powerful.

Dan Fellars: Good stuff. All right. Build for our table Dynamic summary data. Great. Demo alley. Excellent. Okay. If you are. An Airtable user or want to learn about Airtable built on air is the place for you. Join us at our built on air.com/join. That will get you access to our newsletter and our free Slack community.

And [00:39:00] thousands of Airtable users are in there talking every day, all about Airtable helping each other out. So check us out. Built on air.com. With that, let's finish with Camille. Show us your secrets. 

Kamille Parks: So this is a new feature in Airtable that was just released in the past week or so, and I'm gonna go over a very simple example.

And then. Some things about it that annoy me, but at a high level, a typical problem that you might run across in automation scripts is you have an instance where you need to include an API key or a token, or sometimes even a password or something to access a, an fetch call or something like that within the body of the script.

And one way or another, you'd have. Whatever that token is visible to anyone who can [00:40:00] open up the. Automations tab of the base. So I work in a lot of different teams where we're trying to push people more to just be in the interfaces where need be. But there are still a lot of people who can get access to the base, which means you can, even if you don't have the ability to edit the automation, you'd be able to look at and see, oh, hey, the API token is 1, 2, 3, 4, 5.

I'm gonna use that for my own. Purposes. Which is not great. And the other thing is if you have that API token console logged at some point during the. Automation, it would show up in the output of the script. So those are some pretty significant security risks when using scripted actions within an automation.

And there are a lot of automation. Platforms that you can use in [00:41:00] conjunction with Airtable that have solved this problem already with the concept of secrets, where you put the API token or the password or other credentials, someplace safe within that platform, and you're able to reuse them in multiple different automations without it.

Being visible on the automation itself. So that's been in place with other tools like Make and Zapier and N eight and all the other ones as well for a while. And now Airtable has given the ability to have something similar in. Their own native automation platform. So first things first, you'll notice that there is a undispensable alert at the top of your script.

Great. Inputs are now collapsible, so you can get to the secret area. I already have my secret added in here, but I'm going to go over how to create a new secret versus using one at. Exists already. If I know my [00:42:00] secret doesn't exist, I could create at New Secret from here, or you can go out of here and go to builder Hub.

I'll go there really quickly just so that you can see. And under developers, you wouldn't go down to secrets and here are all of your stored. Secrets you'd be able to see the number of scripts this particular secret is used in. You can't see which scripts those are, but you can see the number, which I guess is useful.

Collaborators, if you are on a enterprise plan and can use groups, you can share the secret to more than one person rather than just yourself, which is handy if you're part of a developer team. But going back to my, script, I can say I want a new secret and I could call this, this is my password and I can add a password here.

This is all gibberish. And then again, if you're on the enterprise plan, you'd be able to say, instead of just me add this user group as well. [00:43:00] And clicking add, we'll add it to your list of global secrets that you can use, not just here, but in other scripts as well. I'm gonna cancel and instead.

Add an existing secret. So I just called mine example. It gives you a little popup that says what the name is, who created it, and when something I notice is if you create a secret immediately, it'll say unknown for about like 10 minutes before it recognizes who actually created it. I'm gonna hit use and then, that's now added. And same thing like with. Regular inputs. I can give it a name. So the name that it's gonna come in with by default is gonna be whatever you named the Secret. In general, I'm gonna call this API token for consistency and comment out this one just so that I only have one instance of a variable called API token in my script.

So now the [00:44:00] benefit of this is I have my simple little, fetch request going to Airtable, API to get a list of bases and I can use that. API token coming from my secrets in order to have a successful return out of this API. So after I hit test, you can see that I was able to get information out of that.

API call that I just made. But the secret value is not shown in the console log, which is great again, for security. If I ever need to see what that secret is, I could go back to builders hub and look at it there, rather than it being permanently put in the history log of this scripts run.

This still says 1, 2, 3, 4, 5, because it is still an input in. My scripts that I've left in for demonstration purposes. So all of that is very useful. There are some things that just really annoy me about how this was implemented. [00:45:00] Number one I tend to destructure my input variables coming from input config.

So it comes in that format if you do destructuring curly braces. And then if I had several inputs, which I oftentimes do, they would all be comma separated here, structured out of input config. You can't do that with input secret. I don't know why you'll notice that they look very similar.

Both of them are functions but secret cannot be structured. That's annoyance number one. Annoyance number two is these two inputs for if you want to add a secret I find a little bit hard to get used to, namely because when I click add new secret, I'm expecting it to work the same as add input variable where I click that and I start to.

Give it a name and then a value. Whereas here it's always [00:46:00] creating a brand new secret. And if I wanna use something existing, I have to use the search function. I only have one secret, which is not. Which is why it's not allowing me to add another existing one. I would have preferred if it had a similar implementation as input config variables, which are right above them, where I could click the plus and maybe there's an option under secrets similar to base structure where I pick whichever, you know, pretend that's the name of a secret.

I could do that in order to grab it into the script. You can't do that. Another thing, if I wanna delete a input variable, there's a trash icon right next to it's in the top right of the grouping for that variable. Click that and it's gone. If you wanna delete a secret, it's underneath, and it's the word remove.

So I can do that. To remove it, and it gives me a warning. They kept this here because removing this secret from the script, it does not delete the secret. It's still in my builder's [00:47:00] hub. I can use it for another script if I want. But it's just a very different experience adding a secret versus adding an input token despite.

Them being right next to each other and only available in the exact same context. So you can only add these in scripted actions within an automation, and you can only add these in a scripted action of an automation. But they're implemented very differently in terms of UI and not being able to destructure is.

Upsetting because if you had multiple secrets, you have multiple lines that start to look like this, which is not how I like to have my code written. So it's a good feature. I'm glad it's there. I am annoyed at the way that it was implemented for a variety of reasons. 

Dan Fellars: Yeah. And then the feature, when you add new click on the add new secret, but icon.

Mm-hmm. And so it's just [00:48:00] weird that the collaborators, it gives you a choice, but not give you a choice. Yeah. And, and so it's always just me. So if you have other users, so no other user can use it unless you're on enterprise. 

Kamille Parks: Yes. And I think it's because it's implemented using user groups rather than, you can't select individual people to share it to you.

Select user groups and user groups are only available to enterprise. 

Dan Fellars: I think on enterprise, I think I looked at mine and, and you can add individuals or groups on enterprise. Well, nevermind. But if 

Kamille Parks: that's the case I, the one I first used it on, I used a user group, so maybe that's what I'm remembering.

Dan Fellars: Nevermind. No, it's just user groups. You're right. 

Kamille Parks: Okay. Yeah, but. The other thing that I'll go over if you start to use a secret, any secret in the scripted action. So I'll go back and add example. [00:49:00] Now that this is in here. I know I'm the only person who can use it anyway. If someone else were to.

Edit this or attempt to edit this automation, they wouldn't be able to edit it because they themselves have no access to the secret itself. So that is an interesting way of further locking down. Who should have access to edit certain things. There are a lot of times where my stakeholders are perfectly capable of writing their own copy for the send email actions in an automation, but I don't want them to get inside this script.

Not E, even outside of, you know, I don't want them to see the API token. I also don't want them to mess up the script. So you could use this feature as a way of saying, don't edit this. You're no longer able to edit this because there is a secret in it. Something that I haven't been able to test, because again, I'm the only person who can edit this [00:50:00] secret anyway, is if I go back to that warning message to keep secret values hidden script editing will be limited to the subset of collaborators across this and any of the secrets in the script. I. I haven't been able to test if that limits editing, just the script itself, the scripted action, or if it limits editing the whole automation.

This implies that it limits editing just the scripted action, which is great. But again, it's something I haven't been able to verify myself necessarily. Okay. 

Dan Fellars: Very cool. Yes, youthful, especially in the enterprise world to lock down and make sure your secrets are safe. So that's awesome. 

Kamille Parks: This is also documented.

If you click learn more, it opens up this annoyingly this is. Improper syntax. It, it should imp put the parentheses afterwards to once again [00:51:00] reinforce that is a function. Mm-hmm. It does it correctly over here, but not here. Again, I'm very annoyed how this was 

Dan Fellars: implemented. I think that my thought is they probably did that on purpose so that you don't get like, all the secrets, although it should show you, only the ones that you specify in the, in the config.

Yeah. Yeah, 

Kamille Parks: that's the way input config works. I don't know why, I dunno why they did it different, but if you have questions, they are written down here. Yeah.

Dan Fellars: Very good. All right. Yeah, go ahead. They 

Alli Alosa: wrote this the way that they wrote under important notes. It says, referencing secrets in your script will lock editing to only users who can access those secrets. Mm-hmm. It that the way they phrased that, I feel like it, it should be the opposite. It just sounds like the users who can access those secrets will be locked out.

Like, I don't know. I got confused reading that. I was like, I don't think that's what they [00:52:00] mean for it to say. But yeah. 

Dan Fellars: Sounds good. Thank you for sharing that. And that concludes today's show. Thank you all. Check out Matthew and Whales inc.com and we will see you all next week. Have a good week. Thank you.

Thanks everyone.

Intro: Thank you for joining today's episode. We hope you enjoyed it. Be sure to check out our sponsor onto our backups, automated backups for Air table. We'll see you next time on the Built On Air Podcast.