AI agents are everywhere, and their promise is super alluring. Can I replace the grunt work of my life with a friendly little chatbot or automation? We don’t really know yet. But I like to play around with new bits of tech and build something, even if it’s not particularly useful, so that 6 months later when an actual use case comes up I know roughly what can and can’t be done.
There’s loads of AI Agent-y type tools out there now, I’ve played a lot with Gumloop (“AI Automation Framework”) and BuildShip (“Visual Low-code Backend Editor”), both are great. They offer a nocode workflow type interface with AI at their core. But, recently Zapier announced their AI Agents feature, and it has a generous free plan (for now), so I thought I’d build My First AI Agent there.
My understanding of AI agents is that it’s a bit like a general AI chatbot (eg ChatGPT), but
Built around a specific task
Able to talk to a specific dataset to boost its understanding
Able to perform actions, rather than just tell you what it thinks
There’s perhaps some further requirements for purists which I’ll talk about at the end.
Customer support is a great example - point your agent to a documentation wiki, tell it to use colloquialisms and occasionally misspell things, and voila, you have a 24 / 7 chatbot that feels “human”.
My first agent
I host some meetups, which means unfortunately I also need to market them. It’s not a task I particularly enjoy, just a means to an end: being in a room with some people who share common interests with me.
I thought I’d make a bot to help with that - I have a Slack based nocode community, and an Airtable with all the information about upcoming events. What if I could automate a way to tell people about what’s coming up?
So let’s make something.
Zapier’s interface is really intuitive, it’s easy to find the Agent section, and you can either use a template or build something from scratch.
Once you’ve made your agent, you can assign it “Behaviours” - these are how you tell your agent what to do.
You have 4 things to play around with when creating Behaviours.:
The Trigger - what causes the agent to act? It could be from within another app (eg a task within Asana), or it could be Zapier’s chrome extension, or maybe it just happens once a week.
The Instructions - written in plain English. This is your prompt. What should the agent do?
Data Sources - What information should the agent use to reply? Is it a spreadsheet of structured data, or a Notion page that contains documentation? Or how about a PDF?
Actions - What should the agent do? Should it update a spreadsheet? Send an email? Turn on your washing machine? All is possible.
Let’s look at configuring each of these in turn.
For the Trigger, I wanted the workflow to happen once a week, on a Monday morning at 9:30. That way people would know what events are coming up each week.
Instructions
I’m not great at writing these - I’m still learning what works and what doesn’t. But what you see below is the result of a bunch of iteration on the prompt - the output kept being close to what I wanted, but not quite right. My top tip is use words like “Thusly”.
You’ll notice the Data Sources and Actions are built into the prompt - I’ll explain those below.
Data Sources
Zapier can easily plug in to a bunch of different tools natively - you could ask it to refer to Google Sheets, Sharepoint, HubSpot, etc. in its response. I don’t have a huge data resource to refer to, but I thought I’d use my simple Airtable I manage my nocode events with, as it contains all the data required.
This is a pretty limiting factor when it comes to experimentation. I’d love to see how this kind of thing works in eg HubSpot where there are millions of data points to refer to.
Once you’ve got a data source, you simply add it into the prompt, as shown above.
Actions
Lastly, what do you want the agent to do with its output? There’s a fairly limited list of options here, but you can do stuff like
Update a spreadsheet
Send an email
Create / update a calendar invite
Post a message in Slack
But I guess if you wanted to, you could daisy-chain this action to pretty much any other action (like your washing machine) by doing something like updating a spreadsheet and using a Zap to carry on that action somewhere else (unconfirmed assumption here).
I asked the agent to post a message into a public Slack channel in my nocode group.
And that’s it! A little bit of testing and iterating on the prompt, it’s roughly where I want it:
There you have it, my first agent. This is a super basic use case, but it’s good to get started. I know this could have been built without AI, via a formula in Airtable or some kind of Zapier function. But the point is to try stuff out and see what works, and hopefully this is inspiring for you to try it out, too.
One last thing. Was this actually an agent? It was built with Zapier’s agent builder, does that automatically grant it access to the agent club? Or is it just a fancy workflow? I mentioned other requirements of an agent - I think there’s an argument that they also need to 1) handle unexpected inputs and 2) learn over time, which right now this isn’t really doing. Handling unexpected inputs can be managed in the instructions for something this basic (“If there’s no events, don’t post anything!”) but perhaps needs more thought for anything my complex. And in terms of learning over the time, that it definitely ain’t doing. Ideally you’d build some kind of feedback loop into it for users to comment / suggest changes, but that simply isn’t necessary for this use case.
Anyway, have fun building.