The Core Stack: What You Actually Need
Let’s get the theory out of the way fast. To build a useful automation, you need four things: a trigger, a processor, an action, and the glue that holds them together. That’s it. Anyone telling you it’s more complicated is selling something.
For our lead-parsing example, here’s the stack I use:
- The Glue: Make (formerly Integromat) is my go-to. It’s a visual automation platform that lets you connect different apps. Its competitor, Zapier, is fine, but I find its pricing model gets expensive quickly. Make.com’s free tier is generous enough to get started, but you’ll hit the operations limit fast. The Core plan at $9/month is a no-brainer once you have a paying client.
- The Processor: The OpenAI API, specifically using the GPT-4o model. It’s fast, cheap, and excellent at structured data extraction. You’ll need an API key, which means putting a credit card on file, but the cost for this kind of task is minuscule—we’re talking fractions of a cent per lead.
- The Trigger: This could be anything. A new email in a specific Gmail folder, a new entry from your website’s contact form, a new message in a Slack channel. For this build, we’ll use an email forwarder.
- The Action: The destination for your clean data. A Google Sheet, a Notion database, a row in Airtable, or a new card in Trello. We’ll use Google Sheets because everyone has it.
This setup costs less than a fancy coffee per month to run for a typical small business volume. The real cost is your time to build and maintain it.
What Most Guides Get Wrong About AI Automation
Most articles on this topic are frustratingly vague. They show a flashy demo of a chatbot writing a poem and then claim you can automate your entire business. That’s not how production systems work.
AI Side Hustles
Practical setups for building real income streams with AI tools. No coding needed. 12 tested models with real numbers.
Get the Guide → $14
Here’s the reality. The biggest mistake is treating the LLM like a magic box. You can’t just throw messy data at it with a lazy prompt like “summarize this” and expect consistent, machine-readable output. It won’t work reliably. You’ll get a nicely formatted summary on Monday and a completely different structure on Tuesday.
Reliable automation demands structure. You need to force the LLM to give you back data in a format you can actually use, like JSON. My biggest gripe with my early automation attempts was prompt drift. The model would just decide to add a ‘summary’ field I never asked for, or it would format the date as ‘Last Tuesday’ instead of ‘YYYY-MM-DD’. Forcing it into JSON mode with a strict schema is the only way to get predictable output. This is the single most important concept for building real AI automations, and most tutorials skip it entirely.
They also rarely discuss the actual cost of API calls at scale. While a single lead is cheap, if you accidentally create a loop that processes the same 1,000 emails over and over—and I’ve done this—you can burn through your budget fast. Monitoring your usage is critical.
Step-by-Step: Building a Lead-Parsing Agent
Alright, let’s build the thing. This automation will take an inbound lead email, extract key information, and put it neatly into a Google Sheet. This should take you about an hour if it’s your first time.
Step 1: Set Up Your Trigger in Make.com
Create a new Scenario in Make. The first module will be a Webhook. Select ‘Custom mailhook’. Make will give you a unique email address. Go to your inbox (e.g., Gmail) and set up a rule to automatically forward emails from your website’s contact form to this new mailhook address.
Step 2: Create the Perfect Extraction Prompt
This is the heart of the automation. Add an OpenAI ‘Create a Completion’ module. Connect it to the mailhook. You’ll need to tell the model exactly what to do. Don’t be polite; be precise. Here is a prompt that works well for me. Notice the instruction to respond only with JSON.
Extract the following information from the email body below. Respond ONLY with a valid JSON object containing these exact keys: "name", "company", "email", "phone", "message_summary", "budget_estimate".
If a piece of information is not present, use a null value for that key.
For 'message_summary', provide a one-sentence summary of the user's request.
For 'budget_estimate', look for any mention of a budget and return it as a number, otherwise use null.
Email Body:
---
{{1.text}}
The `{{1.text}}` is a variable from the Make.com mailhook module. It dynamically inserts the body of the incoming email into your prompt.
Step 3: Configure the OpenAI Module
In the OpenAI module settings, select the GPT-4o model. Set the Temperature to 0.2. A low temperature makes the model more deterministic and less ‘creative,’ which is what you want for data extraction. Critically, find the setting for ‘Response format’ and force it to be JSON. This feature (which, yes, is annoying to find in some UIs) is what makes the output reliable.
Step 4: Parse the JSON and Add to Google Sheets
The output from OpenAI will be a single block of text that is a JSON string. It’s not usable yet. Add a ‘Parse JSON’ module and feed the AI’s response into it. This module turns the text string into individual data fields you can work with.
Finally, add a ‘Google Sheets – Add a Row’ module. Connect it to your sheet. Now you can map the data from the ‘Parse JSON’ module to the correct columns: ‘name’ from the JSON goes to your ‘Name’ column, ’email’ goes to your ‘Email’ column, and so on. It’s incredibly satisfying to see it work for the first time.
Turn the scenario on, and you’re live.
