10/24/2023 – BuiltOnAir Live Podcast Full Show – S16-E04

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.


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


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:02:55 –

Automate Create – –

Watch as we review and work through automations. Jen Rudd shows how to build an auto proposal generator using Airtable, Fillout Forms, and Make

A Case for Interface – –

Explore Interfaces with “Interface Detail Pages”.

Kamille will showcase updates to the new interface details page.

Field Focus – –

A deep dive into the ARRAYSLICE Formula – Understanding the new ARRAYSLICE Function 

Learn More Here

Full Segment Details

Segment: Round The Bases

Start Time: 00:02:55

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

Segment: Automate Create

Start Time:

Airtable Automations – Proposal Generator

Watch as we review and work through automations. Jen Rudd shows how to build an auto proposal generator using Airtable, Fillout Forms, and Make

Segment: A Case for Interface

Start Time:

Interface Detail Pages

Explore Interfaces with “Interface Detail Pages”.

Kamille will showcase updates to the new interface details page.

Segment: Field Focus

Start Time:

Learn about the ARRAYSLICE – Understanding the new ARRAYSLICE Function

A deep dive into the ARRAYSLICE Formula – Understanding the new ARRAYSLICE Function 

Learn More Here

Full Transcription

The full transcription for the show can be found here:

[00:00:00] Dan: Welcome back to the Built On Air podcast. We are in episode four of season 16. Good to be with you all. We've got a full house today. Kamille and Allie, as always, welcome. And Jen Rudd back with us again. Welcome back, Jen. Thank you for having me. Good to have you back. As always, we'll see what Jen's up to in a bit.
[00:00:24] But let's walk through what we're going to be talking about today. The Built On Air podcast is an hour long show. We'll be walking you through. We start with our around the bases, keep you up to date with everything going on and all the Airtable communities, then a shout out to onto our backups, our primary sponsor, and then Jen will be walking through how to build proposals automatically and using different tools to do that.
[00:00:52] And then Kamille is going to go through some of the updates to interfaces and in particular in the detail pages, some of the 
[00:01:00] new changes that they've made, how those work. Then a quick shout out to join our community at BuiltOnAir. And then finally, I'll wrap up with ArraySlice focus on the new ArraySlice formula function that's available.

[00:01:16] SEGMENT: AROUND THE BASES - 00:01:16

