8/20/2024 – BuiltOnAir Live Podcast Full Show – S19-E07

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 –

An App a Day – 00:01:41 –

Watch as we install, explore, and showcase the Data Fetcher App from the Airtable Marketplace. The app is described as “Import data from any API into Airtable. No coding required.”.

View App

Base Showcase – 00:01:42 –

We dive into a full working base that will Kamille will demo a working adventure game built entirely in Airtable. Like in D&D, a point and click adventure game, or a choose your own adventure book: you are presented with a prompt with multiple choice options, and the option you pick selects the next prompt.

Field Focus – 00:01:43 –

A deep dive into the V-Lookup style Fields Linked Record Lookups – Alli will share a trick when setting up new tables with data that needs to be linked together. A pseudo v-lookup type approach. 

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: An App a Day

Start Time: 00:01:41

Airtable App Showcase – Data Fetcher – Import data from any API into Airtable. No coding required.

Watch as we install, explore, and showcase the Data Fetcher App from the Airtable Marketplace. The app is described as “Import data from any API into Airtable. No coding required.”.

View App

Segment: Base Showcase

Start Time: 00:01:42

Adventure Game Proof of Concept

We dive into a full working base that will Kamille will demo a working adventure game built entirely in Airtable. Like in D&D, a point and click adventure game, or a choose your own adventure book: you are presented with a prompt with multiple choice options, and the option you pick selects the next prompt.

Segment: Field Focus

Start Time: 00:01:43

Learn about the V-Lookup style Fields – Alli will share a trick when setting up new tables with data that needs to be linked together. A pseudo v-lookup type approach.

A deep dive into the V-Lookup style Fields Linked Record Lookups – Alli will share a trick when setting up new tables with data that needs to be linked together. A pseudo v-lookup type approach. 

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, On2Wear 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 On2Wear backups. Sign up today with promo code built on air for a 10 percent discount. Check them out at onto air. 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 episode seven of season 19. Good to be back with you. We've got myself, Dan chameleon alley with us and a special guest, Andy. Welcome back, Andy. 

[00:01:51] Andy Cloke: Hey, great to be here. I have to be back. 

[00:01:53] Dan Fellars: Good to have you. We were talking earlier. It's been a few years, but we'll get an update on on Andy, what he's been up [00:02:00] to since that time and more later on in the show.

[00:02:03] So I'll walk us through what we're going to be talking about. Let me get rid of our headers here so you can see us all. Okay, we always start with our around the bases and keep you up to date on all the news and updates and everything going on in the different communities around Airtable. Then a quick, Highlight of our sponsor onto air and onto our backups.

[00:02:25] And then we'll learn, get an update on Andy and his business data fetcher. And then. We'll have Camille walk us through a proof of concept of an adventure game that she built entirely in Airtable and then shout out to join our community and then finally Ali is going to walk us through some, some tips and tricks around doing pseudo V lookups in Airtable.

[00:02:52] ROUND THE BASES - 00:02:59

[00:02:54] So with that update, so let's do a quick check. I wanted [00:03:00] to see sometimes they release new features Tuesday morning. So nothing new. I think all of these we talked about last week, so no new, nothing new, at least in the air table page. But there are a few things that, that people found in the different communities.

[00:03:16] So we'll highlight those in a second. Okay. First one, this is coming from make. Make announced some new modules updates to a few things, including air table. They now have upsert records for bulk. Well, create, delete. Basically, they now have bulk support, which was I was actually surprised. I thought that they had this previously.

[00:03:40] But apparently they did not have bulk support until now for Airtable. 

[00:03:46] Kamille Parks: Interesting. Yeah, I guess just the way they make handles arrays, I always was feeding it one record at a time, inside like a loop or something. But that's not always the case. [00:04:00] what you want. It's also like not the most efficient. So glad that you could start doing stuff in bulk.

[00:04:05] Dan Fellars: Yeah. And that'll save on tasks or whatever as well. So that's a good update for make. Okay. Here's one from Troy anti phishing measures for unfamiliar links. I don't, I don't know if this is new. I feel like I've maybe seen this in the past. Well, it'll ask you, are you sure you want to leave Airtable?

[00:04:32] Andy Cloke: Do you know if it's a opt in opt out or does these always show? Cause I always think these will seem a little bit heavy handed, right? When you're, when I do this all the time, but yeah, it's a sign that it's an enterprise company now when you've got these, these popups for clicking on any URL. Yeah. 

[00:04:47] Alli Alosa: It seems to be basically any URL that's, it's happening to me more and more.

[00:04:53] I don't know if it's been a slow rollout, but I'm now seeing it across like all my bases and workspaces. 

[00:04:59] Other: [00:05:00] And 

[00:05:02] Kamille Parks: this is separate from in interfaces, you can have a button that, has a confirmation window. This is separate from that. 

[00:05:12] Dan Fellars: I think so. This is just any link field that you click on. I wonder if it's just if it's a shared view, because that's the big risk.

[00:05:22] I would think if you were logged in their table, and it's a base that you know you own. This would get pretty annoying. 

[00:05:30] Alli Alosa: It does, and it's happening in Bases. io. 

[00:05:33] Dan Fellars: Really? 

[00:05:34] Alli Alosa: Like I create a formula field with a URL to like a prefilled form, for example, like in fill out. And then I click the link to test it and I get this pop up.

[00:05:45] Yeah. If 

[00:05:47] Andy Cloke: you paste in a URL, like you've literally just entered the URL. And then you clicked on it, would it, would it do that? 

[00:05:53] Alli Alosa: I haven't actually tried it with like a pasted URL. It's all been formulas for me, but I would [00:06:00] assume that it would probably do the same thing. 

[00:06:04] Andy Cloke: Interesting. 

[00:06:05] Dan Fellars: Yeah. So anyways, I know there, I think we actually highlighted a month or two ago of a phishing attack where somebody would send somebody to a shared Airtable link, made it look like OneDrive, I think.

