Data layer
Synchronous access to company and contact intelligence: firmographics, technographics, verified email and phone via waterfall enrichment across many sources. No manual lookup steps in the agent path.
Engineering — — by Mahmoud Zalt
A developer's guide to building an AI sales team: SDR agent architecture, enrichment layers, signal scoring, reply routing, and Claude Opus reliability.
If you have ever wired up an outbound stack by hand, you know the work is not the prompt. It is the enrichment waterfall, the signal scoring, the rate limits per mailbox, the reply classifier, and the CRM sync that all have to behave under load. The model writing the email is the last 10 percent. The other 90 percent is an orchestration problem, and it is where most homegrown AI SDR projects stall.
This guide treats the build as an architecture, not a script. We walk through the four layers an AI sales team needs, where Claude Opus belongs and where it does not, and how reply routing and guardrails keep the thing from torching your domain reputation. Sistava ships these layers as hireable employees, so you can read this as a blueprint or as a map of what you get out of the box.
Every reliable outbound engine decomposes into the same four layers. Keep them separate so each can fail, retry, and scale on its own. Mashing them into one prompt is the fastest way to ship something that looks great in a demo and falls apart at volume.
Synchronous access to company and contact intelligence: firmographics, technographics, verified email and phone via waterfall enrichment across many sources. No manual lookup steps in the agent path.
Monitor buying signals like funding events, technographic drops, intent surges, leadership hires, and pricing-page visits. Score and pick one primary trigger per prospect.
LLM message generation against deterministic templates with dynamic slots, not free-form composition. This is where Claude Opus earns its cost on first-touch copy.
Multi-touch delivery, reply classification into a handful of buckets, CRM sync, and immediate human handoff for high-value conversations.
The agent loop that runs across these layers is deterministic enough to test. For each target account it researches firmographic and signal data, selects the highest-intent trigger by rule, identifies the matching contact, enriches for a verified address, fills the template slots, enrolls the contact in a sequence through your platform API, then classifies replies and routes them. Notice how little of that is generative. Most of it is data plumbing and rules, which is exactly why you want it as testable nodes rather than one giant prompt.
Treat each step as a node with typed inputs and outputs. Research returns a profile. Signal selection returns one trigger and a score. Enrichment returns a verified contact or a miss. When a step misses, you log it and skip the send rather than letting the model improvise an email with no real data behind it. That single discipline prevents most of the generic-at-scale failures that wreck sender reputation.
Trigger-based outreach consistently beats list-blast outreach. The right signal can double reply rates, which means your scoring logic matters more than your subject line. Build a simple 0 to 100 score and gate sends on it. A workable split is firmographic fit, technographic match, and signal recency, with recency weighted heavily because a stale trigger is barely a trigger at all.
| Dimension | Traditional | With Sista |
|---|---|---|
| Pricing-page visits (3+ sessions) | Strong intent, highest reply lift | Act within 24 hours |
| Technographic drop (competitor removed) | Displacement opportunity | Act within 72 hours |
| Funding event (Series B and up) | New budget, new priorities | Act within 72 hours |
| Intent surge (multiple people researching category) | Account-level interest | Act within a week |
| Leadership hire (relevant exec joins) | New decision-maker to influence | Act within a week |
Enforce one primary signal per prospect at any time. Recency and specificity win, and stacking three triggers into one email reads as a data dump, not a relevant note. Set a minimum signal score of around 60 and a recency window of about 30 days before a contact is eligible for outreach. Under-filter and you burn domain reputation. Over-filter and you waste enrichment spend on accounts you will never send to.
Model choice is an allocation decision, not a single pick. The prospect-facing layer is where quality converts to revenue, so that is where you spend on the strongest model. The internal layers are where speed and cost matter, so route them to a cheaper, faster model. Mixing the two is how you keep reply quality high without paying premium token rates on every CRM update.
First-touch cold emails to high-value accounts, strategic post-demo follow-ups, and ambiguous reply interpretation. Lowest hallucination rate among major models, so fewer factual errors land in a prospect inbox.
Lead research, data enrichment summaries, lead scoring math, CRM writes, and follow-up copy for lower-tier prospects. Fast and cheap where polish matters less than throughput.
Opus reasoning shines on ambiguous replies. When a prospect writes "we are re-evaluating our stack next quarter," a weaker classifier files it as a rejection. Opus reads it as a timing signal and schedules the right follow-up instead of dropping the lead. That single behavior, applied across thousands of replies, is the difference between a pipeline that compounds and one that leaks.
Reply handling is the layer teams skip and the layer that decides whether the system helps or hurts. Classify every inbound into a handful of buckets, escalate positive replies to a human within minutes, and hard-suppress negatives so nobody gets re-enrolled after a clear no. Automating sends without classifying and routing replies creates a worse experience than no automation at all, because a prospect who said yes and got silence remembers it.
Instrument the system like any production service. These are the numbers that tell you the architecture is healthy, and the thresholds that mean something is wrong upstream in data or signal quality rather than in the copy.
| Dimension | Traditional | With Sista |
|---|---|---|
| Reply rate (trigger-based) | Target 4-10% | Warning below 2% |
| Email deliverability | Target above 95% | Warning below 90% |
| Time to route a positive reply | Target under 5 min | Warning over 30 min |
| Human escalation rate | Target under 20% | Warning over 40% |
| Meeting-to-opportunity conversion | Target above 50% | Warning below 30% |
A human SDR touches 50 to 80 prospects a day with quality and degrades with fatigue. A well-built agent processes a trigger within minutes and handles thousands of accounts without the personalization skips and template mistakes that creep in late in a human's day. The ceiling is no longer hours in the day; it is data freshness and deliverability headroom. Build for those two constraints and the volume takes care of itself.
Comparing models is the right move before you commit a sales engine to one provider for a quarter. Opus tends to win on judgement and prose, while cheaper models can win on cost per enrichment call or raw research throughput. The right answer depends on what your prospect list and signal volume actually look like, which is why the layered design above keeps the model choice swappable per node instead of hardcoded into one prompt.
Build it yourself if outbound infrastructure is your product or you need exotic control over every node. For most teams, the enrichment, signal scoring, rate limiting, and reply routing are undifferentiated heavy lifting. On Sistava you hire pre-trained sales employees that already implement these layers, assign Claude Opus to the prospect-facing work, connect your CRM and email, and start the same day.
Opus has the lowest hallucination rate among major models and produces more natural professional prose, which matters when a factual error in a cold email costs you credibility. Reserve it for first-touch sends, strategic follow-ups, and ambiguous reply interpretation, and route high-volume internal tasks to a cheaper, faster model.
Warm new mailboxes for several weeks, cap cold sends at roughly 30 to 50 per mailbox per day enforced at the engine, gate sends on a signal score and recency window, use templates with slots rather than free-form generation, and process bounces and unsubscribes automatically. Generic outreach at scale damages sender reputation faster than a small human team would.
The agent owns account research, contact identification, enrichment, sequence enrollment, and reply classification. Humans own ICP definition, signal rule design, template approval, and high-value conversations. Positive replies escalate to a human in minutes; ambiguous ones go to a review queue.
Decompose the workflow into typed nodes and test each in isolation: research returns a profile, signal selection returns one scored trigger, enrichment returns a verified contact or a logged miss. Run the first week in supervised mode with a human approving sends, then widen autonomy as routing and personalization accuracy hold up.
At minimum a CRM such as HubSpot, Salesforce, or Pipedrive, an email provider, LinkedIn for multi-channel touches, and enrichment sources. The agents need real tool access through OAuth to research prospects, enroll sequences, and write back results, not just an API key to a model.
Build the AI sales team as an architecture and the model becomes one swappable node in a system you can test, monitor, and trust. Keep the four layers separate, gate everything on signal quality, put Claude Opus where copy meets revenue, and route real conversations to humans fast. Do that and you get the scale of automation without the deliverability scars that sink most homegrown attempts.