[00:01:18] So, around the bases. A few announcements from Airtable. The first one is they want feedback. This is good to hear. Maddie is the community manager at Airtable and is asking for ways to improve the community. So please share your feedback. There's definitely room for improvement. We've gone through many discussions on that front.
[00:01:43] So hopefully. They will listen and will take and will make some improvements to the community. 
[00:01:50] Kamille: I see Scott has already 
[00:01:51] Dan: begun. And
[00:01:52] Kuovonne as well. We'll see where it 
[00:02:00] goes. Most of it is private. There's a link right there to fill out feedback. And So yeah, please share your feedback to them. I think if they really are listening and, and want to make changes and improvements and put some more resources behind it, there is a lot of potential there for, for the community to grow and improve.
[00:02:27] Kamille: Next one. 
[00:02:30] Dan: What's that? You're building a 
[00:02:32] Jen: list. 
[00:02:32] Scott's list is mostly inclusive of what I would 
[00:02:35] Dan: say. So, yeah. Yeah, that's that's our spokesperson, right? Scott Scott's on watching. So he knows his task. All right. There was a 1 announcement from Micah Airtable employee talking about improvements to update to the record details.
[00:02:59] Is this Kamille is this where you're talking about these? Yeah. Okay. So we will dive into this. And so just high level layout flexibility, more options, on canvas controls supportive text, helper text, and a few other things. There is still the convert to legacy layout, will continue to be available as well.
[00:03:33] Actually I did hear from Airtable that they, they told me that, That will not go away until you can do everything in the new layout that you can do in the old one. So hopefully that is good. 
[00:03:48] Kamille: Yeah. I will say I'll get into like some of the details later in the show, but many of the things that I. In particular was complaining about were [00:04:00] addressed in this update.
[00:04:01] Some of the things that I want are still not there. But I agree that this is much better than what it used to be. And this coupled with some of the improvements to the legacy layout does make it like a really viable. Layout option. You still might want to use the legacy off. Layout. It really depends on what you're trying to put on the screen.
[00:04:23] But there are now some considerable positives to using the newer layouts again. Some stuff is still missing.
[00:04:33] Dan: Yeah. And yeah, there's some good feedback here. Several drew with some good feedback.
[00:04:45] Very good. Yeah. So we'll dive into that. Here's just kind of a Meredith posted similar and how she's using the new stuff. So good conversation in the built on air community about these changes. 
[00:05:00] And I 
[00:05:04] Jen: still want to be able to print a gallery layout because it looks like you can print it. You can turn on the settings, like the buttons there, but then when you actually push it live, the button disappears to print, 
[00:05:13] Kamille: which is really annoying. It's like 
[00:05:17] Jen: it's there, 
[00:05:18] Kamille: just turn it on. I think because it's paginated, Airtable probably is like, well, how do you want the different pages to print?
[00:05:26] And I haven't figured that out yet, but they shouldn't show the button anywhere if it's not ready, you know? Cause it's confusing. 
[00:05:34] Jen: Cause I was talking to someone with an interface and we were building it and we're like, Oh, great. It'll do exactly what we want it to do. And then we publish and like,
[00:05:45] Kamille: I'm still so 
[00:05:45] Allie: frustrated with the like differences between Just like take the list layout, for example, like you can do there's, if you're doing the legacy layout or the list, the full list page on the interfaces or the list element, dragging it into like the [00:06:00] old element based layouts. There's three different sets of features that.
[00:06:05] appear and don't appear, like seemingly without rhyme or reason. And it's just like, can't they all be the same? Like, I'm so frustrated being like, Oh wait, I can't do that unless I put it over on this type of layout. And I can't do that unless it's on this layout. It's like, I want it to just be consistent.
[00:06:23] Kamille: Yeah. 
[00:06:26] Dan: Yeah. I don't know if we'll ever get that until they get all the new stuff. And that becomes the only way to do it. 
[00:06:33] Kamille: I know. 
[00:06:35] Jen: I just want the add record button to Work with any instance of the list. 
[00:06:40] Kamille: I would agree. Yeah, I really find it useful to have that button at the top to open up like a new record form or even the link to existing record.
[00:06:53] That's also handled by that same button, very useful, and you can't do it on the element based [00:07:00] layout views. I don't know how to describe, like, I guess the legacy, the legacy, legacy, legacy, before there were detail pages at all, you had, like, the blank layout where you would drag individual items and record pickers, and it's getting very difficult to describe what I'm talking about.
[00:07:20] Yeah. Absolutely. Or 
[00:07:22] Jen: when you have more than one action button, the other ones just disappear behind the three 
[00:07:26] Kamille: little dots. I do not 
[00:07:27] Jen: like that. And you can't add, like, on top of that, a little note that says, click here to open the other button. You can't add any helper text to a list layout. 
[00:07:36] Kamille: Yeah yeah.
[00:07:38] Again, some stuff is still missing, which I'll get into.
[00:07:43] Add it to the list. 
[00:07:46] Dan: Yeah, add it to the list. Alright, here's a couple Scott actually, we'll continue with the Scott theme, found a couple issues or nuances with Airtable. This one [00:08:00] is in regards to different behaviors of the last modified time. So depending on, so if you create a new record, it'll automatically set the last modified time and it'll be the same as the creation time.
[00:08:14] If you do it through the API, it also behaves that way. If you use the CSV import extension, it will also do that. However, if you import new records into an Airtable by right clicking on the table name and choosing to import that way, Airtable only records the creation time, it leaves the last modified time completely blank, which is interesting.
[00:08:43] Kamille: Yeah, there's, 
[00:08:44] Allie: I, I don't trust, like I use last modified time for reference purposes, but I. Never. I would venture to say like maybe 1 percent of my automations have anything triggered off of the one record [00:09:00] updated or one using the last modified timefield. I just don't trust it. I try really hard to use one record matches conditions and kind of just trick it into having some sort of.
[00:09:11] You know, if I can fit it into that window, I do, instead of using last.
[00:09:19] Kamille: I do remember, I didn't notice that it was inconsistent. I remember thinking like, Oh, if I create a record last modified, we'll be filled in. And then I would flip flop back and forth between no, of course, it doesn't get filled in. It wasn't modified. It was created. Of course, it would be filled in because you are creating is a modification.
[00:09:39] And I couldn't ever remember which one is true. And it turns out it's because it's inconsistent. So now I don't feel that I've 
[00:09:46] Jen: also noticed if you use button actions and error table to trigger automations, it doesn't log the person who clicked the button. It logs automation as last modified user, which is really annoying to.
[00:09:59] Kamille: [00:10:00] Right. 
[00:10:00] Allie: Yeah, there's kind of like a little, I mean, yeah, if you're doing the last modified time of the entire record, but you could trick it to do if you have a if your button is triggering an automation, if your button triggers a field, which then triggers an automation. 
[00:10:18] Jen: Yeah. So like, if you like, check this person, check the box by clicking the button.
[00:10:23] Yeah. It's just 
[00:10:24] Kamille: mine. Yeah. Nuance.
[00:10:31] Dan: That is a good little trick, though, because you can set the button to update a field and then set the automation off of that. 
[00:10:39] Kamille: And if you use a checkbox instead of a single select, I often use a single select, but if you use a checkbox, it means you can force your users to only run the automation once, which is sometimes useful.
[00:10:51] Lots 
[00:10:53] Dan: of little hacks there. Awesome. Thanks for watching. There's another one Scott brought up [00:11:00] in restoring records from the trash some unexpected behaviors. If you delete a record, then the restore that record, the record reappears in your base with the original created time and record ID. However, instead of reappearing with the original last modified time.
[00:11:19] It updates the last modified time to the time of the restoration, and so that can potentially cause, because that's going to re trigger things if you are using, again, YLE probably avoids that. Yeah, 
[00:11:33] Allie: exactly. 
[00:11:36] Kamille: I mean, I get it. I can see why. You might change the last modified to when it was restored. However, I can see why you wouldn't as well.
[00:11:50] So I guess it's like, what is the most expected behavior? I'm restoring a record. Give me all the values that it used [00:12:00] to be. So don't update the last modified. I think that's probably the expected experience. And so just sort of making that shift might make things less confusing. Yeah, 
[00:12:11] Jen: yeah, I think it's just having the fact that sometimes people really care about all the history of a record.
[00:12:16] And so when you're restoring it, obviously, user be users need to be trained not to throw stuff in the trash, but it is being trashed. What's the, you know, how do we get that historical behavior and information? 
[00:12:30] Allie: Right? And I like what, I like what Scott even detailed in here it says that there is nothing that shows up in the revision history if you restore the record, even though it's changing the last modified time it doesn't tell you why.
[00:12:42] So, even if there's a happy medium would be you know showing the revision history this record was restored at this time. So that way, there's some hint about what happened. 
[00:12:54] Dan: Yep. 
[00:12:56] Kamille: I 
[00:12:58] Jen: feel like it away, 
[00:12:59] Kamille: though. [00:13:00] Amazing. 
[00:13:04] Dan: And it would, yeah, and it would be nice to show in the, in the history that it was restored, you know.
[00:13:12] And deleted. And yeah, so 
[00:13:17] Kamille: I try to get records, right? You can turn that feature off, but you do have to do a table by table, which is annoying. If you have a lot of tables and a lot of basis to manage. Oh, here's 1 
[00:13:32] Dan: more Scott says, and it, it triggers a newly created automation. So if you have an automation that triggers on new record.
[00:13:41] Kamille: I try to avoid as 
[00:13:43] Jen: much as 
[00:13:43] Kamille: possible and matches the criteria. Yeah. Yeah, I think it would trigger basically everything when record matches conditions, if it matches a condition at all, when record enters a view and when record is created so they can help with a record is [00:14:00] created because it's not it's being restored so they could probably eliminate that.
[00:14:04] But the other two, I don't know if there's a way around that. I think it would because then it's like when should Airtable tell you Yes, it has met your conditions, but no, it shouldn't trigger this automation, but the, it shouldn't be counted as created. 
[00:14:22] Allie: Absolutely. I mean, I really try, I try hard to, every time I make an automation, like I said, I always use when record matches conditions.
[00:14:31] And I have at least two steps after that trigger. One is to like perform the action. And then the final step is to go back and update that record in some way to say I did perform the action, whether that's like adding a timestamp or like changing a single selector status. And then my filters for the conditions are like, this is true and this is empty.
[00:14:51] Like, so that way it's not going to trigger more than, 
[00:14:55] Kamille: yeah, exactly.
[00:15:00] Dan: All right, moving on, going to a Reddit. Here's a really good thread somebody doing some analysis of Notion versus Airtable for a fairly large database. And some pretty good reviews. So this is, this is somebody's pros and cons list of Airtable versus Notion. And they went through it and actually used both to kind of get a feel of how it would be.
[00:15:27] So they have 10, 000 rows and get a, get a pretty good overlay. Sounds like it's this person's leaning towards notion but felt it was sluggish, but they did like the experience better. I'm kind of moving away from notion personally. Like we're, we still use notion. And at one point I was very heavy into notion, but I'm using it less and less.
[00:15:56] Kamille: Notion strikes me as a product that I wouldn't necessarily [00:16:00] replace. Airtable with, but supplement Airtable with like whatever you would use interfaces for, or you would use page designer for, I imagine you could do quite well in Notion and have things be editable and connected and all that good stuff and shareable.
[00:16:19] I. Do you feel like one of the points in this thread is that scrolling through a lot of records and notion is pretty laggy. Maybe in the future, they'll do some performance enhancements, but Airtable is, I think, better for viewing like many, many, many, many records at once. And notion is better suited for deep dives into a particular record.
[00:16:40] I think 
[00:16:43] Jen: Yeah, I would use notion more like a. More complex Google Doc than I would for a 
[00:16:48] Kamille: database. I would agree. Yeah, Melanie's in our chat saying just discovered Coda recently. 
[00:17:00] Wow. So glowing. Yeah, I just, 
[00:17:02] Jen: I just recommended Coda to a client who thought our table was too databasey. It was more like a personal management.
[00:17:08] So I think Coda is a good app for that. But I think. Notion is just like a nice Google doc. Yeah. 
[00:17:17] Dan: Yeah. Yeah. Yeah. And somebody, a Coda employee actually created a sample database in Coda for people to check out and use to get a feel for large data set. 
[00:17:31] Kamille: I'm still not sure what the difference between Notion and Coda is.
[00:17:38] Like to me, because I haven't used either with You know, to build any complete project with it's a lot like saying Google Docs and Microsoft Word to me, and that, like, those are pretty similar in terms of products, and I'm sure there's like use cases where one is better than the other, and I just don't know enough [00:18:00] about either to, you know, ascertain which is which.
[00:18:05] Yeah, I like Coda. 
[00:18:09] Dan: Airtable plus Notion. 
[00:18:11] Kamille: Okay. 
[00:18:13] Allie: Yeah. I mean, Coda, I haven't picked up in a long time, but I know when I did, I built a couple of projects in Coda that fell apart because it just did not scale at all. This was years ago. Oh, I've heard they've made many improvements to scalability since then, but like moving the same exact project with the same exact functionality into Airtable.
[00:18:35] Some things were a little more difficult because Coda has a really nice like dot notation for formulas where you don't need to have these lookup fields and all these crazy things. But those also slow you down. But ultimately Airtable scaled, like it's still up and running while the Coda projects failed after like a month.
[00:18:58] Dan: Yeah, it's almost, it's 
[00:19:00] like, like as a developer, like all of us that are builders, like it's enticing because you can do so much and mix and match and unstructured data, but sometimes there's value in structure and coming back to, like, the simplicity of every column is the same data type I feel 
[00:19:23] Kamille: like that life cycle.
[00:19:24] I'm so biased now towards structured data, I think because I work in such a large company that I, I want to always say this column is a number. It's a number, and it can't be text. I don't care if you want text, use a different column. 
[00:19:42] Allie: Validation. 
[00:19:44] Kamille: Yeah. 
[00:19:45] Dan: Yeah, yeah. So that's the, like, it's enticing, like, you know, notion, like, but then you just get, it gets so unwieldy, like, you're in this nest of different components, and I feel like Coda's the same.
[00:19:58] I haven't spent as much time in 
[00:20:00] Coda. So it definitely is, is enticing that you feel like you can do everything you want, but then it gets too complex. Sure. Yeah. So anyways, good discussion there. Moving on to the table forums. This was if you, we talked about a previous post that was all about checkboxes.
[00:20:27] And only in, in these types of communities are you going to get people loving talking about checkboxes. Now we're talking about button fields versus action buttons and the pros and cons and Kavon gives a good insight there. So what are the pros and cons to button fields versus action buttons? What are they?
[00:20:48] Who wants to explain the difference? 
[00:20:53] Kamille: Well, 
[00:20:53] Allie: an action button in an interface can mean a million things now, because we have a bunch of different 
[00:21:00] iterations of what those are, depending on what layout you're on. 
[00:21:04] Kamille: Yeah, it's wild. 
[00:21:06] Allie: But they can do many more things in an interface. Whereas, as Kuovonne mentioned, And a button field can only open a URL in an, in, in an interface which can be powerful and can be nice depending on how you're using it.
[00:21:23] But in the actual database, you can use the button field to do other things like run scripts, open page designers, stuff like that. But none of those actions are actually available when you're looking at it in an interface. So there's. Functionality available on both sides and neither one of them are 100 percent available 
[00:21:43] Kamille: when in an interface, which is frustrating.
[00:21:50] Yeah, it's, you really got to ask yourself, ask yourself first, what is it that you're trying to do with a button? And [00:22:00] where are you? And then that's going to determine what one you use, because there's not actually a whole lot of overlap between a button field and a button interface element. Like, if you think of, if you use, like, Softr or, you know, Glide or any, any other, like, portal and you're importing your Airtable data into it, the button field, There you can import and it's just going to be a URL.
[00:22:26] That's the same thing as an interface designer. It, none of these systems, including Airtable's own interface designer talks to page designer, it doesn't talk to any of your extensions really. It just sort of opens URLs, but the interface buttons perform actions. They can directly trigger an automation.
[00:22:47] They can go to a different page. They can use the URL from your button field and make it into a slightly different looking button with fewer color options. Strange, but you could do 
[00:23:00] that. So if you, if your button is just supposed to open a link. Ask yourself what color you want to use everything else.
[00:23:08] Ask yourself what you want that button to do. Right? And if you 
[00:23:13] Allie: need a button for every record, like in a list layout, then then you're going to need to use a button field. Because you can only have one action button. At the top of the page or wherever, but the button field. Yeah, exactly. So it might be nice if you have a button that's like, you know, view website for this company or something like that.
[00:23:37] And that appears for every single record. That would be when I'd use a button field or if you like need to link to an interface page and a different base maybe, or something like that. Otherwise you can just use the open record details, which is nice. There's a million things to talk about 
[00:24:00] here.
[00:24:01] Kamille: I'm sure Kuovonne and Scott covered it quite well on this. 
[00:24:08] Dan: It actually goes back in Dakota talking about the differences between how Kurdish Dakota, huh? Kuovonne definitely in the Coda, Bill's a big Coda fan, so there's definitely fans out there. So yeah, if you want to know everything there is to know, here's a really good thread on button fields versus action buttons.
[00:24:32] Alright, last one, or one more also from the TableForums community. If this is a nice little hack, if you're wondering, if you're trying to figure out, like, the size of your attachments inside an attachment field. You could, you could extract that via script but there's also a way you can do it as an automation.
[00:24:53] The automation will give you that information. So you see here in the screenshot, you can get the URL, the 
[00:25:00] type of attachment, the thumbnail URL, or the size. And then you could then save that into another field to get the value. But I think this would only, you couldn't. Loop through all of them if you have more than one attachment.
[00:25:18] I think this assumes a single attachment. Yeah, 
[00:25:22] Allie: I'm guessing it would probably have a comma separated list of all the sizes. 
[00:25:28] Kamille: Yeah, maybe. Well, 
[00:25:31] Allie: could you, could you do a nevermind. That's complicated. I was going to say you could try and do a repeating group without a script. You could use a script, obviously, but if you did a repeating group and use that size as the list, I wonder if you could like, do something weird.
[00:25:50] Dan: We might have to do a segment on that.
[00:25:56] See how that works. Yeah. [00:26:00] Anyways, good stuff. If you're looking for attachment size, that's a, that's a good way to go. Script would probably be easier for me, but yeah, it's an option there. Okay. Last one. This is from X Twitter from Julian, who's a consultant in the space and kind of gives a, like a philosophical discussion of what, what should the focus be?
[00:26:26] You know, Airtable, what is Airtable famous for? It's famous for its database. Less so it's interface, there's other products that are maybe stronger on the interface side. And so he's basically giving an argument that or yeah, an argument that you should focus at the database and kind of go database first as you're viewing things instead of getting too fancy with the, with the interfaces.
[00:26:51] And even if you are using an interface. just use a grid view and kind of just do things. Cause his argument was if 
[00:27:00] you, if you're thinking interface first, sometimes. You have to do things at the data layer to make your interface work, but his argument is make sure your data structure is correct and then deal with the ramifications from there.
[00:27:16] Thoughts on different approaches? 
[00:27:22] Kamille: I, I don't know if I have a fully formulated like response, but my, I think my inclination is more almost the opposite because Airtable is not. The best database. In fact, if you just look at it as a database product alone, taking just the grid view, no other views at all it's like way behind so many other different platforms because you have so many different limits in terms of the number of fields you could use, the number of records you can have, 
[00:28:00] the number of field types, there's no Jason field type, although like.
[00:28:04] Most of the other SQL based databases that I can find have at least some contingencies for that. Airtable is not really a database product. It's more like it wraps together a back end as a service as well as a user interface on top of it. And then on top of that, they have interface designer, which is basically an app builder and they have an automations layer.
[00:28:34] I think. As a whole, that really is their strength, which is why they keep pushing the connected apps platform marketing pitch, because really, that's what it is a lot of their competitors do, like two of the three things Airtable does better, but they don't do the third thing at all. 
[00:28:54] Dan: Yeah, that's a fair take.
[00:28:59] So 
[00:29:00] anyways, we'll, we'll wrap up there with the, with the around the bases. I will say on this note, there is likely an announcement coming from Airtable that might actually probably be counterintuitive to, to Julian probably goes against what Julian is preaching here. So we should see something maybe later today.
[00:29:21] We'll talk about it next week, but it, it does kind of touch on this. In this vein, so a little teaser there of Airtable news coming. 