[00:06:18] And then it had links to other places. So this might. Be a direct response to that.

[00:06:26] All right, moving on. So here's a real life example using AI to create apps. So somebody built, I don't know what a 75 hard tracker is, but, that worked out in AI. So I've actually been using the new AI builder. The co co builder is what they call it. It's, it's actually pretty good. It gives you a good start to a new base.

[00:06:55] Gives you something to use. 

[00:06:57] Andy Cloke: I've not used it, but from what everyone says, it's great as [00:07:00] the first, the first pass. And that'd be nice to be able to make tweaks to it. Right. Maybe that's coming next. But yeah, pretty solid implementation. Yep. Yeah. 

[00:07:09] Dan Fellars: That's 

[00:07:10] Andy Cloke: yeah, 

[00:07:10] Dan Fellars: that's definitely is needed. All right. Here from Ben, he says, I have a pretty dashboard and an ugly dashboard.

[00:07:17] Guess which one I like more. I'm trying to figure this out. I can't tell if he's, if he's saying he still likes the old school. So here's. I assumed the pretty dashboard and here's the ugly dashboard. So I don't know if he's trying to, like, make it sound like he still likes the old one, or if he's just making it obvious that you can make pretty dashboards and interfaces, but 

[00:07:42] Kamille Parks: that's not even the old debt.

[00:07:44] That's just a grid. Right? So, I don't know. Maybe, Dan is just saying he gets more actionable info out of this view. I would have to know more about the use case to see, like, [00:08:00] How meaningful these individual data points are. And sometimes, you know, a chart looks nice, but it doesn't really tell me anything so that I can, you know, that I can see and understand.

[00:08:14] Dan Fellars: Yeah. So Ben, let us know what you're thinking, which one you like more. I'm guessing the reason he posted this is that he actually still likes this view more than the new pretty interface, but I'm not sure. Maybe he still does like this one. 

[00:08:30] Kamille Parks: Yeah, I like the ability to if you. Enable show underlying records for a chart or for a number field.

[00:08:40] I like having like a quick filter with a nice little visual component of it. Of, you know, there are four tasks that are in progress or something. You click that and you see which four tasks meet that criteria. But as a whole, yeah, I, I personally don't use dashboards a whole lot. 

[00:08:59] Dan Fellars: Yeah. [00:09:00] All right. Let us know, Ben.

[00:09:03] Okay. Here's another one. Kind of frustrating. Airtable randomly wiping 50 hours of work is a good omen to start the week. The pain is never ending. I don't know that I've seen it completely just wipe your data without you doing something. So I'm not sure what's going on here. 

[00:09:23] Kamille Parks: Yeah. I'm wondering what went wrong here.

[00:09:26] Dan Fellars: Yeah. 

[00:09:27] Kamille Parks: Me too. 

[00:09:28] Dan Fellars: Hopefully he was able to recover it. 

[00:09:32] Alli Alosa: Yeah, 

[00:09:33] Dan Fellars: maybe if he accidentally deleted the base or something, but you can reach out to them and they'll restore it 

[00:09:40] Andy Cloke: for an automation. I'm crazy, right? 

[00:09:43] Dan Fellars: Yeah. 

[00:09:44] Andy Cloke: Yeah, that's been remarkably stable for me. It gets slow sometimes, but they never just lose this stuff, which a lot of tools there.

[00:09:52] Dan Fellars: Yeah. Maybe data fetcher went wild and overrode all the data ever happens. [00:10:00] Here's a new, a couple of new products out on the, out on the market. This one shareables. ai. It's kind of interesting. Let's take a look at that one. So you basically, it allows you to embed data from air table into your website.

[00:10:19] So it's kind of like a UI builder. And I wonder if this is, we actually highlighted a very similar one to this not too long ago under a different name, or if this is the rebrand of that. That is a different name. We'll have to do a comparison because there's a very similar product to this launched a month or so ago.

[00:10:43] But anyways, yeah, if you want a better display of your data into your website or something, this is a way to just kind of generate a shareable view that's more advanced than what Airtable provides.

[00:10:58] Next one. [00:11:00] If I believe this is on iOS only, if you use the Alfred to do quick lookups, here is Martin giving away a, way to basically search for any base inside of the Alfred search. And and be able to jump directly to it. So if you like shortcuts inside of your Mac, then you can check this out and install it for free.

[00:11:30] Kamille Parks: Every Mac I own has Alfred installed on it and I can't recommend it enough. 

[00:11:36] Dan Fellars: Okay. Here's a shortcut for you.

[00:11:41] Okay. Next one. Here's another one. This one actually looks pretty cool. It's called Power Save. I think we might have highlighted this in the past, but it looks like it's updated. So save information, ASAP as you browse with AI Assistant. So I believe it's a Chrome extension. [00:12:00] And it kind of allows you to, so Airtable has its own Chrome extension to, to create new records.

[00:12:09] This one is a bit more advanced. It has more functionality. I also believe that you can update existing records through their extension as well. And so it allows you to it's got some AI functionality built in, and you can just kind of highlight a section, and then it gives you this menu of where you want to add it to, so it's pretty cool.

[00:12:33] Yeah, you can just highlight different sections and say, put this into this field, put it into that field, and then submit. That's pretty cool. Yeah, it also has. Multiple records at once, and then even some selection autofill precision. So that's pretty cool. I might check this one out. That [00:13:00] could come in handy if you're doing a lot of data collection on the web, inserting into Airtable.

[00:13:06] Andy Cloke: Yeah, that's really cool. It'd be nice if you could automate after it, right? So you could say, Now go and do this, go and do this, like these 20 URLs. Yep. The same selectors that I just did. Maybe it does some of that already. 

[00:13:18] Dan Fellars: Yeah, I don't, I don't, I think this one started more as a manual. There are some other products that do more of that, but that this one might evolve into that.

