I Built a New AI System in 3 Hours (and got paid $1650)

nateherk Q4iEslmyMyM Watch on YouTube Published January 06, 2026
Scored
Duration
29:38
Views
21,518
Likes
637

Scores

Composite
0.60
Freshness
0.04
Quality
0.90
Relevance
1.00
8,176 words Language: en Auto-generated

So, I built an AI workflow in just three hours, and someone actually paid me 1,650 bucks for it. It wasn't anything too complex or advanced. In fact, I actually built this with very little experience in and it end. And honestly, if I rebuilt it today, it would probably take me 30 minutes max. So, in this video, I'm not only going to build it in front of you, but we'll also walk through what the agent does, why someone paid me for it, what I'd do differently today, and how I'd sell my first AI workflow if I was starting from zero today. So, what workflow did I end up selling, and how do we go about building it? Well, it was actually one of the most common requests that I was getting when I first started building an end, which was some sort of email system because everyone likes to manage their inbox a little bit differently, but it's super important. So, I've got an Excalibraw here, and we're going to go over kind of at a high level what the system does, and then we'll hop into Nitn and actually see how it works. So, this is kind of a two-part system. The first piece on this lefth hand side was your typical kind of like inbox routing agent. So, this was triggered whenever the client received a new email in their inbox, as you can see. And before we even use any AI, we just did a really simple check to see if the sender of the email was an internal email. And if it was, it would automatically just shoot him a Slack DM and send that over in his Slack. But if it was any other sort of email, it would come down here to an AI node, which would classify the type of email based on finance opportunities or sales and a few other categories, but I just wanted to break it down a little bit more simply in this wireframe. So then really all it would do is it would label the email and then it would log all of these outputs in a nice clean sheet that he could look at to see and actually keep track of the emails coming in. And so that part was super easy, pretty deterministic and not too difficult to build out. And then we move over here to the second part which was more of almost his kind of personal email assistant which he could talk to in Slack. It could get emails for him and it could also draft emails for him by looking through his contacts. And what was really important is that all of the drafts that were being made here sounded like him. So what we actually did is we had two tools and then a subworkflow. So the git email tool basically just could search through his emails and filter by date or by sender things like that. We of course had contacts. In this case he used Google contacts in order to pull back the email addresses of the people that he wants to email or if he wants to pull emails so that he can search for emails from those people. And then for the drafting agent, what we did is we actually had a subworkflow that basically captured the information as far as, hey, draft an email about this to this person and we fed that to a specialized AI agent in the subflow because then we could feed in a bunch of the context as far as like this is who you are, this is how you speak, this is the type of language you use and then shoot off the actual draft instead of having this main agent take care of all that. And I'll explain that a little bit deeper when we get into Nit, which we're about to, and explain why I decided to architect the solution in this way. Okay, so I'm not actually going to build out the inbox manager part because it's kind of a boring build and I've done like a full course on it before, which is kind of what we're looking at right here. So, if you're interested in checking out how you can do that piece, then I will tag the full video right up here and you can go watch that and then hop back over here and we're going to build out the actual inbox kind of like assistant piece of it now where we talk to it in Slack. So, I got the boring stuff out of the way already. I set up the incoming Slack trigger and I set up the response back to Slack. And you can see that we just tested this out by asking the AI agent, "Tell me a story about a boy who got sick because he ate too much ice cream." and we got the response back in Slack. And if I hop over here, you can see that we basically said, "Hey, at Herkbot, tell me a story." And then Herkbot responds with that information. So that's kind of the way that we're going to be talking to Naden and having Nadnen talk back to us here in Slack as the interface. Okay, so let's just get started with the get email tool. So at this point, we already have our chat model, we have our memory, and we have the actual kind of like interface. But you can see that there's no system prompt in here yet. So what I'm going to do is I'm going to add a tool. We're going to grab a Gmail tool. And what we want to do here is we want to change up the operation in the resource because we're not sending a message. What we want to do is get many messages back, but we don't just want to return all of them. We want to have certain filters set up. So this is really, really easy. All I have to do is click on add filter and then we can choose the different filters that we want to include in this tool. So the client said that he would love the ability to say, "Hey, let me just take a look at all my emails from today or all my emails from December 19th or all my emails from the past 2 weeks from Nate or whatever it this. So the three filters that we did here were received after, we did received before so that we could specify a time frame, and then we also did sender. And the sender could either be the email address or part of a sender name. So it's a little bit dynamic here. And what's also nice is that we don't have to actually fill all three of these out. So if we just did a search for emails from the past week and we left sender blank, it would still work. So anyways, from here, what I do is really, really simple. I just click on this button three times. So bam, bam, bam. And that basically means, okay, the AI agent is the one that's going to decide what these parameters are. So based on our natural language request, it will fill in those parameters by itself. So let me show you guys what I mean by that. So before I even give this agent a system prompt, you can see there's nothing in here and we didn't even change the name of this tool, let's see if it's intelligent enough to actually use those parameters already. So if I come into Slack and I message the Herkbots and I say, "Hey, can you give my emails from the past week?" We'll shoot that off. We will watch the end agent grab that message, start to understand and think through its chat model, and then hopefully query the tool. Keep in mind there's no system prompt in here which we will add in in a second, but I just wanted to show you guys how the agent is able to intelligently fill in those parameters in this get many messages in Gmail tool. Okay, so that just finished up. You can see that we got 50 items back from this tool. We got the message back in Slack. So if I hop back into Slack, we can see that the Hurtbot said, "I pulled your messages from the past week. Below are the most recent items I can find." And then it basically just does a really really quick summary of all of these items. So we've verified that it understands how to use the tool. But now we have to examine it a little bit closer. So if I click into the tool, you can see a couple things are going on. The first thing is on the left hand side, we can see the way that it filled out the parameters. So right here we can see received after was 2025 1216 which was a week ago and then received before was 2025 122 24 which is tomorrow. So it's basically saying all emails from today and then all the way back to a week ago and it left the sender blank because we didn't have a sender parameter. So that's how this tool works. Now, one thing that I do want to show you guys is that right now we have this option called simplify toggled on. And that's not good because if we actually go examine one of the emails, for example, this first one, you can see that it's giving us an email snippet. So, the email gets cut off after a certain amount of characters, which is not good because if we wanted to actually summarize an email or get, you know, the full content of an email pulled back, we would only be seeing a snippet. So, we're going to go ahead and turn off this option that says simplify. I'm going to go ahead and save this workflow. And now, I'm going to ask for a specific email and see if it can pull back the whole thing. So, back in Slack, I'm going to ask the Herkbot to get my email from today from Nate. And I'm just going to say Nate. I'm not giving it an email address. I'm not giving the full name. And hopefully, it's going to search this Gmail tool for today's date. And it's going to search for sender Nate. And we should be able to pull back the full content of the actual body of the email. Okay. So, that just finished up. We'll hop back into Slack. And we can see that we got the email from Nate Hkelman. Here's the subject. Here's the date. And then, and this is today's date, by the way. And then we got the exact full body text rather than just a snippet. So now we know that that tool is working once again without even having a system prompt. But now we're going to chuck in the system prompt and we're going to add the get contact tool. Okay. So that's actually really interesting because I just realized we didn't have a system prompt in there. So previously it didn't actually know the current date and time or I don't know exactly how it knew that. I think it maybe had a little bit of like embedded memory because of our simple memory tool and that's why it kind of knew what today's date was. But either way I'm not going to read this entire system prompt. You can go ahead and like pause this and read through all of it if you want to, but I'm just going to call out a few of the things that I put in here that are I think the most important to understand. Okay, so obviously one of the first things is every agent I always go ahead and throw in at the bottom. Here's the current date and time because why would you not want your agent to know the current date and time? But anyways, at the top we've got kind of the overview. You are an inbox manager AI agent. Your job is to help the user find specific emails using the get emails tool and draft emails when requested by calling the writer agent tool. Your core responsibilities are to understand what emails the user is trying to find. Translate the request into search parameters, call the get emails tool, return a short, clear summary of matching emails, and if the user asks to draft or reply to an email, you delegate that to the writer agent. And before drafting an email, or if you ever need to find an email address, use the get contact tool. So, now that you guys understand kind of those core responsibilities, let's actually add in those next tools. So, first of all, I'm just going to go ahead and rename this one get emails because that's what we had it called in the system prompt. The next thing I'm going to do is we're going to add a Google contacts tool. And this is super simple. You'll pretty much just be able to sign in and authenticate. And then all we want to do is change this to get many contacts. And then instead of doing return all or a specific limit, we're going to do use query. And we're also going to set the fields to whatever fields you want. In this case, we just needed to pull back email addresses. This is basically saying once I find a contact, what do you want to see from them? And we just want to see email addresses. But then for the query, it's really simple. We are just going to be searching for the name and then we'll get the email address pulled back. If I hop over to the actual Google contacts that we have in this example, we've only got four. So we've got Dexter Morgan, John Doe, Michael Scott, and Nate Herk. So what you could do is you could just every time have this tool pull all of the contacts back. That's fine. But the only issue is as your contact database scales, you need more of an intelligent way to filter through them. And so this is a bit more of a scalable solution from day one. And we're going to do the exact same thing. We're going to let the AI agent decide how to fill in this parameter. So, I basically just said, "Okay, the model can understand." But what you can also do for a little bit extra specificity is to add a description. So, I'm just going to add a description and say the name of the contact. So, then the agent knows exactly what this tool does. I'm also going to rename this tool get contacts. We'll go ahead and give this a save. And then we'll just test out in Slack to see if it can actually search through and give us those email addresses back. All right. So, in Slack, I'm asking if Herkbot can get Michael and Dexter's email addresses. It just received that message and we should see it grabbing those emails from this tool. And if we click into here, we can see that on the first run, if we go to one out of one, it filled out the query name as Michael down here. And then if we go to number two, it filled out the query name as Dexter. And that's where on the right hand side, you can see the first time we got back at dm.com. And the second time we got back dextermiami.com. And in Slack, you can see that's exactly what our agent is able to respond to us with. All right. So now we've seen how the get contacts tool works. We've seen how the get emails tool works. But now what we need to see is how we can actually create that second agent, that subworkflow to draft emails in my tone of voice or the client's tone of voice or whoever's tone of voice that you want to mimic here. All right. So to do that, I'm going to open up a new workflow. We're going to start from scratch. And what we know is that this workflow has to start with a specific trigger, which is a when executed by another workflow. So execute subworkflow. And then the trigger is when executed by another workflow. So this first part is where we set up what data will this subworkflow receive. And all we really need is we need a prompt about what is the email about and then we need the contact the email address to actually send it to or to draft it to. So in this node what I'm going to do is do define using fields below and we have to add those fields. So the first field I'm going to add is just we'll just call it prompt. And then the second field we're going to add is contact or recipient or whatever is more intuitive to you. We're going to do prompt and contact. So what I like to do in this case is I like to fill this in with mock data that we can use to push through the rest of the workflow and just test things out. So the way that I can do that is I can click on this pencil and I can basically just customize this JSON body to give us these fields that we want. So we would be looking at prompt like I said and contact. Okay. So here's our mock data. As you can see we've got prompt which is to write an email to Mike letting him know that you're going to be late to a meeting. And then the contact is Mike at DM. So all I did here is I just simulated as if this workflow was called on by parent workflow just so we can test out and build the rest of this flow. So from here what I want to do next is I want to give that data to an AI to actually craft that message. Once again, sounding like me in this case. So, I'm going to add a next step and I'm going to add an AI agent. You could also use just like a messenger model or a basic chain. But as far as like keeping things consistent, I just like to use an AI agent. What I'm going to do is I'm going to grab my favorite model for writing emails or writing content, which is going to be a Claude Sonnet model. So, I'm going to do 3.7 in this case. We'll just stick with 3.7. The first thing to think about is if we jump ahead a little bit and we think about what comes next as far as drafting an email. If I go to draft a message, which is create a draft right here, we have to send a subject and a message. So we already kind of understand that this is going to be split into two fields. So in order to kind of make sure that that happens, we have to go into our agent and we have to require a specific output format, which opened up this extra little section called output parser. And that lets us connect an output parser so that the agent doesn't just output one field called output, but we can control the schema that it outputs. So what I'm going to do real quick is add an output parser. We're going to do a structured output parser. And instead of generating from a JSON example, I'm going to define using JSON schema. And I'm going to paste in the schema, which basically says that we want this agent to output an object with two properties, subject and email. And subject is a string. It means the subject line of an email. And then email is also a string. And it means the body content of the email. So now our agent will be outputting those two things rather than just one body. It's not really crucial that our agent has memory. It's not really important that the agent has tools. It's basically just going to be writing output for us. Okay. So now for the actual system prompt of the AI agent, how did I determine that I wanted to use system prompting for the writing style rather than giving it access to a big vector database of emails or something like that. So the way that I think about it is that the system prompt is for defining behavior and defining instructions and the role. Examples and stuff like that are for pulling in extra information that you may need. if you had like policies and things like that or, you know, you might have to write emails about this current project or my current to-dos, that's where you'd want to have a tool that could give access to like your ClickUp space or your CRM or something like that to make sure that the emails are enriched with real information. But when it comes to just the writing style and the tone of voice, I think that kind of stuff belongs in the system prompt. And so the way that I actually did this in practice was I said, "Hey, Mr. Client, can I please have like 50 to 100 of your emails, just emails that you've written to stakeholders, to your internal team members, to whatever it is." And I was able to feed those all into an AI model and have it create a writing guide. So it basically would analyze common phrases, the type of, you know, speaking as far as how professional, what type of words, things like that. And then also a bunch of examples in the system prompt itself. And that's a really good way to give the agent an idea of how it should be writing. Now, there is an element of monitoring it and having the client, you know, talk to this agent a lot and having it draft a lot of messages and then give me feedback on things that he did like about it or didn't like about it. And it is obviously an iterative process, but I see a lot of people try to chuck like hundreds of emails in a vector database and then just expect if the agent's hooked up to that that it should be able to write like whatever's in the database. And that just doesn't really work too well. Examples are great, but you need like a style guide and you need to understand the tone. So, let me just paste in this example style guide that I got here and we can just go over a few of the elements that I think are pretty important to look at. So, we start off up here with you are the Nate writing style agent. Your job is to draft emails that sound exactly like Nate wrote them. Super clear. You have been trained on hundreds of Nate's real emails and your role is to consolidate his writing patterns, tone, phrasing, blah blah blah. So, the core identity, we gave the identity here. The medium is going to be email. We've got a goal and a default stance. We go over the overall tone and maybe some things to avoid. We go over how to be concise. We go over the typical email structure, common openings, common phrasing, signoffs, things like that. And then this is where at the bottom you could also give a few examples of emails that you typically like to write. And maybe it could even vary based on if the emails are going to be external or going to be internal. and things like that as well. All right, so anyways, let's just test out an output and see what we get back. But the first thing you'll notice is that the agent isn't actually looking at anything because it's looking for a prompt in the connected chat trigger node, which as you can see does not exist. So what we have to do is change this to define below and this becomes a fixed parameter box and we want to change that to an expression and we want to drag over the prompt that the parent workflow is sending us here and we put that right in there. And now that it can see that dynamic variable and it can read its system prompt. Let's go ahead and execute this step. And let's see what type of email we get back. And hopefully once again it needs to be in two pieces. As you can see, we've got the subject and we've got the email. So for the subject we got running late for our meeting. And for the email we've got, "Hi Mike, I'm going to be about 15 minutes late to our meeting. My pet monkey managed to fall down the fire escape and I need to sort this out quickly. We can still cover everything in the time we have left or I'm happy to reschedule if that works best for you. Cheers, Nate." So from there, what we would do is we would hook up those outputs to the create a draft node and we would basically just drag in the subject right here. We would drag in the email right there. And now we have to utilize the contact that was sent over to us earlier. So the way that you do this in this node is you basically go down here to options and you add a two email. I'm not exactly sure why, otherwise it would just put a draft in your inbox and there would be no two, but we can go ahead and add the two by dragging it over there. You can see there are some other options that we could add like sending replies to some people or adding a thread ID. what replies or drafts in a message thread, attachments, BCC, things like that. But this is how we kept it simple in this example. So after the agent would grab that information, craft the email, send it over as a draft, and we'll hit play on this. What we have to do is basically just configure what does the main workflow then see because basically it looks at the output of that last node. So what you could is you could just give it this output and this is what it would see. But what I like to do is I like to just have our agents talk to each other a little bit better. So, I'm going to grab a set node, and I'm basically just going to output a message called output that says the draft has been sent. And this is what the main parent workflow will see whenever it calls on this subflow to send a draft, and then it gets this message back. So, it's just a lot more polite this way. All right, so let's go ahead and unpin this data. Save this workflow. We have to publish it in order for it to be accessible to our main workflow. So, I'm going to publish it real quick. All right, now that that workflow is published, let's hook it up to our parent agent here. So, I'm going to add a tool, and that's going to be a call end workflow tool. And what we have to do is choose the one that we just made, which was draft email subflow. And when we click on it, you can see that we have two inputs to send over. We have the prompt and we have the contact. And once again, what I'm going to do is just click on these two buttons so that the AI agent decides how to send that information over. We also have the option to add a description. And I like to usually define what those workflow inputs are in the description. So I'm just going to say, call this tool to draft an email. you must send over the prompt for what the email should be talking about, as well as the contact, which is the email address of the person that we're drafting the email to. And so, now that we've got that description in there, we're just going to go ahead and give it a full run and see if it's able to draft that email for us. All right, so I'm shooting off a message which says, "Draft an email to Dexter telling him to run and hide because they're on to him." So, here comes the email into or sorry, here comes a message into Nitn. The agent's going to look at it. What we should see happen is that it grabs Dexter's contact information from the tool and then it sends that email address as well as the prompt. Okay, so looks like we got a message back. Now, what I'm imagining happened is that it's asking a clarification question. All right, well that's what I get for trying to be funny. We're going to send off another one that says, "Okay, fine. Draft an email to John letting him know that there's a huge sale on Boots, 84% off." So John's a big fan of Boots. But what we've got here is now it should search the contacts as you can see for John's email. And then it's going to shoot that over to the writing agent and hopefully we configured everything correctly in that writing agent and it should be able to actually send that draft. So before we look at the response in Slack, I just wanted to show you guys if I click into the writer agent, we get the output that says the draft has been sent just like we configured. And if we go to the get contacts tool, we should see right here that we got John@acample.com. So back in Slack, we can see done. I found John's email which was John@acample.com and I had a draft sent to him telling him about the 84% off boot sale. So here's the execution of that subflow. You can see that what's sent over was draft a friendly email to John letting him know that there's a sale on boots right now. Sign off with best Nate. We got the contact which was John@acample.com. It heads over here to the AI agent and then it basically outputs that email and then we send that draft over here in our Gmail. And you can see here in my email drafts we've got this one right here which is a boot sale 84% off. Hi John, just wanted to give you a heads up about the boot sale. And so one thing actually that's pretty interesting to keep note of here is that it signed off with best Nate. And it did that because in here when it sent over that prompt, it said keep it short and casual. Sign off with best Nate, which kind of overrode our system prompt because in here what you can see is at the bottom I told it to always sign off with shears Nate and it says do not vary this unless explicitly instructed otherwise. So that's why it kind of overrode itself there. And so that just goes to show that the more times you have AI interacting with AI, you have to prompt it a lot more and you have to just understand that there is going to be more randomness. And of course, there's lots of ways that I would want to then expand and optimize on top of the system. Like one thing that we actually implemented after this V1 was we then decided, okay, sometimes it actually gets the contact wrong and then it creates that draft. So, what I love to do is add some sort of human in the loop feature so that before it ever drafts anything or chooses a contact to draft an email to, we go ahead and say, "Hey, this is what I'm going to send off. Does that look okay?" And of course, there's still not much risk because a draft is just a draft. And I would probably never push a system like this into production that would auto send off emails. I think that that would be a little bit risky. like I said with AI, but there's always ways, of course, that you can iterate upon your workflow after you've exposed it to some feedback and actually, you know, put it into a real workflow kind of day-to-day use over some time. Okay, so there's real quick a few things that I wanted to hit on about the actual build here and it's just the fact that if I was starting right now and I didn't have any clients yet, I don't think that I would go try to sell this solution. And there's a few reasons for that. The first one is because Gmail, Outlook, all of these kind of main email providers, I think they're going to start naturally having a lot of this AI capability inside the platform itself. And so, especially if you're trying to build some sort of like, you know, software as a service, this might not be one that you want to go after because you want to think about things like what will always be around and what types of things might be replaced. Now, of course, there's a lot of this custom element over here of like the way that the client might like to have things drafted or the way he might want to interact with his emails, and that's not too bad. But in the past eight months from when I built the solution and where we are now, we've already seen a lot of advancements in kind of like the email automation game. And the second thing, and this is honestly more important right now to me, is the idea of quick wins and scalable automations when you're getting started with a client. And what I mean by that is when I would first start with a client, really, I'd rather build a system that is much less reliant on AI and something that's a bit more scalable. So, we already saw that one element where this agent sent over a prompt that overrode this AI. So, we have two AIs talking to each other, which increases the likelihood of some sort of error. It also, of course, increases the cost because every time this agent runs, it reads its system prompt and it reads all the emails and that cost tokens. which is why I decided to shove the writing style stuff in a separate flow because then I could use kind of like different specialized AIs and that means that I don't have to have this agent process that writing style every single time. Even if we're just asking it like grab this email for me or we're just asking it a general question, we're saving tokens there. But when I talk about the scalability, which I think is really important, think about it like this. If you build a system like a personal type of assistant, it only actually runs every time you message it. So if you message it 10 times a day, it's going to run 10 times in that day. Now, as your business grows and you get busier and busier, are you necessarily using it more or less or the same? It's hard to tell. What I can tell you for sure is that the relationship between usage and business growth is not onetoone or even correlated at all. If you build systems where that growth does correlate to an increase in throughput of the system, those are super powerful and super scalable. And that's where businesses actually see a much higher return on their investment. So, one of the simplest examples that I like to use is a sales agent. As the sales agent gets used more, your business gets more clients. And as you get more clients, you're growing more, which kind of feeds back into that front because then the humans can focus on, you know, getting more leads in the door and getting more clients in the door. And then in turn, the sales agent system gets used more and more. So it just kind of like creates this flywheel where they both kind of feed into each other. And like I said, it's just super scalable. So I built that workflow to help manage a client's inbox. But how did I find someone to actually buy it from me? At this point, I didn't build the workflow because a client asked for it. I built it because I was just experimenting. I was learning Nitn building things that I thought were interesting and recording YouTube videos breaking down how they worked. It was very simple and my videos weren't popping off either. They were getting a few hundred views at most. But what happened was really important. People started reaching out and they'd say things like, "Hey, I saw that thing that you built. Could you build something like that for me?" Or, "I don't know exactly what I need, but I'm curious about AI and I want to see what's possible." And that right there is the key takeaway because if you build something genuinely useful and you explain it clearly, people will find you. You don't need to get thousands of views or a viral video. Anyone nowadays can actually get a few hundred views just by posting consistently and showing real value. But of course, I wasn't the only one posting any content back then or now. So, the obvious question is why did this business owner pay me 1,600 bucks for a 3-hour job instead of going to someone else? And the answer is really simple. He didn't pay for a template. He paid for an outcome because we actually hopped on a call and I don't think it was a sales call. We just started talking. It was a conversation and he told me that he liked what I was building and he wanted to understand how something like that could apply to his business and his workflow. So, instead of jumping straight into features or tools, I started asking about like where did he feel like he was losing time and energy on the day-to-day. And one thing that he said stuck out to me immediately because he told me that his business was growing and he really wished that he had an executive assistant, but just didn't know where to find one that he could trust, someone who could just help him stay on top of everything without him constantly context switching. And he actually asked if that's something I could help with and like build him an executive assistant. But I had to be honest with him. I said, "Yeah, but trying to automate an entire executive assistant role all at once is a huge project." So instead of trying to boil the ocean, I asked a better question, which was, "Where is the first place that you would sort of offload some work if you did have an executive assistant?" And without hesitation, he said, "My email." And so that's where we kind of started to ideulate on how this workflow could work for him. I said, "Great. Let's start there. Let's build an inbox system that filters out all the noise, highlights what actually matters to you, and helps you just like move through your email without it draining your focus." And so that kind of became our scope of work. not a big AI agent, not a fancy system, just kind of an inbox manager that he could use to, you know, label things and also just conversate with his inbox. And it solved a very real problem for him at the moment. And that's where things started to click for me because I realized that the real value wasn't just in building workflows because tons of people are good at that. And there's tons of free workflows out there. It's actually in helping people figure out what to build and where to start. And that shift in your mindset is everything because then you stop becoming a pharmacist where people would walk in and say, "Hey, just give me and you actually start to act like a doctor or what I've been preaching to my students for a long time which is becoming an AI consultant. And that's where you actually diagnose the problem. You ask good questions and then you prescribe the solution. And that turns you into a thought partner, not just a builder or developer. And when someone genuinely feels like you're helping them and thinking through their business problems, the trust goes way up. And that's why he paid 1,650 bucks without hesitation. He didn't care how long it was going to take me. He just saw the value in what we were doing together. Now, I do want to pause for a second and talk about the money. Because yeah, saying 3 hours of work for 1,600 bucks sounds crazy and impressive on the surface. And yeah, the initial build itself took about 3 hours, but that's never the full picture when you're building AI systems, especially now when it's getting easier and easier to just spin things up using natural language with AI coding or better tooling or whatever it is. The real value is not just in building, but it's also in what comes after the system exists. Because when you deliver an AI system, you don't just hand it off and disappear. You have to monitor it. You have to evaluate it how it's actually being used, fix those edge cases, and make small optimizations over time. like we talked about in the earlier part of this video where I was actually building it out for you guys because that's where a system can just go from a cool demo to something that actually lives in the ecosystem of a business and provides business value over time. So, it was not just 3 hours and then we went our separate ways. I still had to stick around, make sure everything was running smoothly, handle bugs when they popped up and helped make small changes as we started using it in the real world. And this is something that I've always talked about. You don't know what you don't know. This is why a first delivery should always be treated as iteration one or a proof of concept. And I've always believed that in the custom AI automation space, there's no such thing as a finished product. Businesses change, workflows evolve, AI models get better, sometimes they get worse. And something that worked perfectly a month ago might need adjustments now. But of course, the goal is to build something solid and then improve it as you learn more about how it actually behaves in production. And here's something that's also really important. He did not care how long it took me to build the initial version. That was completely irrelevant to him. What he cared about was that it added value to the business because of all the time that he was spending manually cleaning and managing and filtering through his inbox. or of course he could have hired a VA for a few hundred a month to do something similar. But this system was a lot more sustainable, more flexible, more consistent, and it reduced a massive amount of context switching, which is really one of the biggest productivity killers for anyone. So once we showed how the system worked and how much time it was saving every week, the 1,650 bucks made total sense. The ROI was obvious, and over time, that investment easily turned into 10 times return just in save time and focus. And so that's the real lesson here. If you know how to solve a real problem, and especially if you can clearly communicate that business value, then people will pay. They don't care how you fixed it. They typically just care about what you fixed. And I keep stressing this because I know a lot of you guys are building, but you find it hard to believe that someone will pay you good money for your workflows. Well, this is proof that a lot of people will. So, what does all of this actually mean for you? So, I'd say the big takeaway is that you don't need to be a coder or a genius to do this kind of stuff. You don't have to have some crazy insane technical background. I certainly didn't, and a lot of my students don't either. What you need is to be accessible to people who like building workflows and to actually understand how businesses operate. Cuz your real skill set is not dragging nodes on a canvas. It's understanding processes and identifying constraints and solving problems because if you can see where things are breaking or slowing down and you can actually stitch together a solution, that becomes a super valuable skill. And a really simple way to think about this is with bottlenecks. So let's say someone you're talking to wants an outreach automation. That might sound great because you can think about how that's going to grow the business. But if their constraint is onboarding or internal ops or fulfillment, then why would you automate outreach for them? That just doesn't make any sense, at least right now. You would just be pouring more demand into a broken system. On the flip side, if the business is struggling to get leads because they have no content or no outreach, then automating customer support should not be the priority. That's where you would do the outreach automation. This is why thinking in terms of constraints and road maps really matters because you want to solve the biggest bottleneck first and show that value immediately by saving time, money, and focus. And if I had to do all of this over again from scratch, the process would be super simple. First, I would identify a real problem, not just a cool idea or flashy agent, but an actual pain point that is costing someone time or money. Second, I would pick the right tool for the job. For me that has been end because it's super flexible. It's essentially open source and it lets you build custom automations that fit into almost any workflow and can integrate with anything. Third, I would prototype fast. Just don't overthink it. It does not need to be the most complex or doesn't need to be perfect. Just get something working as quickly as possible so that you can test it, the client can test it, and then you can expose it to a real environment so that you can get these quick feedback loops because the quicker you get those feedback loops, the better you become as a builder and the better the system becomes in the real world. And then once you have a working version, this is where you can anchor the value. you can communicate that and you can communicate how much time and money and focus that it's saving, especially how that's going to compound over time. And that's how you think about justifying your pricing and kind of asking for referrals or building those case studies if you can consistently show that value. So, I don't want this video to go too long and I know we've covered a lot. So, what I've done is I've condensed all of this into a resource guide which you can access for completely free by joining my free school community. The link for that is down in the description. And if you want to learn more about my journey and how to make money by selling AI heading into 2026 and click on the video on the screen right here and I'll see you guys over there. But if you enjoyed and if you learned something new, please give a like. It definitely helps me out a ton. As always, I appreciate you guys making it to the end of the video. I'll see you all in the next one.