[00:29:31] SEGMENT: ON2AIR SPOTLIGHT -00:29:33

[00:29:33] All right, let's talk about backups. Make sure on2air. com is your place to go for your backup needs. It will help you follow best practices with your data and make sure that you have your data stored outside of Airtable.
[00:29:48] We support Google Drive, Box, and Dropbox. To back up all of your data and your attachments and coming very soon, your schema for your base. [00:30:00] Schema fields and including formula fields that's now available. So that is coming very soon. And lots of new features we're, we're working on for backup.
[00:30:12] So stay tuned for that, but check us out at onto air. com and sign up. You can use the code built on air to get a discount to backups. 


[00:30:27] -All right. We're now going to learn about proposal generation with Jen. So your screen. There you go. 
[00:30:37] Jen: Awesome. So I I built something similar for marketing clients where we, you know, build brief generators.
[00:30:45] So we basically get information into Airtable and then it will generate a Google slides brief. So they can start working on briefs. But I actually came up with a solution about a week ago because I was finding out that we needed a lot of proposals written very [00:31:00] quickly. So it was also helpful to kind of, as you're talking to clients and on sales calls, making sure you're gathering the right information so that you can quote effectively.
[00:31:10] So what I did was I created a fill out form, which we use to kind of capture the information for a proposal and we started using fill out forms 1st, because you can add more information into Airtable, like when you have other. Information and let you add questions and so forth, but it integrates directly with our table.
[00:31:30] So there's no lag time. We don't use like, 3rd party services and like, you can see here we added an extra field or another option creates that new option as a dropdown. So it's kind of cool. But basically, the reason why we have this forum is because we want to generate a proposal programmatically from details in our table, but we want to make sure that we use.
[00:31:53] Thanks. What I call an interface, which is not the same as Airtable interfaces to make sure we capture the information in a way [00:32:00] that makes sense. And that's organized. So we use a form just generally for clients and just internally a lot just to make sure they're not missing information. So, this is a fill out form that we set up and it's nice because it tells you when you mess up and you get a little confetti, which is great and then you'll see it come into our Airtable interface.
[00:32:23] So, what we do here is that. I go in the interface, we can see all the information needed for the proposal and start writing the proposal
[00:32:37] and marketing team, lots of 
[00:32:41] Kamille: people, cool stuff. 
[00:32:46] Jen: And then we pick up the client logo and I grabbed some logos this morning
[00:32:58] and then I haven't been [00:33:00] able to get the accent color, do what I wanted to do. But basically, what we're trying to do is as much as possible from the Airtable interfaces, as opposed to doing it, like, going into Google slides, duplicating a slide, pulling in the information. But let's see, I probably didn't pick the right images doing this too fast.
[00:33:25] And so, like, here's some stuff here. And then what we can do too, is we use the new AI feature and enterprise to generate. Some basic information, like it takes this field right here, and it gives me a lot of verbiage so I can review it, copy it, and send a description. I'm like, oh, this is super long, so I'm going to cut it down, and it says stuff I don't want, so this is what's actually going to show up on the slides.
[00:33:56] Then I trigger an automation. 
[00:34:00] And I fixed it today, so it actually shows me the Google slides link when I'm done, but we have an integration in make we trigger a webhook off of that button in Airtable, which is the automation that we use make to go back in the Airtable and load all the values from that record, and then it creates a presentation, it adds the images to the slides, and then it returns the URL.
[00:34:27] To Airtable, and you can see here that it doesn't like me, but it basically takes my I'll go into Google drive because this is being annoying. 
[00:34:46] Give me 1 2nd, but basically, what's nice about this is, though, even though the images aren't exactly perfect. It fills in the information for us so that we can just [00:35:00] make adjustments and then move on.
[00:35:01] So, like, we can listen to the placeholder and stuff like that. So, and then we can just take outside. That don't make sense for that particular proposal. So it's still, like, a work in progress, but it just saves a lot of just the generic time. And it also sticks spots. AI generated blurb on the page for us.
[00:35:22] So it's, it's just trying to be more efficient with the time. And also the biggest value that we've seen so far is that we can really look at requests and proposals and make sure that we are capturing all the information and we know how to respond to requests very quickly. So
[00:35:41] Dan: Very cool. Yeah, that's awesome. So after Make creates it, and then it saves the link to it back in, back in Airtable? 
[00:35:53] Jen: Yeah, it does. And I, I just fixed that this morning, and I think I just need to add some kind of criteria to it. So like, [00:36:00] it, you know, the webhook gets triggered, I just go back into Airtable, and then it copies.
[00:36:06] That's template it puts in, because we have these variables on the template
[00:36:18] and has these curly Q bracket placeholders. So, all of those placeholders become values that you can fill it. And so let me go in and say, okay, now to this proposal, replace that logo tag with the client. Logo here, which is the Airtable attachment URL.
[00:36:43] And so I can't figure out again. It's the right to fill a placeholder, but I'm getting there. I'm working on it, but this is just, it's. It's helpful for me, at least getting the words on the page and getting stuff in order without having to go in and do copies and paste and so forth. Just at least 
[00:37:00] puts the right place.
[00:37:00] Information on the right 
[00:37:01] Kamille: page, you basically did like a mail merge, but with Google slides. Awesome. 
[00:37:13] Jen: Yeah, I mean, we had a client a couple of years ago who needed like, a brief created and they were using PowerPoint and we're like, well, can you go to Google slides? And I'm like, yeah, I'm like, okay, we can use Zapier to do it.
[00:37:25] Now I've just been using make more often, but it's still pretty cool because you can upload images and so forth. But it's nice because it's just, it's a mail merge, but it's a fast mail merge that you still have to edit, but it's not as time consuming. There 
[00:37:42] Dan: was this really cool tool that also did this called onto air.
[00:37:47] Unfortunately, it went away. 
[00:37:49] Jen: Since that tool went away, I had to generate it myself. And, like, I started using it with Documents, and it works. Like, we were using, like, the, the, the, before it was like, well, I can just do this in the 
[00:38:00] interface. We were using Documents to, like, get, like, the proposal into a page and stuff like that.
[00:38:05] The problem is, is sometimes we need to make editable
[00:38:14] form... Process like the Google Drive, Google slide. That's really helpful. And I think nowadays just putting it in a deck. People like to 
[00:38:23] communicate with decks. So
[00:38:28] Dan: awesome. Thank you for sharing that very useful. That I mean, that's a pretty common use case of Airtable table using it for proposals, legal contracts. Yeah, because you can kind of do similar with Google Docs and we use that approach quite often. 
[00:38:45] Jen: Yeah, and the Airtable automation for Google docs is okay, but it's kind of inflexible.
[00:38:49] So I find the mail merge aspect also allows you to better format. 
[00:38:54] Kamille: Yeah. Yeah. 