[00:13:29] So that's pretty cool. And it looks like it's, Airtable specific, so just tailored to Airtable. Very cool. All right. Regular update. If you're experiencing failed automation scripts, you're not alone. Others, Meredith, Scott have been experiencing it last couple of weeks. So that maybe a system wide issue, or it might be [00:14:00] specific to your script.

[00:14:00] If something's going on there,

[00:14:05] Okay, next one. If you're looking for more interviews with Howie, CEO of Airtable, here's a new one from Village Global. We'll put a link to it in our show notes. And so yeah, see what he's talking about. He's been kind of on the speaking circuit lately talking about the new AI functionality. There's another interview.

[00:14:29] Okay. Here's one from friend of the show, Julian coming from air table forums, table forums, asking about, so he's using AI and AI automation, task or update and it. He's asking it to basically separate out data into three columns and then returns that and then wants to use a repeating group [00:15:00] on the output from the A.

[00:15:01] I step and asking if that's possible and Scott tells them that there's only certain things that can be an input to this. And then there's actually one more roll up. Roll up fields as well can be an input. So AI cannot be inputted into a repeating even though you can tell AI to return like an array or a list of items.

[00:15:30] So I've actually played with this, so you can, what you have to do is you, you can tell the AI script to, or the, the input to, to have the output be A-J-S-O-N array. And then what you have to do is with one line of a script, you can convert that array into an object output, and then I believe that can then go into to a repeating group.

[00:15:58] Alli Alosa: That would be what I do. You could [00:16:00] just convert it with a script set. 

[00:16:04] Dan Fellars: Yeah, so maybe we'll do that in a future show and share the line of code you need. It's a very simple, you just have to parse the string into a JSON object and then do an output that's set. So it's pretty simple. All right. One more also from, From table forums.

[00:16:24] Okay, we're gonna see if chat GPT gave a good answer. So I have a base tracking training for various tools in the maker space where each record represents a user. And there are four fields for each training training date given by expiration status. The formula status is a formula field that returns valid or expired based on comparing the expiration field to today.

[00:16:49] Tracking 17 trainings. That means I'm calling today 17 times on this table. Would I be better off just creating one today field and then referencing that field in the status? [00:17:00] formulas. So GPT says yes, it would be more efficient to create a single today field than contains the result of today and then referencing that field in your status formula.

[00:17:11] It would reduce the number of times today is calculated, especially with 17 trainings, and then gives kind of the formula to reference that field instead of calling today. What do you think? Good answer from chap GPT. 

[00:17:27] Alli Alosa: I would agree. I, I do that kind of, I mean, I don't know if I would, I think there's a better question around the data structure was 17 different formulas.

[00:17:37] But, if, if that's the way you have to do it, then, yeah, I would reference 1 formula field. Outputting today. 

[00:17:48] Dan Fellars: Yeah. Well, the question, let me see, did they say they have like 17 columns or is that 17 rows? 

[00:17:57] Kamille Parks: Yeah, because I [00:18:00] read that as 17 rows. And so I was like, well, that doesn't make any difference because you're calculating it once per record.

[00:18:10] I read it as 17 fields. I agree. If it's 17 fields, this is better. But then why is it all different fields? Shouldn't, shouldn't it be Rose? 

[00:18:21] Dan Fellars: Although here it says that field in the status formulas. So that, okay. 

[00:18:28] Alli Alosa: That makes me think he's got 17 different formulas or one for each training where I would really attack this at the root of the issue to me is that you need to change your structure up, which is.

[00:18:40] You'd have probably a junction table or, just a different table. You could really get that all into one column. 

[00:18:48] Kamille Parks: Yeah. 

[00:18:50] Alli Alosa: Yeah. 

[00:18:52] Dan Fellars: Yeah. If they had a separate table for for the trainings. And then what you could do is you could have your [00:19:00] today field at the at the parent. You know, a table and then reference that into the, the child tables 

[00:19:10] Kamille Parks: because then it's only calculating once per parent and not once per training.

[00:19:18] Dan Fellars: Yeah, so, okay. Anyways, that was a fun exercise. See how chat GPT, you got to be careful. It's amazing tool, but it may give you some bad information. So always validate. 

[00:19:34] Alli Alosa: It's wild how much I've been seeing on Facebook, where, like, someone in the Airtable community group on Facebook asks a question and someone responds with an answer that's clearly just copied and pasted out of chat GPT and it's just wrong.

[00:19:48] Okay. Like, just completely false. Oh, no. 

[00:19:55] Dan Fellars: Yeah. I wonder how, like I haven't looked at like stack overflow. I wonder how [00:20:00] they're avoiding people just answering with AI. Right. Interesting. All right. Next one. If you are in the product operations world, it looks like Airtable is sponsoring a summit in San Francisco product led alliance product operations summit.

[00:20:21] So being sponsored by Airtable could be worth checking out. In a couple of weeks in September. Okay. Last one, this one, I'm going to walk you through it. I don't think audio is working, but Aaron, who used to work at air table, he was kind of like the community training, put out really great high quality videos.

[00:20:42] Then he moved to web flow, but still a fan of air table. So there is a tick tock video that he found. And I'll walk you through kind of what it is. The audio isn't that important, but let's play this. So we're saying this is a square, where should it go, [00:21:00] which, which one should it go in to there, so the girl is happy, she got it right, also goes into the square,

[00:21:12] in rectangle. 

[00:21:16] Kamille Parks: I'm just trying to read what the other options are, I'm seeing. Yeah, so we have. 

[00:21:21] Dan Fellars: So project management. Should it go into the circle? And so the girl is saying it needs to go in the circle. So she's starting to get very frustrated that these are all going into the square. She wants to go into the right spot.

[00:21:41] Now, where does the triangle go? She wants me to go into the triangle. So the triangle is Salesforce. This one is recruitment going into greenhouse. which is a tool. So basically saying all the things can go into [00:22:00] Airtable, all your use cases and everything. 

[00:22:03] Kamille Parks: What a terrible children's toy. That doesn't teach anyone anything about shapes.

[00:22:11] Dan Fellars: So the person was doing it the wrong way. Obviously there was better fits, but it was basically showing that all of those shapes could still go into the square. 

