1/16/2024 – BuiltOnAir Live Podcast Full Show – S17-E02

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:01:40 –

An App a Day – 00:01:42 –

Watch as we install, explore, and showcase the Aeropage App from the Airtable Marketplace. The app is described as “A nocode platform for fast creation and unlimited customization.”.

View App

Automate Create – 00:01:43 –

Watch as we review and work through automations. Kamille will showcase how to use an eSignature for sales quotes driven from Airtable and using 3rd party tools.

Meet the Creators – 00:01:41 –

Meet Mike San Marzano from Aeropage.

I’m most passionate about making cool stuff, and technology, and everything I do pretty much involves both. I started with automations and tools in the early 2000s working in Architectural studios, writing scripts and building custom tools to speed up the drafting and documentation processes. After about 10 years that become boring so I shifted to web development with a big focus on data driven websites, but the tools available were pretty tedious so I was always looking for ways to make it easier and faster. I started with Zapier very early and eventually discovered Airtable- then I immediately started replacing my databases with it via API connections. After a while I figured my tools might make a good product, so I showed them at Chris Dancy’s Airtable conference in (2019?) and through that an enterprise reached out to me to ask about how it was going. I hired some developers and built a ‘proper’ product, which they signed on for a few years before they decided to move away from Airtable. Now after almost four years its (almost!) ready.

Visit them online

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:42

Airtable App Showcase – Aeropage – A nocode platform for fast creation and unlimited customization.

Watch as we install, explore, and showcase the Aeropage App from the Airtable Marketplace. The app is described as “A nocode platform for fast creation and unlimited customization.”.

View App

Segment: Automate Create

Start Time: 00:01:43

Airtable Automations – eSignatures

Watch as we review and work through automations. Kamille will showcase how to use an eSignature for sales quotes driven from Airtable and using 3rd party tools.

Segment: Meet the Creators

Start Time: 00:01:41

Mike San Marzano –

Meet Mike San Marzano from Aeropage.

I’m most passionate about making cool stuff, and technology, and everything I do pretty much involves both. I started with automations and tools in the early 2000s working in Architectural studios, writing scripts and building custom tools to speed up the drafting and documentation processes. After about 10 years that become boring so I shifted to web development with a big focus on data driven websites, but the tools available were pretty tedious so I was always looking for ways to make it easier and faster. I started with Zapier very early and eventually discovered Airtable- then I immediately started replacing my databases with it via API connections. After a while I figured my tools might make a good product, so I showed them at Chris Dancy’s Airtable conference in (2019?) and through that an enterprise reached out to me to ask about how it was going. I hired some developers and built a ‘proper’ product, which they signed on for a few years before they decided to move away from Airtable. Now after almost four years its (almost!) ready.

Visit them online

Full Transcription

The full transcription for the show can be found here:

[00:00:00] Intro: Welcome to the BuiltOnAir 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 community at builtonair.com. 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, On2Air 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 On2Air backups. Sign up today with promo code On2Air for a 10 percent discount. Check them out at On2Air. com. And now let's check out today's episode and see what we On2Air.

[00:01:25] 00:01:25 - INTRO

[00:01:26] Dan Fellars: Welcome back to the On2Air podcast. We are in season 17, episode two. Good to be with you this morning. We've got a full house with us. We've got Kamille as always. Welcome back, Kamille. And Allie, Allie's been gone for a few months. What have you been up to in the last month or two? 

[00:01:58] Alli Alosa: Well, I had a baby.

[00:01:59] So 

[00:01:59] Dan Fellars: [00:02:00] Had a 

[00:02:00] Alli Alosa: baby hanging out with my little little boy. Yeah. 

[00:02:05] Dan Fellars: Yeah. So some point Blake will give a give a. Sneak peek a cameo on the show. 

[00:02:12] Kamille Parks: Where's his segment? 

[00:02:14] Alli Alosa: Yeah. Right. 

[00:02:15] Dan Fellars: That's right. You learn an Airtable already, right? 

[00:02:19] Alli Alosa: Exactly. You got to start them early. 

[00:02:21] Dan Fellars: Very good. Well, good to have you back Allie and we have special guests with us.

[00:02:26] Mike, Mike, good to have you on. 

[00:02:29] Mike San Marzano: Hello. 

[00:02:29] Dan Fellars: Welcome from Poland. Good to have you visiting. We'll learn more about Mike and his story and later in the show. So I'll walk you through what we're going to be doing today. We will, as always start with our round the bases, keep you up to date with what's going on in the communities and news.

[00:02:47] Then a spotlight on our sponsor On2Air and our backup solution. Then Mike San Marzano will Ali will interview him. We'll get to know his story and background. Then [00:03:00] he will showcase his application called AeroPage, you've likely heard of it. And then shout out to join our community. And then finally, Kamille will walk us through e signatures and quoting and getting signatures for, for that.

[00:03:16] 00:03:16 - ROUND THE BASES

[00:03:17] So with that, around the bases. First, I'll revisit the What's New page. We talked about this last week, some of the new updates. They snuck in a new one after Tuesday. This top one, they say it's from December, but this got posted in January. So I just wanted to spotlight this. If you're an enterprise customer, they now have an admin, a UI to look at the logs so you can actually see the logs instead of before you had to download all the CSV files, open them in Excel or something and look at them.

[00:03:54] Now you can actually look through them through the, the admin [00:04:00] UI if you're an enterprise client. So that's a new feature that got snuck in last week, at least as far as being announced.

[00:04:10] Next one. This was on the post. I saw this in multiple communities, but yesterday it looks like there was some major, major outages, I don't know, or slowness. Some people were saying it was taking like 30 minutes to automation for automations to run. Anybody experienced 

[00:04:29] that? I did 

[00:04:30] Alli Alosa: yesterday. It was like a very simple automation that was just updating a record with like a super simple like text and didn't run.