[00:38:57] SEGMENT: A CASE FOR INTERFACES - [00:39:00]

[00:39:00] Dan: Yeah. All right, let's move on interfaces with Kamille. There you go.
[00:39:09] Well, here we are again back in July. So. You know, it's, it's been a couple of months, but in July, Airtable updated the detail pages for interface designer and added a bunch of stuff and took a bunch of stuff away and I wrote quite a lot about what they were like, and I continue to write a lot.
[00:39:36] And more and more and more and more basically, and it keeps going of just stuff that I noticed and stuff that I hope that they improved and they have made some adjustments. I think October 17th or so. So here's the same detail page that I used for that. You know, just extreme 
[00:40:00] detailed response. And I'm just going to go over some of the things that are different.
[00:40:05] Yeah, I'm comparing the July detail pages to October detail pages, not to the legacy layout. We all know what the legacy layouts are like. So one of my frustrations with this particular layout, you can see I have these three similarly designed fields and. The July detail pages were very rigid in terms of for full page layouts, it was four columns across for three page for the side panel layout, it was three across, and you couldn't control if I wanted a line break, if I wanted all of these to align, I didn't have that option.
[00:40:49] Well, now I do. I just sort of can drag and drop, and that's great. And then. That's the first thing. The 
[00:41:00] second thing is that it was difficult to add items between each other. Again, it was like one long list of records that arranged itself into a series of rows. Now you can have like control over if I want to put this record in between or this field in between.
[00:41:20] I can. And if I want to get rid of it, I just click on it and hit delete. And you can see the columns are automatically adjusting. Technically, this should be pure cross. I'm unsure what its deal is why it wasn't auto adjusting. But if I rebuild that row. It will probably, yeah, you can see it's now stretching full across and it will divide itself until it gets to its maximum of four things the, the more I go.
[00:41:53] So you can see I now have four things across. They've all adjusted their width and I can't add any more next to it. [00:42:00] If I start taking things away, this row will adjust itself, but these remain the same. So that's an improvement. You can now have within a group Different amounts of columns in a different row.
[00:42:16] The other thing, these used to be called sections. They're now called groups. You can see. The default title was my first section. It's now a group that's very minor, something that's also somewhat minor but appreciated. You can now apply a background color to the group. When I say a background color, I mean a single background color.
[00:42:37] It's light gray. You can't do any other color. So I'm why I don't know. But hey, now you can make this great. So that is helpful for breaking up these pages. But it is Again, I find it strange that you can't do the like the light versions of the other colors but they built it 
[00:43:00] in the functionality. So maybe one day they'll add in the other colors.
[00:43:04] Who knows? I'm gonna turn that off. What you can also do if I were to click on any individual field, you can now have helper text. What's nice about the helper text is that it's rich text. So I can have. Like a bulleted list here that says stuff, more stuff. And that's useful if you have to explain what your fields do.
[00:43:36] My preference for helper text a lot of the time is to put it next to the field rather than between the title and the field content. But I can put this here, which is... helpful. You know, again, it's not quite there, but it is a considerable improvement, especially because it's rich text. So, you know, we're able to add like a direct link to something 
[00:44:00] related to that field in that field alone.
[00:44:03] I'm going to turn that off because I don't need it. The other thing with July detail pages, you could have linked records appear as pills and cards, but you could also have them as any of the other Airtable view types. Other than Gantt, because Gantts don't exist in Interface Designer. One of my major complaints is that it's so narrow.
[00:44:28] For regular groups, you can't have it expand across the full width, but for linked record groups, you can. So, it's just this toggle, show us full width, and it does what you expect it to. It becomes full width. I find it strange that I could do it for that, but not... the, you know, regular field groups, but I don't make the rules.
[00:44:50] That's, I'm just reporting what's new. Also in the July detail pages, regular sections now known as groups could [00:45:00] have descriptions. Again, those are rich text enabled. But linked record groups could not now they can. So if I preview with no description included, it's going to get rid of that space automatically.
[00:45:15] But if I start adding one here, you know, it will appear. So that's nice. Now you can describe what your linked records are. And again, once more with feeling they allow for rich text. That's nice. Before I forget, another one of my complaints is that you, in the July detailed pages, you could only show one field once on the page.
[00:45:43] Sometimes what I like to do is have a read only version of a field up at the top and an editable version at the bottom after I've explained very thoroughly what you're supposed to do with that field. If you want to show a field more than once, you can duplicate it. And now I have two versions of the same field.[00:46:00] 
[00:46:01] So, yay, that's a... And they're 
[00:46:04] both, they're both edit, can be editable? This, 
[00:46:07] Kamille: this is a formula, so I'm going to duplicate one that's not a formula. This is a regular text field. If I make that one view only, right, this is view only, but this one is editable. So, that felt like a minor complaint for me, but I'm...
[00:46:23] Very glad that it's here because I don't need it so much with these types of fields. What I really needed it for was for linked records because sometimes I wanted to show it as a gallery and sometimes I wanted to show it as a like as a grid underneath and you can duplicate this whole section again.
[00:46:44] So. The duplicated one doesn't come in as full width, but you'll notice that it does keep the description that I typed in. Is there any other major adjustment that I have [00:47:00] forgotten? I don't know if there's a major change since the July version. Again, you can, you can keep the, the useful features of having end user control over the view that they're given as well as like drop down filters.
[00:47:22] You could also use their tab filters. That's very useful. But I think those are like the main changes that. I noticed in this adjustment. I think this is a better system than the July system. Just because you can have that control of this row in this group should have two columns, or maybe it only needs one column, and it spans the whole way across.
[00:47:53] It's more evident if I make that extra large, that's very useful. And these down here, I'm one in four. [00:48:00] Now I have that control. In legacy layouts, the maximum you could put next to each other. And I think it was eight you're cut down to four. So there's a lot more spacing in the new layout versus legacy layouts, but it gives you like.
[00:48:21] A piece of the flexibility that you used to have. And if you need things like these filters or being able to like search and all of that on your linked records. Now it might be the case that the newer detail page layouts are better suited for your use case than the legacy. It now really depends. Before it wasn't so much a toss up, now I think it's kind of a toss up.
[00:48:49] It depends on like, yes, I need my helper text to be next to the field. Or yes, I need more than four things next to each other. Or, I [00:49:00] need this group. To span the full width, or I need some color other than gray. If any of those are critical for your layout, and sometimes they might be, then... The newer detail pages still aren't quite there, but if none of those are super critical, then you might want to take a look at them.
[00:49:21] Dan: Awesome. Very good. Very helpful. Keep us up to date on all the interface changes. 
[00:49:29] Kamille: I sure 
[00:49:29] Dan: will. Yeah. Yeah. Yeah, I wonder, that's one thing, like the full width. And in talking to Airtable, obviously mobile was the main driver to move to kind of this, this approach. But there's still times if you're, if you're web heavy that you want the eight columns or a full width.
[00:49:49] I wonder if they'll address that. Well, 
[00:49:52] Kamille: one thing that isn't quite addressed yet, you can make grids full width. But you 
[00:50:00] can't make them any taller. This is the height. And if you change the row height to its smallest, which is short, the maximum number of records that you can have visible at a time is 10, I think.
[00:50:14] It might be 11. That's not a lot of records. Why? FAirtable, please. I think that's my outstanding most major I can deal with the buttons being somewhere else on the page than I want them to be as long as I can put them there. I can't deal with only showing roughly 10 or 11 records at a time. I love that I can make it full screen, but I also need that vertical height.
[00:50:44] This really only affects... The grid view list views will auto adjust their height for you. I'll just demonstrate, you know, it knows how tall the list is supposed to be. Obviously with gallery, you have control over how many rows there are on [00:51:00] a page. So it really is kind of, it's the grid view, and I misspoke, actually Kanban kind of has this problem as well, that you don't have control over how tall it is.
[00:51:15] I think you should be able to control how tall it is. I have a lot of linked records. 
[00:51:21] Jen: I think they really try to force the list view like and the list view doesn't really solve because like the grid view has the ability to do like statistical analysis whereas 
[00:51:30] Kamille: list view doesn't. I would agree. The very use case that I'm building or has a lot of numbers in it.
[00:51:36] And we want to be able to see the sum of those numbers across whatever grouping we're using. And list view looks nice, but it's, it doesn't let me do that. And it. That's kind of a deal breaker. So I'll use a list view where I can, but I, if I need. You know, this thing, my only option. So, 
[00:52:01] Allie: yeah, absolutely.
[00:52:03] I wish you could like choose kind of like you can on the gallery. Like it automatically like paginates, like I'd love, I wish you do that with any of the views, like show all of the records. Cause sometimes if you have a lot of records, you don't want them all showing. Cause it takes up, you don't want somebody to scroll and scroll and scroll.
[00:52:22] So if you could just say show 10 at a time and have a little page switcher, that'd be amazing 
[00:52:26] Kamille: too, but. I would agree. I think you could use it in conjunction similar to the row height thing where I don't need like pixel. Like control necessarily, or to use a grid system, if you give me just these four options, if this height that I'm showing on my screen right now is short, and then I have the option to make it a little bit taller, or a little bit taller, and a little bit taller, that would also work or to go straight into just show me a maximum of 50 records, and then it just paginates, I would be fine with that [00:53:00] too, but, you know, this right here is not enough.
[00:53:05] But that's like really hyper focused on that one limitation that's been there since July. It's still there, you know. This is better. It's still not there. 
[00:53:16] Allie: Yeah. I will say I love that they put the Appearance tab on the same, they like merged it into just the one detail. Yeah, that, cause I'm, I'm constantly changing.
[00:53:30] Like if you're on a text field or like a single select, I like to make those large a lot of the time. And now you can all on the one screen, which is saving lots of clicks for me. 
[00:53:41] Kamille: Yeah. Because you already have to, like, click into the item itself, right? You don't want to do another click up here to the appearance tab.
[00:53:51] Right. 
[00:53:54] Dan: Yep. Awesome. Thanks, Kamille, for going through that. [00:54:00] And I'm sure we will continue to keep you updated on as they improve interfaces. Definitely an area where lots of Resources are being put into. 


