Duck
Tutorials6 min read

How to create an ai agent that actually works for your solo business

Samet Turan— Editor··6 min read

Learn step-by-step how to create an ai agent that handles leads, invoices, and follow‑ups without code. Real prompts, tool picks, and debugging tips.

How to create an ai agent that actually works for your solo business

You spend hours copying lead data into spreadsheets, drafting follow‑up emails, and chasing unpaid invoices. It eats time you could spend on actual work. After reading this guide you’ll be able to create an ai agent that pulls leads, writes personalized messages, and logs payments — all with a few prompts and no code.

What most guides get wrong about AI agents

Most tutorials treat an AI agent like a magic button that you plug in and forget. They skip the part where the model hallucinates a phone number or invents a company name that never existed. That leads to embarrassing outreach that damages credibility before you even get a reply.

I’ve seen agents send a pitch to a competitor because the prompt didn’t filter by industry.

One concrete gripe I ran into early was trusting the model’s output without a sanity check. I once let an agent generate a proposal that quoted a price twice the market rate because it pulled a number from an unrelated blog post. The prospect laughed, and I lost credibility in a single email.

On the flip side, I love how a tight prompt can turn a vague request into a repeatable workflow. When the instructions are explicit, the model stops guessing and starts delivering useful copy every time.

Pick the right no‑code platform for the job

I started with Zapier automations because the UI feels familiar if you’ve used any automation recipe before. The free tier caps you at 100 tasks a month, which disappears after a couple of days of active lead scraping. That forced me to upgrade to the $20/mo starter plan just to keep a test running.

Later I switched to Make (formerly Integromat) for its visual debugging. I love how Make’s scenario builder lets you see each module execute in real time, with data flowing visibly between steps. It turns a frustrating guessing game into a clear cause‑and‑effect chain.

If you’re just testing ideas, the free tier of n8n gives you unlimited executions as long as you self‑host. The trade‑off is you have to manage the server yourself, which can be a hassle if you don’t enjoy sysadmin work.

Build the core prompt that drives the agent

The agent’s behavior lives in the prompt you give the language model. Below is the exact prompt I use for a lead‑follow‑up agent. It pulls the lead’s name, company, and a recent news snippet, then writes a short email that references that news and offers a free audit.

You are a helpful sales assistant. Given a lead with fields: name, company, industry, recent_news, write a concise, friendly email (max 120 words) that:
- Greets the lead by first name
- Mentions one specific detail from recent_news that shows you did your homework
- Offers a free 30‑minute audit of their current lead‑generation process
- Ends with a low‑pressure call to action: “Let me know if you’d like to schedule a time that works for you.”
- Do not invent facts; if recent_news is empty, skip the mention and keep the email generic but still personalized.

Using OpenAI’s GPT‑4o at $0.006 per 1k tokens, this prompt plus completion usually stays under $0.02 per email. At that rate $20/mo covers about 1,000 emails, which is cheap enough to test at scale.

How do you stop the agent from sending duplicate follow‑ups?

Duplicates happen when the agent re‑processes the same lead because it has no memory of past outreach. The fix is simple: store a timestamp after each successful email and make the next run skip any lead contacted in the last 48 hours.

I kept forgetting to update the timestamp field in my first version, which caused the agent to spam the same prospect three times in an hour. Adding a simple “last_contacted” column in Google Sheets and a filter step in Make solved it.

A mild aside: if you’re using a CRM like HubSpot’s CRM, you can write the timestamp back to a custom field instead of a sheet — and good luck finding docs for this — but the principle stays the same.

Setting up the automation: a numbered step‑list

  1. Create a Google Sheet with columns: Lead ID, Name, Company, Industry, Recent News, Last Contacted, Email Status.
  2. In Make, add a “Watch Rows” trigger for the sheet to catch new leads where Last Contacted is empty.
  3. Add an HTTP module to pull a recent news snippet from a free news API (e.g., NewsOrg) using the company name as query.
  4. Add an OpenAI module, set the model to gpt‑4o, and paste the prompt from the previous section into the prompt field. Map the lead’s fields and the news snippet into the prompt variables.
  5. Add a Gmail module to send the generated email as a draft (or send directly if you trust it).
  6. Add a Google Sheets “Update Row” module to write the current timestamp into the Last Contacted column and set Email Status to “Sent”.
  7. Add a filter between the trigger and the HTTP step that only proceeds if Last Contacted is older than 48 hours or empty.

Each step runs in seconds, and the whole scenario can be scheduled to run every 15 minutes.

How to debug when this breaks

Start by checking the execution history in Make. Each module shows its input and output, so you can see where a null value stopped the chain. I once missed a mapping error where the “Recent News” field was empty, causing the prompt to receive an undefined variable and the OpenAI module to return a 400 error.

If the email never arrives, look at the Gmail module’s output for a “messageId”. Absence of an ID usually means the request hit a rate limit or an authentication issue. Re‑authorizing the Gmail connection fixed it for me.

When the model returns gibberish, tighten the prompt. Adding a concrete word limit (“max 120 words”) and a clear instruction to avoid inventing facts cut the hallucination rate from about 15 % to under 2 % in my tests.

I love how Make’s execution history lets you rerun a single module with modified inputs without rebuilding the whole scenario. That feature alone saved me hours of repetitive tweaking.

Pricing opinion and final thoughts

I think the $19/mo plan for Make is overpriced if you only run two scenarios a day; the free tier of n8n works fine for low volume and lets you self‑host on a cheap VPS. For most solo operators, the $20/mo Zapier starter plan plus the OpenAI API usage (around $0.02 per email) keeps the total under $30/mo, which feels fair for the time saved.

We cover this in more depth elsewhere — deeper coverage of AI agent platforms.

If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this workflow as a blueprint at deepusecase.com/vault/ai-agent-builder-kit.

— The Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.