§ blog · playbook

How a 3-Person Dev Agency Books 5 Discovery Calls Every Monday

Most small dev agencies live on referrals and run dry between projects. This Monday-morning routine uses LinkFetch + Claude to surface 25 warm-enough leads and book 5 discovery calls every week, on a 90-minute time budget.

How a 3-Person Dev Agency Books 5 Discovery Calls Every Monday

A small dev agency has the worst pipeline shape in B2B. You have one or two senior people who can sell, and the moment a project starts they vanish into delivery. Outbound dies. Three months later the project ships, the team looks up, and the calendar is empty. Then the panic outbound starts. By the time those calls convert (if they do), the team has been dead-air for a month.

The Monday routine in this playbook is the smallest possible fix. It's 90 minutes once a week, run by whoever does business development that quarter, on a time budget the agency can defend even when the project is on fire. The output is 25 warm-enough names, 8 to 12 first-touch DMs sent, and an average of 5 discovery calls booked by Friday in steady state. You don't need a BDR, a sales hire, or a CRM. You need LinkFetch, Claude, and a watchlist.

What changed in 2026

The old "blast 200 cold DMs a week" agency move is dead. LinkedIn introduced what marketers are calling the "Volume Tax" in late 2025: an algorithmic penalty on accounts with high outbound activity and low corresponding inbound engagement source. A small agency that fires 200 cold DMs in a week now gets reach throttled for the next 14 days. The volume game is over.

What replaced it is signal-based outbound. Inbound-led outbound converts at 14.6% versus 1.7% for cold outreach source. The skill the agency needs is no longer "send more". It's "spot the 25 companies in your ICP that did something this week, and write a message that proves you noticed". That's a job for an LLM with structured data access, not a sequencer.

LinkFetch is a compliance-first LinkedIn data API that runs through a passive Chrome extension you keep signed in to your own LinkedIn account. The user is the principal, the data is yours. For a 3-person agency it's the cheapest piece of infrastructure on the stack and the one with the highest leverage for this routine.

The routine, in one diagram

08:00  → Signal scan       (15 min)  ~70 credits
08:15  → Triage to top 25  (10 min)  ~10 credits
08:25  → Draft 12 DMs      (25 min)  ~30 credits
08:50  → Read and edit     (20 min)   0 credits
09:10  → Queue + send      (10 min)  ~10 credits
09:20  → Calendar holds    (10 min)   0 credits
09:30  → Done.

Total credits: ~120 to 140 per week. Total time: 90 minutes. The 8-week steady-state output is 5 booked discovery calls per Monday's batch. Industry benchmark is $150 to $500 per booked meeting from a lead-gen agency source; your in-house cost on this routine is closer to $4 a meeting in LinkFetch credits, and you write the messages yourself.

Step 1: Set up the watchlist (one time, ~30 min)

The watchlist is 60 to 100 companies, never more. Anything bigger and the signal-to-noise gets dangerous for a small team. The composition we recommend for a dev agency:

  • 30 companies that are exactly your ICP (size, sector, stack), where you'd take a meeting tomorrow
  • 30 companies one band larger than your ICP, where you're building credibility for a future move
  • 20 to 40 "feeder" companies whose alumni often start the kind of company you sell to

Drop the list into a flat file. Frontmatter on each row: company name, LinkedIn URL, segment (ICP / stretch / feeder), and one line on why they're on the list. Refresh quarterly, not weekly. The watchlist is a slow-moving asset.

Step 2: 08:00, the signal scan

The first prompt of the morning, copy-paste:

Every Monday at 08:00, run linkfetch.companies.timeseries against my watchlist (attached). For each company, surface signals that fired in the last 7 days: new VP-level hire posted publicly, headcount delta of more than 10% MoM, public funding announcement, or any new job post in our sweet-spot functions (engineering leadership, product, design). Output a table sorted by aggregate signal strength, capped at 25 rows. Tell me which companies had no signals.

Time: 15 minutes (mostly waiting on the run). Credits: ~70.

What you're looking for: hiring signals indicate 30-60 day buying windows; a new VP at a mid-market company has a 70% chance of changing at least one tool in their stack within the first 90 days source. That's the window to be in the inbox. First-mover vendors reaching out within 48 hours of a signal see 4x higher conversion rates source, so the Monday cadence is optimised to catch Friday's signals before anyone else.

Step 3: 08:15, triage to the top 25

Most weeks the signal scan returns 35 to 60 candidate signals across the watchlist. You want 25. The triage prompt:

