The Core Stack: What You Actually Need
Forget the complex diagrams and theoretical frameworks. Building a functional sales agent requires four simple things: a trigger, a brain, a data source, and an action. Everything else is just noise.
Orchestration (The Nerves): You need a tool to connect the other pieces. I use Make for this. Its visual interface is better for complex, multi-step workflows than Zapier‘s linear model. The free tier is fine for a test run, but you’ll hit the operations limit almost immediately. The Core plan at $29/mo is where real work starts, and honestly, it’s a fair price for the control it gives you. You could also use Pipedream or n8n workflows if you’re more code-inclined, but Make is the fastest no-code AI option right now.
The Brain (The LLM): This is your language model. As of 2026, the answer is still OpenAI‘s GPT-4 series (Turbo or whatever the latest version is). Claude 3 is a close second and sometimes better at creative drafting, but GPT-4 is more reliable for structured data extraction and following complex instructions, which is what we need here. Don’t cheap out with GPT-3.5; the drop in reasoning quality is massive and will lead to terrible, generic outputs.
Data Source (The Leads): This can be as simple as a Google Sheet. Or it could be a proper sales intelligence tool like Apollo.io or Cognism. The source doesn’t matter as much as the quality of the data. Your agent is only as good as the inputs you give it.
Action (The Hands): What does the agent do? For a sales agent, it’s usually sending an email via Gmail or Outlook, or maybe creating a task in a CRM like HubSpot. We’ll focus on email.
What Most Guides Get Wrong About Sales Agents
Most tutorials you find show a dangerously simple workflow: “Pipe lead data into a single GPT prompt, get an email, and send it.” This is a recipe for spamming prospects with generic, soulless garbage that screams “I am a robot.” It doesn’t 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
A real, production-grade AI agent doesn’t use one prompt. It uses a chain of specialized prompts, each with a single, clear job. Think of it like an assembly line, not a magic box.
A lazy agent does this:
- Lead Name + Company -> LLM -> Send Email
A smart agent does this:
- Lead Name + Company -> Step 1: Enrich Data (Find company website, description) -> Step 2: Qualify Lead (Does this company match my Ideal Customer Profile?) -> Step 3: Draft Email Angle (Based on their business, what’s the most relevant pain point?) -> Step 4: Write Full Draft (Assemble the angle into a personalized email) -> Step 5: Human Review (Create a draft in Gmail for a final check).
The difference is night and day. The first approach gets your domain blacklisted. The second one actually books meetings. It requires more setup, but it’s the only way to build an asset instead of a liability.
Step-by-Step: Building a Lead Qualification & Drafting Agent in Make
Let’s build the core of a smart agent. This workflow will take a new lead from a Google Sheet, enrich their data, decide if they’re a good fit, and then draft a personalized email for human review.
1. The Trigger: New Row in Google Sheets
In Make, create a new scenario. The trigger module is “Google Sheets > Watch for New Rows.” Point it to a sheet with columns for `FirstName`, `LastName`, `CompanyName`, and `CompanyWebsite`.
2. Data Enrichment: Finding Out Who They Are
This is where you get context. The simplest method is to use the HTTP module in Make to scrape the company’s website. A more reliable method is to use a dedicated enrichment tool. I’m a huge fan of Clay for this. My concrete love for Clay is its “waterfall” enrichment feature; you can tell it to try finding a company description from LinkedIn first, then Apollo, then a web scrape. If one fails, it automatically tries the next. This makes your workflow so much more resilient.
3. The “Qualification” LLM Call: Are They a Fit?
Now we use the OpenAI module. This is our first “specialist” prompt. Its only job is to score the lead against our Ideal Customer Profile (ICP). Feed it the enriched data you gathered in the last step.
Here’s a sample prompt structure:
You are a B2B sales development representative. Your goal is to qualify leads based on our Ideal Customer Profile (ICP).
ICP Criteria:
- Company Size: 10-50 employees
- Industry: B2B SaaS
- Signal: Mentions 'automation' or 'operations' on their website.
Lead Data:
Company Name: {company_name}
Website Content: {scraped_website_text}
Instructions:
1. Analyze the Lead Data against the ICP Criteria.
2. Provide a qualification score from 1 to 10.
3. Provide a one-sentence reason for the score.
4. Output ONLY a JSON object with two keys: "score" and "reason".
Asking for JSON output is critical. It makes it easy to parse the result in the next step.
4. The Router: To Draft or Not to Draft
Use Make’s “Router” module to split the workflow. Add a filter on one path: `score > 7`. Only high-quality leads will continue down the email-drafting path. The rest can be ignored or added to a different list for a low-touch sequence.
5. The “Drafting” LLM Call: Writing the Opener
For leads that passed the filter, add another OpenAI module. This is our second specialist. Its job is to write a hyper-personalized email draft.
The key here is to feed it the `reason` from the previous step. This gives the LLM the exact context it needs to write a relevant email.
6. The Action: Create a Draft in Gmail
The final step isn’t “Send Email.” It’s “Gmail > Create a Draft.” This is the human-in-the-loop step that saves you from embarrassing, context-deaf mistakes. The drafted email will sit in your Gmail drafts folder, ready for a quick 15-second review before you hit send.
