Case studies

A 60-person marketing agency runs outbound inside guardrails and finally knows which message works

Outbound happened in bursts, and nobody could say which message worked. Phos AI Labs built outreach that runs at a steady, polite pace inside limits a person controls, reports honestly every evening, and trained the team to run it.

11 to 58

active outreach days per quarter

2.4x

booked discovery calls

1 switch

a person arms every campaign

An astronaut in a Phos AI Labs suit choosing between two cards

The problem

In January, one of the two managing partners cleared a Friday for outbound. She sent 140 LinkedIn connection requests across two days, each with a note she wrote from scratch.


Then a pitch landed on her desk, and outbound stopped. Over the next three weeks, 31 people accepted her request. None of them got a second message.


One of them was the marketing director of a Fort Collins brewery. In March, the brewery signed a Denver agency to an $8,500 monthly retainer. The partner saw the announcement on LinkedIn and recognized the name from her accepted list.


The agency had good work and a strong referral base. Outbound was the part that never held. It ran hot after a slow month and went cold the moment billable work came back. Outbound happened when someone had a free afternoon.

Where Phos AI Labs came in

Phos AI Labs started with a two-week AI Readiness Audit. We interviewed both managing partners, the business development lead, two account directors, and the operations coordinator who kept the tools running.


Then we read the data. We pulled twelve months of LinkedIn Sales Navigator activity, the HubSpot deal history, the Mailchimp lists, and roughly 300 outbound messages the partners had sent by hand.


Four findings shaped everything after. Outreach happened in four clusters, each after a slow month. No two messages had ever been compared. Nearly a third of accepted connections never heard from the agency again. And the website drew visitors from target brands every week that nobody could see.

How we worked together: audit, foundation, implementation, refinement

The baseline

First, the numbers. They became the scoreboard for the whole engagement.

KPIBaseline
Active outreach days per quarter11
Message variants tested0
Connection acceptance rate22%
Accepted connections with no follow-up31%
Booked discovery calls per month5
Hours per week copying signups by hand3
Target-account visitors identified per month0


The 31% stood out. The agency was paying for the hardest part of outbound, getting someone to accept, and then dropping the conversation before it started.

Setting the foundation

The AI Foundation phase took two weeks. We sat with the partners and the business development lead and wrote down who they sell to and how they want to sound, because the rules lived in two people’s heads.


The target profile names regional consumer brands with an in-house marketing team of two to ten people. The message principles are short: under 60 words, one specific observation about the brand, one question, no agency jargon.


Then we wrote the outreach policy. Daily limits sit well below what LinkedIn allows, because the agency wanted to stay a respectful sender. A person arms every campaign with one switch, and any reply hands the conversation to a human immediately.


The approval rules went into the same document. A partner approves every message template before it can be used. Every system we built later reads from this playbook first.

Deciding what to build

With the baseline and the playbook in hand, the Phos AI Labs engineering team joined the account. Their job was to pick the right kind of system for each problem.


We looked at three common options first. A cloud LinkedIn tool running at maximum volume would put the partners’ own accounts at risk. A new SDR hire would cost over $70,000 a year and still lose afternoons to client work. A fully autonomous AI SDR would write and reply in the agency’s name with nobody watching.


So we matched the tool to the job. Sending the next scheduled touch, syncing acceptances, moving signups, and catching expired logins are the same steps every time. Each became an automation.


Screening website visitors against the target profile and drafting message variants are single decision points inside existing processes. Each became an AI-enhanced workflow. The daily A/B report needs judgment about sample sizes and patterns, so it became an AI agent with read-only access.


We did not build an AI employee here. The partners wanted to own the conversations themselves, and the work that needed a machine was pace and memory.

The build

The build ran five weeks. The campaign automation came first. On weekdays it ticks every 30 minutes between 8:30 am and 4:30 pm Mountain time, and each tick starts with one question: is the switch armed.

How outbound runs, before and now


If the switch is off, nothing happens. If it is on, the automation checks the day’s counts against the limits: 20 connection requests and 35 messages per sender, spread with random gaps so activity looks like a person working through a list.

The campaign console, armed by a person, capped by design (illustrative screen)


Each prospect moves through a fixed sequence from approved templates. A short connection request, a first message three days after acceptance, and one follow-up five days later. Any reply stops the sequence and opens a Slack thread for the sender.


The acceptance sync runs at 9:00 am and 3:00 pm, Tuesday through Friday. It records new acceptances in HubSpot, so the first message only ever goes to someone who said yes.