[00:04:41] It was just kept saying in progress. And then I tried triggering it again and that one ran like immediately while the first one was still in progress. And I tried to shut it off and turn it back on, but then it got stuck in this like in between state where I couldn't do anything. It was like, it said on, but it was grayed out.

[00:04:58] And it [00:05:00] was really weird. Like I had, I tried like shift reloading my browser. It still was all weird. So I don't know what was happening there. 

[00:05:09] Dan Fellars: Did it work itself out? It 

[00:05:11] Kamille Parks: did, but 

[00:05:13] Alli Alosa: then it wasn't even triggering. It was just being very odd. I had never seen that behavior. Kind of ironic. It was my first day back at work since 

[00:05:23] Kamille Parks: I was like, what's happening?

[00:05:27] Dan Fellars: Timing. Yeah. Yeah. I didn't, I didn't see anybody respond if it was, I didn't see a response from Airtable. It didn't show, I don't think it showed up on their, their monitoring. I get notified when there's, yeah, so they didn't, they didn't flag it or anything. Not that 

[00:05:46] Kamille Parks: I saw, but I saw people posting 

[00:05:48] Alli Alosa: about it in Slack, 

[00:05:49] on Facebook.

[00:05:50] You're in the community forum. Yeah. Everywhere. 

[00:05:53] Dan Fellars: So hopefully, I'm not seeing anything today, so hopefully it's, it's back up and normal. [00:06:00] So if you experienced that, you weren't alone. All right. Next one from the On2Air community. Last week, Airtable decided to add a friend to everybody's product.

[00:06:14] You likely saw this person. And it was like blocking functionality. There's like a button behind it that you couldn't get to. So people were not happy about this. I believe they, they did remove it right after some pushback. 

[00:06:30] Kamille Parks: I think so. Yeah, I think the criticism we're seeing in the, the comments of this thread right here is that the most recent shift in pricing structure for Airtable meant that lower plans, including pro don't, which is now called teams, the team's plan doesn't include support anymore.

[00:06:53] And yet this thing is like. Was seen in a team's level bases [00:07:00] and so it was very, are you going to support us or not? What's going on? And in addition to that, some of us may remember Clippy from Microsoft word, who was also in the lower right hand corner. So it's just not if, if I needed help, there is a very helpful help button that I think should be the trigger for this showing up.

[00:07:28] It doesn't necessarily need to float there. 100 percent of the time. Yeah. 

[00:07:33] Dan Fellars: Yeah. And this was a pure AI bot. So there was no human. Response. So it's purely a I help 

[00:07:43] Kamille Parks: a lot of the times your answer can be found in Airtables documentation, and if it can search the forums, there's a good chance that either myself or Ali or Scott or come on, have answered your question already.

[00:07:56] It's been many years. It's there's a chance, [00:08:00] but there's there's something to be said for, like, sometimes Airtable releases new features and None of us have answered those questions yet, and sometimes the documentation is unclear. So having a human interaction would be very useful in those cases. And again, I am displeased with teams not having access to customer support in the way that they used to.

[00:08:24] Yeah, 

[00:08:26] Dan Fellars: yeah, that still does not make sense. So yeah, so if you're, if you're not seeing this, I think they did pull it back. Probably means they'll make some tweaks and bring it back at some point. Somebody put a lot of effort to put a UI or an AI bot on top of all their, their help content. So I'm guessing we're going to see this again in some form.

[00:08:52] All right. Next one, you might've seen this. We actually didn't talk about this last week. I think. Originally, this came out [00:09:00] in December, but if you open up the the attachment uploader if you click on the plus sign to add an attachment, you'll see this pop up saying starting January 31st, Facebook and web search will no longer be available as options to upload attachments, which is very frustrating.

[00:09:23] And they I believe they pulled it back in December after some initial pushback, but it looks like it's it's back again. And that's a pretty short deadline as well. 

[00:09:35] Kamille Parks: Yeah, it is. I am wondering because Facebook specifically was called out and it's not and box and Dropbox and drive. I think it's it might be something specific to Facebook in their API.

[00:09:51] Maybe they did what Twitter slash X did and said, or was it Reddit? One of those where like your interactions with the API [00:10:00] now come with a cost associated and how many people are storing files on Facebook, as opposed to any of these other services that we can see here that are specifically designed to, to, hold files.

[00:10:15] Facebook specifically doesn't bother me so much for those reasons. And that's just pure conjecture, but web search was really useful and that one, why what's up with that? Right. 

[00:10:28] Dan Fellars: My guess is it's, my guess is you're pulling in data that you don't necessarily own, whereas like the others, Box, Dropbox, in theory, like those are already residing in your environment.

[00:10:46] So that's my guess is it's some kind of IP. Maybe they've gotten too many claims for pulling in. Unknowned files. [00:11:00] 

[00:11:00] Kamille Parks: It'd be great if there were there are certain stock image websites that do allow access for free. Of course, if you make attributions to, you know, who took the photo or if it's like a A graphic of some sort who designed it it'd be great if you could use that in place and the file name always includes who who made it.

[00:11:25] So you always have that attribution as like a replacement for this. Because otherwise, they still have. Specific web URL, right? That's the second option down that. 

[00:11:40] Dan Fellars: Yeah. And I believe the original message removed that one as well. Okay. I remember that correctly. 

[00:11:48] Kamille Parks: It wouldn't surprise me because you can circumvent the web search by opening up your, your search engine of choice, finding the image, right clicking and saying, You know, copy link address [00:12:00] and then going back in here.

[00:12:01] So it just adds an extra step and wouldn't necessarily solve the problem if that's what they were trying to avoid, but then you could add an extra step and download it and upload it to your drive or to your Dropbox or anything that's remaining and then import it. Now, that's annoying and silly, but you could do it.

