How to set up an AI SDR: three setups for three kinds of business
2026-10-08
How you and an AI agent split SDR work
This guide is for you if you have a human SDR. It is also for you if nobody does SDR work. You will learn several ways to set up an AI SDR. The guide explains each one step by step.
The diagram follows one lead from targeting to the sales call and shows who handles each step. It shows setup 1 from the next section, where you run your own outbound.
- 1Human
Define the ICP
You decide which companies and roles to target.
- 2AI agent
Build the list and launch outreach
The AI agent builds a lead list that matches your ICP and launches the outbound sequence.
The AI agent works through paid services such as Apollo for contact data and Smartlead for sending. It connects to these services with API keys.
- 3AI agent
Triage replies and new inbound requests
The AI agent filters out spam and auto-replies. It researches the company and enriches its record. It checks that nobody on your team already works the account.
- 4AI agent
Qualify the lead
Before the call, the AI agent checks fit and real need. It also checks whether the lead is the decision maker.
- 5AI agent
Run the conversation
The AI agent replies in the lead's language. It sends a requested case study or one-pager as a tracked short link, then sees whether and when the lead opened it. It runs the follow-up sequence and stops it at the right time.
- 6Human
Handle escalations
You answer any reply the AI agent is not sure about. It hands it to you and waits.
- 7AI agent
Book the meeting
- 8Human
Run the call
You run the call with a lead that is already qualified.
Log and report
The AI agent logs every touch in the lead's record and reports to you.
If you already have an SDR, the AI agent handles the process from list building through meeting booking, except for escalations. If nobody does SDR work today, you still need someone at your company to handle the steps marked "Human".
Choose your setup by where leads come from
One question decides the setup: where do your leads come from today? You run outbound: the AI agent plugs into it (setup 1, the one the guide's examples use). No outbound: start with an all-in-one service (setup 2). Leads come on their own, through sign-ups or website forms: setup 3. From the first reply on, all three run the same way, and that is the rest of the guide.
Setup 1: you run outbound
Outbound has four parts. The guide takes one example service per part; swap in yours.
- Human Mailboxes — InboxKit. Buy pre-warmed mailboxes on separate domains, SPF and DKIM set, and connect them to the sending service. Warming your own takes weeks and no longer makes sense.
- AI agent Contact data — Apollo. The AI agent builds the list to your ICP through Apollo's API.
- AI agent Email verification — ZeroBounce. Every address is checked before the send; bounces get domains blacklisted.
- AI agent Sending service — Smartlead. The AI agent loads the verified list and the sequence through Smartlead's API; Smartlead rotates the mailboxes and keeps them warm.
Three API keys in the AI agent's settings, and outbound is connected; the CRM and the calendar come in step 4. You approve the sequence before the first send, whether you wrote it or the AI agent drafted it. From then on the AI agent owns every reply: triage, the conversation, the follow-up sequence, the booked call.
Setup 2: no outbound yet
Do not build outbound before you know it pays off. Start with explee: pre-warmed domains and mailboxes, its own contact database, verification and sending in one account. You set the ICP and approve the sequence there; the step "Build the list and launch outreach" from the diagram happens inside explee. One API key, and the AI agent reads every reply and answers in the same thread from explee's mailbox. If outbound does not pay off, you close one account.
explee sells its own AI replies too. The guide does not use them, so that all three setups run on one AI agent, which answers from your rules and product knowledge, checks the CRM before each email and hands unsure replies to you. Once outbound pays off, move to setup 1: the mailboxes, lists and sequences become yours.
Setup 3: leads come in on their own
PLG sign-ups, website forms, partner directories. Take the trial sign-ups that churned, enrich them, and you will most likely see the same picture: the smaller the company, the higher the conversion. Small companies buy on their own; larger ones sign up, expect a person, and stall. So the AI agent takes every sign-up and form request from a business domain, checks the company against your ICP, qualifies it in the conversation, and offers the ones that fit a custom onboarding and a call, with the follow-up sequence and the booking after that. Sign-ups reach the AI agent by webhook or notification email from your product or form service; if there is neither, a developer adds one once.
The setups side by side
| Setup 1you run outbound | Setup 2no outbound yet | Setup 3leads come in on their own | |
|---|---|---|---|
| You must already have | Mailboxes, contact data, verification, sending | A paid explee account | Sign-ups, forms or directory listings |
| The AI agent does | The list, verification, the launch, every reply | Every reply | Everything from the sign-up to the booked call |
| You set up once | Buy mailboxes, three API keys, approve the sequence | Set the ICP, approve the sequence, one API key | Connect sign-ups and form requests to the AI agent |
| Setup effort | Medium | Light | Light |
Two setups can run at once: outbound replies and sign-ups go through the same AI agent. Next: the parts every setup is built from, and what each costs.
The seven parts of every setup and their monthly cost
Every setup is built from the same seven parts. This section lists them, asks you to decide who approves the emails, and gives the monthly cost.
The seven parts
- Rules. A few short plain-text files define what the AI agent replies to or skips, what it checks before writing, how it writes, when it stops, and what it never does. They also hold your ICP and the qualification questions the AI agent needs answered before it books a call. The AI agent reads these files before every run, so you can change its behavior without programming.
- Product knowledge. Your plans and prices, common questions, objections and their answers, written in the same kind of plain-text files as the rules, plus a folder with your case studies and one-pagers. From these the AI agent answers a lead's questions about your product and puts together the material the lead asks for.
- Board. The lead's record from the earlier sections is a card on a board such as GitHub Issues, one card per company. The AI agent logs every touch on the card: what it found out, the draft, what was sent, the reply, whether the lead opened the link, and the booking. Your CRM still gets the lead; the board is where you check the AI agent's work.
- Where the AI agent runs. Claude Code on your computer, which works only while its window is open, or a server, which runs it around the clock.
- Connections. The AI agent uses your mailboxes or sending service to read replies and send email. It uses your CRM to check whether the company is already a client or already talking to your team, and to log the lead. It uses the sales rep's calendar to send the booking link and to see when a meeting is booked. The leads themselves come from the services you connected in the previous section or, in setup 3, from your sign-ups and form requests.
- Control. At first you approve every email before it goes out; step 5 shows when to let routine replies go out on their own. One switch stops all sending, and the AI agent keeps reading and logging.
- Daily check. A small script outside the AI agent checks once a day that every reply in the mailbox was handled, and raises an alarm if one was missed. The AI agent also sends you a report; its first line is the number of calls booked.
Steps 1 to 6 below take these parts in order. Step 1 covers the rules and the product knowledge together; steps 2 to 6 take one part each, from the board to the daily check.
Decide who approves the emails: one person, or your team in Slack
If one person approves them all, you or your SDR, Claude Code on that person's computer is enough. The same person reads each draft in the window and approves it, and the AI agent sends it. Nothing else is needed. If other people must see and approve the emails, the drafts go to Slack, where your SDR or another employee approves each one; the guide assumes your team uses Slack. For that, something has to keep the AI agent running on a server and pass its drafts to Slack. OpenClaw and Hermes Agent do exactly this. Both are open source and free, but installing one on the server and connecting it to Slack is a developer's job, done once. This choice changes step 3 (where the AI agent runs) and step 5 (control).
Monthly cost
The AI agent runs on a Claude subscription at a fixed monthly price; Claude Code is included. The alternative is API billing, where you pay for the volume of text the AI agent reads and writes, so you cannot know the bill in advance. This guide uses the subscription. Claude Pro at $20 a month is sized for one person's chat. The AI agent reads the rules, the product knowledge and every reply on each run, so it needs Claude Max: $100 a month, or $200 for four times the usage. Start at $100 and move up if the weekly limit stops the AI agent. Put the subscription on a company email used only by the AI agent, not on an employee's login. The fixed price holds while Claude Code itself runs the AI agent, on your computer or on a server. With OpenClaw or Hermes Agent the AI line may move to API billing, paid per use; step 3 settles this for a team.
Four of the seven parts cost nothing: the rules, the product knowledge, the control and the daily check are text files and habits. You pay for the Claude subscription, for the outbound services from the previous section, and for a server if the AI agent runs on one; the board is free on GitHub. Apollo's API is on every paid plan, so Basic is enough. Smartlead's cheapest plan has no API, so the table shows Pro. Prices are on annual billing where the service offers it.
| Cost line | Price | Needed in |
|---|---|---|
| AI subscription — Claude Max | $100 or $200 a month | every setup |
| Pre-warmed mailboxes — InboxKit | about $6 per mailbox a month | setup 1 |
| Contact data — Apollo, Basic plan | from $49 per user a month | setup 1 |
| Email verification — ZeroBounce | $39 per 2,000 addresses | setup 1 |
| Sending service — Smartlead, Pro plan | $78 a month | setup 1 |
| All-in-one outbound — explee | $1 to $15 per lead, no subscription | setup 2 |
| Server — Hetzner | about €12 a month | team, or agent on a server |
| Board — GitHub | free | every setup |
These totals assume Claude Max at $100 and the AI agent on your computer. Setup 1 comes to about $280 a month: $100 for Claude Max, $49 for one Apollo user, $78 for Smartlead Pro and about $55 for ten InboxKit mailboxes, at $2.50 a month each plus $3 for the warmup; ten is an example. Add ZeroBounce at $39 per 2,000 addresses you verify. Setup 2 is $100 for Claude Max plus what explee charges per lead; explee's own example is $30 of credit for about 1,000 emails and 2 to 8 warm leads. Setup 3 is $100 for Claude Max. If the AI agent runs on a server, which is always the case when your team approves in Slack, add about €12 a month for one Hetzner server.
Step 1: Rules and product knowledge
Write the SDR's job down as a few short plain-text files in one folder; these are the rules, and each fits on one screen. The AI agent reads them before every run, so change one line and the next run behaves differently; nothing is programmed. An instruction given in chat is gone with the next session; a line in a file stays. Write them as a job description for someone starting tomorrow: specific, with an example of a lead's message and the expected action, without "use your judgement".
The rule files
- What to answer and what to skip. The AI agent reads the whole thread, not the last message. It answers questions, objections, positive replies and facts about the lead's setup. It ignores autoresponders, unsubscribes and clear refusals, and parks "not now" with a date.
- What to check before writing. Before the first reply and again before every follow-up, the AI agent checks whether the company is already a customer, whether someone on your team is already talking to it, and whether the lead has booked. Anyone on your side who types in the thread owns it; the AI agent never writes there again. It matches by company domain, not by the exact address, because the colleague who books is often not the person who wrote. Then it looks the company up in Apollo: size, industry, country.
- Who fits and what to ask. Define the ICP by industry, country and a size floor, plus what must already be in place, such as a CRM, and the hard disqualifiers. Write three or four questions the AI agent must get answered before it sends the booking link: fit, a real task, the person who decides. "Call me" or "send it over" is not a qualified lead; the AI agent answers briefly, asks what is still open, and only then gives the link. The answers go on the lead's card, so the sales rep opens the call with them.
- How to write. Set reply length and tone, and keep the lead's language throughout. Never promise a feature you do not have, a date you do not control or a number about the lead's company you did not verify. A price question gets the public price page or is steered to the call; you decide which. Every reply ends with the next step.
- Follow-ups and when to stop. A reply does not stop follow-ups; a booking or a sign-up does. So does an explicit no, a no-show, or your limit of unanswered messages in a row; you set the numbers. Each follow-up adds something new, never "just checking in".
- Hard rules. About a dozen lines that never change per lead or campaign: the checks above written as bans, plus never a product fact or a number that is not in the product-knowledge files, and nothing goes out while sending is off (step 5).
- Launch rules (setup 1 only). Write the Apollo filters that express the ICP and, before the first send, load the suppression lists: your customers, everyone your team has ever written to, everyone who said no. Set how many new contacts go in per week, how many emails each mailbox sends per day, and the bounce rate at which the AI agent pauses the campaign and tells you. Anchor the ICP on who pays, not on who replies: enrich your paying customers by size, industry, country and CRM, and the segments where the revenue sits are your ICP. Small companies reply readily and rarely pay.
Product knowledge
The product knowledge is a second set of files in the same folder: plans and prices exactly as on the public price page, the questions leads ask every week and the objections your sales rep hears most, each with its answer, and a list of what you have and what you do not have. An invented feature or a made-up number is the AI agent's most common mistake; the "we do not have" list and the hard rule above prevent it. Case studies and one-pagers go in a folder, and the AI agent picks the one that matches the lead's industry or system. It answers only from these files. A question outside them goes to you; your answer goes into the file, so it is asked once.
Writing the first version
- Human Collect the source material. Export the last months of your SDR's threads from the sending service or the mailbox. Add call notes or transcripts, the list of paying customers and the price page. If nobody does SDR work today, the same threads are in your own mailbox.
- AI agent Draft every file. Open Claude Code in the rules folder and point it at the exports; it drafts each file from how this person answers, what they skip and check, how they write, when they follow up and stop, and the ICP with disqualifiers from the paying-customer list.
- Human Correct the drafts. Read and correct every draft in one sitting.
From then on the rules grow from mistakes. The AI agent thanks an autoresponder or invites a former customer to a call, and the same day one line goes into the file that should have caught it. Expect to add lines weekly in the first month, then rarely, and change the one rule that failed, not its neighbours.
The settings that live here
The small settings live here too, one line each: email length, the number and rhythm of follow-ups, sending days and hours, tone, language, the booking link, the size floor and the daily sending cap. One edit changes any of them. The guide gives no values; every business sets its own.
Step 2: The board, one card per company
Everything the AI agent does is written in one place a person reads: a private GitHub repository, one card per company on GitHub Issues. The card opens with the lead's record: names, addresses, company domain, size, industry, country, and the campaign or sign-up it came from. Under it, every action is a dated note in a fixed shape, written by the AI agent: what it found out, the draft, the email exactly as sent, the reply in full, the opened link, the booking, what happened on the call and the next step. Before it creates a card, the AI agent searches the open cards by company domain; a second person from the same company becomes a note on the existing card. Its rule is "if it is not on the card, it did not happen": every email it sends is logged there in the same run, before anything else.
Statuses
The status is a label on the card. The AI agent moves it along the funnel; the two stop labels at the end are yours.
| Label | What it means |
|---|---|
| New reply | The card exists or a reply landed. Nothing has been sent yet. |
| Draft ready | The draft waits on the card for approval (step 5). Once routine replies go out on their own, this lasts seconds. |
| Sent and waiting | The email is out. The follow-up sequence runs. |
| Booked | The meeting is on the calendar. Follow-ups stop, and the sales rep takes over. |
| Call held | The calendar or the recording confirms the call. The card records what happened and the next step. |
| Parked | The lead said "not now" with a date. The AI agent comes back on that date. |
| No fit | The company is below the size floor, the lead refused, or the person is wrong. The card closes. |
| Do not write | You set this label. The AI agent sends nothing to this company in any run until you remove it. |
| Our person is in the thread | You set this label, and the AI agent sets it too when it sees a colleague's message. It never writes in that thread again. |
GitHub Projects puts the same cards in status columns, showing at a glance how many await a reply, are booked, or are parked. The GitHub app on your phone shows the same board, so you can read a thread and set a stop label from anywhere.
The signal on the card
The AI agent sends a requested case study or one-pager as a tracked short link; the service is in step 4. On every run it checks whether the link was opened. The first open lands on the card as a dated event, and the AI agent writes its next message then, while the lead is warm, not on the follow-up schedule days later. A booking or a sign-up lands on the card the same way, in the run that sees it.
The AI agent's own identity
Give the AI agent its own identity: a GitHub App or a separate GitHub account installed only on this repository. It may read and write cards, and nothing else. Every note shows who wrote it, the AI agent or a person, so the board always shows who did what. A leaked key opens one repository, not your company's GitHub.
Start from the template
The guide's template repository, ai-sdr-starter, holds the folder of rule files from step 1 with their headings, the list of labels above and the board layout. Press "Use this template" on GitHub and you have your own private copy; on its first run, the AI agent creates the labels from the list in the template. Start step 1 in that copy.
Step 3: Where the AI agent runs
All three ways share the rules, product knowledge and board. What changes is what wakes the AI agent, where it lives and who approves each email. Pick by how fast replies must go out and whether one person or the team approves, as decided in the previous section.
Way A: on a server, on a timer
With way A, the AI agent runs around the clock with your computer off. A developer handles the one-time setup for the small Hetzner cloud server from the cost table, installs Claude Code and signs it in with a one-year token from your Claude subscription, made with claude setup-token; nobody logs in there again. A scheduled job starts Claude Code every few minutes with one instruction: read the folder, handle new replies and due follow-ups, update the cards, exit. Each run starts clean and reads the rules again, so an edit applies from the next run.
Approval in way A happens on the card: the draft waits with the label "Draft ready" until you approve it from the board or your phone. Step 5 covers when to let routine replies go out on their own. If the team approves in Slack, OpenClaw or Hermes Agent runs on the same server, keeps the AI agent running and passes each draft to Slack. Neither uses the subscription's normal allowance, so budget an API key billed per use or Claude Max with extra-usage credits. The terms changed several times in 2026; check them before choosing.
Way B: Claude Code on your computer
Start here. A small flow runs on the subscription alone, with no server and no developer. Install Claude Code, open it in the rules folder and type /loop 10m followed by the same instruction; the AI agent repeats it every ten minutes while the window is open, but ten minutes is an example and the interval is yours. You read and approve each draft in the window, and the AI agent sends it; nothing else is installed. When the window closes or the computer sleeps, the AI agent stops; replies wait until you reopen it.
Way C: scripts on a schedule, no model inside
Use this for setup 3, where sign-ups and forms arrive steadily and every step follows the same decision. Claude Code writes ordinary scripts from your rules, and a scheduled job runs them every couple of hours on the server or on your computer. No model runs inside, so the model costs nothing per lead: the emails are your templates in each language, and the decisions are fixed rules. The scripts pull new sign-ups and drop free-mail addresses and your test accounts. They run the checks from step 1: whether the lead is already a customer, whether your sales rep is already talking to them and whether they already booked.
They look the company up in Apollo, send the first email from the template and send the follow-ups on fixed days. They stop on a booking, a reply or a refusal. They log every step on the card. The scripts never answer replies; they flag them on the card for a person or the AI agent in way B to answer. The AI agent stays on duty in Claude Code: it reads the logs to repair what broke, puts the fix on the server and writes your report.
The three ways side by side
| Way Aserver on a timer | Way BClaude Code on your computer | Way Cscripts on a schedule | |
|---|---|---|---|
| How fast a reply goes out | Within minutes, around the clock | Within minutes while the window is open | On the schedule; replies wait for a person |
| What it costs to keep | The Claude subscription and the server; Slack approval adds API billing | The Claude subscription only | The server or nothing; the subscription only for maintenance |
| When your computer is off | Keeps running | Stops until you open the window | Keeps running on a server; stops on your computer |
| Who approves | You on the card, or the team in Slack | You in the window | Nobody; you approved the templates once |
| A model inside | Yes | Yes | No |
Start with way B. Move to way A when replies must go out with the window closed or the team approves in Slack, and add way C for sign-ups and forms. Two ways can run at once on one subscription.
Step 4: Connections, what the AI agent needs access to
A connection is an API key, or service token. You create it in the service's settings and paste it on one line of the AI agent's settings file, on the computer or server where it runs. You or your SDR can do this; a developer is needed once for the setup 3 mailbox and, if your product or form service has neither a webhook nor a notification email, for the sign-up feed. The board's GitHub App comes from step 2, so its key is not repeated here.
The connections
Each row is one key.
| Connection | What the AI agent does through it | Needed in |
|---|---|---|
| Contact data, Apollo | In setup 1 the AI agent builds the list to your ICP; in every setup it looks up the size, industry and country of each company that replies or signs up. | every setup |
| Email verification, ZeroBounce | The AI agent checks every address before the send. | setup 1 |
| Sending service, Smartlead | The AI agent loads the verified list and sequence, reads every reply, answers in the same thread and sends the follow-ups. | setup 1 |
| All-in-one outbound, explee | The AI agent reads every reply and answers in the same thread from explee's mailbox. | setup 2 |
| A mailbox for sign-ups | The AI agent writes from the sales rep's or a shared company address on Google Workspace or Microsoft 365. A developer connects it once through the provider's API or Unipile, a connector for Gmail and Outlook accounts. | setup 3 |
| Your CRM, such as HubSpot or Pipedrive | The AI agent checks whether the company is a customer or in an active deal, then creates the lead before the first email for the sales rep to see. Any mainstream CRM issues the key in its settings. | every setup |
| The sales rep's calendar, Calendly | The AI agent puts the booking link in the reply and, on every run, reads new bookings and matches them to cards by email, company domain or name. | every setup |
| Sign-ups and forms | The AI agent receives each sign-up through the webhook or notification email from the setups section. | setup 3 |
| Short links, Short.io | The AI agent creates one link per lead to the requested material and, on every run, reads whether it was opened and when. | every setup |
| Slack | You install a Slack app with a bot token in your workspace, and the AI agent posts through it: the cards to one channel, the alarms from the daily check in step 6 to another and, in team mode, the drafts for approval. | team mode and alarms |
Apollo's API comes with every paid plan; Smartlead's needs the Pro plan. A Calendly personal access token works on any plan, the free one included, and the AI agent needs no paid webhooks because it checks bookings on every run. Short.io's free plan includes the API and click statistics; put the links on your own short domain so they look like yours.
Material on request
The step 1 folder holds your case studies and one-pagers, each a page or file a lead can open on your website or in a shared drive. When a lead asks, the AI agent picks the piece that matches the question, industry or system, makes a short link for that lead alone and sends it instead of an attachment. Because each lead has its own link, the AI agent sees who opened it and when. The first open becomes a dated event on the card from step 2, and the AI agent writes its next message then. Use a short link rather than a UTM tag so the lead sees a clean address without a tracking tail.
Two rules for keys
Keep keys in the settings file where the AI agent runs, never in the repository, on a card or in chat. The AI agent reads a key when needed and never writes its value to a log or card. Whoever has the file can access every connected service, so reissue the keys when a person with access leaves. Limit each key to the job in its row: the Slack app posts to two channels and reads nothing, the calendar token reads bookings, and the GitHub App opens only the repository from step 2. A leaked key exposes one service, not the company.
Step 5: Control, who approves and how to stop everything
Control covers who approves each email, how you stop all sending, and the rule that protects active deals. Your approval stage is one line in the rules file from step 1, which says who may approve. Moving up a stage, or moving back after a bad week, takes one edit. You do not reprogram the AI agent.
Three stages of approval
| Stage | What you see | Move on when |
|---|---|---|
| 1. You approve every email | Every draft waits in the Claude Code window, on the card, or in Slack. You read it, correct it if needed, approve it, and the AI agent sends it. | For several days in a row, you approve every draft without changing it. |
| 2. Routine replies go out, unsure ones wait | The rules say which replies wait, and the AI agent sends everything else within minutes. A waiting draft has the label "Draft ready" and, in team mode, a Slack message. | The waiting drafts also go out unchanged, and your waiting list keeps getting shorter. |
| 3. No approvals | Every reply goes out. A risky reply gets the standard answer and a warning line on its card, and you read the flagged cards every day. | This stage stays. |
Write the waiting list for stage 2 in the rules. It usually includes a lead who named a time for a call, a price negotiation, and a partnership offer. Add complaints, companies above a size you set, and replies that contain only an attachment. Any question the product knowledge does not answer also waits for you.
Stages 2 and 3 exist for speed. A draft can wait for hours while its approver is in a meeting, on holiday, or simply not reading the queue, and the warm lead cools. If drafts wait more than a day, the approver is the bottleneck, not the AI agent, so move to stage 2. At stage 3, anything you would have changed becomes a line in the rules, and the AI agent does not resend the email.
The stop switch
Keep one flag file on the computer or server where the AI agent runs; while that file exists, sending is on. Delete it, and no email leaves, but the AI agent continues to read replies, research companies and write drafts. It still updates the cards, and the drafts wait there. Put the file back, and the waiting drafts go out on the next run, so read them first if sending was off for long. The owner holds this switch, and nothing in the rules folder can turn it on. Those rules may make sending stricter, but never looser. For one company, the "Do not write" label from step 2 stops its emails; the switch stops everything.
The one rule you never loosen
The AI agent never writes where your person is already talking. Before the first email and every follow-up, it checks by company domain, not by the exact address, whether anyone from that company has an active deal in the CRM, has appeared in the sales rep's mailbox in the last months or has a booking on the calendar. It also checks for a colleague's note on the card. Any hit adds the label "Our person is in the thread", and no email goes out then or later. The check must separate the AI agent's emails from your person's emails: when it sends from the sales rep's mailbox in setup 3, its own sent emails do not count as the sales rep talking to that company, and the card log identifies each sender. This rule remains in the hard rules from step 1 at every approval stage. The first person who stops trusting the AI agent is the sales rep whose deal it stepped on.
Step 6: The daily check, the report and the people
This step covers the separate daily check, your report, and the people behind every handover. The AI agent's report of a run is a claim, not proof. A run can say "done" when its mailbox reading failed, and nobody notices until a lead writes "let's talk this week" and receives no answer.
The daily check
The check is a small script that Claude Code writes from your rules once. It has no model inside and runs once a day on the computer or server where the AI agent runs. It either runs or raises an alarm; it cannot fail quietly. Each day, it pulls every reply from the sending service's inbox, explee's inbox, or the mailbox. It checks every campaign, including finished ones, because replies to the last sequence email can arrive after completion.
The check matches each reply to a note on a card by the lead's address and company domain. A reply without a note on any card is a missed reply and raises an alarm. The alarm goes to the Slack channel for alarms from step 4 or, in way B without Slack, to the AI agent's folder as a file you see when you open the window. Each alarm names the lead and the card, so the AI agent or a person answers it in the next run.
The report
| Line | What it says |
|---|---|
| Calls booked and held | The first line gives both counts since the last report. It includes only bookings created after the AI agent's first email to that company, not every booking on the company calendar. |
| One row per booking | Each row gives the company, meeting time, and what the lead asked. It shows what the AI agent answered and what a person needs to do. |
| Replies waiting for a person | It lists every reply waiting for a person and says how long each one has waited. |
| Not in the report | The job is to book calls, so the number of emails sent is not a result and does not appear. A report that leads with sends makes activity look like progress. |
The AI agent writes the one report you read. It goes to Slack in team mode, or to the Claude Code window and the board in way B. It arrives at the start and end of the working day, and at once when a call is booked or a lead replies. Zero bookings is written plainly as zero. A call counts as held only when the calendar or the recording confirms it, so silence never appears as a held meeting.
The people behind the steps
The AI agent takes a lead to the booking; from there, a person must show up. Before you switch on anything that books meetings or asks for replies, name the person behind every mailbox and every calendar the AI agent points to, and check that each person turns up. Decide who answers replies on the waiting list, who hosts each call and who puts the stop switch back, and write their names in the rules file from step 1, the one that says who may approve. A booked slot with no host is a failure the board will not show. The AI agent books the slot, the lead arrives to find nobody there, and the card reads "Booked" throughout.
After each meeting, the check reads the calendar; with no recording and no note, it marks the call as a no-show in the report. A reply that waits a working day without a person's answer raises the same alarm as a missed reply, and the alarm names that person. The check watches the people as well as the AI agent; otherwise it passes every night while leads wait. The owner is the usual bottleneck because decisions that wait on you for days stop the AI agent as surely as a deleted flag file. Give the SDR or the sales rep authority over routine cases, and keep only the rules and the stop switch for yourself.
Launch checklist
Walk through this list before the first email. Each row gives a proof you can see at your company; the build time by setup is below.
| Before the first email | Done when | Step |
|---|---|---|
| Setup chosen | You can name setup 1, 2 or 3 and its lead source. Two can run at once. | Choose your setup |
| Who approves decided | One person approves with Claude Code, or the team approves in Slack. The Claude Max subscription is on a company email, not an employee's login. | The seven parts |
| Rules and product knowledge written | The folder holds the rule files and the product files drafted from your SDR's threads, including the "we do not have" list, and you have read and corrected every one in one sitting. | Step 1 |
| Suppression lists loaded, setup 1 only | Before the first send, the sending service holds your customers, everyone your team has written to and everyone who said no. | Step 1 |
| Board created | A private repository from the template has the AI agent's own GitHub App installed only there. The labels appear after the first run. | Step 2 |
| Where the AI agent runs chosen | For way B, Claude Code opens in the rules folder on your computer; for way A, a server job starts it. For setup 3, the way C scripts run on their schedule. | Step 3 |
| Connections in place | The AI agent's settings file has one line per key; none appears in the repository, on a card or in chat. The Slack app posts to two channels and reads nothing. | Step 4 |
| A run with sending off | Without the flag file, the AI agent handles a real reply: it checks the CRM, the mailbox and the calendar, writes the draft and the notes on the card, and no email leaves. | Step 5 |
| Stop switch tested | You deleted the flag file, saw no email leave on the next run and put it back. | Step 5 |
| Stage 1 for the first days | The rules file names who approves, and that person approves every email until drafts go out unchanged for several days in a row. | Step 5 |
| Daily check on | The check ran once and its alarm reached the Slack channel or the folder you read. A missed reply would name the lead and the card. | Step 6 |
| People named | The rules file names who answers the waiting list, who hosts the call and who puts the switch back. Every calendar the AI agent points to has a named host, and the report's first line is calls booked and held. | Step 6 |
How long the build takes
| Setup | To the first approved email | What takes the time |
|---|---|---|
| Setup 2, no outbound yet | An evening | You take one key from the explee account you already have. Claude Code drafts the rules from your threads, you correct them in one sitting and create the board from the template. |
| Setup 3, leads come in on their own | A week | You prepare the rules and the board as above, and a developer connects the mailbox once and, if needed, the sign-up feed. Claude Code writes the way C scripts, and you run them with sending off. |
| Setup 1, you run outbound | A month | You prepare the rules and the board, buy and connect the mailboxes, and anchor the ICP on who pays. You approve the sequence, load the suppression lists and set the launch rules. |
These are orders of magnitude, and the time is yours, not a developer's. The first days after launch are stage 1 in every setup, so add them before the AI agent sends on its own.