[00:22:21] Kamille Parks: But if they made the square slightly smaller, that wouldn't be possible. 

[00:22:26] Dan Fellars: Yeah, 

[00:22:26] Other: yeah. 

[00:22:27] Kamille Parks: Relating it to Airtable, yes, a lot of times people put, in my opinion, way too much just in, in one Airtable, I'll say.

[00:22:35] They'll take one base and have it, you know, Do be all things to all people when and that's how you kind of like lose control of a base really quickly. It's when you run into limits faster and harder to figure out what went wrong. If something did go wrong, because there's too much in it. So. Yeah. 

[00:22:55] Dan Fellars: Yep.

[00:22:57] Well, very good, Aaron. I thought that was good. He calls it [00:23:00] his Mona Lisa. So he's, he's proud of it.

[00:23:05] All right. That concludes our around the bases. You are now up to date on all the latest and greatest in the air table communities. 

[00:23:13] ON2AIR SPOTLIGHT - 00:23:14

[00:23:14] Now a shout out to onto air. If you are running your business in air table, Best practice is to make sure all your data is backed up outside of Airtable in addition to their internal backups.

[00:23:28] OntoAir will help you back up your data to Google Drive, Box or Dropbox. And we just released, it has not been announced yet, but last weekend we put out, the The latest feature, which is a restore functionality. So you can now restore your backups back into air table. So just kind of quickly showcase.

[00:23:50] You can pick your your project that you've been backing up, and then it's it's one base at a time that you can back up. So you select the base from that project, [00:24:00] and then you select the history that you want backed up based off of the timestamp, and then you can pick which tables if you just want to do one or all of them, and then it will walk you through where you want to do it, so you can back up to a new base, or you can actually create or back up to an existing base, so if you want to, to back up, it'll create new tables, But you can back up to an existing base and they walk you through all of that.

[00:24:28] So very excited for that. This was our top requested functionality and feature. There are some things that I wish Airtable could support better, but we found good workarounds and a healthy medium to overcome some of Airtable's API limitations. To, to be able to do a full restore. So I'm excited for that.

[00:24:49] So check that out. That is currently available to all. All plans we will in, in the next 30 to 60 days be kind of [00:25:00] making it only available on certain plans. So if you want to check it out, you can do that now on onto air. com. 

[00:25:09] AN APP A DAY - DATAFETCHER - ANDY CLOKE - 00:25:18

[00:25:12] With that, another awesome app that is really popular and Andy's been busy for, for many years working on this.

[00:25:22] So Andy, why don't you give us an update who you are? It's been a few years since you were last on the show. Give us some context of, of your business and what you're doing. And then we'll jump into a demo of what you've got. Yeah, sounds 

[00:25:34] Andy Cloke: great. So, yeah, so as mentioned, I'm the founder of DataFetcher.

[00:25:39] DataFetcher was one of the first extensions. On the air table marketplace. So back then they were they were apps, right? And now they're extensions and it's just steadily grown over the last three years since I last spoke to you. We're now at 600 customers, few thousand users, got a small team of part time contractors who, [00:26:00] who helped me out, but it's mainly still me just on the, on the development and the support side.

[00:26:04] And I've got a new logo. Most excitingly, we've got a bunch of new integrations. So we've got like 50 integrations now and probably the most. Exciting. And the most traction we're seeing is with open AI. So yeah, obviously it's kind of changed the game in the last couple of years, but we've really seen people using it as an escape patch when they get to the limits of air table AI.

[00:26:29] So they've got some use case where they just want a bit more flexibility. They want to use their own open AI API key. They want to choose which model they use, or they want to create images or transcriptions. And that's when they come to Data Fetcher. But they're also using the thing that we first launched with, which is custom requests.

[00:26:46] So this is the UI that, that looks like Postman. And so people who are kind of technical, they can just about figure API docs out. Or they're really technical, but they don't want to write a script and like host that somewhere or [00:27:00] bother their development team. They're using the custom requests to connect to some data.

[00:27:06] API and then pull that data into a table in terms of the APIs that people are using. There's like two to 3000 different APIs. The long tail of APIs is way longer than I even expected when I launched the business. There's so many kind of legacy systems and old CRMs and things like that, that are industry specific that people have to keep using because they're in that industry, but they.

[00:27:32] Kind of resent using them. They kind of want to pull that data into a table to build automations on top of it, to visualize it, to do all the wonderful things that you can can do with Airtable. So that's when it comes to data fetcher and it's, it's kind of an escape patch so that they can, they can get that data into, into Airtable.

[00:27:51] You can also send it from Airtable. Out to the other system, but most of the stuff we see is people pulling data in so with that we'll get into the demo [00:28:00] Yeah, let's check it out So we've got this There we go sheet here. So i'm keeping it pretty you can see this, right? Yep. Yeah. Yep Great, so i'm going to keep it really simple just for the for the sake of the demo, but we've got a little Google sheet here with some property names locations And then these URLs here, which are just little cover images for our properties.

[00:28:24] And so we're going to pull that data in to start off with. So everything in data factory is organized around requests. So we've got create request, and then we select the application that we want to pull that data in from. So I'll go to Google sheets and then save and continue, and then I'll select that spreadsheet.

[00:28:43] So I'll click here. So this is super similar to connecting a. A google sheet in in air table itself and we can select that that sheet and then the sheet And then we'll run it and this is the bit that people really love about data features. So it's this [00:29:00] This field mapping so basically taking the fields that we've got in that source sheet And then we intelligently suggest how they should map to your air table So you can see we've got a field called name and we found the existing name field in our properties table here And we've suggested you map that to that for the cover image We noticed or data fetcher noticed that all those urls ended in dot jpeg So rather than saying the urls we suggested they come in as attachment fields and then for the location We've just said single line text.

[00:29:36] What I want to show you is how we can You Import those locations into a different table. So as well as the properties table, we've got a locations table And so what we can do is change that field type here to link And then select the table that we want and click save and now when we save and run this [00:30:00] Selected the wrong table I'll start again.