[00:12:21] So, you know, and you 

[00:12:23] Dan Fellars: can actually, if I remember correctly, because I remember. People, a lot of people were saying, how does that impact the API? Because the API, you have to provide a URL. And so I think it was because they took away the URL link option. And so it looks like they're at least leaving that one for now.

[00:12:44] So that was good. Another trick you can do is if you just click browse files, if you have the URL copied, you can just paste the URL into your, your search bar or where you're looking for files [00:13:00] and it should just download it and then upload it into there so you don't have to like download it separately and then upload it.

[00:13:09] You can kind of do it all in one. That's a little hack I've used in the past. Excellent. So yeah, this is, this frustrating. I use the web search all the time when I just want to just insert images and stuff into data. 

[00:13:28] Kamille Parks: Yep. Same.

[00:13:33] Dan Fellars: Let's go to the next one. This was another bug been highlighted if you're running into this. So this is on interfaces. The selected interface is not available. It looks like, The search functionality is only pulling the underlying tables keys field rather than the interface key field. Also, the button in [00:14:00] the record detail page for linking are showing an error for the selected interface is not available.

[00:14:06] And it looks like it's been escalated. So if you're seeing this bug, hopefully there's a fix coming soon.

[00:14:16] Yep. All right. A few more. This was from Reddit. This was interesting. This is just kind of more in the, in the ecosystem of database systems. According to this and this article, it looks like I don't know if you remember how long ago was it? Two years ago, Google launched a competitor to Airtable called Google tables, and it looked like they were moving it.

[00:14:41] They're progressing it out of their their beta, but it looks like they're now just merging it into app sheet. Which is an app builder from that Google acquired. And, so it looks like starting in [00:15:00] it's, I don't know, maybe this is confusing. Maybe just app sheets was leveraging it. Cause this actually says June of 23.

[00:15:08] So I don't remember any, any chatter of this. I thought that tables was still moving forward at that point. So. Oh, it says we will continue. Here it is. We'll continue to maintain tables, but we'll not be adding new features to the product. So it won't be a standalone. 

[00:15:30] Kamille Parks: Yeah. And they say to consider alternatives, including app sheet.

[00:15:34] So yeah, I think they're like. Using lessons learned from tables to improve AppSheet, I suppose. 

[00:15:42] Dan Fellars: Mm hmm. Yeah. Interesting. So anyways, if that was something, you know, I was kind of optimistic that Google might be able to provide a solution. They, they, they supported a ton more data as far as records. So that was promising, [00:16:00] but it looks like it lost momentum.

[00:16:02] So sorry for anybody that adopted Google tables. 

[00:16:07] Kamille Parks: Yeah, I re I remember when It sort of came out and we were talking about it and jot forms solution and, and Zapier made one as well. It was crazy. Everyone had their own sort of alternative. And I think those other ones are still. Active, or at least actively being developed upon.

[00:16:34] But this, there's a lot of Google products that have been discontinued. And so this just sort of follows that pattern. 

[00:16:44] Dan Fellars: Yeah, yeah, yeah, for sure. So. I guess this was updated in December. So it is relatively new insights. All right. One more coming from the table forums community. [00:17:00] Check that out if you're if you're not watching there.

[00:17:03] This was posted while we were on break. I wanted to kind of highlight it. It's always, a basically looking at this, a good analysis of trying to find a script that would help you do like a double matching, of, let's see. So you have a selection table that's linked to two other tables called fruits and veggies, and you want to combine one fruit with one veggie.

[00:17:34] So this is just basically looking through the process of how to create a script. And Scott shares a couple of scripts from the Airtable library, and then also highlights Kamille's junction assistance that could potentially help 

[00:17:52] Kamille Parks: in theory. So I think, and I think she or this person caught it as well.

[00:17:59] My extension [00:18:00] is cool and all, but I don't necessarily think it meets the criteria that they're looking for. Junction assistant is more like, you know, which, junctions that you want to create, and you're doing it manually. If you wanted a more automated solution, like this fruit should be linked to this color based on some property that Airtable can see.

[00:18:25] So it would be predictable, then there are more automated solutions, like a custom script of some sort that would get to that solution faster. 

[00:18:35] Dan Fellars: And Kavon also apparently wrote her own script here. That that can kind of do that for you. She said she typed this up on her phone. So that's Kavon for you.

[00:18:49] Kamille Parks: Yeah, there's at some point, I just sort of assume whatever Kavon has written is the clear and present answer. 

[00:18:57] Dan Fellars: Very good. So, yeah, there's some, [00:19:00] just, it's not full script. It's just more kind of. How you might go about it. So if anybody's looking for a script on that, it's a good head start on that front.

[00:19:15] Very good. That is kind of a little bit quiet now that we're back into our weekly cadence of of news. Unless anybody else saw anything else highlighted this week. Friendly reminder that your 

[00:19:28] Kamille Parks: API keys are going to stop working. Switch them out. 

[00:19:36] Dan Fellars: That's right, we're actually at On2Air where going through and like, oh, there's still a lot of people using API keys.

[00:19:44] Kamille Parks: I couldn't find a good, I wish. I did more documentation when I was setting up some old systems that said where my API key was being used. Personal access tokens are good because they'll show [00:20:00] you what bases are attached to that access token. And sometimes you might've said everything, which isn't particularly helpful in terms of tracking, but that doesn't necessarily mean it's used in.

[00:20:11] These make scenarios it's used in this REST API call, et cetera. So as you're switching out your API keys for personal access tokens, consider writing some of this stuff down. 

[00:20:26] Dan Fellars: Yeah. Yeah. I'm fully expecting things to break on my end February 1st and we'll update at that point. Yeah. Mike, I don't know if you're dealing with that issue as well.

