9/14/2021 – BuiltOnAir Live Podcast Full Show – S09-E01

Duration: 68 minutes

Be Sure to Subscribe to the podcast!

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

FULL EPISODE VIDEO

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

FULL EPISODE AUDIO

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

Listen On: Apple | Overcast | Spotify


The BuiltOnAir Podcast is Sponsored by On2Air – Integrations and App extensions to run your business operations in Airtable.

In This Episode

Welcome to the BuiltOnAir Podcast, the live show.  The BuiltOnAir Podcast is a live weekly show highlighting everything happening in the Airtable world.

Check us out at BuiltOnAir.com. Join our community, join our Slack Channel, and meet your fellow Airtable fans.

Todays Hosts

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:57 –

This week, we review: {Summary}}

Following Articles Used in this Segment:

[Airtable Community] July product updates – Announcements – Airtable Community Forum

[Web] Airtable: The $7.7B Roblox of the Enterprise | Sacra

[Reddit] What is the benefit of creating multiple select vs a new linked table? : Airtable

[Reddit] Is Airtable the answer?? : Airtable

[Reddit] Have to send an email 5 minutes after a form is submitted, but NOW() function is does not refresh often enough. Workaround? : Airtable

[Reddit] Spreadsheet slowness, does Airtable solves the issue? : Airtable

[Twitter] (19) Airtable on Twitter: "📣 We’re excited to announce the acquisition of #nocode #dataviz tool @BayesData! Get the details via @TechCrunch: https://t.co/mchV4U5fos h/t @ron_miller" / Twitter

[Web] B2B Case Study: Airtable's Ability To Attract 3M Searches

[Airtable Community] Blocks CLI beta: custom bundler & Webpack? – Development and integrations / Custom Apps – Airtable Community Forum

[Airtable Community] New: create tables, create fields, and update field options from the Scripting App – Development and integrations / Scripting app – Airtable Community Forum

[Airtable Community] Table/Tab selection update needs work IMHO – Show and tell / Product Suggestions – Airtable Community Forum

[Airtable Community] August Product Updates – Announcements – Airtable Community Forum

[Airtable Community] Pricing – Scripting App No Longer Free – Development and integrations / Scripting app – Airtable Community Forum

[Twitter] Andrew Davison on Twitter: "Heads up! 🚨 The @Airtable integration in @Zapier appears to have been updated with a breaking change 😐 As of this AM, column fields are now nested in a 'fields__' item. TLDR; all your Airtable-triggered zaps are now broken." / Twitter

[Twitter] (8) Seth Fannin🛠💻 on Twitter: "I have a need for a use case in airtable but can't find a solution. ✅Hotjar for Airtable Sometimes a database is a product and your users are freely using. I want to know what rows there clicking and what content they like more. Would you pay for this? #nocode" / Twitter

[Twitter] (17) FRANK on Twitter: "When you realize #airtable replaces $3k worth of apps you've already purchased. https://t.co/F1YrfDOD9L" / Twitter

[BuiltOnAir Community] Slack | general | BuiltOnAir

[BuiltOnAir Community] Slack | airtable-dev | BuiltOnAir

An App a Day – 00:44:06 –

Watch as we install, explore, and showcase the Junction Assistant App from the Airtable Marketplace. The app is described as “Quickly build junction table records linked to one or many records”.

View App

Scripting Time – 00:54:23 –

Explore Scripting with “Dealing with Common Scripting Warnings”.

The scripting block provides warning messages when the code does not meet Airtable's criteria. Here we tackle common scenarios on how to deal with those common warnings. Including the new addition of requiring fields to be passed into table.selectRecordsAsync() method.

Audience Questions – 01:06:36 –

answers the Airtable question: “”

View the question in the community

Full Segment Details

Segment: Round The Bases

Start Time: 00:02:57

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

This weeks Round Up: We review the last 4 weeks of updates and conversations happening in different Airtable communities

This week, we review: {Summary}}

Following Articles Used in this Segment:

[Airtable Community] July product updates – Announcements – Airtable Community Forum

[Web] Airtable: The $7.7B Roblox of the Enterprise | Sacra

[Reddit] What is the benefit of creating multiple select vs a new linked table? : Airtable

[Reddit] Is Airtable the answer?? : Airtable

[Reddit] Have to send an email 5 minutes after a form is submitted, but NOW() function is does not refresh often enough. Workaround? : Airtable

[Reddit] Spreadsheet slowness, does Airtable solves the issue? : Airtable

[Twitter] (19) Airtable on Twitter: "📣 We’re excited to announce the acquisition of #nocode #dataviz tool @BayesData! Get the details via @TechCrunch: https://t.co/mchV4U5fos h/t @ron_miller" / Twitter

[Web] B2B Case Study: Airtable's Ability To Attract 3M Searches

[Airtable Community] Blocks CLI beta: custom bundler & Webpack? – Development and integrations / Custom Apps – Airtable Community Forum

[Airtable Community] New: create tables, create fields, and update field options from the Scripting App – Development and integrations / Scripting app – Airtable Community Forum

[Airtable Community] Table/Tab selection update needs work IMHO – Show and tell / Product Suggestions – Airtable Community Forum

[Airtable Community] August Product Updates – Announcements – Airtable Community Forum

[Airtable Community] Pricing – Scripting App No Longer Free – Development and integrations / Scripting app – Airtable Community Forum

[Twitter] Andrew Davison on Twitter: "Heads up! 🚨 The @Airtable integration in @Zapier appears to have been updated with a breaking change 😐 As of this AM, column fields are now nested in a 'fields__' item. TLDR; all your Airtable-triggered zaps are now broken." / Twitter

[Twitter] (8) Seth Fannin🛠💻 on Twitter: "I have a need for a use case in airtable but can't find a solution. ✅Hotjar for Airtable Sometimes a database is a product and your users are freely using. I want to know what rows there clicking and what content they like more. Would you pay for this? #nocode" / Twitter

[Twitter] (17) FRANK on Twitter: "When you realize #airtable replaces $3k worth of apps you've already purchased. https://t.co/F1YrfDOD9L" / Twitter

[BuiltOnAir Community] Slack | general | BuiltOnAir

[BuiltOnAir Community] Slack | airtable-dev | BuiltOnAir

Segment: An App a Day

Start Time: 00:44:06

Airtable App Showcase – Junction Assistant – Quickly build junction table records linked to one or many records

Watch as we install, explore, and showcase the Junction Assistant App from the Airtable Marketplace. The app is described as “Quickly build junction table records linked to one or many records”.

View App

Segment: Scripting Time

Start Time: 00:54:23

Scripting Time: Dealing with Common Scripting Warnings – The scripting block provides warning messages when the code does not meet Airtable's criteria. Here we tackle common scenarios on how to deal with those common warnings. Including the new addition of requiring fields to be passed into table.selectRecordsAsync() method

Explore Scripting with “Dealing with Common Scripting Warnings”.

The scripting block provides warning messages when the code does not meet Airtable's criteria. Here we tackle common scenarios on how to deal with those common warnings. Including the new addition of requiring fields to be passed into table.selectRecordsAsync() method.

Segment: Audience Questions

Start Time: 01:06:36

Airtable Question –

answers the Airtable question: “”

View the question in the community

Full Transcription

The full transcription for the show can be found here:

[00:01:42] We are live, and we're back.
[00:01:44] It's been a few weeks
[00:01:46] since our previous season
[00:01:48] ended. And we are back now
[00:01:50] with season nine.
[00:01:51] It's good to be with you, Kamille,
[00:01:53] good to see you again.
[00:01:55] Hello Dan, it's been forever.
[00:01:57] I know. We have seen each other
[00:01:59] a little bit in other situations,
[00:02:01] but it's good to be back with you.
[00:02:03] Yep.
[00:02:04] We're missing Alli.
[00:02:05] Alli, we give her valid excuse
[00:02:07] to be not with us.
[00:02:08] I believe she's on
[00:02:09] a honeymoon right now.
[00:02:11] I can't believe she would choose
[00:02:13] a honeymoon over talking about Airtable.
[00:02:15] I know.
[00:02:16] I'll bet her honeymoon was
[00:02:18] all planned out in Airtable.
[00:02:20] I'm sure it was,
[00:02:21] I'm sure Airtable was a big part of that.
[00:02:25] Very cool. Well it's good to be back
[00:02:28] with everybody for a new season.
[00:02:30] We're excited to be with you
[00:02:32] and there's been a lot going on
[00:02:34] so, why don't we
[00:02:34] jump in?
[00:02:36] And as always, Airtable,
[00:02:38] the BuiltOnAir podcast
[00:02:40] for Airtable is a live
[00:02:41] show that we
[00:02:43] do every week for a three month basis
[00:02:46] and then we take a month off.
[00:02:48] So, we're back with our new season
[00:02:50] of season nine and we
[00:02:52] always we'll do four
[00:02:53] different segments on our show
[00:02:55] and we always start off with
[00:02:57] Round the Bases
[00:02:58] where we'll talk about what's going
[00:03:00] on in the community.
[00:03:01] This one will probably go a little
[00:03:03] bit longer because
[00:03:04] we've been off for four weeks
[00:03:05] and there's been a lot
[00:03:07] going on in the community.
[00:03:09] So, we actually have two months
[00:03:11] worth of updates
[00:03:13] that we got to talk about.
[00:03:15] So, this might... We might need to
[00:03:18] refresh our memory,
[00:03:19] Kamille. But let's start
[00:03:21] with July.
[00:03:23] The updates the through July.
[00:03:25] So, this was posted at
[00:03:26] the beginning of August
[00:03:28] and let's see.
[00:03:30] So, my favorites for views
[00:03:35] which again I think is more
[00:03:38] useful for other users
[00:03:40] because the teams that I
[00:03:42] have on Airtable are very few people
[00:03:44] so, it's not like we have a great many
[00:03:47] number of views that I need
[00:03:49] to filter out but it seems like
[00:03:52] something that's super useful
[00:03:54] if you if you need several
[00:03:55] several views but you
[00:03:56] But you personally only look at like four.
[00:04:00] Yeah.
[00:04:01] So, the favorite's view.
[00:04:02] Yeah. So, you can put things
[00:04:04] in your favorite... That's only
[00:04:05] a pro
[00:04:07] plan so you can't use that
[00:04:09] on your free ones but definitely
[00:04:12] useful for sure.
[00:04:14] And just kind of an extension of their...
[00:04:17] We've talked about previously their
[00:04:19] groupings and now you can
[00:04:20] create segments or sections
[00:04:22] within your views.
[00:04:23] So
[00:04:24] managing views is definitely
[00:04:26] something they put some emphasis on.
[00:04:30] what else? So, the view menu,
[00:04:33] they've readjusted the view menu.
[00:04:38] And then the add records
[00:04:40] so, now there's a button that's
[00:04:42] omnipresent that's there
[00:04:44] so, you can click on that button
[00:04:46] to add a new record.
[00:04:48] So, that is good.
[00:04:50] So, it looks like they
[00:04:54] they added a little bit to the
[00:04:57] trigger the add schedule
[00:04:59] that scheduled time.
[00:05:00] Yes. Which I think is probably
[00:05:03] my favorite edition,
[00:05:04] it just gives more control
[00:05:06] about
[00:05:08] when something actually goes
[00:05:11] out. It's not quite solving
[00:05:13] the need for delaying an
[00:05:14] action if you are triggering
[00:05:16] based on like a record update
[00:05:17] or something like
[00:05:18] that. But it is super useful if you
[00:05:20] are sending out newsletters or something
[00:05:22] like that that needs to go out
[00:05:24] every Monday at four o'clock.
[00:05:25] Well, now you can do that
[00:05:27] Yep. Yep. I think you could do
[00:05:29] it because they had a 24 hour.
[00:05:32] But yeah and I think you could
[00:05:34] set the time so, this
[00:05:36] just made it a little bit
[00:05:37] easier, and the monthly
[00:05:39] is useful as well so,
[00:05:41] definite improvements there.
[00:05:43] Preview email looks like
[00:05:45] was another change so,
[00:05:46] that's useful for your emails
[00:05:48] to see what the rendered
[00:05:50] version looks like with
[00:05:51] your data.
[00:05:53] So, I guess overall July
[00:05:56] was a fairly quiet month.
[00:05:59] Anything else in there?
[00:06:03] No, I think there was minor
[00:06:05] sort of tweaks to UI
[00:06:07] but not necessarily new
[00:06:09] features.
[00:06:12] Yeah. Yep. So, that's good.
[00:06:14] I think it did,
[00:06:16] Is this the one that
[00:06:18] generated quite a buzz?
[00:06:24] Yeah. It seems like it
[00:06:26] always generates a buzz of
[00:06:29] interest. So,
[00:06:34] yeah a few things there in July.
[00:06:36] So, let's move on to August,
[00:06:38] this is the more
[00:06:39] recent one that just came out.
[00:06:42] What stood out here for you?
[00:06:45] Again, there's new UI adjustments but
[00:06:49] I'm trying to remember if it was
[00:06:52] this month. I think that was this change.
[00:06:55] Yeah. So,
[00:06:56] they've kind of consolidated
[00:06:59] where options are, and they've also
[00:07:03] base guide, I think it's the same
[00:07:04] as base description, but I think they're
[00:07:05] putting more
[00:07:07] emphasis on it now.
[00:07:09] I don't really use base descriptions.
[00:07:12] I think they're trying to encourage
[00:07:14] the use of them a little bit more so that
[00:07:15] people and teams kind of
[00:07:18] stay on track for what
[00:07:20] a base is supposed to be
[00:07:21] and how it's supposed to be
[00:07:23] laid out and all of that.
[00:07:24] So, I know for me it used to be
[00:07:27] to share a base the option
[00:07:29] would be right there
[00:07:30] when you click the drop down
[00:07:32] it took me a second to
[00:07:34] to find where the share moved to.
[00:07:37] So, that was the thing,
[00:07:39] it's not that big a deal but
[00:07:41] there are still a few options there
[00:07:43] so, some things got a little bit more
[00:07:45] difficult.
[00:07:47] What else? Linked records.
[00:07:50] So, you can now link records
[00:07:52] using the primary field
[00:07:54] that's big, right?
[00:07:55] Because before you needed
[00:07:57] to know the I. D.
[00:07:58] Of the linked record and
[00:07:59] now you can use the name
[00:08:01] unless it's a formula which
[00:08:03] is unfortunate because
[00:08:04] I feel like I do a lot of
[00:08:06] primary fields with the
[00:08:08] formula. I do too and
[00:08:10] I feel like there was a brief
[00:08:12] window of time where were
[00:08:14] used to be able to do
[00:08:14] linking to records that had a
[00:08:17] formula as the primary
[00:08:18] field but no I don't
[00:08:19] believe that's been the case for
[00:08:22] at least a few months now.
[00:08:23] And so, I hope there's a
[00:08:25] workaround that kind of
[00:08:26] allows that without having
[00:08:28] to use the scripting blocks.
[00:08:29] You can always link
[00:08:30] together records
[00:08:33] using scripting, but it's just
[00:08:35] easier in an update record action,
[00:08:38] especially if you only have
[00:08:40] the free plan,
[00:08:41] because you don't get
[00:08:42] scripting as an option.
[00:08:43] Yeah, Yeah. Yeah, for sure.
[00:08:47] So, we got that. Okay. In table.
[00:08:51] Okay. So, they have the
[00:08:52] ability to expand and collapse.
[00:08:54] So, again more work
[00:08:55] on the view management side.
[00:08:58] Sharing restrictions.
[00:09:00] Yeah, that's nice.
[00:09:02] So, that if you share your workspace
[00:09:05] with somebody you can,
[00:09:08] if you're the workspace owner you can say
[00:09:11] don't allow
[00:09:12] collaborators to add other collaborators
[00:09:15] so, you don't end up accidentally paying
[00:09:17] for like your friend's friend
[00:09:19] once they're in your base
[00:09:20] without your prior
[00:09:21] knowledge. So,
[00:09:23] that's nice. It allows you to
[00:09:24] have a little bit more
[00:09:26] control over who gets
[00:09:27] who gets access. Right.
[00:09:29] I remember, I'm sure this
[00:09:31] is based off of feedback.
[00:09:33] Wasn't there a big community thread
[00:09:35] talking about the security aspect of that
[00:09:38] where
[00:09:39] it's easy to leak data? Yeah, there's
[00:09:43] there's a few concerns that are
[00:09:45] still unresolved with regard
[00:09:47] to like I only want
[00:09:48] to be able to... I want to show this
[00:09:51] portion of data to these people
[00:09:54] and I want these people
[00:09:55] to edit this portion of
[00:09:56] data but not see everything else.
[00:09:59] And there's a lot of
[00:10:01] intricacy that isn't really handled
[00:10:03] with the sharing and permissions structure
[00:10:06] that Airtable has
[00:10:08] but this is a step towards
[00:10:10] at least the
[00:10:13] viewing portion of that.
[00:10:15] Like you can't just add
[00:10:16] new people without the
[00:10:18] workspace owner's permission.
[00:10:21] Yeah. So, still some work to do there.
[00:10:24] Gant view
[00:10:25] looks like there's improvements there.
[00:10:28] I honestly don't use the
[00:10:29] Gamp view. Do you use
[00:10:30] Gamp much?
[00:10:33] Not quite.
[00:10:36] I used it a little just to test out
[00:10:38] what these improvements were, and they
[00:10:40] were very useful.
[00:10:41] So, you can move more
[00:10:42] than one record at a time if you're
[00:10:43] sliding it up and down
[00:10:45] the time scale. So, just
[00:10:46] pretty useful.
[00:10:47] I'm glad it's getting updates
[00:10:49] because it used to be an app but
[00:10:50] now it's an official view type, and so
[00:10:53] you know it's a good sign
[00:10:55] that they didn't just
[00:10:56] shift stuff around. They actually are
[00:11:00] adding to it.
[00:11:01] Yeah.
[00:11:02] Yeah for sure. It's definitely
[00:11:04] a focus of theirs and so,
[00:11:06] all right on the scripting side,
[00:11:09] some cool things if you
[00:11:10] have access to to meta API
[00:11:12] I think it's, I've heard people
[00:11:14] saying that that they're
[00:11:17] not allowing new
[00:11:18] people in, they did have a window
[00:11:20] where they were giving access to it.
[00:11:22] But if you do have access to it,
[00:11:25] they finally gave more
[00:11:26] information about the
[00:11:28] select options as well as
[00:11:30] information about linked records.
[00:11:33] So, this was huge for me
[00:11:35] in my case where I rely
[00:11:37] heavily for our software
[00:11:38] platform
[00:11:39] on the Meta API
[00:11:41] and we had some work arounds
[00:11:43] to get some of this information,
[00:11:45] this made it much easier. So,
[00:11:47] I was very happy to see this.
[00:11:51] And then I know you were involved
[00:11:53] on the Blocks SDK
[00:11:54] you want to give an update
[00:11:55] there and what they were doing?
[00:11:58] Well,
[00:11:59] I was working on something else
[00:12:02] relating to the no, there's a
[00:12:06] there was like a beta for the command
[00:12:08] line interface for the Blocks SDK that I
[00:12:10] was
[00:12:11] trying to wrap my head around
[00:12:13] and it's fine if you don't
[00:12:15] need any customizations
[00:12:16] to it, but if you need to
[00:12:18] customize the bundling process,
[00:12:21] it starts getting really complicated and
[00:12:24] blah blah blah blah blah.
[00:12:25] But the update for last month
[00:12:27] was you can
[00:12:28] delete select options from
[00:12:31] a select field, which is nice. So
[00:12:34] yeah.
[00:12:36] Yeah, that's useful as well.
[00:12:38] There's still more work to do for them to
[00:12:40] to to really be able to,
[00:12:42] once they can figure out formula meta
[00:12:46] updates, then
[00:12:49] then you can really do some stuff
[00:12:51] with the SDK there.
[00:12:53] But they did a big one was
[00:12:55] the metadata, you can now create tables,
[00:12:58] fields, update field options from the
[00:13:00] scripting app.
[00:13:02] I don't know if you remember,
[00:13:03] do you remember when
[00:13:04] they first launched the
[00:13:05] scripting block? They actually
[00:13:07] had this as part of the API
[00:13:08] and then they took it away.
[00:13:11] And so now they're finally
[00:13:13] bringing it back. I don't recall that.
[00:13:15] Probably because I wasn't at
[00:13:18] the time it was first launched,
[00:13:20] I wasn't good enough at javascript
[00:13:22] to have been doing anything that advanced.
[00:13:24] That's crazy. You come a long ways.
[00:13:28] Yeah. Crash course. Thanks Airtable.
[00:13:32] So, that's good. I think in a future
[00:13:35] week that this will be a good scripting
[00:13:39] time segment to showcase
[00:13:40] those functions.
[00:13:42] I was thinking about doing that
[00:13:43] today, but I'm going
[00:13:45] to do a different one.
[00:13:46] So, we'll definitely,
[00:13:46] if you guys want to hear that,
[00:13:48] let us know in the comments
[00:13:50] and we'll for sure do
[00:13:51] that in a future episode.
[00:13:54] So those are the
[00:13:56] those are the big ones.
[00:13:59] We I don't know if you're going
[00:14:01] to bring it up as well, but we have a new
[00:14:03] sort of community representative on the
[00:14:07] Airtable forums,
[00:14:11] Jordan. Yeah.
[00:14:13] So, but yeah, sometime
[00:14:15] in the last two months,
[00:14:17] I don't recall when, someone
[00:14:19] from Airtable has just sort of
[00:14:21] introduced themselves
[00:14:23] to the Airtable community.
[00:14:24] And it's my understanding
[00:14:26] that she'll be present on the
[00:14:27] forums every now and
[00:14:29] again to provide feedback
[00:14:31] and to answer some sort of
[00:14:34] like larger questions that,
[00:14:35] you know, power users like
[00:14:37] us might not know.
[00:14:37] If it requires like internal knowledge
[00:14:40] of how Airtable actually works under
[00:14:41] the hood, or something like that.
[00:14:43] And she's just going around
[00:14:45] asking people in the forums what's
[00:14:49] what's your read on
[00:14:51] the Airtable community?
[00:14:52] And what can be improved, and all that.
[00:14:56] I believe Jordan Scott.
[00:14:59] Here we go.
[00:15:00] Community introductions. There we go.
[00:15:04] Yeah. So
[00:15:06] yeah and this is a good place
[00:15:08] to introduce yourself.
[00:15:09] Looks like there's been
[00:15:10] some good intros there.
[00:15:12] I haven't taken the time yet myself.
[00:15:15] It looks like Kamille hasn't either.
[00:15:18] Well not on this post there's a yeah
[00:15:20] there's a
[00:15:23] a form link where you can
[00:15:25] fill out and just request
[00:15:27] a virtual sit down and on it.
[00:15:29] Yeah.
[00:15:30] So, yeah check it out.
[00:15:31] So, yeah it looks like they're
[00:15:33] adding people and
[00:15:34] Jordan
[00:15:36] heading up that that effort. There's also
[00:15:39] there's also a new person
[00:15:42] over, developer relations.
[00:15:45] So, I believe I have a call with
[00:15:48] him this week, and so I might have more
[00:15:51] information next week on
[00:15:53] what they're doing there. So, that's good.
[00:15:55] I saw him post on Twitter
[00:15:57] that he's interested.
[00:15:58] So, if you haven't reached out to
[00:16:00] him, Kamille, you should as well. I see.
[00:16:03] So, I don't think he
[00:16:05] posted in the community.
[00:16:07] I just saw it on Twitter.
[00:16:08] I never opened Twitter.
[00:16:11] Yeah, I only do it to find
[00:16:14] what people are saying about
[00:16:16] Airtable.
[00:16:19] All right, here's the one
[00:16:21] that you're familiar with. Yeah.
[00:16:24] So, I accidentally tied up
[00:16:26] I think all of, not all but a lot of
[00:16:30] Airtable's, developer resources like
[00:16:35] hurdling down this rabbit hole.
[00:16:38] So, I was working on
[00:16:40] a project for a client
[00:16:41] that needed a
[00:16:47] react library that required
[00:16:49] the use of web pack
[00:16:51] to bundle CSS so,
[00:16:53] the regular
[00:16:56] Airtable blocks environment,
[00:16:57] it doesn't support web pack
[00:16:59] because it has its own
[00:17:00] bundling sort of process
[00:17:01] that you can't really edit
[00:17:03] whether there's a public
[00:17:04] beta for the blocks CLI that
[00:17:08] made reference to
[00:17:10] custom bundling and I was like,
[00:17:13] okay, so it's possible maybe and
[00:17:15] rabbit hole. So, the Block CLI beta
[00:17:20] uses web pack by default. So
[00:17:25] If you're lucky and you
[00:17:27] don't if you don't need to
[00:17:28] change anything about the web
[00:17:30] packs, configuration or anything,
[00:17:31] there's a good chance
[00:17:32] that the Block CLI might
[00:17:33] work out of the box.
[00:17:35] It is a beta.
[00:17:36] So, I mean buyer beware,
[00:17:37] but my problem is I
[00:17:38] needed
[00:17:40] CSS loader which
[00:17:41] is a separate sort of like
[00:17:44] plug in almost for web pack.
[00:17:45] So, I needed to customize it.
[00:17:47] And so in order to do
[00:17:48] that,
[00:17:49] you would have to copy the entire
[00:17:53] bundle, the whole CLI I guess, code
[00:17:55] and then make changes to that and then
[00:17:58] point your block to that
[00:18:00] changed block of code. And it was
[00:18:02] I was running into like
[00:18:05] so many different errors that were
[00:18:09] related to like
[00:18:12] just typescript not wanting
[00:18:13] to work for me and I couldn't like
[00:18:16] all of my import statements
[00:18:18] would have had to be changed
[00:18:19] to require statements
[00:18:21] which would have taken forever
[00:18:23] and I think it's possible,
[00:18:24] but it was much, it was a much
[00:18:26] more complicated task
[00:18:27] than I thought it would be
[00:18:28] and that was basically what that
[00:18:30] post was and there's
[00:18:31] not a lot of information
[00:18:31] in that post because
[00:18:33] a lot of this happened
[00:18:34] back and forth via email
[00:18:35] and I said as soon as I figure it out,
[00:18:37] I'll put it in the forums,
[00:18:39] I never figured it out.
[00:18:41] So, that is the gist of what
[00:18:43] happened and so,
[00:18:44] And they're stumped as well?
[00:18:46] They're kind of stumped but
[00:18:49] not really. So, it works for them.
[00:18:52] The problem is there something
[00:18:54] with my environment
[00:18:55] that I must be missing a
[00:18:56] package of reusing the wrong
[00:18:57] version of a particular
[00:18:59] package and they gave me
[00:19:00] options which included
[00:19:02] converting all the import statements
[00:19:04] into require statements.
[00:19:05] But again, that would take forever
[00:19:07] because it's a lot,
[00:19:08] it's a lot of code to go
[00:19:09] in and edit
[00:19:10] and to double check that you
[00:19:13] are,
[00:19:14] you know, bringing in
[00:19:16] related files the correct way. So
[00:19:19] it would have taken more time
[00:19:21] than I had for the project. So yeah,
[00:19:23] yeah, that any developer
[00:19:26] listening knows the pain
[00:19:28] of dealing with your
[00:19:29] environment and everything works
[00:19:33] here. We've got Brian,
[00:19:36] yeah, I find myself saying that
[00:19:39] sometimes and I have to stop myself.
[00:19:43] Well it works for me, I don't know,
[00:19:46] I don't know what's wrong but
[00:19:48] yeah it was and to be
[00:19:51] honest I got more sort of
[00:19:54] interaction that I was immediately
[00:19:57] expecting because the forums generally
[00:19:59] speaking don't have a lot
[00:20:01] of interaction from Airtable
[00:20:03] employees, it's a lot of like users
[00:20:05] helping users with the exception of the
[00:20:07] developer
[00:20:09] portion of the forums.
[00:20:11] I've noticed that one category
[00:20:13] seems to have the most
[00:20:14] interaction with people who
[00:20:16] work for Airtable on their developer side
[00:20:19] because it's
[00:20:20] they're the hardest questions
[00:20:22] to answer really. It's so like
[00:20:24] I don't know Emma Yeap, who commented
[00:20:26] on the post and was also helping
[00:20:27] me behind the scenes
[00:20:29] and there's just so many people,
[00:20:32] there's there's like
[00:20:33] four different developers
[00:20:34] who were like tasked with trying
[00:20:36] to help me out with
[00:20:38] this issue and so, I was
[00:20:39] very appreciative and I think
[00:20:41] once this beta is a
[00:20:42] little bit further along,
[00:20:44] I don't think customization
[00:20:45] was something that they
[00:20:47] had yet accounted for,
[00:20:48] so hopefully in the next iteration or when
[00:20:51] if this beta moves past beta
[00:20:53] and becomes the official
[00:20:54] CLI in the future,
[00:20:55] hopefully there's like a plug in play
[00:20:58] sort of thing that we can do
[00:20:59] if we want to just add something to it.
[00:21:01] I wasn't trying to do
[00:21:02] anything too crazy,
[00:21:03] it was just the only way to do,
[00:21:04] it would have been to
[00:21:05] copy the whole thing and
[00:21:07] make a series of edits
[00:21:08] that I was not prepared for.
[00:21:10] Yeah, for sure.
[00:21:12] Yeah, still it is doable.
[00:21:14] But yeah, there's definitely
[00:21:16] limitations with the
[00:21:18] Block CLI and
[00:21:22] app development that
[00:21:23] they've got going on, but
[00:21:25] hopefully there's improvement
[00:21:27] in the future.
[00:21:28] All right, next topic. This is the big
[00:21:32] pricing
[00:21:33] question with the scripting app
[00:21:36] and whether it will be free or paid.
[00:21:39] And so they,
[00:21:41] let's see.
[00:21:42] So this started many,
[00:21:45] many moons ago.
[00:21:47] You want to give some
[00:21:49] back history on this? Yeah. So, oh God,
[00:21:52] when September 2018,
[00:21:54] I want to say somewhere around that time,
[00:21:56] the scripting block as well
[00:21:59] as custom apps
[00:22:00] were released for Airtable
[00:22:02] and they were released
[00:22:04] with like this disclaimer
[00:22:06] will be free for six months,
[00:22:08] six months came and went
[00:22:10] and then they extended it.
[00:22:11] And then they extended it
[00:22:12] again. And then
[00:22:13] I think
[00:22:15] at that point someone
[00:22:16] on the forums, not this post,
[00:22:18] another post from like a
[00:22:19] year ago, it was like,
[00:22:20] is it free or not? And so
[00:22:23] a bunch of us gave our opinion and
[00:22:26] we made like a side bet
[00:22:28] Bill French and I on the
[00:22:30] forums made a bet about
[00:22:31] whether or not Airtable
[00:22:33] would continue this sort of
[00:22:35] dance versus whether they
[00:22:36] would make it a paid product.
[00:22:38] I took the stance at some point,
[00:22:39] it's going to be a paid feature,
[00:22:41] just like all the other apps
[00:22:43] you would need pro plan
[00:22:45] or higher. And Bill said
[00:22:47] that they would probably make
[00:22:49] it free because it's so
[00:22:50] beneficial for them to
[00:22:51] have people take care of
[00:22:52] their own problems essentially.
[00:22:55] And so we bet each other
[00:22:56] a sandwich and then
[00:22:57] another six months passed and they
[00:22:58] extended the deadline again
[00:23:00] and I think that's where we are now,
[00:23:01] where they just recently extended
[00:23:04] the deadline again
[00:23:05] for it to be free until
[00:23:07] it's a paid feature allegedly.
[00:23:09] And so it's not,
[00:23:13] I mean it's effectively free,
[00:23:16] I guess, it's the best way to describe it.
[00:23:21] But yeah, it's just it's frustrating
[00:23:24] not to have a reliable answer because
[00:23:27] we technically have an answer.
[00:23:29] They just changed their minds on
[00:23:31] August 31 and then extended for
[00:23:35] another six months or something.
[00:23:37] So I, you know, I think it
[00:23:39] would behoove Airtable to just
[00:23:41] pick a day and be like
[00:23:42] we're not extending it anymore.
[00:23:43] If that's their decision that
[00:23:45] it's going to be a pro feature,
[00:23:47] it should just be made a
[00:23:48] pro feature without this sort of
[00:23:51] continuing on. Or if they
[00:23:52] want to make it free,
[00:23:54] it should just be free and not
[00:23:55] keep yanking the chain along. So
[00:23:58] they did hint they say
[00:23:59] we're still in the middle
[00:24:01] of some planning that
[00:24:02] affects this outcome. So, there
[00:24:05] are some pricing planning
[00:24:07] or underlying changes
[00:24:09] coming, that
[00:24:11] impact this. So, they're kicking
[00:24:13] the can down the road
[00:24:14] until they decided that
[00:24:16] Airtable has hinted that
[00:24:18] they were working on the structure of
[00:24:21] how certain things are priced
[00:24:23] and we have absolutely
[00:24:25] no details for what that
[00:24:26] might be until the
[00:24:27] announcement has actually
[00:24:29] been announced. But I
[00:24:30] have said before that I think
[00:24:33] a model I would like to have seen is
[00:24:36] a plan where you can pick
[00:24:38] one app per either per base or
[00:24:40] per workspace that is
[00:24:42] free. Like you pay for
[00:24:43] just that app because
[00:24:44] sometimes you might not need
[00:24:45] everything else. So if someone
[00:24:48] only needs scripting
[00:24:49] and not chart or maps or
[00:24:51] anything else, just let them
[00:24:53] have scripting as part
[00:24:54] of that more limited plan
[00:24:55] and then leave
[00:24:56] everything else alone.
[00:24:58] If you need more apps get a pro plan.
[00:25:00] I think it's strange to have one
[00:25:03] just one, a single app in the in the
[00:25:06] marketplace that is free and
[00:25:08] everything else is paid. So, it's either,
[00:25:11] I think there needs to be
[00:25:13] retooling there if they wanted to make
[00:25:15] scripting app free in a
[00:25:17] permanent sense like
[00:25:18] I wouldn't make it an app,
[00:25:20] I would just make it like automation
[00:25:22] has its own tab goes automation and apps,
[00:25:24] I would just have scripting as its
[00:25:26] own tab then, because it's removing
[00:25:29] Putting some separation there
[00:25:30] because otherwise it's
[00:25:32] just it's very strange to
[00:25:33] have like 40 some odd apps
[00:25:35] and one of them is free
[00:25:36] and everything else is paid.
[00:25:39] Yeah, I will say though that
[00:25:41] like Bill hinted at,
[00:25:43] if they do make it paid,
[00:25:45] there will be chaos and have hell to pay.
[00:25:49] Yeah, I know a lot of people
[00:25:51] have begun to rely on
[00:25:52] scripting because it's been,
[00:25:52] it's been out for two years now.
[00:25:55] So, a lot of people at
[00:25:56] this time have either
[00:25:57] gotten their feet wet,
[00:25:58] started to learn code
[00:26:00] or they've hired some developer to
[00:26:01] write them code or they posting
[00:26:03] on the forums and I wrote them code.
[00:26:04] And so, a lot of people have
[00:26:07] some amount of scripting
[00:26:09] in their bases now, and it
[00:26:10] would be unfortunate if they
[00:26:12] just suddenly lose access to it.
[00:26:14] Not even suddenly, because again
[00:26:16] it's been two years,
[00:26:17] but if they one day you
[00:26:18] lose access to it because it becomes
[00:26:20] put behind a paywall. So
[00:26:25] you know, if it were just the
[00:26:27] initial six month trial period
[00:26:30] check out scripting
[00:26:31] and then it's it's paid.
[00:26:32] I don't think much of us
[00:26:33] would have had any complaint
[00:26:34] at all, but the fact that it's been
[00:26:37] so undecided, so strangely undecided
[00:26:41] for so long is what's frustrating.
[00:26:45] All right, we're gonna
[00:26:46] start moving through a little bit quicker.
[00:26:51] Oh yeah, so this one real quick.
[00:26:53] So, they made a change,
[00:26:54] have they reverted this?
[00:26:56] I haven't checked recently.
[00:26:57] So, they made a change where
[00:26:59] when you look up
[00:27:01] on here. Oh yeah,
[00:27:02] so they did or maybe
[00:27:04] this one hasn't gone back,
[00:27:06] but for a while, when you click
[00:27:09] on the hamburger menu,
[00:27:10] it didn't give you the
[00:27:12] list of existing ones
[00:27:14] you had to search for it.
[00:27:16] And it was very frustrating
[00:27:18] because everybody's like
[00:27:19] where'd my views go or
[00:27:20] where my tables go.
[00:27:22] So, that was yeah, here's the old one,
[00:27:26] so, I don't I don't know,
[00:27:27] maybe they've gone back,
[00:27:29] or this might be a base
[00:27:30] that doesn't have it
[00:27:31] implemented,
[00:27:32] they might still be testing that feature.
[00:27:35] Oh my God,
[00:27:37] Jesus, That's a nice scheme of it.
[00:27:42] Yeah, that one just imagine
[00:27:45] how many tables they had.
[00:27:48] We need to have a contest
[00:27:50] where people share their
[00:27:51] schemas and craziest one
[00:27:52] gets a prize
[00:27:53] we actually met you that
[00:27:56] I won't win.
[00:27:58] Yeah, there's some crazy
[00:27:59] ones out there I've seen,
[00:28:01] okay, here's the meta,
[00:28:02] we already talked about this,
[00:28:04] so and like I mentioned,
[00:28:05] we'll be doing a scripting time
[00:28:09] talking about this,
[00:28:10] so we'll go into more detail
[00:28:12] on the new features that you
[00:28:13] can do in scripting.
[00:28:15] Now let's move on to
[00:28:18] the BuiltOnAir community.
[00:28:20] One thing I was going to
[00:28:22] highlight, this just came
[00:28:24] out what yesterday? I
[00:28:25] noticed it,
[00:28:26] so if you see something
[00:28:27] new and automations
[00:28:28] they haven't announced this,
[00:28:30] so they released it without any kind
[00:28:32] of discussion on the forums,
[00:28:33] from what I've seen,
[00:28:34] I don't know if you've seen any, but
[00:28:36] they're working on reworking
[00:28:39] as far as I can tell at this point,
[00:28:41] there's no new functionality.
[00:28:44] It's just a new UI
[00:28:45] on how you design it.
[00:28:47] But you can tell that
[00:28:49] they're kind of setting it up to
[00:28:51] where you can get more
[00:28:52] sophisticated with your automations.
[00:28:54] Now when you're editing an automation,
[00:28:57] it forces it to be full screen,
[00:28:58] which to me says that there's
[00:29:00] going to be, there has to be,
[00:29:02] there's no way
[00:29:03] why would they force you
[00:29:05] have as much possible viewing
[00:29:07] space unless they were
[00:29:08] going to allow branching because
[00:29:10] everything else was linear before.
[00:29:12] So, I'm expecting to see kind of
[00:29:15] branching sort of paths.
[00:29:18] So, I just want to be
[00:29:19] able to,
[00:29:21] you're creating groups now.
[00:29:23] Groups of actions.
[00:29:24] So, this is a group,
[00:29:25] you can collapse and you add
[00:29:27] your actions within a group
[00:29:28] so there's going to be
[00:29:29] more groups. Yes.
[00:29:32] Yeah, for sure. So that that will be cool.
[00:29:34] You can tell this is kind of laying
[00:29:36] the groundwork for that,
[00:29:38] so that's exciting.
[00:29:39] So you'll notice that
[00:29:42] and
[00:29:44] next one up.
[00:29:48] Okay, so this is a real annoying one.
[00:29:51] I'm actually, this is what
[00:29:52] I'm gonna do my
[00:29:52] scripting time on so we don't need
[00:29:54] to go into too much detail here.
[00:29:56] But basically if you, if you do scripting,
[00:30:00] you'll notice the last month
[00:30:03] you're seeing a lot more red squiggly
[00:30:06] lines and and drawn out and
[00:30:08] corrections and so they're getting
[00:30:10] stricter with their what's what's valid code
[00:30:14] and the scripting and so we'll
[00:30:16] be talking about that and work arounds
[00:30:18] that are on there. So, that was another
[00:30:20] heated discussion that
[00:30:22] myself was not happy to see
[00:30:24] as long as others. So
[00:30:27] we'll get into that in another.
[00:30:29] I just checked our Slack community.
[00:30:33] Someone made a post
[00:30:35] can you please go to
[00:30:36] seatable.io, seatable.io
[00:30:46] I believe I've seen this before.
[00:30:49] I don't know if I've seen this one before.
[00:30:52] It's like they didn't even try.
[00:30:55] It's like, it's so, it is so blatant.
[00:30:58] It's crazy. The other ones I've seen,
[00:31:02] there's like the other ones
[00:31:04] I've seen are pretty close and you know,
[00:31:07] you know, things are going
[00:31:10] to look similar, sure. This is egregious.
[00:31:14] They don't call it apps,
[00:31:16] they call them plug ins.
[00:31:18] Okay. Wow. Yeah, this is,
[00:31:20] wow.
[00:31:22] I almost feel like they've
[00:31:24] taken pictures of Airtable and
[00:31:27] yeah, it's, it's down to the color
[00:31:32] when you color records
[00:31:33] in a particular view
[00:31:35] the indicator to the left.
[00:31:37] That is like the one complaint
[00:31:38] that people have about
[00:31:39] record coloring is that they
[00:31:41] want to color the whole
[00:31:42] row and not just little
[00:31:42] indicator to the left if you're
[00:31:46] going to copy improve. Crazy
[00:31:50] everything they didn't even try.
[00:31:55] That is crazy.
[00:31:57] Interesting, but you can install
[00:32:00] it on your own server so that some people
[00:32:03] like,
[00:32:07] it's like they've got customers.
[00:32:09] That's interesting. I think I've
[00:32:11] seen this before, but they,
[00:32:13] I think they've done a complete
[00:32:15] redesign cause I don't remember it being
[00:32:17] exactly like Airtable.
[00:32:20] So even the name,
[00:32:22] you know from Air to sea.
[00:32:25] Yeah, wait a minute.
[00:32:26] The four nations once
[00:32:29] lived in harmony. Oh my gosh,
[00:32:33] that would be really interesting.
[00:32:35] You know, I guess
[00:32:36] Sorry to derail. I got a
[00:32:38] notification from Slack and was like,
[00:32:40] wow. Yeah, that's funny.
[00:32:43] All right, let's go on.
[00:32:45] Let's go to the Reddit community,
[00:32:50] so, just question about
[00:32:55] Google spreadsheets
[00:32:57] being slow is Airtable any faster?
[00:33:01] I don't know that it's any
[00:33:04] faster than Google sheets. How many
[00:33:06] records arose? Google Sheets can support
[00:33:09] many more records. Yes.
[00:33:11] So, I'm imagining that
[00:33:13] they have a great many number.
[00:33:18] I don't,
[00:33:20] I don't know.
[00:33:22] Yeah.
[00:33:26] yeah. So yeah, Google sheets.
[00:33:29] They count on cells. So,
[00:33:31] it's like a million cells.
[00:33:33] I think. So, yeah, your
[00:33:35] columns by your by your records.
[00:33:38] so, I think that's how they cap there,
[00:33:42] their size, but it's definitely
[00:33:44] bigger than Airtable
[00:33:47] than Airtable.
[00:33:48] So we'll see that is
[00:33:50] one big thing that,
[00:33:51] that I hope fingers crossed that
[00:33:54] Airtable can figure out,
[00:33:56] increasing their speed and their capacity.
[00:34:01] So,
[00:34:02] All right,
[00:34:04] so, this is a common question
[00:34:07] interesting to hear your thoughts on multi
[00:34:11] select versus linked tables.
[00:34:13] This seems to come up every few months.
[00:34:16] Yeah, there's there's advantages
[00:34:19] and disadvantages more often than not.
[00:34:21] I found that making a
[00:34:23] new linked table doesn't have
[00:34:24] all that many drawbacks
[00:34:27] depending on what you're
[00:34:28] sort of set up is so,
[00:34:30] if you have, that the one drawback is?
[00:34:34] The coloring.
[00:34:35] Yes I was going to
[00:34:37] say that if the UI sort of
[00:34:39] is different
[00:34:41] and
[00:34:42] if you if you use form views
[00:34:45] and one of the options
[00:34:46] would have been either
[00:34:48] the multi selector the link record.
[00:34:50] You might prefer the user interface for
[00:34:52] multi select. Because you can
[00:34:55] show everything as a
[00:34:57] list with checkboxes or
[00:34:59] radio icons. No, that's single select
[00:35:02] but still,
[00:35:04] And then that's another
[00:35:05] sort of drawback.
[00:35:06] You can more easily enforce one
[00:35:07] option being selected
[00:35:09] if you use multi select
[00:35:10] versus single select
[00:35:11] then if you do using a linked table
[00:35:14] because you can say allow only linking one
[00:35:17] record. But there's not
[00:35:20] you can force it,
[00:35:21] you know what I mean?
[00:35:22] Like you if you use scripting or if you
[00:35:23] use a Zapier or something
[00:35:25] you can force it to
[00:35:26] link to multiple records.
[00:35:28] But if you are
[00:35:32] if you want to store any
[00:35:34] amount of information about
[00:35:36] a select option, a linked table
[00:35:38] is usually the way to go.
[00:35:39] So, I've seen a lot of
[00:35:40] people who
[00:35:41] post in the forums asking
[00:35:44] I have five options red,
[00:35:46] blue green et cetera.
[00:35:47] If they choose green I want to
[00:35:49] charge them $5. If they choose
[00:35:51] red I want to charge them 10.
[00:35:53] You can do that with like a
[00:35:55] switch formula that says
[00:35:57] if green then five if
[00:35:58] red than 10 I hope those
[00:36:00] are the numbers that I used
[00:36:01] 10 seconds ago I've already
[00:36:02] forgotten.
[00:36:05] But
[00:36:06] you know the more options
[00:36:08] that you have, the harder
[00:36:10] it is to sort of keep track
[00:36:11] and hard it is to update.
[00:36:13] You don't want to go in
[00:36:14] and fiddle with the formula
[00:36:15] every time you have a new option
[00:36:17] or if the pricing changes,
[00:36:19] but if you use a linked table
[00:36:21] you could have one
[00:36:22] record per option,
[00:36:24] red green blue et cetera.
[00:36:25] And then just a simple column
[00:36:27] that says what's the price
[00:36:29] and then use roll ups
[00:36:30] or lookups to bring that
[00:36:32] information back into your original
[00:36:35] table and it's much easier to to A) see
[00:36:37] you'll be able to look at it
[00:36:39] and make sure everything
[00:36:41] is up to date much more
[00:36:42] easily.
[00:36:43] And it's a database and that's
[00:36:45] how databases are sort of meant to work.
[00:36:47] Relational databases are meant to work.
[00:36:49] Yeah
[00:36:50] yeah very good very good input.
[00:36:53] We're Gonna Skip This one.
[00:36:58] This is just real quick,
[00:37:02] Yeah so, if you're using the
[00:37:04] now function for like
[00:37:05] automations or what not you
[00:37:07] need to understand now
[00:37:09] it's not now.
[00:37:11] It's kind of somewhere around now.
[00:37:14] It updates I think it's every
[00:37:16] 15 minutes if I remember correctly for my
[00:37:20] testing that sounds
[00:37:21] about right to me.
[00:37:22] Unless there's something that
[00:37:24] happens right? Yes.
[00:37:27] Refresh, it waits for
[00:37:29] a record to be updated
[00:37:31] and whether or not someone
[00:37:33] is looking at the base at the
[00:37:35] time. So
[00:37:39] if you're like
[00:37:40] Scrolling through your tables
[00:37:42] or your views now
[00:37:43] we'll update every time it
[00:37:45] becomes loaded again.
[00:37:46] But if no one's looking
[00:37:48] at the base then I think it's
[00:37:49] every 15 minutes while a base is
[00:37:52] dormant. If you will.
[00:37:54] Yeah. Very good.
[00:37:55] Alright let's quickly
[00:37:56] move on to Twitter
[00:37:57] and then we'll move on to our next
[00:37:58] segments.
[00:38:00] I guess there was an issue
[00:38:02] back in the end of August
[00:38:04] with Zapier I guess they
[00:38:05] made some changes and
[00:38:06] it broke all those apps.
[00:38:08] I didn't actually see this.
[00:38:09] I've got a lot of zaps, although we have
[00:38:12] our own product that I usually
[00:38:14] use but I do use the Airtable
[00:38:16] connector on occasion.
[00:38:17] But it looks like they
[00:38:19] resolved it and rolled back.
[00:38:21] So, if you were using Zapier
[00:38:23] and saw some funky things in August,
[00:38:26] it had to do with the renaming
[00:38:28] of fields and it messed
[00:38:30] up all the connectors.
[00:38:31] So,
[00:38:32] that's unfortunate.
[00:38:36] Okay. What's this one?
[00:38:39] Oh yeah. So, if anybody is looking
[00:38:41] for a product to build
[00:38:43] here is somebody saying
[00:38:44] that they would pay for a hot jar
[00:38:46] for Airtable which basically is
[00:38:48] a screen recording of all
[00:38:50] the people using Airtable
[00:38:52] to see like the changes
[00:38:53] that they're making.
[00:38:54] Although I have noticed
[00:38:59] Airtable is getting
[00:39:00] better at showing you,
[00:39:01] especially on the trash can
[00:39:04] you can see fields deleted
[00:39:06] by other people and restore them.
[00:39:08] Actually had to use
[00:39:09] this yesterday with the client
[00:39:11] who deleted stuff that
[00:39:12] wasn't supposed to. And
[00:39:14] so they're getting better at
[00:39:16] tracking all the changes
[00:39:17] obviously on the record.
[00:39:18] You can see the history changes
[00:39:20] on a per record.
[00:39:22] So, I think they are getting
[00:39:23] better, but you can't
[00:39:24] see he's looking for like,
[00:39:26] hot jar will actually record
[00:39:27] mouse movements and you
[00:39:28] can actually see
[00:39:29] everything going on.
[00:39:30] So,
[00:39:32] if anybody wanted to
[00:39:33] build something like that
[00:39:35] here is a nice meme going
[00:39:37] around when you realize Airtable replaces
[00:39:41] a lot of apps that you've
[00:39:43] already purchased it's kind of cool.
[00:39:46] I see people replacing apps
[00:39:47] and using Airtable more and more.
[00:39:50] So, that's cool to see.
[00:39:54] All right, this one came out
[00:39:57] in August. So, Airtable made its first
[00:40:01] acquisition
[00:40:03] data visualization product that
[00:40:05] build some pretty advanced graphs and they
[00:40:08] actually were still in beta.
[00:40:10] So, they weren't there
[00:40:11] not a well known company yet,
[00:40:12] but I think Airtable looked at
[00:40:14] their technology and said,
[00:40:16] you know, we want to
[00:40:17] build that into Airtable. So,
[00:40:19] don't be surprised if we
[00:40:21] see Airtable visualization
[00:40:24] functionality increase
[00:40:25] in the coming months.
[00:40:28] So, that was pretty cool
[00:40:30] And then real quick we're gonna end.
[00:40:32] So, there's two really good articles that
[00:40:34] came out in the last six weeks.
[00:40:37] This one was an analysis
[00:40:39] of how Airtable grew. So if you,
[00:40:42] if you want to learn more about
[00:40:44] the company of Airtable,
[00:40:45] these next two
[00:40:46] articles are really good
[00:40:48] that dive into the history
[00:40:50] and just an analysis of
[00:40:52] their SEO strategy and their
[00:40:54] marketing efforts and how they do things.
[00:40:57] I thought was really interesting
[00:40:59] if you'd like to learn about that
[00:41:01] And then this one
[00:41:03] is also a more on the financial
[00:41:06] side and kind of comparing them where the
[00:41:08] valuation is currently.
[00:41:10] So, if you're interested
[00:41:11] in the financial side,
[00:41:12] if you're wondering about
[00:41:14] the stability of Airtable
[00:41:16] and how much money
[00:41:16] they've raised and how that
[00:41:18] compares to other companies.
[00:41:20] This article is pretty fascinating.
[00:41:22] Also talks about their employee growth and
[00:41:24] things of that nature.
[00:41:26] And customer council.
[00:41:27] Really good in depth articles
[00:41:29] looking at Airtable as it gets
[00:41:31] more traction and
[00:41:32] more attention from people.
[00:41:34] It's going to be
[00:41:36] more well known in
[00:41:37] the enterprise and software world.
[00:41:41] so with that we're going to move on
[00:41:47] to a real quick On2Air spotlight.
[00:41:49] I'm not going to go into too much detail,
[00:41:52] but I'm going to talk about
[00:41:55] at On2Air, we've
[00:41:57] been busy the last month
[00:41:59] focusing on Google drive integration.
[00:42:04] So, using Google docs, Google sheets and
[00:42:08] Google slides as templating
[00:42:11] platforms to generate
[00:42:13] documents populated from
[00:42:15] your Airtable data.
[00:42:17] So, if you're an Airtable or if
[00:42:20] you're an On2Air customer
[00:42:21] you've got to check out
[00:42:22] within the actions.
[00:42:23] There's a section here Google
[00:42:25] functions so these are
[00:42:27] Google functions to be
[00:42:28] able to
[00:42:29] generate a template from
[00:42:32] a Google slide or a Google
[00:42:34] sheet or a Google doc or
[00:42:35] even creating copies.
[00:42:38] So, for example if you have
[00:42:40] standard files that you need
[00:42:43] for every customer, so every time
[00:42:45] you create a new customer
[00:42:46] you want to copy that folder,
[00:42:48] you can automate that process.
[00:42:50] Automate creating documents,
[00:42:52] copying documents into folders,
[00:42:53] dynamically saving them into
[00:42:56] folders based off
[00:42:58] of the data from Airtable.
[00:43:00] And we also have the ability
[00:43:03] to do an entire view
[00:43:04] or table and sync it to a
[00:43:06] Google sheet tab.
[00:43:08] And so you can actually sync
[00:43:11] Airtable data into Google
[00:43:13] sheets and do that
[00:43:14] and we'll be adding more
[00:43:16] functionality along this.
[00:43:17] So, this is a big emphasis of
[00:43:18] ours to really go deep,
[00:43:20] you can do line items within
[00:43:22] everything. You can convert them
[00:43:25] automatically to pdf or
[00:43:27] word doc or or Excel
[00:43:28] files, save them as attachments
[00:43:31] back into Airtable.
[00:43:33] So, full document life cycle
[00:43:35] management for your Google docs
[00:43:38] and Google drive integration.
[00:43:41] We also support
[00:43:43] Google shared folders as well.
[00:43:46] company folder in there.
[00:43:48] So
[00:43:49] very useful please check it out.
[00:43:51] It's powerful. We've got
[00:43:53] great feedback coming
[00:43:53] in from early users and
[00:43:55] we'll be pushing it out more
[00:43:57] and more through the
[00:43:58] coming weeks.
[00:44:00] Next segment, we're going to have Kamille
[00:44:03] if you want to get your screen ready.
[00:44:05] We're gonna do An App a Day,
[00:44:08] we're going to talk
[00:44:10] about an app that is in the
[00:44:12] marketplace and Kamille
[00:44:14] knows a little bit about this one. Yeah,
[00:44:17] funny that.
[00:44:18] Go ahead and share your screen.
[00:44:22] Yeah,
[00:44:24] I've sort of mentioned,
[00:44:27] I think that I was going to
[00:44:30] be working on this app for a
[00:44:32] while and then I never made it
[00:44:35] official sort of
[00:44:36] announcement publicly that it
[00:44:38] was released,
[00:44:39] It's released, Junction Assistant,
[00:44:42] I made an app that helps with
[00:44:45] dealing with junction tables in Airtable.
[00:44:48] It's one of the questions that
[00:44:50] I see a lot on the Airtable forums is
[00:44:55] dealing with
[00:44:57] linking records from one table
[00:44:59] to another table to another
[00:45:01] table to perhaps even
[00:45:02] many more.
[00:45:03] And the idea of trying to
[00:45:05] avoid coming up with
[00:45:07] duplicate records as well,
[00:45:09] it's very difficult to do
[00:45:12] duplication detection
[00:45:14] if you're trying to look at
[00:45:16] how multiple records
[00:45:18] are related to each other
[00:45:20] that are coming from
[00:45:21] all different tables.
[00:45:21] And so
[00:45:24] that's basically what my app
[00:45:26] is trying to help with
[00:45:27] available now in the
[00:45:28] marketplace. I'm just going
[00:45:30] to give a quick rundown of
[00:45:31] how it might be used.
[00:45:34] I have a base here that shows
[00:45:39] a few very common
[00:45:42] many to many relationships, type,
[00:45:48] relationships, I was trying to think
[00:45:50] of another word, but one of the most
[00:45:52] common examples is
[00:45:54] an invoice or receipt. So
[00:45:57] one person or one customer
[00:46:00] is ordering several things from
[00:46:03] a vendor and you want to know
[00:46:06] additional information about each
[00:46:07] item that they've purchased.
[00:46:09] So
[00:46:10] one way to do that is to have
[00:46:11] a line item table.
[00:46:13] So, you can kind of see here
[00:46:14] that I have records that are
[00:46:16] linked to a particular purchase
[00:46:18] order that are also
[00:46:19] linked to a particular product
[00:46:20] with additional information added.
[00:46:22] So, for in this case
[00:46:23] the quantity for each item
[00:46:25] that is being ordered.
[00:46:27] So
[00:46:28] how I might use my app
[00:46:30] would be to select the purchase order line
[00:46:33] items table as the table
[00:46:34] I want to create new records in.
[00:46:38] Then I would select a purchase order.
[00:46:40] I could select from any of the ones that
[00:46:42] are currently in my base.
[00:46:45] Or I could create a new record
[00:46:47] and it will add
[00:46:48] it. I'll show that in a second.
[00:46:50] I'm going to select the first
[00:46:53] one because why not?
[00:46:54] And as I start filling out
[00:46:56] this sort of formed the left.
[00:46:58] You'll see existing records
[00:47:00] within my line items
[00:47:01] table that fit the bill so far.
[00:47:04] So, all of the records
[00:47:05] that have purchase order
[00:47:07] line purchase order number one
[00:47:09] start popping up and that kind of
[00:47:11] allows me to see that
[00:47:13] I don't want to create a
[00:47:15] duplicate of something that I
[00:47:18] already have.
[00:47:19] So, next I would pick whatever
[00:47:21] item that they're ordering,
[00:47:23] so you'll see the list
[00:47:25] of records that I have is different
[00:47:27] now it's pulling from whatever
[00:47:29] linked to another record
[00:47:31] field exists in this table.
[00:47:33] So, there's no there's
[00:47:34] actually no settings for this app.
[00:47:36] Once I go into settings,
[00:47:37] it's just whether or
[00:47:38] not you want to log in to
[00:47:39] unlock certain features,
[00:47:41] everything is sort of pulled
[00:47:42] in automatically. It just reads
[00:47:45] what the schema of your base is.
[00:47:46] And any linked records
[00:47:48] that you have linked record fields
[00:47:50] will be pulled in automatically. So
[00:47:53] I would select
[00:47:54] a product from here.
[00:47:56] You'll see I've selected
[00:47:59] one that already has been linked
[00:48:01] to this particular purchase order. So
[00:48:05] I'm again keeping aware
[00:48:06] that I don't want to make
[00:48:08] a duplicate of that.
[00:48:08] I'm going to try and pick
[00:48:10] one that I haven't already.
[00:48:14] they're so there's no matching records.
[00:48:17] I have no worries about accidentally
[00:48:20] creating a duplicate anymore.
[00:48:21] I'm also going to pick another one.
[00:48:24] And when you see that I have
[00:48:26] two linked records selected.
[00:48:29] I get a little
[00:48:30] warning symbol. And the reason
[00:48:32] is I've set up my base schema
[00:48:35] so that if I go
[00:48:36] and say customize this field type,
[00:48:38] I've turned off, allow linking to multiple
[00:48:41] records for this particular field
[00:48:43] and my app can read that
[00:48:45] and it's warning me that you're
[00:48:48] about to create a new
[00:48:49] line item record that is linked
[00:48:51] to products and you've
[00:48:53] already said it should
[00:48:53] only linked to one,
[00:48:55] it's not going to force
[00:48:57] you to split these apart,
[00:48:58] but it's easily fixed.
[00:48:59] If you click the warning symbol,
[00:49:01] you now have a blue lightning
[00:49:03] bolt and if you read at the
[00:49:05] bottom it says now
[00:49:06] you're creating two line item records.
[00:49:08] So, what it's doing
[00:49:09] is creating two different line
[00:49:11] item records each linked
[00:49:12] to the first purchase
[00:49:13] order, but one will be linked
[00:49:15] to the strawberry shake
[00:49:16] and the other one will be
[00:49:17] linked to the peanut butter one.
[00:49:19] So, I'm just gonna click
[00:49:21] create both of them have been
[00:49:24] added to my base and I
[00:49:25] could go in and change the quantity
[00:49:27] if I wanted. If I click the down arrow,
[00:49:29] the second record that was created
[00:49:32] will be popped up as well and I could
[00:49:34] change the quantity there too.
[00:49:36] If I created more records
[00:49:38] I would be able to
[00:49:39] keep clicking the down arrow
[00:49:40] until I scrolled through all of them.
[00:49:43] It won't delete your selection
[00:49:45] for you but you're allowed
[00:49:47] to see that it
[00:49:48] updates sort of as we go.
[00:49:51] I'm going to turn off the lightning bolt
[00:49:53] and just sort of demonstrate that if
[00:49:55] I had allow linking turned on it
[00:49:57] will no longer give you the lightning bolt
[00:50:00] because it's not in conflict
[00:50:02] with any of your field settings.
[00:50:05] Last but not least, one of the sort of,
[00:50:09] I don't want to stay hidden
[00:50:12] but not as obvious features
[00:50:15] of my app is if I go
[00:50:16] into the products table
[00:50:18] and then using Airtables,
[00:50:20] regular user interface, if I just select
[00:50:24] a great many number of records over here,
[00:50:27] I can click this blue cursor button
[00:50:30] and import the selection
[00:50:32] that I have on the left.
[00:50:34] Actually let me get rid of some
[00:50:36] of these so you can see it, it starts to
[00:50:38] collapse if you have too many to show.
[00:50:40] So, it picked the four that I'm
[00:50:43] including from the left hand side.
[00:50:45] It's really useful if you don't
[00:50:47] want to, you know, click this button
[00:50:49] once and then select one
[00:50:51] and then click it again and select one.
[00:50:53] If it's easier for you to just
[00:50:55] select from within
[00:50:56] a grid view in Airtable.
[00:50:57] My app allows you to do that.
[00:50:58] So, once again this would
[00:51:00] be creating one line item
[00:51:02] record with all four of
[00:51:03] these linked in it. But if I wanted
[00:51:05] to split them apart,
[00:51:06] I would click the
[00:51:07] lightning bolt, You'll see
[00:51:08] that one of these
[00:51:10] already sort of exists. So, I would just
[00:51:12] take out the lemon ginger one and I have
[00:51:14] no conflicts anymore.
[00:51:16] So, now three line item records
[00:51:18] will be created all linked
[00:51:19] to purchase order
[00:51:20] number one.
[00:51:21] And that's it. If I take out
[00:51:23] purchase order.
[00:51:25] If I take out the purchase order one,
[00:51:27] it's now showing me anything in the
[00:51:28] purchase order line items
[00:51:30] table that is linked to any
[00:51:32] particular purchase order
[00:51:33] and any of these products. So
[00:51:36] again it'll update as you're
[00:51:38] filling out the form
[00:51:39] I wanted to create a new purchase
[00:51:42] order for this. I would just
[00:51:44] do that and it
[00:51:45] would be added to the base.
[00:51:46] If I scroll all the way back over,
[00:51:48] you'll see the 5th one has been added.
[00:51:50] This is an auto number which is why
[00:51:52] was renamed for me.
[00:51:54] And because it was just created
[00:51:56] obviously there's no
[00:51:57] there's nothing linked
[00:51:58] to it. So there's no conflicts.
[00:51:59] Nice
[00:52:01] create done. That is very cool
[00:52:04] and this demo is making me hungry.
[00:52:06] Sorry
[00:52:09] that is basically the gist.
[00:52:11] Well no there's more
[00:52:12] but wait there's more
[00:52:15] If you don't have a junction
[00:52:18] table set up in your base
[00:52:20] yet you can click this
[00:52:21] sort of
[00:52:24] icon over to the right hand
[00:52:26] side of where the table selector is.
[00:52:28] And you can actually create
[00:52:29] a new junction table so
[00:52:31] you can name it whatever you want.
[00:52:33] And link to any of these are all of the
[00:52:36] tables that are in my base already.
[00:52:38] So, I'm just going to
[00:52:40] select, I don't know all of these.
[00:52:42] And click create table.
[00:52:44] It's going to think for a second.
[00:52:46] And then if I scroll all
[00:52:48] the way over here,
[00:52:49] junction table you'll see I have
[00:52:51] five linked to another
[00:52:52] record fields linked to
[00:52:53] the ones I selected. And again
[00:52:55] it's all pulled in automatically.
[00:52:57] If I start deleting these,
[00:53:01] it's removed, it's no longer
[00:53:04] related to this junction table
[00:53:06] that I just made so
[00:53:08] it's no longer an option.
[00:53:10] Very cool, yep. Well done Kamille.
[00:53:12] That's awesome. Thank you.
[00:53:14] Great to a very common use case.
[00:53:17] Very very common use case. Some of this
[00:53:19] functionality that I've just shown
[00:53:22] is available for free
[00:53:23] and some of it is reserved for
[00:53:26] premium users if you sign up
[00:53:28] with me Kamillionaireapps.com
[00:53:30] you'll be able to unlock all of the
[00:53:33] functionality that I've just shown
[00:53:35] but it one thing that is definitely
[00:53:37] free and will always remain so is the
[00:53:39] duplicate detection over on
[00:53:41] the right hand side. I think that's
[00:53:43] the one thing I kind of wanted
[00:53:45] to get out there and then sort of the
[00:53:47] intricacies of selecting from
[00:53:49] a grid view and like
[00:53:51] splitting records apart,
[00:53:52] creating multiple junction
[00:53:54] records at a time,
[00:53:55] those are premium features but
[00:53:57] if you just wanted to make sure
[00:53:58] that you're not accidentally creating
[00:54:00] duplicates, you can do that
[00:54:01] without creating an account with me.
[00:54:04] Alright, awesome. Well done.
[00:54:06] So, check that out in the marketplace,
[00:54:08] download it, play with it and
[00:54:11] And sign up for paid version
[00:54:13] support Kamille in in that effort.
[00:54:15] It's always appreciated.
[00:54:16] All new accounts get a
[00:54:18] 15 day free trial with all
[00:54:19] features unlocked so, cool.
[00:54:22] Alright, next segment I'm
[00:54:24] gonna do a scripting time
[00:54:26] I mentioned something
[00:54:27] that that changed. If you've done
[00:54:30] scripting,
[00:54:32] you will notice that lately
[00:54:34] things are getting a little bit
[00:54:38] messier and
[00:54:42] you'll see. I see, I think
[00:54:44] it's this one I want to show
[00:54:52] Sorry, wrong one,
[00:54:55] that one's not messy.
[00:55:01] Here we go, okay,
[00:55:03] you'll see things like this
[00:55:05] lines
[00:55:07] drawn out
[00:55:08] and at first you're going to get
[00:55:10] freaked out because
[00:55:11] you're like wait that
[00:55:12] function is no longer available?
[00:55:14] You see these squiggly
[00:55:15] lines here on the record,
[00:55:16] so we're going to go through
[00:55:18] and see if we can fix how this is
[00:55:20] how you can fix this.
[00:55:22] So, this one right here,
[00:55:23] this is a new change,
[00:55:24] this is the one we mentioned
[00:55:25] in the Round the Bases
[00:55:27] that a lot of people are not
[00:55:28] happy about.
[00:55:29] And basically if you hover over it,
[00:55:32] it will give you a kind of a hint.
[00:55:34] It says it's deprecated.
[00:55:36] What that means is it's deprecated
[00:55:39] with no parameters passed in.
[00:55:42] So what it wants you to do
[00:55:44] is it wants you to pass in
[00:55:46] a fields parameter.
[00:55:47] So, an object
[00:55:49] with the field
[00:55:51] and then this is I believe in array
[00:55:56] of
[00:55:59] the names?
[00:56:02] Actually I was, I only do the shortcut
[00:56:04] that I'm going to show in a second but it
[00:56:06] actually
[00:56:11] I think it should be the names.
[00:56:18] Now let me see if it's a name.
[00:56:25] Okay. Yeah, so it should
[00:56:27] be an array of the names
[00:56:28] So, and the reason we can
[00:56:31] infer of why they wanted
[00:56:33] to do this is because
[00:56:35] if you don't specify which
[00:56:37] most people were not specifying the
[00:56:39] fields then it's grabbing all the
[00:56:41] fields and it's grabbing all the data
[00:56:44] associated with those fields
[00:56:46] when you query for the records.
[00:56:48] And so what they're trying
[00:56:50] to do is limit the amount
[00:56:52] of data that's being
[00:56:53] returned to help scripts
[00:56:55] move faster, run faster
[00:56:57] and just use up less
[00:56:59] memory on your computer.
[00:57:02] And so they're trying to get you
[00:57:05] to specify which fields you actually care
[00:57:08] about for what you need from here.
[00:57:10] And so they want you to to specify those
[00:57:13] fields.
[00:57:15] Well, that's kind of frustrating
[00:57:17] because sometimes you don't know,
[00:57:18] so, you're working down below
[00:57:21] and you want to grab a field
[00:57:23] like here if you
[00:57:24] grab a get cell value or get cell
[00:57:27] value a string this
[00:57:29] right here won't work if
[00:57:31] it's not specified up in here
[00:57:33] because that field won't be retrieved.
[00:57:35] And so sometimes you're working
[00:57:37] and you want to do a
[00:57:38] new one and then you have
[00:57:39] to add it in both places,
[00:57:41] you have to come back up
[00:57:42] here and add it as a field.
[00:57:44] So, one easy way which I'm
[00:57:46] sure is not their intention,
[00:57:48] but one easy way is to
[00:57:50] just simply and I need to give
[00:57:52] credit to Cavan who was
[00:57:54] the first to mention this
[00:57:55] from what I've seen is basically
[00:57:58] grabbing the table
[00:58:00] and just grabbing all of
[00:58:02] its fields.
[00:58:04] So the table fields like that
[00:58:07] and that basically is
[00:58:09] an easy way to get all of
[00:58:10] the fields
[00:58:12] in there, which is basically
[00:58:14] what it is the same as
[00:58:15] if you didn't specify
[00:58:16] anything.
[00:58:17] But this no longer gives you that warning
[00:58:20] because you actually have fields
[00:58:21] in there. So, that's the easy way.
[00:58:23] That's what I do to get rid of it.
[00:58:25] I imagine that's what
[00:58:26] most people are going
[00:58:27] to do, which is not what Airtable
[00:58:29] wants you to do, but
[00:58:31] developers, our goal is to try to
[00:58:34] do things as fast as possible
[00:58:37] and I usually
[00:58:38] don't run into memory issues
[00:58:40] on scripts, maybe on automations
[00:58:42] this is more
[00:58:42] relevant.
[00:58:44] So, that's the shortcut way to
[00:58:47] get rid of that air warning
[00:58:50] on there.
[00:58:52] if you don't want to specify
[00:58:54] all the field names,
[00:58:55] so, let's move on to this one.
[00:58:56] Now we're starting to get
[00:58:58] these squiggly lines.
[00:58:59] If you hover over it,
[00:59:01] it will tell you that this object is
[00:59:04] possibly null. So, it's telling you that
[00:59:07] that you might be calling
[00:59:10] a function on a null object
[00:59:12] because this right here
[00:59:14] has the potential to be null
[00:59:16] if they don't actually select something.
[00:59:18] So, there's a couple of ways
[00:59:20] that you could get rid of this warning.
[00:59:22] I mean the reality is
[00:59:24] the script is not going to run
[00:59:26] if you don't select something
[00:59:28] in this thing.
[00:59:28] So
[00:59:29] the script won't run if there's
[00:59:31] no record here.
[00:59:32] So, it's kind of frustrating
[00:59:33] that you have to do this.
[00:59:34] But some ways that you might
[00:59:38] well the easiest way is if you
[00:59:40] just put a question mark right there,
[00:59:42] that basically that question mark
[00:59:45] tells it that it's okay if it's null,
[00:59:48] like we
[00:59:48] know that it might be null
[00:59:50] and so it's telling the compiler
[00:59:52] that we're aware of
[00:59:53] the fact that this might be null
[00:59:56] and I believe it will
[00:59:58] return a null value to
[01:00:00] this value as well if record is null.
[01:00:03] I'm pretty sure of that,
[01:00:05] but now this could be null as well.
[01:00:07] And so it's a bubble effect
[01:00:09] of everything there.
[01:00:11] So, the other thing that you
[01:00:13] could do, you know,
[01:00:15] so, I know that this should return
[01:00:17] an array and so then I
[01:00:18] might do this
[01:00:21] which basically says if this is null
[01:00:23] this means or and then
[01:00:25] this is an empty array.
[01:00:27] And so, that's one quick way to
[01:00:29] just say okay if this is null
[01:00:31] then that this is going to be an array and
[01:00:34] now you see that this
[01:00:35] squiggly line went away
[01:00:37] and so now down here,
[01:00:39] we just do the same there
[01:00:41] and then now it doesn't like
[01:00:43] that you can't pass in a
[01:00:45] null value to record
[01:00:48] and so, you might have to
[01:00:54] something like that,
[01:00:55] so, it's a lot more work
[01:00:57] that they're making us do as
[01:00:58] developers, which is frustrating.
[01:01:01] Here again, we'll do the fields trick
[01:01:04] and when you do this you
[01:01:05] got to make sure that
[01:01:07] you get the right table,
[01:01:08] so it has to be the fields
[01:01:09] from the table.
[01:01:10] So, it's usually the table that you're
[01:01:12] selecting
[01:01:13] in there and then this one
[01:01:16] might be null so we
[01:01:19] can just pass a or empty
[01:01:21] array.
[01:01:22] Let's see. Okay, so this one
[01:01:26] actually it didn't like the updates.
[01:01:36] let's see what doesn't it like here,
[01:01:42] I think it won't allow you
[01:01:44] to pass an empty array, so you've,
[01:01:47] you know, you kind of it
[01:01:49] starts as an empty array
[01:01:50] and if there's nothing.
[01:01:52] Yeah.
[01:01:55] Yeah.
[01:01:56] Still doesn't like that.
[01:02:04] I wonder if it doesn't like
[01:02:06] this assigned this field
[01:02:08] might have changed,
[01:02:09] might comment this out just for
[01:02:11] Yeah, so that this field,
[01:02:13] maybe it doesn't exist
[01:02:14] on the table anymore.
[01:02:18] or it's not a boolean or something,
[01:02:20] so, it might not be a checkbox might have
[01:02:23] updated that. So anyway,
[01:02:24] there's a few things
[01:02:26] that you can do to get
[01:02:27] rid of your squiggly lines
[01:02:30] and strike throughs.
[01:02:32] It is frustrating. They are trying to
[01:02:35] just guide you and give you help you
[01:02:38] because there are times
[01:02:40] where if you are using a
[01:02:42] null value and then it will
[01:02:43] generate an air at runtime,
[01:02:45] so, they're trying to help
[01:02:46] preemptively avoid runtime errors
[01:02:52] and so that's,
[01:02:53] you know, their goal but it does
[01:02:56] put a little bit more work
[01:02:58] on the developers side
[01:03:00] to understand really,
[01:03:02] if you're not familiar
[01:03:04] with some of these
[01:03:06] these air warnings,
[01:03:07] it can get frustrating to go through that.
[01:03:09] So
[01:03:11] that is scripting time,
[01:03:13] anything to add there Kamille?
[01:03:18] No, that's probably how I would have
[01:03:21] change things as well.
[01:03:24] Get rid of any sort of errors
[01:03:26] I'd like using operators a lot,
[01:03:28] I don't remember if you can
[01:03:29] use them within the scripting block.
[01:03:32] Yeah,
[01:03:33] yeah, that's essentially what
[01:03:35] this one is doing is
[01:03:37] I think it's short code for
[01:03:40] this basically,
[01:03:43] yeah, yeah,
[01:03:44] so, that's essentially the same
[01:03:46] thing that it's doing.
[01:03:47] I feel like I tried using
[01:03:48] operators before probably
[01:03:50] months ago and it didn't like the syntax
[01:03:53] but I'm glad that you can
[01:03:55] use them now because it's
[01:03:57] they do that a lot to sort of
[01:03:59] get around if an object is null to pass it
[01:04:02] something else that isn't,
[01:04:05] yep, yep. So and yeah,
[01:04:06] this is a short code that is
[01:04:08] relatively new to javascript,
[01:04:10] it's I don't think it's been
[01:04:11] around that long in javascript,
[01:04:12] but
[01:04:14] all right, let's move on,
[01:04:16] we're now gonna go onto
[01:04:19] actually I'm gonna sneak in here,
[01:04:21] I'm going to give a quick
[01:04:23] advertisement if
[01:04:24] you are a consultant
[01:04:27] or expert in Airtable,
[01:04:29] I highly encourage you to
[01:04:32] check out our post.
[01:04:33] that's in the community.
[01:04:35] If you search for Opensiders,
[01:04:38] what Opensiders is
[01:04:39] is a network of experts and
[01:04:41] power users of Airtable.
[01:04:43] We meet every 1-2 months
[01:04:45] via Zoom and it's a great
[01:04:47] network of people.
[01:04:49] Kamille is a part of it,
[01:04:50] she's a big part of it,
[01:04:52] that's all you need to know,
[01:04:53] but there's also other
[01:04:54] amazing people in the group.
[01:04:57] so please check it out.
[01:04:59] There's a link here
[01:05:00] to a form that you fill out,
[01:05:02] it's free to join.
[01:05:04] we just ask that you kind
[01:05:05] of contribute and be a part of
[01:05:07] this community, help us learn
[01:05:09] from you, and will help you learn from us.
[01:05:12] So, it's a great way everybody
[01:05:14] is very collaborative,
[01:05:16] it's a big part of it.
[01:05:17] You want to give a plug for it Kamille?
[01:05:20] Yeah,
[01:05:22] I don't know all the answers,
[01:05:24] but collectively we know
[01:05:25] a great many number of
[01:05:26] the answers and so, it's just nice
[01:05:29] bouncing ideas off of people
[01:05:31] who are also well versed in this sort of
[01:05:35] little niche that we've all
[01:05:37] carved out and being able to sort of
[01:05:40] bounce ideas often ask questions
[01:05:42] and sort of share experiences and
[01:05:47] so far I think it's just been
[01:05:50] beneficial to me and hopefully I've been
[01:05:53] beneficial to everyone else in the group.
[01:05:56] Yeah, for sure. So sign up there
[01:05:59] were closing up our second class,
[01:06:02] we had a first class about
[01:06:04] a year ago and we're adding
[01:06:06] a new group of people.
[01:06:07] So we've already got some joining.
[01:06:09] So, if you're interested
[01:06:11] now is the time to
[01:06:11] sign up and join us and
[01:06:13] we'll be closing that class
[01:06:16] out in the next
[01:06:17] coming weeks. So, sign up there.
[01:06:20] All right, we're gonna end up
[01:06:22] we're a little bit over
[01:06:23] so we'll see how we do
[01:06:24] here. So
[01:06:25] if you want to share your
[01:06:27] screen again, Kamille? Sure.
[01:06:29] We're gonna finish off
[01:06:31] with an audience question.
[01:06:35] Okay so,
[01:06:37] we've been gone for several
[01:06:38] months and so my problem
[01:06:39] was trying to figure out
[01:06:40] a question to answer
[01:06:42] and I've just chosen one
[01:06:44] for today, we had a question
[01:06:47] about base structure and I think
[01:06:52] this might be one of those
[01:06:53] things where Airtable
[01:06:55] might help and it might
[01:06:56] not, depending on
[01:06:57] you know, a hidden additional sort of item
[01:07:00] that's not really mentioned in this
[01:07:02] post.
[01:07:03] It involves categorizing a bunch
[01:07:05] of different zip codes into zones and then
[01:07:08] matching people to a particular
[01:07:11] zone based on their zip code.
[01:07:13] And another thing about adding a unique
[01:07:16] identifier for
[01:07:18] products. So,
[01:07:21] when I say I think this
[01:07:22] probably can be solved in Airtable,
[01:07:24] It depends on whether or not
[01:07:27] the base needs to auto match
[01:07:30] a zip code to his own based on proximity.
[01:07:34] So, using GIS or
[01:07:39] any sort of geographical analysis
[01:07:41] or if you have a list of zip codes and you
[01:07:45] already know what zone
[01:07:46] they're in then that's easy.
[01:07:47] So
[01:07:48] I've taken it to me that they
[01:07:50] sort of already know which
[01:07:52] zip codes belong in
[01:07:53] which zone.
[01:07:54] And I've sort of created
[01:07:56] just the bare bones of a
[01:07:58] base structure that sort of
[01:07:59] demonstrates what that is.
[01:08:01] So, they said they had eight zones.
[01:08:02] So, I put in just eight simpl
[01:08:05] e records for zones
[01:08:06] linking to a table full of zip codes.
[01:08:09] And I've just had a few zip codes
[01:08:12] filled in linking to which zone they're an
[01:08:15] and then now if I create really
[01:08:19] quickly just a table for something and
[01:08:25] then add
[01:08:27] a
[01:08:33] a field for what the zip code would be,
[01:08:40] I can add a look up field for
[01:08:42] what zone it's in.
[01:08:44] So, you can imagine if I'm
[01:08:46] putting in the address for 123
[01:08:50] big street or something and
[01:08:52] then I pick what my zip code
[01:08:53] is from my established
[01:08:55] list, then I can already
[01:08:57] pull in what the zone is.
[01:09:00] There's some caveats.
[01:09:02] If you're having people
[01:09:04] fill out a form for instance
[01:09:06] and their zip code isn't
[01:09:07] already in your base
[01:09:09] then they won't be able to
[01:09:11] add a new zip code.
[01:09:13] So, another option might be.
[01:09:18] If you have like a zip code default field.
[01:09:21] And let's make this a number because
[01:09:23] in the original base I set up
[01:09:25] all zip codes are using a number field.
[01:09:28] If I have one that isn't in there already,
[01:09:33] I think this one
[01:09:35] you can have
[01:09:37] your customers or whoever is
[01:09:39] filling out this information,
[01:09:42] fill out a table or
[01:09:43] fill out a form rather
[01:09:44] using the zip code default field
[01:09:46] and then set up an
[01:09:47] automation that will copy this
[01:09:49] field into this one which
[01:09:52] will create a new
[01:09:53] record in your zip codes base
[01:09:55] or zip codes table, and then you'd be
[01:09:57] able to assign the appropriate zone.
[01:09:59] So
[01:10:00] it's not
[01:10:02] ideal depending on the sort
[01:10:04] of specifics of the question being asked.
[01:10:07] But I think it gets you in sort of
[01:10:09] the right direction
[01:10:11] and allows you to kind of
[01:10:12] wrap your head around how
[01:10:14] the base might be structured
[01:10:15] Or at least how I would structure it.
[01:10:17] If I were starting from scratch.
[01:10:21] Very cool.
[01:10:22] And then lastly they had one
[01:10:26] question about adding a unique
[01:10:28] identifier or unique access code.
[01:10:30] By default all record record
[01:10:33] ideas for a table are unique.
[01:10:36] So, what I would do is just use
[01:10:38] some variation of the record ID.
[01:10:41] They all are prefixed with
[01:10:43] rec at the beginning.
[01:10:45] If you wanted to get rid of
[01:10:47] the beginning portion,
[01:10:48] you would just edit what
[01:10:50] this formula is. I have
[01:10:51] it just right now spitting out
[01:10:53] what the record ID is
[01:10:54] I would probably
[01:10:57] at a right function and I can't remember
[01:10:59] off the top of my head how many
[01:11:01] characters are in a record ID,
[01:11:03] I think it's 17 by default.
[01:11:05] So if I instead do
[01:11:07] the 14 right most characters
[01:11:09] you get rid of the
[01:11:11] rec at the front, and now you
[01:11:12] have a unique access code
[01:11:13] that will never be
[01:11:14] repeated. So,
[01:11:15] That one's the easy one to solve.
[01:11:18] Very cool.
[01:11:20] All right thank you
[01:11:22] Kamille for that, and for being
[01:11:26] with us again, we're excited
[01:11:29] to kick off another
[01:11:30] season of BuiltOnAir.
[01:11:32] We hope you join us next week
[01:11:34] and every week Tuesdays at
[01:11:35] 11 a.m. Eastern and we'll be with you.
[01:11:38] We hope to have many guests on joining us
[01:11:41] and learning more about Airtable together.
[01:11:44] So, until then we love to see what
[01:11:46] you guys are built OnAir and
[01:11:48] don't be afraid to shout out
[01:11:50] and let's know what you want to see next.
[01:11:53] Take care
[01:11:54] Bye, guys.