[00:30:06] There we go.

[00:30:12] You can see it created those missing fields and it's going to pull that data in Oh, no Let's start again and rush through it. Apologies

[00:30:34] So we'll go new field location

[00:30:42] and select our locations table

[00:30:50] and now it's going to pull it in and create those links So those locations are now being created In that locations table and if we [00:31:00] were to change one of these to

[00:31:04] Milan

[00:31:09] and run it again It's going to keep all those up to date now. We can schedule this to run every hour Every day or whatever and just do like a big bulk import of all of our properties And then the next thing I want to show you is one of the ai features that we've added recently so What we can do is actually send those cover images to OpenAI so we can actually handle like the raw attachment files now.

[00:31:35] So if we click create request again and for the application this time we're going to select OpenAI and we'd add our OpenAI key here. Api key here and then for the endpoint we'll select create chat message completion So this is just just like when using chat gpt. This is like the api equivalent to that and then we've got this messages input here So [00:32:00] this basically lets us send up multiple different messages so you could add extra context as like one message And then like a different message each time, depending on kind of what you want to do.

[00:32:09] But what we'll say is create,

[00:32:16] create a short property description for

[00:32:25] this image. And then we can add references. So we can reference those cover images that we just saw in the table by adding this plus button on the right hand side. So we'll click that, properties, cover image. We can see a little preview here. And then we'll click confirm and then enter. And then when we run this, we're actually going to send that cover image, 

[00:32:50] Other: like, 

[00:32:51] Andy Cloke: attachment file to the API.

[00:32:57] And we can see we get a message back and we'll [00:33:00] change that to description and run it again. And now it's going to iterate over each of the properties in that table.

[00:33:15] And we'll just hide that field that we didn't need. And we can see that each of the descriptions is getting created. So we could also kind of add the the other things in our message, which I won't do now just to keep it short But we could add the property name the location to kind of make that description even more specific And this is the thing I mentioned earlier So people like to be able to select the actual model they want to use Airtable AI can be a little bit kind of cryptive or a little bit of a black box to know What you're what's actually going on in the background and plus it can't handle the attachment fields in the same way that we can and then you can set kind of the max tokens temperature defines Kind of how, how creative it gets and all the other options that the open AI kind of let you [00:34:00] set through there through the API are available here in the integration.

[00:34:05] And something else we've added since we last spoke is triggers. So being able to trigger this to run basically as soon as, as soon as there's a record available. So we can do that by making a new filtered view called needs description, set some filters on that. So we know that to be processed, we're going to need to set cover image is not empty and that description is empty.

[00:34:36] So that's going to get rid of all the ones that we just saw. And if I create a new record, I should start with the trigger first actually. So if we go here and we can scroll down to this trigger section here and hit record created Select that table as the properties table and then that needs description and then click save [00:35:00] if I now create a record

[00:35:08] With a cover image so we're going to see that created In this view in the next little while we're going to see that that's triggered a run

[00:35:23] and that's Just close that that description has been added for us there. So that's triggers and open ai and uploading attachment fields but the thing that I mentioned earlier is custom requests, so This is this was yeah, the original feature and what people kind of still love about data fetcher and that's this ui So this lets you basically set The url the method all the stuff that the apis kind of need you to send as well as headers different body types So we've got like json form data and then different authorization types [00:36:00] all here and then different pagination types as well.

[00:36:02] So When you're fetching different pages of data There's a bunch of different ways that apis ask you to do that and they're all kind of handled automatically. So if we selected Page you can set all the details here. But one thing we've added fairly recently is the ability to just paste in a curl command So a lot of apis just let you Kind of copy a curl command in the recti docs and i'm going to copy this one for file.

[00:36:29] io So this is similar to dropbox. It's like an open source. Yeah file hosting service and we can copy that And just paste it straight in here and you can see the method changed the url changed and these headers were added automatically And then the only other thing that we need to add is our api key.

[00:36:47] There's a bearer token short copy from here

[00:36:55] and a file here so we can replace this [00:37:00] file here with the actual attachment file

[00:37:05] confirm

[00:37:09] and you can see all the Response fields that come back from file. io. And if we click this little sidebar here You can see even see a preview of that json Comes back and we can add each of those fields so we can go deselect all And by clicking on one here, we can just click on it and it will be toggled on and off.

[00:37:31] So maybe we'll just say backed up and then 

[00:37:35] Dan Fellars: we'll say run it a moment

[00:37:40] Kamille Parks: This happened the last time you demoed on the show where I was just like this I've got nothing you've thought of everything again 

[00:37:48] Alli Alosa: Yeah, it's very nice. Yeah 

[00:37:52] Andy Cloke: So you can see it ran into an error when there was no file miss there was a file missing here so it can only obviously it's only gonna You Going to [00:38:00] work if there's a there's a file there so we could use a filter view again Or we've got a little setting that says if one of these records causes an error run the next request anyway 

[00:38:09] Dan Fellars: I've 

[00:38:12] Andy Cloke: had a lot of feedback here for the four years so there we go.

[00:38:20] So that's custom requests File uploads open ai integration and the link fields and then the last thing which is actually super relevant to the the invoice pdf parsing you mentioned earlier dan is we've got the ability to extract fields from pdfs So we can't quite do the the array split thing that you mentioned, but you can see here.

[00:38:43] I've got a couple of invoice pdfs so each of these has An invoice number and a due date, but they're in totally different formats, right? They're not, not the same structure and OpenAI is smart enough to basically pull [00:39:00] out the different fields from those files. So we're using the assistant endpoint this time.

[00:39:07] And what we're going to say to it is extract the fields from this invoice PDF. And then we've got that reference to here return json. And then we say, here's an example of the output. And when we run this, it's a little bit slower because it has to actually upload the file to OpenAI and create like an assistant thread and run.