Summary

A creator built a simple AI email assistant workflow in 3 hours that solved a real business problem, earning $1,650 by focusing on client needs rather than flashy AI features, demonstrating that value comes from solving real pain points.

Key Points

  • The creator built a practical AI email assistant workflow in just 3 hours using tools like N8N, Gmail, Google Contacts, and AI agents.
  • The system includes an inbox manager that classifies emails and a personal assistant that drafts emails in the user's tone using a specialized subworkflow.
  • The AI agent uses a system prompt to define writing style, avoiding the need for complex training data or vector databases.
  • The creator emphasizes that clients pay for outcomes, not templates, and success comes from understanding their real problems.
  • The key to monetization is identifying a real bottleneck (like email overload) and solving it with a simple, scalable automation.
  • The workflow was built with a focus on simplicity, using a human-in-the-loop approach to avoid errors and ensure reliability.
  • The creator highlights that the real value is not just in building, but in post-delivery support, monitoring, and iterative improvements.
  • The project was discovered through organic outreach after the creator shared useful content, showing that value-driven content attracts clients.
  • The creator would approach building such a system differently today by focusing on scalable automations that grow with the business.

Key Takeaways

  • Focus on solving real business problems rather than building complex AI features to create valuable, monetizable solutions.
  • Use a system prompt to define writing style and tone, which is more effective than feeding large datasets to an AI.
  • Build simple, scalable automations that grow with the business, such as systems that increase in usage as the company expands.
  • Position yourself as an AI consultant who diagnoses problems and prescribes solutions, not just a builder of workflows.
  • Always treat your first delivery as a proof of concept and be prepared for ongoing support and optimization.

Primary Category

AI Agents

Secondary Categories

AI Tools & Frameworks AI Business & Strategy Programming & Development

Topics

AI workflow email automation n8n AI agent drafting emails contact lookup subworkflow AI writing style client consultation business value

Entities

people
Nate Herk
organizations
AI Automation Society
products
n8n Gmail Google Contacts Claude Sonnet
technologies
AI agent Natural Language Processing Workflow automation Structured output parser AI writing style agent

Sentiment

0.85 (Positive)

Content Type

tutorial

Difficulty

intermediate

Tone

educational inspiring casual promotional