[00:20:42] Mike San Marzano: No, luckily we. We, we develop things so slowly that we, we kind of. We're not far along enough that we had to deal with a big issue. They sort of announced it and we were one of the first probably to actually implement the OAuth tokens. [00:21:00] So yeah, we're, yeah, we got lucky. Very 

[00:21:03] Dan Fellars: good. All right, let's move on.


[00:21:09] Shout out to, On2Air backups. If you are running your business on Airtable. Best practice is to make sure your data is stored outside of Airtable. OntoAir Backups solves that problem. Helps you back up to Dropbox, Box, or Google Drive. It backs up all your data and your attachments. And now we also back up your meta information, your schema.

[00:21:33] Your field your formula information and your views. And so check that out. That's what we're highlighting this month is our, is our new feature of, being able to back up your data as well as inspect your meta information. So there's now a new interface that allows you to inspect what your meta information looks like, all your tables and everything.

[00:21:57] And as you back up, you can actually [00:22:00] download a previous version. So you can see what, what your meta information looked like a month ago and things like that. So start backing up your data, use code On2Air to get a discount and check it out at On2Air. com.


[00:22:18] All right, let's learn more about Mr. Mike.

[00:22:25] Kamille Parks: Awesome. 

[00:22:26] Alli Alosa: Mike, welcome to the show. 

[00:22:28] Mike San Marzano: My pleasure. 

[00:22:30] Alli Alosa: Excellent. I'm super looking forward to learning more about AeroPage and the story behind it. I was at D. A. R. E. table this past year, and so were Dan and Kamille, and it was really the talk of the conference. Like, people were talking about it 

[00:22:43] Kamille Parks: for like, Days. It was awesome.

[00:22:46] Alli Alosa: Mm-Hmm. . And I know Nicole gave a big presentation and Aeropage was really like the central driver behind it, which was such a cool product. So first thank you for that. And [00:23:00] second, I am wondering how you got your start in the low-code, no-code space. Was it Airtable you started 

[00:23:06] Mike San Marzano: with? Actually.

[00:23:10] I mean, I, I used to work in architecture. Like I, I did architecture at university and I dropped out and then I, I worked for like 15 years in like it support specifically for architecture software and studios. And in that I worked with SharePoint a bit. You know, Microsoft SharePoint and SharePoint designer.

[00:23:38] I think 2007 version I was using quite heavily to build an intranet to build like document portals for the architecture studio and stuff like that. And that's where I distinctly remember having a moment, you know, one of those moments where I was like, Oh my God, the data grid view of the [00:24:00] SharePoint interface was Saving me so much time doing things.

[00:24:07] It was, you know, it was a database, but it felt like a spreadsheet. And that was like in the, you know, two thousands, it was almost another 10 years, maybe until I discovered Airtable. And at that time, you know, I'd already been like, I hired a developer pretty early on when I got bored of. I'm not bored, but I just started to hate life doing IT support and I was the only person who wasn't really allowed to be out of the office.

[00:24:42] I had to be there to, you know, fix servers and fix computers and, so I, yeah, I kind of discovered Airtable, because I'd already started. Getting a developer [00:25:00] to try and build something like Airtable, I was like, Oh, I've got all this stuff in Google sheets and CSV. Can you just make something that lets me easily link one sheet to another on a primary column?

[00:25:14] And, you know, I sort of understood the principles of databases. And then I just found Airtable one day and was like. Okay. I thought I'd had some genius novel idea and I'm about six years behind, Howie or the guy who initiated Airtable. So, yeah, I was, I was definitely, straight onto that. I've been kind of waiting for that moment for 10 years, I guess, since I saw the SharePoint thing.

[00:25:44] And and I immediately started trying to get my WordPress. Backend to speak to Airtable to, to replace, I mean, anyone who's, who's [00:26:00] tried to build with WordPress because you know, WordPress is supposed to be no code. You can't, you can't get much done without either some code or going into your database, like going into my SQL, which is like 1990s tech and PHP, my admin, which is like.

[00:26:20] Just mind blowingly old fashioned and confusing and complex and you can destroy your database so easily. And then that versus Airtable was just like, Oh my God, I can see everything. I can, I can crud things. I can, I can yeah, it was, it was just on another level and I was hooked. But for me, it's always been.

[00:26:46] For that purpose, like I, I want a back end, but my, front end is websites and web interfaces, and that's always been my goal, and I've been [00:27:00] pretty much just single mindedly trying to get towards my dream product, since then. And that's where like the story gets a bit convoluted that I don't have time to go through every step and, you know, you didn't really ask so I'll just pull it up.

[00:27:21] Yeah. 

[00:27:22] Alli Alosa: No, that's great. I mean, that was going to be kind of my next question is I know we had you on the show a few years ago to talk about that WordPress plugin air connects. And how did you move from that to the idea for AeroPage? 

[00:27:39] Mike San Marzano: So the idea for AeroPage was always there. It was the execution that, you know, I needed, I needed something that felt like a million dollar product and my budget was like whatever, whatever savings I had that, you know, my girlfriend, now wife, [00:28:00] would, would allow me to commit and, You know, I hire younger developers, you know, because I'm never, I'm never quite sure what I want.

[00:28:11] I'm changing things all the time. I'm a terrible client and it's really, you know, it's a time sink kind of thing. It's a lot of experimentation. And, and so at first I was just experimenting myself and trying to code and being terrible at it. Building a foundation of understanding, learning how to speak to developers, how to communicate ideas to them, kind of teaching myself how to be what I later realized is actually a job of like being a product designer or a product manager.

[00:28:49] But at the time I was just like, I want something. And you know, what are the steps each day to, to get there? And I mean, how the actual [00:29:00] product managed to get from. What you saw three or more years ago to where it is now is pure luck, basically just absolute, absolute from the heavens. Luck, which is that from either that podcast or Chris Dancy's, conference a few years ago, which I also had a disastrous demo at, but, you know, so that's how it goes.