[00:54:13] All right. Quick shout out, join our community BuiltOnAir.com/join. We'll get you in, in particular to our Slack community of thousands of Airtable.
[00:54:22] Fans and users and talking every day, all day about Airtable and how to use it in your business and ask for help and share cool things that you're working on. So join us at BuiltOnAir.com final episode,

[00:54:39] SEGMENT: FIELD FOCUS - ARRAYSLICE - 00:54:40

[00:54:41] we're going to talk about Array Slice. Array Slice is a new is the newest newest formula function.
[00:54:51] It came out a few months ago. And so as you know, if you, if you create a formula field, then you have 
[00:55:00] different functions in here. And there's a few, these have been here for a long time. Array join, Array unique, Array compact and Array flatten. And then they added Array slice. And if we click on that, so it returns a subset of the array from the start index number starting from one, so it's one based instead of zero.
[00:55:23] If you're a developer, you may be familiar with starting at zero, these make it start at one and then optionally specify an end index to stop. So that's the index of the last element that you want, and you can also use negative numbers to count from the end. to get to where you want to be. So if you want just the last one element in array, you can use negative one if you want the last two, and we've got bill French listening in sharing with us.
[00:55:58] And can you use Array Slice as a form of split? Let's find out. Let's see what happens there. So. Basically, this works. We're gonna go through a couple of scenarios to see when it works and when it doesn't, but the main use case is using this with with look up fields and where you are looking up into a linked record that then returns an array.
[00:56:28] So a lookup will return an array. An array is basically a set of. Of items. So if you have a lookup field that's looking into a linked record that can be one or more elements and and so this will extract from that array the elements that you want. So maybe you just want one item in there, or maybe you want multiple.
[00:56:51] We'll do a test to see what's going on there. So this one right here, this array, this is looking at. A 
[00:57:00] link, which is let me double check, make sure my link is yeah, so here's my link. So this is linking to another table and it allows for multiple. So I've got two up here and I've got one here.
[00:57:19] And so so this, this one is getting, is using a negative one. So that's getting the last element in the array and it's only getting one cause I only have one item. And if you're using a negative, then you probably wouldn't let's, let's see if this works. So basically I want to get from the second to last item, and I want it to end at the last item.
[00:57:49] I wonder if that will work. Let's test this out. I think I broke it. I just crashed 
[00:58:00] Airtable. The circle of death. There we go. Okay, so
[00:58:09] let me, let me get one more in here.
[00:58:15] Okay, so we've got Facebook results. So it did not work because it brought in all four of 'em. So that one didn't work. If I change it to just negative one, that should just return a single one. And that does not work either. 
[00:58:41] Kamille: That feels like a bug though, right? 
[00:58:43] Dan: So, I think it's because so it doesn't work on the link itself.
[00:58:54] So this is the actual link. Oh yeah, this is, this is why I built it. I did this base cause I was going to show it last week and I [00:59:00] forgotten my use cases. But so this is trying to extract from the link itself. And it doesn't seem to, to work directly on there. But, if I add a lookup field on that link and I just get the, the, the name then, if I did it on there that does work.
[00:59:26] So it doesn't like the link itself. You have to create a lookup on that link. So here, It's pulling in the last item, so my last item is results summer travel spotlight, and that's what I'm getting here. So if I do it on here, if I were to do a negative 2, then it'll get the second to last one and it pulls in from the second to last to the end.
[00:59:55] So if you don't put in that last parameter, it's going to get all the elements to the end, [01:00:00] and so if we change that last one, I do negative two and I want it to say, and let's do negative three and end on negative one.
[01:00:21] Actually, I probably want to end on negative two.
[01:00:28] Let's see if that works. Okay, that does work. Okay, so you can play with the negatives. But the main thing is, if you do it on the actual link, it doesn't give you that index of the links. You've got to create a lookup on there. And so you can do things like, let's go back to, so if we want to start on the first one and end on the second one, you could do one comma two, and that will give you the [01:01:00] first and the up to the second.
[01:01:03] So some of these only have one, so it's only returning the first one. Let's look at this guy. Yeah, this is just looking at the, the second one. So let's answer Bill's question. Let's see if we can slice a text field. So, in some programming languages, it can treat like in JavaScript, you can treat a string as if it was an array, and kind of split that string where you have one element for each character.
[01:01:41] Let's see what happens if we if we try to slice the text.
[01:01:56] We have the name and let's just get the second [01:02:00] to fourth. So we'll just get a couple in between and it does not work. So you can't slice it. So is there a way to convert the name into an array that might help?
[01:02:16] Did array join?
[01:02:22] No. Is there a string to array function? There isn't, is there? 
[01:02:28] Allie: I don't think so.
[01:02:34] Dan: Just 
[01:02:36] Kamille: because array 
[01:02:37] Allie: join goes to a string puts an array and 
[01:02:40] Dan: yeah, yeah, so there is no split. So that's a very common Bill French has been asking for it from day one that it needs to be there. And what's odd is they clearly some developer said we need an array slice in here and added it. That's probably if I [01:03:00] feel like this is like the only new function that's been added in a long time.
[01:03:06] So I don't think they have a dedicated team building functions because they don't come out very often, but array split would definitely be one to add. Mm hmm. The other one is attachments. It does not like attachments. I was hoping to extract something from the attachment. It converts the attachments to strings.
[01:03:32] And so it puts like the name and the URL in parentheses. And let's see, is this a lookup? Yeah, so this is a lookup and it didn't, and it didn't give me just one. So it converted the whole thing into there. I was hoping it would just return one, but it doesn't, it doesn't like attachments from my testing.
[01:03:57] So attachments are tricky.
[01:04:02] So that is Array Slice. Any other experience using Array Slice? I
[01:04:10] haven't had to use it yet. Yeah. So you can use that same Jen. Yeah, 
[01:04:18] Jen: I'm sure I had some use case for it a year ago, but. We solved it with the formula for right now. 
[01:04:25] Dan: Very good. We're over time, so we'll end there. But Jen, tell people where they can find you. You renamed, right? Yeah, 
[01:04:32] Jen: it's RuddConsulting. io.
[01:04:34] What is it? 
[01:04:35] Dan: Rudd Consulting. RuddConsulting. io. There you go. So no longer Grow with Jen. It's 
[01:04:42] Jen: not, unfortunately. But if you look for Grow With Jen, you could still find it. Cause I haven't done that because I was scrubbing. 
[01:04:51] Dan: No worries. Glad to have you back and we'll have you on again. And that's our show for today.
[01:04:57] We'll see you all next week. 
[01:05:00] Thank you all.