From the signal table above, drop any company where the only signal is a single junior job post (we don't sell into IC-level hiring); drop any company we've contacted in the last 60 days (paste recent contact list); promote any company in the ICP segment with two or more signals. Output the final 25 with a one-sentence "why this one" per row.

Time: 10 minutes. Credits: ~10.

Step 4: 08:25, draft the DMs

This is the prompt that earns its keep. The constraint list at the bottom is what stops Claude from writing the same generic message 12 times.

For the top 12 names from the triage list, call linkfetch.profiles on the relevant decision-maker (use the role mapping below: for a new-hire signal, message the new hire's peer or manager; for funding, message the founder; for a job post, message the function lead). Draft a 4-sentence DM per person. Constraints: open with the specific signal (not 'I noticed'); connect it to one tangible thing my agency ships (not 'we help companies like yours'); include one concrete reference to a project or post the recipient mentions on their profile in the last 90 days; close with a low-friction single question. No emoji. No 'I hope this finds you well'. No mention of a discovery call in sentence 1. If the profile is private or the signal is too weak to write a non-generic message, say so and skip the name. Don't fake it.

Time: 25 minutes. Credits: ~30. Output: 8 to 12 drafts (the model will skip 0 to 4 of the 12 because the signal isn't strong enough; this is correct behavior).

Step 5: 08:50, read, edit, send

This is the unautomatable step. You read each draft. You catch the one that misnames the recipient's company (every batch has one). You sharpen the question on three of them. You delete one because you realise you don't actually want this client. Then you send.

The personalization quality is the variable that matters. AI personalization driven by buying signals can boost reply rates by 142% and increase win rates by up to 95% source. The 20 minutes here is what makes that number real. Skipping this step is what makes AI outbound feel like AI outbound.

Step 6: 09:10, queue and the soft Friday close

Send the messages directly from your LinkedIn account, not through a third-party automation tool. LinkedIn's classifier treats third-party tooling as a higher-risk signal than human-paced outbound from a logged-in browser session. If you're using LinkFetch's outreach queue, throttle to one DM every 60 to 90 seconds with a randomized jitter; the goal is to look like a person on a Monday morning sending 12 thoughtful messages, because that's exactly what you are.

Step 7: 09:20, pre-block the calendar

Pre-block 5 discovery slots Tuesday through Thursday afternoon. Send the calendar link only after a reply, never in the first DM. Pre-blocking matters because if 4 of the 12 DMs reply on Tuesday morning and you don't have slots ready, you lose 2 of them to "let me get back to you on times" friction.

What week 8 looks like

The first 3 weeks of the routine produce 1 to 2 calls a week. By week 6 you're at 3 to 4. Week 8 onwards, with a watchlist that's been pruned twice, the steady state is 5 calls a week. Top LinkedIn outreach services advertise that "first meetings appear in weeks 3 to 4, consistent flow starts month 3, full optimization takes 6 months" source. This routine compresses that timeline because the watchlist is small and the signals are precise.

A 3-person agency at 5 discovery calls a week, with a 30% qualified-to-proposal rate and a 40% close rate on proposals, is at roughly 2 new projects a month. For an agency selling $25K to $80K projects, that's the difference between feast-and-famine and a healthy pipeline.

What to watch for

Watchlist drift. If you've been running the routine for 6 weeks and Monday's signal scan is returning 8 candidates instead of 25, the watchlist is too small or too quiet. Add 20 stretch companies and re-run.

Reply-rate decay. If your Monday batch was averaging 18% reply rate and drops to 8%, you've slipped into templating. Look at the last 12 DMs side by side. If the openings rhyme, the model has fallen into a rut. Tighten the constraint list with a fresh negative example.

Signal exhaustion. Some weeks, especially over holidays, the watchlist is genuinely quiet. Send 4 instead of 12. Don't send weak messages to hit a quota; the volume tax is real and a quiet week is a fine week.

Founder energy. This routine works because it fits inside one focused 90-minute block. The moment it spreads across the week ("I'll do the triage Tuesday"), it stops happening. Keep it Monday morning, keep it 90 minutes, keep the credit budget capped.

FAQ

Can I run this routine without LinkFetch?

You can run a worse version of it. The signal-scan step (prompt 2) is the part that breaks without a structured LinkedIn data layer; you'd be back to clicking through profiles for an hour, which kills the time budget. Other LinkedIn data APIs work, but most either cost more per call than LinkFetch or are scrape-based and increase the risk of LinkedIn flagging the source account. The compliance-first design of LinkFetch's user-principal extension is what makes it sustainable for a small team.

Why 5 calls a week and not 10?

Two reasons. First, a 3-person agency can't deliver 10 new projects a month, so booking 10 calls a week would either burn relationships you talk past or compress sales cycles in a way that hurts close rates. Second, the constraint of 12 DMs per Monday is what enforces personalization quality. If you wanted 10 calls a week, you'd send 24 DMs and they'd be worse, and your reply rate would drop, and you'd net the same number of calls anyway.

Do I need a CRM?

For the first 3 months, no. A flat file with the watchlist, a Notion page for replies, and your calendar is enough. The moment you have more than 30 active conversations, move to whatever lightweight CRM your agency already pays for. Don't buy one for this.

How does this compare to hiring a B2B lead-gen agency?

A typical LinkedIn lead-gen agency charges $3K to $8K a month and delivers 4 to 8 booked meetings per month, at industry-benchmark $150 to $500 per booked meeting source. Running this routine in-house, your meeting cost is dominated by your own 90 minutes a week (call it $200 in opportunity cost) plus ~$15 in credits. The trade is you keep control of who hears from you and what they hear.

What if I'm a 1-person agency?

Run the freelancer version of this routine instead. Same architecture, smaller watchlist (40 companies), tighter budget (~60 credits a week), 5 DMs a week instead of 12. The agency-scale routine assumes you have someone who can deliver while another person sells; a soloist needs the lower-volume cadence to survive delivery weeks.


Last updated 2026-05-04 by the LinkFetch team.