[00:29:33] We got an influx of web traffic and eventually I just got a contact form message from, you know, an email domain that caught my attention and it was somebody inquiring about like, Oh, the product looks amazing. It's, it's probably what we need. How far along are you with development? And I was brutally honest.

[00:29:55] I said, look, not far. You know, I [00:30:00] don't have funds. We, maybe we can work something out and. They sort of said like, look, if you, in the next three months, if you can pull something together, that's pretty impressive, we're not going to leave you hanging. We'll, we'll work with you on it and we'll be your first enterprise subscriber.

[00:30:19] And yeah, I mean, that was, you started 

[00:30:23] Kamille Parks: with enterprise. 

[00:30:25] Mike San Marzano: Yeah, yeah. That's, that's the crazy, crazy thing. I started with enterprise. I pretty much started with the client and then hired the team. And then, and then build the products. And that, you know, that, that really is just like luck and, meeting awesome people by pure chance and working really, really hard.

[00:30:50] And and managing also to get lucky, hiring some really good kids, kids in, in Poland who are [00:31:00] super, super talented. And don't cost that much. And you know, that's, that's pretty much where we've been at for the last few years. And we've just been working away, re investing absolutely everything into the product.

[00:31:15] And everyone kind of looking at me like, when's this going to be finished? And when are you going to start charging some money for it? And, the answer is like. Very, very soon. It's been that all along, but it's really, really soon now, like in the next month, quite possibly the main product will be finished.

[00:31:36] So you mentioned before about like Nicole talking about AeroPage, AeroPage is more like a brand and a domain name and, and, you know, a concept of the company, but the tools that we put out. were just sort of appetizers for little things that we could get out in the first year. The [00:32:00] end product is a full kind of suite that includes those tools, but it also includes the ability to build really nice looking landing pages, really interactive UX and really heavily connects to.

[00:32:19] External data, but you know, 90 percent Airtable right now we built it for Airtable. So, you know, if I had to, if I had to characterize it, it'd be like, like webflow, if it were married to bubble and had an affair with.

[00:32:45] Trying to make that up on the fly there. It's, it's a little bit of a lot of things that I like about other no code systems that you know, we're kind of being bundled together and yeah, worked on a lot.[00:33:00] 

[00:33:01] Dan Fellars: Very cool. 

[00:33:02] Alli Alosa: That's super exciting. There's, there's some really, really great. Like notably I've used and I've had clients use the pixel tracker that you've got for the emails. And then the image generation, that's super cool. And it all works super simply and I've really appreciated it. It's like saved me with, you know, really not niche solutions, but it's something where it's like, Oh, does somebody out there actually do that?

[00:33:29] Oh, Aeropage does, which is awesome. 

[00:33:31] Kamille Parks: I'm super 

[00:33:32] Alli Alosa: excited. And also really excited to learn more about it. And I think you have a demo for us, which I can't wait to check out. 

[00:33:42] 00:33:42 - AN APP A DAY - AEROPAGE

[00:33:44] Dan Fellars: Yeah, let me let me move on. So, yeah. So, Mike, you're going to show us AeroPage and some new stuff that you're working on. So if you want to share your screen, we can dive into that.

[00:33:55] There it is. If you want to move over to AeroPage,[00:34:00] 

[00:34:05] Mike San Marzano: we can. Okay, you can see my screen now. Yep. All right. So this is the AeroPage builder. This is the main product that we have been working on for years and nestled in here, the free tools. So these are kind of standalone tools where you can create your own APIs that speak to your data to generate emails, documents, images, whatever you or create Stripe product IDs and payment links and stuff like that.

[00:34:43] But the new stuff here is, the ability to create pages in public, paths or portals basically. So that's what the UI looks [00:35:00] like. This is a published project. In preview mode. So when you publish your projects, you can kind of see them how they would look for a user. And if I gave you this URL, you could go and visit this page and have a look at it.

[00:35:15] It's right here. There's not a lot of data stuff happening. This is just more of a indication of you can get your landing pages done on this platform as well. You don't have to have. WordPress for your front end and this for your back end or your portals. You know, it's intended to really be a one stop solution.

[00:35:37] If we go over to projects here, then we're going to see more data type stuff happening. So I've got a simple filter at the top. This data is coming from Airtable, of course, I've left this open while I've been sitting here and something's bugged out while I've been talking to you. But [00:36:00] yeah, this is coming from Airtable and you know, it's just pretty much the Airtable data presented on a webpage.

[00:36:12] This is all, you know, like I know it looks similar to a lot of solutions out there and you can get stuff like this done. Easily, but what you're seeing here is really, they're not like blocks of code that you can just pick a few things to customize. I build all of the content using the note, like using the Aeropage builder.

[00:36:44] These are just pre constructed blocks that you can deconstruct. and customize any way that you want. And everything's done without code. So this is a dynamic page that would be, you know, the equivalent [00:37:00] of clicking here, not choosing one record from that from that table that we were just looking at.

[00:37:09] So you can map in variables, you can mix it with static content and you can have images. All of these effects, no code, custom coded, I suppose you might say this gallery as well. You know, you can infinitely build and customize. We're really giving you like the fundamental components of developing but without the code.

[00:37:39] So I'll jump over to another little demo here. So this is the same project. But this is a client portal so it's connected to the same data, but presented in a different way for a different purpose. So, in this case, we would log in as one of the [00:38:00] clients, and this again is where we differ, you know, it's not really just an Airtable clone or it's not an Airtable clone, we use Airtable as a database.

[00:38:12] You have your users as records in Airtable, they're not Airtable users, so they don't take up Airtable licenses very importantly. So you can have 100 people 100 users for your portal and it's not going to cost you anymore. You can build out these dashboards as well. Like what you see on the left here is.

