The Core Stack: What You Actually Need (and What You Don’t)
Forget the complex diagrams and abstract theories. Every useful automation I’ve ever built has three parts: a trigger, a logic layer, and an action. That’s it.
- Trigger: Something happens. A new form is submitted, a new email arrives, a new row appears in a spreadsheet. This kicks off the process.
- Logic: This is where the thinking happens. It’s where you call an AI model, format some text, or make a decision based on the trigger’s data.
- Action: The system does something with the result. It sends an email, updates a CRM, adds a row to a Google Sheet, or posts to Slack.
For beginners, the best way to connect these pieces is with a no-code automation platform. I use Make (formerly Integromat) for almost everything. It’s a visual builder where you drag and drop modules to create a workflow. Zapier is the other big name here, but its pricing gets painful very quickly for multi-step workflows. My gripe with Zapier is that its ‘tasks’ pricing model penalizes you for building more resilient, multi-step automations. Make’s operation-based pricing is just more predictable for the kind of work we’re doing.
So, your starting stack is simple: a trigger source (like a Tally form), Make for the plumbing, and an API key for an LLM like OpenAI‘s GPT-4o or Anthropic‘s Claude 3.5 Sonnet.
What Most AI Automation Guides Get Wrong
Most tutorials show you a simple, happy-path demo. They’ll show you how to pipe the output of one prompt directly into the input of another. It looks great in a 3-minute video.
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
Then you try to run it for your own business, and it breaks on the third run.
This is where most tutorials fail you.
They don’t tell you that LLMs are non-deterministic. They’re creative, which means they’re also inconsistent. You can ask for a JSON object ten times and on the eleventh time, it will add a chatty preamble like, “Sure, here is the JSON you requested!” That preamble will break the next step in your automation, which expects clean data. They also don’t talk about error handling. What happens if an API is down? What if a search returns no results? In a demo, nothing. In production, you just lost a lead or corrupted your data.
Real automation isn’t about one magical, super-long prompt. It’s about breaking a complex task into a series of small, dumb, verifiable steps. Each step does one tiny thing and, critically, you check its work before moving on to the next one.
Building a Simple Lead Researcher: A Concrete Example
Let’s build something real. The goal: when a new lead fills out a contact form, we automatically research their company and add an enriched profile to our Google Sheet CRM. This is a classic operator playbook task.
Here’s the step-by-step breakdown using Make.
- Step 1: The Trigger. Create a simple form in Tally asking for Name and Email. In Tally’s settings, connect it to Make using a webhook. Now, every time someone submits the form, Tally sends that data to a specific URL in your Make scenario.
- Step 2: The Glue. In Make, create a new scenario. The first module is ‘Custom Webhook’. This module just sits and waits for Tally to send it data.
- Step 3: The Logic (The AI Part). This is where we chain a few simple operations. Don’t try to do this all in one prompt. That way lies madness.
- Module A: Extract Domain. Add an OpenAI ‘Create a Completion’ module. Feed it the email from the Tally form. The prompt is brutally simple:
Extract the valid company domain from this email address: {{1.email}}. Return ONLY the domain name, nothing else. For example, for 'test@company.com', return 'company.com'. - Module B: Find Company Info. We need to search for the company. A direct Google Search API is expensive. Instead, use a service like Serper. It’s a low-cost search API built for this kind of work. Their $5 plan gets you 2,500 searches, which is plenty. Add a Serper ‘Search’ module and use the domain from the previous step as your query. We’re looking for their official website or LinkedIn page.
- Module C: Summarize. Grab the top search result’s description (the ‘snippet’) from Serper. Feed this into a second OpenAI module. The prompt:
Based on the following text: "{{module_b_snippet}}", write a one-sentence summary of what this company does. The summary should be clear and concise for a sales rep. Example: 'They provide cybersecurity software for small businesses.'
- Module A: Extract Domain. Add an OpenAI ‘Create a Completion’ module. Feed it the email from the Tally form. The prompt is brutally simple:
- Step 4: The Action. The final step. Add a ‘Google Sheets – Add a Row’ module. Map the data: the lead’s name and email from Tally, and the one-sentence summary from the final OpenAI module.
You now have a multi-step AI agent. It’s not just a prompt; it’s a process. And because it’s broken into pieces, you can see exactly where it fails.