The A/B report runs at 7:30 pm. A reasoning model reads the day’s sends, acceptances, and replies by variant, and posts a short summary to Slack. Its credentials are read-only: it can never activate, edit, or send anything.

The 7:30 pm A/B report, posted to Slack every weekday (illustrative screen)


The signup sync runs at 8:00 am. New downloads of the agency’s lead magnet, a media cost guide for regional brands, move from the Webflow form into Mailchimp with the right tags. The three hours of weekly copying went to zero.


Visitor enrichment feeds cold email. A website visitor identification tool names the companies on the site, Apollo finds the marketing lead, and a small, fast model screens each contact against the target profile. Qualified contacts enter an Instantly sequence capped at 50 sends a day.


The whole setup reports by exception. A person hears from it only when action is needed: a reply, an expired LinkedIn session, or Apollo credits below 500. Silence means it is working.


The design is multi-model on purpose. The fast model screens profiles and visitors for a fraction of a cent each. The reasoning model writes the report. A drafting model proposes new variants. A partner approves anything a prospect will read.


Running costs land under $350 a month in model usage, on top of the existing tool subscriptions. Any single model can be swapped when a better one ships, without touching the rest.

The system and where people stay in control

Rollout and training

We didn’t arm anything on day one. For two weeks the campaign automation ran with the switch off, logging every touch it would have sent. The partners reviewed 200 queued touches and cut eleven.


The pilot started on the business development lead’s account alone. After three weeks with no restrictions and steady acceptances, one managing partner’s account joined.


Training ran alongside. A two-hour workshop taught the partners to approve templates and read the A/B report. The business development lead got a separate session on arming, pausing, and adjusting limits.


We wrote a one-page guide called “what to do when it goes quiet,” covering expired sessions and low credits. The operations coordinator owns the credits and the playbook, so changes no longer wait on Phos AI Labs.

Making it better

The first weeks taught us plenty. Partners edited 58% of drafted variants. The drafts ran long and slipped into agency language the partners would never use, so we fed in their twenty best-performing past messages as examples.


The acceptance sync first ran once a day, which made first messages land a day late. Moving to twice a day fixed it. Visitor enrichment kept flagging existing clients and the agency’s own staff, so we added a HubSpot exclusion list.


In week four, the LinkedIn session expired overnight and the campaign stalled for two days without a sound. The credential reminder came out of that week. It now pings the business development lead within an hour.


The A/B report also called a winner too early, after 22 sends. We set a floor of 60 sends per variant before the report may name one. Below that, it says the test is still running.


In month three, a newer reasoning model came out. We ran it against 90 days of past report data before switching. It matched the partners’ own winner picks on 13 of 14 tests, up from 10, so we swapped it in.


Every month, the partners and Phos AI Labs meet for 45 minutes to pick winners and retire weak variants. By week twelve, partners approved 76% of drafted variants without edits.

The outcome

In September, a marketing director at a Boulder outdoor gear brand accepted a connection request while the managing partner was at a two-day pitch. Three days later, the first message went out on schedule.


Five days after that, the follow-up asked one question about her spring catalog launch. She replied that afternoon, the reply opened a Slack thread, and the partner booked the call from her phone. The brand signed a $7,500 monthly retainer.


Outbound now holds through busy weeks. The partners spend their outreach time on replies and calls, and the evening report tells them which message to keep.

KPIBaselineAfter 90 days
Active outreach days per quarter1158
Message variants tested014
Connection acceptance rate22%38%
Accepted connections with no follow-up31%2%
Booked discovery calls per month512
Hours per week copying signups by hand30
Target-account visitors identified per month0210
Drafted variants approved without editsn/a76%

Before and after KPIs


The 36 discovery calls in the quarter produced five new retainers. Nine of those calls came from visitor enrichment, from brands that had already been reading the agency’s site.

The best part is the switch. We can pause the entire thing in one click, and the daily report tells us which message to keep.

— Anonymous Managing Partner, Colorado marketing agency

What’s next

The project doesn’t have an end date. Each monthly review sharpens the variants, and each new model generation makes the drafts and the report better. We retest every model release against the same report history before switching.


Next, reply sentiment will feed back into drafting, so variants learn from how people answer as well as whether they answer. The target is 18 booked calls a month inside the same daily limits.


If outbound at your company starts and stops with the calendar, Phos AI Labs can help you find a pace you can keep.

Client details changed under NDA.

What this engagement was

In partnership with

  • Anthropic
  • OpenAI
  • Zo
  • Make

The fastest way to know whether we're the right fit, is a conversation.

STEP 1/2 · ABOUT YOU