[00:39:26] So it's a little bit, a little bit slower, but it's super robust, like super reliable and obviously really powerful because you can basically, yeah, pass that data from completely different invoices. So obviously if you have like a bunch of supplier invoices or something like that. You could just go down and pull out all that data.

[00:39:44] And that is pretty much it. I'm obviously happy to also answer any questions. What, 

[00:39:53] Dan Fellars: what's on the roadmap? What's next? 

[00:39:56] Andy Cloke: Yeah, so at the moment, we're doing a bit of a repositioning. It feels like we've kind of got [00:40:00] product market fit, and it's actually a case of communicating that better on the website. So we're doing a bunch of case studies with biggest kind of enterprise customers.

[00:40:09] Actually just trying to communicate what we do. So when you land on the web website, it's like, is this for me or not? Cause we've kind of figured out that our happiest customers love the customer request stuff and all of our marketing is actually about all of our other stuff. So it's AI stuff that we really need to promote.

[00:40:27] So on the, in terms of like the general business, that's actually what we're focusing on. And then it's just a bunch of, of little UX improvements. So there's stuff like. Debugging at the moment is a bit limited. So for example, like when something errors out or when you've got an email from us saying that your request failed It'd be nice to go back into that that run history that we've got here and just be able to like copy out a curl command and try and run that and be basically answer like Was this a data fetcher issue?

[00:40:54] Was this near table issue? Or was this? a problem with the actual api itself like when it when it ran and what [00:41:00] exact data did I send to it for error to Happening to happen. Sorry. So that's the focus at the moment. It's just it's just kind of troubleshooting stuff like that as well as you know, maybe a couple of new couple of new integrations as well possibly a notion and anthropic as well.

[00:41:15] So people can use Claude as well as OpenAI. 

[00:41:19] Dan Fellars: Very cool. But as far as you, you still plan to stay like focused within Airtable? Or have you considered supporting others? Yeah, 

[00:41:30] Andy Cloke: still focused on Airtable. I did look at doing a Monday app. A couple of years ago and it was so painful that I came called back to a table.

[00:41:39] Also looked at smart suite. But I've kind of realized it's better to be a big fish in a small pond and actually the quality of product you can build. And the reason that I can compete with Zapier and stuff like that as like a small business is because I'm just staying like narrowly focused both like in the product sense and on the marketing side of things like I [00:42:00] can afford to make YouTube videos about super niche kind of use cases in a way that maybe some of the bigger companies don't don't bother because they're not like they don't care enough about each of those individual use cases.

[00:42:10] So at the moment, just, just keeping it kind of laser focused on, on our table. 

[00:42:15] Dan Fellars: Yeah. I think that's smart. Awesome. This is, this is, I mean, Andy is humble, but this is by far like the most popular extension I'm guessing. I obviously don't have access to the data, but. Popular extension in the marketplace, other than maybe the, the simple ones that air table provides, but page designer, maybe.

[00:42:38] So very well done. It's an awesome tool. Congrats. Forward to getting an update in a year or two from you. 

[00:42:47] Andy Cloke: All 

[00:42:51] Dan Fellars: right, let's move on, but yeah, definitely check out data fetcher. com and try it today. 

[00:42:57] BASE SHOWCASE - ADVENTURE GAME IN AIRTABLE - [00:43:00] KAMILLE - 00:43:11

[00:43:00] Okay, Camille, show us what you do on your Friday nights.

[00:43:08] Kamille Parks: So, basically, what happened is I got bored and. They're a few years back. I want to say this was peak covid. I played dnd with my coworkers. We couldn't do it in person. So we did it all remote. And at the time when we played that session, I was the dm meaning I was telling the story. Basically we did it the traditional way with no sort of like.

[00:43:38] Extra tools and then recently I was thinking back on it and was like, I wonder if you could run like a point and click adventure kind of game in air table and I used the same sort of prompt that I did for that 1 dnd game as like my test use case. So what I'm going to do is I'm [00:44:00] going to summarize a lot of the texts on the screen, because this is like the real prompt that I, I gave my players at the time.

[00:44:08] And then I'll, I'll show you how it works and then how it works underneath. So basically there's a concept of a module or basically the story that you're going to be telling. And every story starts with an opener. So in this case, my opening prompt, and I'll get into what. A prompt is later, but in this case, you're on a pirate ship.

[00:44:31] Everyone on the ship is a pirate. The first mate comes to you. His name is Alexander. And he says, pretty sure there's something wrong with the cabin. He tells you all these things about why he doesn't think the captain should be trusted. And now you're presented with a choice. In this case, you have three choices.

[00:44:49] You can side with Alexander. Yeah, I think the captain's being shady. You could be noncommittal. Just, you know, don't involve me or you can side with the captain if you're loyal. [00:45:00] And, you know, in D and D, you would ask your players. Hey, what do you want to do? They'd come to a conclusion and then they tell you what it is that they're going to do.

[00:45:09] So translating this into air table. I have a record. I have some potential options that you could choose based on the current record. In this case, Alexander comes to you and blah, blah, blah, blah, blah. And then you make a decision. So in this case, I'm going to say I'm going to be non committal. Play it straight down the middle.

[00:45:32] So Airtable is going to do a little bit of thinking. It's going to log my decision in a game log, which is completely unnecessary. But I think it's nice to have. And so now that I've made a decision, I have a new prompt. So Alexander says, you know what, I suppose you're right. We mustn't be too hasty.

[00:45:52] So he goes off to his room and you see light emanating from his window. Now, what do you do? You now think that [00:46:00] this guy is going to go against the captain. So your options are now you can attempt to escape the ship. Something's going on here. I don't want to be here for it. You can investigate the ship for clues.

[00:46:10] Is Alexander lying? You don't know. You can ambush Alexander or you can ambush the captain. So now you have all of these different options that you can pick based on the first option that you chose. And then you can keep going. Let's just say, I'm going to ambush the captain. I trust Alexander, but, you know, I want, I want to take the gold for myself or whatever.