[00:38:35] Is constructed. It's not a singular block of code that you can just pick a color for it's all pieced together using components and actions and logic. So if I click on Sunset Boulevard here, what's happening is. I've got it configured to set that as the active record, and then we [00:39:00] can see data from Sunset Boulevard.

[00:39:03] We're also making a dynamic query on some links tables here. So the link table on the right is coming from

[00:39:15] the documents field. So it's looking up the documents table filtered to that particular property. And then down here for our gallery, we're doing the same thing, looking up a gallery table. If I go back, and everything goes according to plan, which it has this time you'll see that if I switch to a different record, it's dynamically filtering those same, those same frames or queries, so that if I choose a project that doesn't have documents, we're not seeing any documents there.

[00:39:53] We're So that's, that's it for that example here. [00:40:00] I'm going to show you a little bit more on the logic side. So we have a very robust conditional system. So this is a fitness website. You can come and you can choose a class and it's not specifically a fitness website. I wouldn't say this is like the name of the base that I use here is events and attendance.

[00:40:23] This is Like an attendance management system for any kind of event that somebody should enroll themselves in and happens at a certain time and has a presenter. So in this case, we're doing gym classes. So if I'm just visiting this as a, as a guest or as a user, I can pick a class and go to that class and we're going to see an interface that.

[00:40:51] It's pretty much the same layout as the other one, just because I built all of this stuff in the last five or six days. [00:41:00] So we can see again, this data is coming through from the classes or the events. In this case, we can see some information about who's hosting the events or teaching the class. But the key part here is the join class.

[00:41:18] Okay, so if I click on that and I am not logged in, it's going to conditionally ask me to log in. If I click on log in here because we're in preview mode, I'm not going to actually log in. I can just choose a member who I've pre configured to, you know, allow in preview mode. Now we can see that member's data.

[00:41:40] And again, you know, this is somebody who exists as a record in the base. So, if Josh wants to attend this class, he can just click there. It's going to send an update to Airtable that's going to add Josh's, [00:42:00] record to the linked table on, or the links field for attendees on strength training. What's that strength training?

[00:42:12] Okay. Is something going wrong here? But possibly. It was all working. 

[00:42:18] Kamille Parks: I think it was added if you look at the history. 

[00:42:23] Mike San Marzano: Yeah, I think maybe that's me testing it earlier, but let's, yeah, let's reload this page and see if we can get it to work because it was all working flawlessly a few minutes ago.

[00:42:40] It's just the classic. So I'll try that again. It could be, let me reload Airtable actually, maybe I'll try and shift the blame On2Airtable. Let's have a look here. [00:43:00] Oh, there's Josh. Okay. It was Airtable. 

[00:43:04] Kamille Parks: I see that the website has now updated its interface to say you have joined the class. Yeah, 

[00:43:09] Mike San Marzano: that's correct.

[00:43:10] Yeah. Yeah. So you can do a lot of conditional stuff. It's not just conditional visibility. It's conditional styles like the whole editing interface enters a conditional state. So you can create conditions. Once that condition is applied, you can change absolutely anything. And. It will adopt that state when that condition is true.

[00:43:36] So to design 

[00:43:38] Kamille Parks: that, I see in a lot of different editors, conditions are handled component by component and certain ones, there's almost always some type of container component in, in all of these different apps, you could put them inside of. What in HTML would be a div and you could set conditions on that container, but you still have to do it in this case, right?

[00:43:59] You have a nav [00:44:00] bar on the side that might be its own set of conditions. Your gallery on the right, that might be its own set of conditions. I love global conditions. Put your app in a, in a state you were either logged in or you're not, or you're either attending this event or, or you're not. And adjust everything that needs to change in one go.

[00:44:20] I think that's very smart. 

[00:44:22] Mike San Marzano: I love that you love that because that was an absolute nightmare. I'm sure it was, because no one else does it. Right. Right. That's exactly, you know, that, that's what we're trying to do. Who we're trying to do all the things that, that people would want that don't make financial sense for a company to actually develop it's, you know, the opposite of MVP principle we're going for absolutely.

[00:44:50] Yeah, anyway, I'll move on. So yeah, you're correct. In that everything is wrapped in conditional [00:45:00] states and you can apply it to also create mobile views based on those same conditions. So I thought I'd just throw that in there. So yeah, we've got that. And then if we click on the same button again, this time it says I want to cancel my enrollment.

[00:45:15] And if we jump over it, Josh just disappeared there. So that's that's the attendee side of that system. And again, we've got another portal here for the other side of things, which is the teacher. So pump master Garcia is logged in. He teaches a body pump class at this particular gym and he wants to Let everyone know he's not feeling so good today.

[00:45:47] He can see who has enrolled in the class, but he can also click here. This again is all like custom coded not [00:46:00] coded, custom no coded, let's say. And you can make this work however you want, but, Hey, guys, I'm sick. No class. So he can send that and that is going to hit, hit Airtable as a new message linked to the event that we were just looking at and also linked to pump master Garcia because it's Sorry, not links.

[00:46:36] He's the teacher of that class. So we've got sort of a double look up happening there, and then I've got an automation happening that is going to send an email when that message arrives, and then it will arrive in my mailbox with the this might look familiar. This is the error page tool that we made the [00:47:00] dynamic email tool.

[00:47:01] So in my automation, I do an extra step where I run a script. If you 

[00:47:07] Kamille Parks: hit run history at the top, you'll be able to click on run a script if you wanted to show it. Thank 

[00:47:12] Mike San Marzano: you so much. Thank you. I was starting to panic a bit there. So yeah, I've just got an extra step, right? Run a script and that runs a script, which you can, you don't have to write this script.

[00:47:26] You just configure it and copy paste. And then when we send the email. We just put in the output from that script. So this uses an API to call your project on aero page. So it's like you can make your own APIs in your project that can send out the html for an email to Airtable. And then that sends it to you.

