A clip from S25-E06 — BuiltOnAir Live 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.
CLIP VIDEO
Watch this clip from the show.
CLIP AUDIO
Listen to this clip, or add the show 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.
Start a FREE 14 Day Trial of On2Air Now
In This Clip
Kamille Parks demonstrates how to use the Model Context Protocol (MCP) to manage Airtable automations via Claude. She walks through updating an existing automation by adding placeholder email addresses to a notification step, showing how the AI can modify specific parameters while preserving existing context.
The demo also covers management tasks like deleting an automation and using the “undo” feature to revert actions. By leveraging action IDs tracked through the MCP, the AI can effectively restore what was previously deleted.
Finally, the segment explores creating new scheduled automations from scratch and exporting all base automations as JSON for auditing and configuration reviews.
⏱ In this cut:
- 01:58 — Updating an existing automation
- 06:52 — Deleting and undoing actions
- 08:36 — Creating new scheduled automations
- 16:11 — Exporting automations as JSON
Clip Transcription
The transcription for this clip can be found here:
Kamille Parks: I'm having technical difficulties all morning. Alli Alosa: Yeah. Kamille Parks: So I just had, I just went into Airtable, picked one of their existing templates, and it came in with, one automation. Kamille Parks: This is the second time I've talked about this Winnetbase that has one automation. Kamille Parks: But, what I'm about to go through is what you can do with automations and AI. Kamille Parks: Again, I use Claude personally. Kamille Parks: You could do this with, Gemini or whatever other model you want as long as you're connecting to Airtable's native MCP. Kamille Parks: And I'm gonna demo how it can pull information out of your existing automations, update an existing automation, and create new ones. Kamille Parks: So starting off with what is the use case that this came in with. Kamille Parks: It's, resource allocation. Kamille Parks: So, one of the things that I might steal eventually from Airtable's templates is the idea of having this page of these are the features of the app that you're on. Kamille Parks: So if you needed to know, like, how do I schedule things, it comes with, like, a a nice dash not not a dashboard, a gallery kinda overview of those things. Kamille Parks: But this is what it is included. Kamille Parks: Generally, person by person utilization over a time, a timeline, being able to track time off and who's working on what and when. Kamille Parks: That's what, is involved with this template. Kamille Parks: And I didn't modify anything else. Kamille Parks: This is the template presented as is. Kamille Parks: If I go back and look at my one automation, it's really just a status update notification. Kamille Parks: So whenever status is updated, it's supposed to email somebody that, the act whatever, like, project that was just updated its status. Kamille Parks: And the way that this template was configured, it doesn't know who to email. Kamille Parks: Right? Kamille Parks: So, the to option is blank. Kamille Parks: So that feels like a good opportunity to ask Claude to go in and make that update of fill in the to, to be, filled with whomever this is actually supposed to go to. Kamille Parks: In a real world use case, it could go several different ways. Kamille Parks: I have seen, project and resource allocation, implementations where you might have watchers for a project. Kamille Parks: So not the person who's assigned to do it, but people who are who are invested in the outcome. Kamille Parks: So you might say, pull in a value from a watcher field, and that's who it should go to. Kamille Parks: But there also might be a static list of stakeholders as well. Kamille Parks: So you might be able to just type in directly what their emails are. Kamille Parks: As Alli Alosa: well, so Kamille Parks: you might be able to just type in directly what their emails are. Kamille Parks: That kinda goes into use case specific decisions that you would make, but this isn't real. Kamille Parks: So, I'm going to say, and then before I did this, I've connected Airtable, the MCP to Claude using the native connector. Kamille Parks: So with that in mind, I'm going to say in the resource allocation base, please update the notification email to send to five fake email addresses. Kamille Parks: So I'm gonna see how that does. Kamille Parks: Can you tell me about more now? Kamille Parks: I did not reference that I'm talking about Airtable, so I'm gonna say Airtable. Kamille Parks: Yeah. Kamille Parks: I wanted to use placeholder emails. Kamille Parks: Again, this is not real. Kamille Parks: So, depending on your implementation, you might have set, the Airtable connector to ask you before, going forward with any of these specific actions. Kamille Parks: I'm going to, for the purposes of this demo, just keep saying allow once. Kamille Parks: But depending on who you are and what you're doing, you might have said, just do it. Kamille Parks: If I told you to do it, do it. Kamille Parks: I am a little bit more cautious, generally speaking, so you're gonna see me clicking allow once over and over again or until I get annoyed. Danny Fellars: Yep. Danny Fellars: Getting annoyed. Kamille Parks: Because it is key it keeps it keeps asking. Kamille Parks: So now, I'm gonna be reading out the explanation as I go. Kamille Parks: Now we'll update the automation send email node to add five placeholder test emails, preserving the existing subject message context. Kamille Parks: Great. Kamille Parks: Because I didn't tell you to update those. Kamille Parks: It says done. Kamille Parks: So let's go back and look. Kamille Parks: And would you look at that? Kamille Parks: It was truthful. Kamille Parks: Isn't that great when AI doesn't lie to you? Kamille Parks: So very simple example. Kamille Parks: In a real world, you would have known what emails to insert, but, it can update an existing thing within automations. Kamille Parks: Now this is different from interacting with interfaces where I found that it vastly prefers or perhaps is only capable of creating new pages versus editing existing. Kamille Parks: In automations, it is very capable at updating stuff that is already there. Kamille Parks: It didn't have to delete this send email action and replace it with a new one. Kamille Parks: It updated the one that was already there. Kamille Parks: And I'm going to be going through what it can and can't do. Kamille Parks: So generally speaking, when you create a new automation via the MCP, it's gonna come in as off. Kamille Parks: It does have the ability to delete an automation, but just like if you were to do it directly in the UI, it can't do it if the automation is already on. Kamille Parks: I'm pretty sure it can turn an automation off, but these are the things that I'm gonna be testing. Kamille Parks: So I'm gonna say looks good. Kamille Parks: Turn the automation on because I don't remember if it can do that. Kamille Parks: So this this is a test for me to see if it actually has that ability. Kamille Parks: Cool. Kamille Parks: So it it can't actually turn it on. Kamille Parks: So depending on how careful you are, if you're cautious like me, this is a good thing because I kinda want that level of control to say a human has to go in and say, turn this on. Kamille Parks: I'm gonna turn it back off, but I will say I don't need it anymore. Kamille Parks: Delete that automation. Kamille Parks: So because it asked, it obviously can, delete an automation. Kamille Parks: I'm gonna look and say, oh, wow. Kamille Parks: It's gone. Kamille Parks: Great. Kamille Parks: Actually, I'm very fickle today. Kamille Parks: I change my mind. Kamille Parks: Undo that. Kamille Parks: So this is what and we talked about this before when we sort of breezed over all of the MCP improvements. Kamille Parks: Revert is the same thing as undo, one of my favorite additions to the MCP because it's not going into the trash and pulling it out of the trash. Kamille Parks: That's not a tool. Kamille Parks: It is undoing a specific action. Kamille Parks: So behind the scenes, every time it's making a call against Airtable, it's tracking the, like, action ID, I think is what it's called. Kamille Parks: So when you ask it to undo something, it knows exactly which action you're talking about, assuming that you did it from Claude so it has, access to what that action ID is. Kamille Parks: So we can say I'm gonna take everything related to that action ID and revert it. Kamille Parks: So I'm gonna say, allow it once. Kamille Parks: It says it's undone. Kamille Parks: And would you look at that? Kamille Parks: Hey. Kamille Parks: It's back. Kamille Parks: So very high level example. Kamille Parks: It can't turn on an automation, but it can't update an existing one. Kamille Parks: It can delete an automation that is off, and it can undo any of those four things. Kamille Parks: So now I'm gonna say I need a new notification email similar to the first, but scheduled every Monday morning at 10AM. Kamille Parks: The, email should summarize tasks and be sent to all, yeah, the same emails in the first automation. Kamille Parks: Something like that. Kamille Parks: So I'm asking it to create a new automation. Kamille Parks: This is my next series of tests. Kamille Parks: It's gonna have a different trigger because I asked it to be scheduled versus when an, a record is updated. Kamille Parks: So it's probably gonna do some thinking, and it's likely gonna ask me, several times to allow it to do something. Kamille Parks: So I'm gonna be ready to do that. Kamille Parks: But, what I found is that, basically, all of the Airtable triggers except for webhook, it's really good at setting those up. Kamille Parks: The other, triggers, I haven't tested. Kamille Parks: So if you read the documentation, Airtable says it mostly works with the other ones, but that doesn't really tell me anything. Kamille Parks: That's probably more, in-depth investigation that I'd probably have to do to really know what it can't do. Kamille Parks: For the Airtable, based triggers and actions, I have a relatively good handle of what it can and can't do. Kamille Parks: The biggest one, obviously, we've already mentioned it is that it can't touch, scripted actions. Kamille Parks: They did say that, that's on its way. Kamille Parks: So it says that it has completed, which is a nice summary. Kamille Parks: So this is this is kinda helpful information, I guess, for people who aren't aware. Kamille Parks: I'm gonna go and look at that actual automation. Kamille Parks: So, Airtable, when you select the time in an automation, it and it does say this up here. Kamille Parks: It's your local time zone. Kamille Parks: So Airtable knows that I'm in Pacific. Kamille Parks: That's my time zone. Kamille Parks: That's what the 10AM is referencing, and that's what Claude is trying to explain to me. Kamille Parks: So, basically, this is its summary of what it attempted to do, and I'm gonna go and review it. Kamille Parks: So Monday at 10AM, that's what I said to do. Kamille Parks: Get all tasks. Kamille Parks: Great. Kamille Parks: This is the same email addresses. Kamille Parks: Great. Kamille Parks: And then here's your weekly task summary with the list of records. Kamille Parks: So this is great because it does show that it's able to pull a very, action specific parameter that you can pull. Kamille Parks: The list of records right isn't available on every single, action that's available within Airtable. Kamille Parks: It is kind it's not specific to you, but it's mostly associated with the find record step. Kamille Parks: It was able to insert that. Kamille Parks: So I'm just gonna look really quickly to see what it included, everything, because I didn't really give it any instructions. Kamille Parks: So now I'm gonna test that a little bit and say let's say I want the task, the status, and the assignee as the only, fields visible. Kamille Parks: So update the email list to only only show the task, the assignee, and status. Kamille Parks: And, again, I'm expecting it to ask me to do this. Danny Fellars: Yeah. Danny Fellars: I'm trying to think what else. Kamille Parks: I'm not sure if we'll have time, but I have tested it with conditional groups and, repeat repeated actions. Kamille Parks: It was able to do that just fine. Kamille Parks: But that does kind of get to the MCP and whatever tool you're using. Kamille Parks: Again, I'm using Claude, are only as good as what your prompt is. Kamille Parks: So the more specific you are, the better it's going to be at doing some of those more advanced things like nested logic. Kamille Parks: You gotta be real upfront about what you actually want. Kamille Parks: Otherwise, you know, it's gonna start guessing, and it might guess wrong. Kamille Parks: So I'm gonna edit this token. Kamille Parks: And would you look at that task assignee and status? Danny Fellars: That's cool because at the data layer, you can't get nitty gritty with, like, configuration of formatting fields. Danny Fellars: So that's cool they've taken they've gone that level with automations. Kamille Parks: Yeah. Kamille Parks: And this is really annoying, to update, just generally speaking. Kamille Parks: So, like, I can see a world where you would have, I develop skills for things that I have to do repeatedly, with AI. Kamille Parks: And I might say as part of my skill, these are my core fields that I care about. Kamille Parks: And by default, include these core fields and nothing else. Kamille Parks: And if you add that as part of your workflow, then the MCP would have been told upfront, just include these three fields because that's part of the general instructions that, I would have given Claude versus me having to go back and make that clarification. Kamille Parks: But that kinda gets more into how do you use AI efficiently in your day to day and less to do with Airtable specifically. Kamille Parks: So, you know, in a my original, overview of this, I was basically like, I really have no notes other than I'm patiently waiting for the run a script action. Kamille Parks: It's pretty good. Kamille Parks: There's a couple of things that it can't really do. Kamille Parks: Like, if you need it to run a test, I don't think it can run tests. Kamille Parks: I think if you turn the automation on and then tell AI to, force that trigger, I can't force time to pass. Kamille Parks: So this isn't a good example. Kamille Parks: But I could tell it to update the status of a of a record, and it would trigger this, automation. Kamille Parks: I can't tell it to do this thing, the test portion. Kamille Parks: This is contrary kind of to informs. Kamille Parks: You can tell the MCP to submit a form, which is very cool, but, we don't have time for that. Danny Fellars: Yep. Danny Fellars: That's cool. Danny Fellars: You can see if everything in Airtable was, like, configurable through the MCP like that, that opens up the platform significantly. Danny Fellars: So this is a huge step in that direction. Danny Fellars: We'll see if it continues down this path, what the new owners will do with it. Kamille Parks: The last thing I'm doing is, the same thing I did previously in a earlier episode. Kamille Parks: It's just saying give me all of the base's automations as JSON. Kamille Parks: It's gonna think a little bit about that, before it outputs as soon as I give it permission. Kamille Parks: So here we are. Kamille Parks: So this is gonna come in as an array, and, again, the find record step is gonna be in there. Kamille Parks: It's gonna include what the filter is, but the filter notation is gonna take time for me to learn. Kamille Parks: Otherwise, you can see with the first automation because it is so simple. Kamille Parks: It's really just sort of sending that email. Kamille Parks: You can you can see most of the information that you would need to pull at a glance, the name, the description. Kamille Parks: It can update descriptions, as it goes. Kamille Parks: Undeployed means it's off. Kamille Parks: And then I do like that it says configuration status valid, versus I'm assuming invalid because every now and again, I could see if you, if your job is to maintain Airtable bases. Kamille Parks: Right? Kamille Parks: You might wanna have a weekly report of give me all of the automations in my bases that have something wrong with them. Kamille Parks: And that could be something like if your trigger is when the status field is updated and then you delete the status field, it's gonna be like, well, there's something wrong with this automation. Kamille Parks: That's an example. Kamille Parks: Yeah. Kamille Parks: Things like that would, cause that to say not valid, but invalid. Kamille Parks: And then if you're curious about how it stores time, this is how. Kamille Parks: So I chose Monday as the day. Kamille Parks: Monday is one. Kamille Parks: Sunday is zero. Kamille Parks: And then these are, in the twenty four hour clock. Danny Fellars: Okay. Danny Fellars: I've got a question. Alli Alosa: I don't Kamille Parks: know what width is, but go ahead. Kamille Parks: Sorry. Danny Fellars: Yeah. Danny Fellars: Wait. Danny Fellars: If you go back to your automation and you turn it on Yep. Danny Fellars: And then you make a change to it, but you don't click the update button. Danny Fellars: Mhmm. Danny Fellars: I wonder what version it gives you through the MCP. Danny Fellars: Does it give you the published version or the the unpublished state? Alli Alosa: Maybe it gives a a intermediary state of pending update. Alli Alosa: I found a pretty awesome JSON viewer that was free the other day that I've been using a lot, called Dadroid. Danny Fellars: Dadroid? Danny Fellars: I don't know. Danny Fellars: I use online jsoneditor.org. Danny Fellars: Alright. Danny Fellars: Cool. Danny Fellars: I've tried that a bunch. Kamille Parks: Yeah. Kamille Parks: There's, you know, obviously, this is great to see if you have two automations like I do. Kamille Parks: If you have more, this is gonna be real annoying to look at. Kamille Parks: So having a a JSON viewer is pretty important. Kamille Parks: So so I don't know. Kamille Parks: It was able to know which one I didn't tell it which one I changed. Kamille Parks: So I think it hold on. Kamille Parks: How Danny Fellars: So let's see. Danny Fellars: There has test four. Danny Fellars: So it doesn't have the Oh, wait. Danny Fellars: The I Kamille Parks: Yeah. Kamille Parks: I think this is this might I don't know if this is the exact output out of the API call behind the scenes of, like, get automations or if this is Claude adding to the output for my benefit because I asked it. Kamille Parks: But, like, this two array, that's not in that's not up here if I were to look within the body of this automation. Kamille Parks: So I am curious, but it does say deployed version versus draft. Kamille Parks: So, at the very least, it is useful in that as separate objects, you have the ability to compare and contrast because we're running out of time now. Kamille Parks: But I could then go say, what is the difference between draft and deployed? Kamille Parks: Summarize that for me because I don't wanna read through this. Kamille Parks: Right? Danny Fellars: Right. Danny Fellars: Yeah. Danny Fellars: That's interesting. Danny Fellars: Okay. Danny Fellars: So it gives you both. Alli Alosa: Mhmm. Danny Fellars: So you have to okay. Danny Fellars: So those are not unique. Danny Fellars: Or is it within the same automation object, or is it counted as, like, through automation? Kamille Parks: It's within the same automation. Kamille Parks: So, yeah. Kamille Parks: Key Yes. Kamille Parks: Gotcha. Kamille Parks: Draft is a key or parameter of the first automation in this array. Kamille Parks: So and then if I keep scrolling down, this is where a JSON viewer would be helpful. Kamille Parks: Deploy version is another key in that. Kamille Parks: And then we've talked about this before. Kamille Parks: Trigger is separate from nodes. Kamille Parks: So nodes is the individual steps within the automation. Kamille Parks: In this case, there's only one step. Kamille Parks: The trigger is always its own separate object. Danny Fellars: Yeah. Danny Fellars: Gotcha. Danny Fellars: Very cool. Danny Fellars: Okay. Danny Fellars: So, yeah, anything that has a a a modified version as a draft would show up within that node. Kamille Parks: Yep. Kamille Parks: My next series of tests would be, I'm gonna mess an automation up on purpose and then see how the errors come in through reviewing what, the JSON is and just say, summarize for me what's wrong with this automation. Kamille Parks: Because imagine if this were a longer automation that did a lot of things and one field is used all over the place. Kamille Parks: Just tell me all the places I need to update. Danny Fellars: Yeah. Danny Fellars: Cool. Danny Fellars: We're up on time, but this is very useful, very powerful way. Danny Fellars: I'm gonna start using this instead of manual process of creating automations as much as possible, and can't wait for the full build out of scripts. Kamille Parks: At at the very least, it is very good at documenting each step. Kamille Parks: Like, the automation it created came in with a description, something I never do. Kamille Parks: So that's what I'm using it for. Danny Fellars: Yep. Danny Fellars: Very cool. Danny Fellars: Thank you. Danny Fellars: Thank you, Ali and Kamille, for those deep dives, and we'll be back next week with another deep dive episode.