[00:46:34] I'll take care of the captain on my own. You make that decision. Airtable is going to think for a little bit, log that decision. And now you have a new prompt. This is at the point where I stopped writing a story because I don't remember what I did four years ago for the actual game that I ran. But each of those prompts, had a different potential outcome.

[00:46:56] Basically to summarize, if you're watching this back later, [00:47:00] you'll read what, what it says basically is like there's something really is up with the captain. And depending on how well you roll, the more stuff you can notice and that would affect The different choices that you could present to your group.

[00:47:13] That's all well and good. But how does it work? If I look at the data, there's actually only 1 automation in this base that gets it to work. And a fairly simple data structure. You can see I only have 5 tables. The 1st, 1 is a table of games. In this case, I mean, I'm probably only going to have one active game at a time.

[00:47:38] In this case, it's the game that I'm playing. And then you have a concept of modules. Again, in this case, a module is the story. It's a collection of prompts if you're thinking of it in Airtable sense. So for whatever game I'm currently playing, who's playing, if I wanted to have the interfaces filtered to say only show me my games, [00:48:00] And then you would have this concept of what is your current prompt that brings us to what a prompt is.

[00:48:08] A prompt is just like a short description and a long description. You could be as flowery as you want. Which module does it belong to? Under which game is it currently active? And then there's catalysts and potential choices. So the 1st prompt doesn't have a catalyst. You just start a game. So that's why it's blank.

[00:48:34] But all of the other prompts, you're only going to get a certain prompt If you made a specific choice, so then we get into choices and choices work the same way as prompts. Effectively. They're just a description. Here's a thing you can do and you will only be presented with this choice. If you're on a specific prompt.

[00:48:56] And if I say. I'm going to be [00:49:00] non committal, which is the choice I made. Then the next prompt that triggers is, Alexander gives you the night to sleep on it. If I instead said, I want to side with the captain, Alexander casts a spell on you because, Hey, he's trying to take care of the captain now. So the prompt changes based on whatever choice you make.

[00:49:21] And then getting that all to work is a really, really simple automation, which is why this is really only a proof of concept. You can get as fancy as you want with it, but in order to get that to work on the games table, which is the game I'm actively running. I have a current prompt and whenever I make a choice by just selecting it from the drop down, this automation is watching for a choice being selected.

[00:49:50] It's going to create a new log in my game log, which does nothing, but it's nice to see the history of first I did this. And then I did [00:50:00] that that's just putting in linking it to the game that I'm currently playing and then logging, whatever choice I selected. And then the next thing is I'm clearing out my current choice for that game so that I can choose something else, but I'm pulling in whatever that choices next prompt is As my current prompt, so I made a choice, it's supposed to trigger this new event.

[00:50:24] That new event is my current prompt. And then the last thing that I'll say the linked choices, there's, using a 3. It's a relatively new feature for Airtable for linked record fields, allowing a filter based on a certain condition. So I only want to choose, I want to only want to be able to choose certain choices if they belong to the current prompt.

[00:50:53] So I have a total of 11 choices, but only the ones that are [00:51:00] possible based on my current prompt should be selectable. That's it. I 

[00:51:06] Dan Fellars: love that. 

[00:51:09] Kamille Parks: So cool. It's it wasn't that hard. It's it's annoying to set up because I have a script just interface where here are all of my prompts and here are the potential choices.

[00:51:22] So it's a lot of back and forth of you create a prompt and then you create a choices. And then you create prompts for those choices after like, once I make this, then I do that. It's annoying to set up, but to play, it actually runs pretty smoothly. As long as you, you know, Basically write an entire story ahead of time.

[00:51:42] Andy Cloke: It's very elegant. I thought it was going to be like a big unwieldy script in the automation, but it was just a nice little update record. It's very cool. 

[00:51:49] Kamille Parks: I was very surprised I was able to do it with no automations. Now you would not know automation, no scripted automations. I will say it does require you to be.

[00:51:59] I think [00:52:00] at least on the team plan, even though there's no script this feature is a premium thing. So you, you can't do it on a free plan. But this is a sort of a nice to have, you know, it's not truly, truly required for it to work. It's just required for it to work. Well, if that makes sense. 

[00:52:22] Alli Alosa: Yeah.

[00:52:22] Could you use. And I'm wondering when you had originally kind of set something up. I think you mentioned you set this up maybe before that feature was available. 

[00:52:33] Kamille Parks: I didn't use Airtable at all. I just sort of had a bunch of notes in a note in in a notebook, which is, you know, how you normally do it. I wouldn't build a database for every campaign I run, although I could.

[00:52:47] Alli Alosa: You could, but I wonder, could you just use the, like a filtered view? Based on the current prompt, like, if you don't have that feature, if you only have a free plan, you could probably just [00:53:00] somehow set up a view. With just those choices on it, depending on what you've chosen for the current prompt, 

[00:53:05] Kamille Parks: you probably could.

[00:53:07] And there's some variables that would get in your way of using this feature here, limit selection to a view rather than selection by condition. If you are, like, multiple people running multiple games at 1 time, then you're going to run into an issue, but you're unless you're a professional DM, you're not going to have.

[00:53:32] Like five different D and D sessions running where you, that would be a problem. So you could probably get away with just using a filtered view. 

[00:53:43] Dan Fellars: Okay. Could you using data fetcher, of course, connected to open AI and build your prompts as you go or any unknown prompts? 

[00:53:54] Kamille Parks: I feel like you could, because like you want to.

[00:53:59] You want to have a [00:54:00] good, no matter which path you take, you don't want your story to end in like three turns, unless you do something really stupid. Like just you, you clearly do something that would get you killed or something. So if you can't think of new. Like prompts to get out of this situation, you could use something like chat GPT or open AI to be like, all right, well, here's, it already works in the form of what AI wants, right?

[00:54:27] Here's a prompt, right? Right. Something for me. 

[00:54:32] Andy Cloke: Yeah. I mean, you can build it as you go. Sorry. Is it possible to finish it to complete it? I don't know enough, but 