[00:47:54] So that's That's that project. I'll try and move. [00:48:00] I'm not sure how much time I'm supposed to tell you one more. Yeah, one more. Okay, this one should be quick. So this is just a one page website. Of course, it looks nice, but we've got this make booking pop up here. And here I've got I've gotten a bit clever with the Airtable side.

[00:48:22] So I've created a a full year of dates, and then I filtered them down to create a view that's like the next 20 days, no weekends, so business days only, and I've done a lookup or a few roll ups to identify which days are at max capacity and can't be booked. So if you look there the 22nd is fully booked.

[00:48:52] So if you click on that, you get, sorry, this date's booked. If we go to the 19th, then we're going to see the time [00:49:00] slots. If we go to 11, we're going to see that three of these stylists are unavailable at that exact time. And right there, I've got I don't know. Anyone is using this technique. I don't know if it's a technique, but I kind of hacked this together specifically for this, to identify when somebody is booked on both the date and the time without really having to individually link to each one.

[00:49:36] We, we combine their record IDs, and then we do a filter. Using that so I, I've created a time slot UID that is, that is based on the date and the time. Anyway, that's, that's, that's pretty much it. If you go through here [00:50:00] again, you know, you click on somebody who's fully booked and it tells you that you can't book them.

[00:50:06] If you click on somebody who's available, it'll take you to confirm the booking. And then when we submit that, that's going to go through and create a new record for that booking. And that is a booking system. In the next 10 seconds, I'm just going to show you another little cool thing. I used to print t shirts when I was like in my 20s on eBay.

[00:50:27] And I just designed this up and I generated all these with mid journey. So I can't take any credit for that, but they look great. And that's it. Sorry. It took so long, guys. No, you're good. 

[00:50:39] Dan Fellars: Yeah. So this is an extremely powerful page builder. That does all the things that you wish that you need. So very cool.

[00:50:51] Yeah. I mean, everybody that's used it loves it. I've heard amazing reviews from everybody. So I know you've been busy on [00:51:00] this for years and optimistic to see what the future holds for you. So thank you for sharing that with us. 


[00:51:11] All right, let's move on real quick. Shout out to join the community at BuiltOnAir

[00:51:16] learn more about all these great products that people are building in the Airtable world. Join us at BuiltOnAir dot com slash join. I will get you into our slack community of thousands of users. Also subscribe to our, to our podcast, our YouTube channel. And join the community. 


[00:51:35] Let's wrap up with Kamille and e signatures.

[00:51:41] There you go. 

[00:51:43] Kamille Parks: All right. So this is sort of brought about by, I want to say last month or the month before friend of the show Scott asked, what are some PDF or contract signing tools that people are using? And many [00:52:00] different answers were given. One of them was. Called e signatures. io. And recently he was like, Oh, this is so great.

[00:52:08] And I thought let's demo it. So, very simple setup in Airtable. This is a contract which is linked to a client. The client has certain information. information attached to them, like their email address, which in this case is all that matters. But hopefully next week I can show a continuation of this process.

[00:52:30] We'll be billing a client via Stripe, but right now we only need their email address. In this case, it's Dan. Dan, you may get an email. At the end of this demo, but I have this fake contract with a bunch of text that explains what I'm going to be doing and then some tasks associated with it. So imagine you have some rate that you want to charge your clients by the number of hours associated with each task.[00:53:00] 

[00:53:01] There's a couple of different ways to do it, but at the end of the day, what you want to be able to do is click a button that sends Dan an email that says, can you sign this contract that has information coming from your Airtable record using e signatures. io? It's pretty simple. There are two automations that make this possible.

[00:53:23] The first sends the contract and the second waits for the contract to be signed and then attaches it. back to Airtable here. So for the first automation, I used N8N, which is a make alternative. And the second automation is done strictly within Airtable. The first automation is when a button is clicked.

[00:53:47] That was the send service agreement button. And then there's this arbitrary gate because I don't actually use this in practice only do this is if it's a test project. So I don't accidentally. [00:54:00] Bill or send random contracts to people. I've already delivered things for, similar to the previous demo.

[00:54:08] The actual script is pretty basic. It's just looking for a particular web hook I. D. And then passing it my Airtable record I. D. The actual automation in NAN can get a little bit complicated depending on how you want the contract to look once it's sent out. What I like about eSignatures. io is that it looks, it's so bare bones.

[00:54:39] It's a very simplistic Sort of look to it. But it looks great on both full screen on your laptop, but also mobile. And I have a template set up called a consulting agreement with some static information. [00:55:00] I am always called chameleon or app. So that's typed in directly, but the client is going to change for each new contract.

[00:55:06] So. People may be familiar with Handlebars, which is a templating language. You wrap a sort of placeholder around inside of double curly braces. And that's what these are. They are helpfully highlighted. Some information that again is always there. And then the Tasks table is a placeholder for a whole table I'm going to insert based on those tasks.

[00:55:34] Something that is nice about e signatures. io is that when you put a placeholder in here, it could be basically anything. Inside of it, I, if I had another template, I could insert the template here which might be useful if you have several similar contracts, but things change depending on if your client is built by the hour or build by total project value.

[00:55:59] [00:56:00] For instance, you could have one template that has all of this stuff that doesn't change. Or that is consistent across both and then one placeholder for the things that differ for. Is it a per contract or is it by hour? And then you could see sort of a preview of what the table might look like.

[00:56:24] With this static table in here again with more placeholders, et cetera, et cetera, et cetera. And then this is again, a very simple example where only one field is required of the user just saying, yes, I acknowledge these terms and conditions that must be checked in order for it to be. be able to be signed.