[00:54:41] Kamille Parks: I didn't build in like a concept of a game over necessarily. What happens is there's no choices for this. Where I ended up, because at this point, I gave up writing.

[00:54:54] This is just a proof of concept, but like, I'm sure I could build in something else. That's [00:55:00] like, if there are no potential choices treated as a game over and have the interface display, like a group that's previously hidden that says game over or something, but like. There's maybe another concept of endings, because you might have a good ending, you might have a bad ending, and you might want to describe that in the same way you're describing all your prompts.

[00:55:23] So, yeah, there's a lot more you could do with this to make it feel like you're, like the players are playing a game right now. I'm assuming I'm the only one who sees this.

[00:55:37] Dan Fellars: Very cool. Thank you for sharing that, Camille. That's fun game night. Okay. Quick shout out. 

[00:55:45] BUILTONAIR AIRTABLE COMMUNITY - 00:55:45

[00:55:47] If you're not in the built on air community, join us. Built on air. com slash join. We'll get you in a Slack community of thousands of air table users and fans and people talking about it daily, as well as our [00:56:00] newsletter and our YouTube channel, lots of ways to engage with us.

[00:56:03] So join us at built on air. com. 

[00:56:07] FIELD FOCUS - 00:56:12

[00:56:08] All right, Ellie, walk us through your tricks. 

[00:56:12] Alli Alosa: So this is something I do pretty often. When I'm starting a new base, maybe I've got data that I've pulled from some other source that I'm moving into air table. And this could be, you know, for a million different reasons. But ultimately I've got a bunch of fake data here that I pulled from An app called mockaroo online, which I really, really like.

[00:56:45] It's pretty cool. It lets you generate lots of fake data. But so I've got a table of people and a table of interactions, but the, this data is not tied together at all. And I ultimately want to be able to link up my [00:57:00] interactions to my people records. But a couple issues come into play where I don't have.

[00:57:10] You know, I need to add that linked record field, and I need to find which person each one of these records relates to, and this will work as long as you have one field on both tables that has some sort of intersection, right? So, in this case, I've got email address, which theoretically, I've got a list of unique emails here.

[00:57:32] And then on the interactions table, I've got a list of emails that are not unique and that, you know, appear in my list of people. And this could be record IDs. It could be, you know, any kind of identifier. Maybe you use like HubSpot or any sort of thing. As long as you've got something that matches on the two tables, this trick is going to work.

[00:57:56] So the first thing I usually do [00:58:00] is I create a formula field. And I'm going to actually add the lower and the trim function to my email address field here to guarantee that everything is in the same casing and I don't have any extra spaces on the front or the back of that email address because I want to.

[00:58:23] Strip it down and make it as simple as possible. So I can find the matches on my people table So I'm just gonna go ahead and create that field and then I'm gonna do the same thing on The people table this is taking forever.

[00:58:44] Come on 

[00:58:46] Kamille Parks: air tables simplest formula 

[00:58:50] Alli Alosa: What is going on I'm like is their table going down Oh No

[00:58:57] Okay, [00:59:00] there we go. Alright, now I'm just going to repeat the same thing over here. We'll say, and I don't even need to give it a name, because I'm going to delete this field also eventually. So now what I do is I actually take that formula field, and I'm going to configure it, edit the field configuration, and change it from a formula to link it to a new table.

[00:59:29] And And I'm just going to call this like temp VLOOKUP and

[00:59:39] now I'll have this new table with just the unique email addresses from my people table. And I'm going to repeat the same thing on the interactions table and take that formula field and link it also to that temp VLOOKUP table. And what I end up with on this side is [01:00:00] all the matches. So I know this email address relates to this person record and there are two interaction records.

[01:00:08] Underneath that email address now to tie it all together. I'm going to go to my people table and I'm going to add a record I. D. function. So, I have the unique I. D. that air table has assigned to each person on this table and on my temp view lookup table. I'm just going to look up that record I. D. from the person.

[01:00:36] So now I've got my people record ID here on my interactions table. I can now look up from the link to the VLOOKUP table, the record ID of the person, and now I can just take that lookup of the record, ID rename it to person and now link it directly to my [01:01:00] people table. 

[01:01:02] Kamille Parks: Genius. 

[01:01:04] Alli Alosa: There you go. And now I've got the exact matches.

[01:01:09] Everything should line up. You know, there might be some that are empty and then you'll be able to know like, Oh, I actually don't have that email address on the people table. And then I could go ahead and just delete all my extra calculation fields. I use a version of that process, like every time I'm importing data and I need to make sure that I'm lining things up appropriately.

[01:01:34] There's all sorts of weird little things that can happen if you like, say, I just took maybe my primary ID on the people table was that email field. If I just changed this linked record, change this email address field on the interactions table to link directly to people that can cause all sorts of like problems if you've got like.

[01:01:56] Casing different. Like if there's a capital a [01:02:00] versus a lowercase a that would, that would create a new record on the people table when it really should be linked to an existing one. Even an extra space can do that. So it's, I find it very beneficial to create this like temporary intersecting table to be able to find where those matches are.

[01:02:22] Dan Fellars: Yeah. That's awesome. That's a great trick. 

[01:02:25] Alli Alosa: Excellent. Yeah. I haven't opened Excel I think in years. I basically only use Airtable to even, even to do VLOOKUPs. That's, that's how I do it is I find the matching field and get it all merged onto one table. 

[01:02:42] Dan Fellars: Great. Thank you, Allie, for showing that. 

[01:02:46] Alli Alosa: Absolutely.

[01:02:47] Dan Fellars: It's a great trick. So it comes in handy. Awesome. That concludes today's episode. Thank you for showing, being with us and we will see you next week. And Andy, thank you for joining. Good luck with everything in the future. [01:03:00] Thanks a lot. It's been a pleasure. Cheers guys. Yeah. We'll see you all next week. Yeah.

[01:03:18] OUTRO - 01:03:19

[01:03:19] 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.