[00:56:47] So for anything that requires user input, you can identify whether every person needs to sign it, only the first person or the last person. So when you're thinking about your automation that [00:57:00] sends the Agreement. You want to consider whether or not you in this case, me, if I need to sign it in this case, no, but if it's something where both parties need to sign it, consider who is being who is supposed to sign it first.

[00:57:16] And then attribute your fields accordingly, and then sometimes you might not need it to be signed, but you can make things mandatory. And that's about it. I'm gonna go back to N eight N and just sort of explain what's happening. First, I'm getting the contract, which is the one I click the button on.

[00:57:40] Then I'm getting all the tasks that are linked to it. Nothing special. This is what's doing all of the heavy lifting. This is going to look like a lot of JavaScript, but it's, it's pretty, you know, I think most people will sort of get the pattern I'm getting at, except for the table, which is the more [00:58:00] complicated bit.

[00:58:01] So when you are passing information to e signatures. io, there's a couple of things that you should pass. A. Who are the signers? So in this case, Dan. So from my previous two steps, when I'm getting information about the contract and the tasks, I'm pulling in the client's contact name, their organization name and their email and passing it as a variable called signers.

[00:58:29] It's an array because you can have multiple signers. The next is placeholder fields. So if I didn't have any placeholders, I wouldn't need to pass this, but I have several. I have what's the date, what's the project name, et cetera. So for each one of those placeholders that I have here, client name and date and project name, etc.

[00:58:48] Those are here. And I'm just passing again from the contract, the relevant Airtable field. The more complicated bit is task table, because [00:59:00] again, it's a table. It's not just passing text in. But you can do what's called document elements. So basically anything that you could place on a document can be placed inside of a variable.

[00:59:13] In this case, the type is a table and then. Tables have an array of table cells. So, for each of my three columns, interpret the appropriate information from the tasks. All right. So with that explained, I'm going to hit this button and we're going to see, I pressed it twice. So Dan, you might get two emails.

[00:59:47] And while that's happening, because I'm sharing my screen, I can go back to my dashboard now that it's been sent. Yeah, I clicked it twice. So there's two. I'm going to go on the more recent one. And then I can [01:00:00] do view so you can see what Dan would be saying. Actually, no, hold on. That was from yesterday.

[01:00:10] Oh. Oh. Demos. 

[01:00:18] Dan Fellars: Yeah. All right. Darn 

[01:00:21] Kamille Parks: it. All right. I saw the thing go run history. It said it ran successfully and it did run 

[01:00:30] Dan Fellars: twice. The status. Yeah. 

[01:00:36] Kamille Parks: And this is on. And it end. You failed. What did I do? Oh no. Oh, no. All right. I 

[01:00:44] Dan Fellars: messed up right there. 

[01:00:48] Kamille Parks: So I, I wanted to test having each task be its own separate [01:01:00] checkbox.

[01:01:05] There's this hidden, that was my bad. I set this up weird is basically what happened. I wanted to try two different layouts and then I didn't go back and clean it up afterwards. So I'm going to hit this again. Dan, you should now get one because I only clicked it once. And then back in my dashboard.

[01:01:27] Yep, here it is. Since I fixed that issue, you can see that Dan Fellers should have gotten a contract that looks like this. Here's that table that was being dynamically generated for each of my tasks. But each of the, the more simple information coming in, client name, date, etc., got filled in as one might expect.

[01:01:48] So Dan should have this email and whenever he signs it, We should see it pop back in. To [01:02:00] Airtable here, that is if Dan wants to sign a contract 

[01:02:08] Dan Fellars: signed. There we go. 

[01:02:10] Kamille Parks: This is in demo mode, so we should see on the estimate agreement when it comes in and it just did, that there will be a demo text up at the top.

[01:02:23] I will note one of the major selling points for e signatures. io is their pricing structure. It costs 99 cents per contract signed. There's no monthly or annual fee. It is purely on volume basis. 1, slightly less than 1. So it's very affordable for a lot of different use cases. If you're sending a torrent of, of contracts daily, perhaps this isn't a great pricing structure for you, but I found that most people don't necessarily need that many contracts such that.[01:03:00] 

[01:03:00] This pricing structure would be prohibitive, so I can scroll through this nifty PDF, which looks exactly the same. You can put page breaks in your templates, which is why terms starts on its own page, something I really like. Scrolling down, then I get signatures. If I made it so that I need to sign it as well, I would have gotten an email and would have asked me to sign as well.

[01:03:26] And then there's an audit trail at the end. So all of the events that led to this contract being signed and that's about it. I will just flash this on screen. The automation that placed the pdf onto the record Airtables when a web hook is received in, your settings for e signatures. io, there is a field for your web hook URL, which you can also dynamically set per contract.

[01:03:58] But if you have a [01:04:00] generic one that should handle all contracts, you would use that one. And then this script is just taking the metadata field and turning it into an object. E signatures. io expects text as your metadata. So I'm extracting out the bits that I want in this case, that would be the contract ID and the client ID.

[01:04:22] And then I'm making sure that I have that information, so I'm not trying to link to a record that doesn't exist anymore. And then I'm plopping it in. Attached to your webhook, webhook response will be the URL to that PDF. And that's why it ended up here. 

[01:04:41] Dan Fellars: Very cool. That's super powerful. Very awesome.

[01:04:46] Great. Thank you Kamille for sharing that. And thank you everyone for joining us. That's today's show. Mike, thank you for coming on and we'll get you on in another three years. See where you're at. [01:05:00] Very good. Well, we'll see everybody next week on next week's show. Have a good week. Take care. 

[01:05:06] Mike San Marzano: Bye bye.

[01:05:21] 01:05:22 - OUTRO

[01:05:22] Outro: Thank you for joining today's episode. We hope you enjoyed it. Be sure to check out our sponsor, On2Air Backups, automated backups for Airtable. We'll see you next time on the On2Air podcast.