Most discovery calls I take get scheduled as “quick 30-minute intro” and then proceed as if neither party has a calendar. The founder talks for ten minutes about their idea. I ask three polite questions. We agree to “get a proposal over by end of week.” Both of us leave with less information than we needed. This post is the agenda I now run instead — the seven things a 30-minute SaaS discovery call should actually cover, why each one is on the list, and what I’m listening for in each answer. It is opinionated, and it skips most of the script that consulting firms publish, because most of that script is built around selling a 12-week engagement rather than figuring out whether one should exist.

What a discovery call is supposed to do

A discovery call is not a sales call and not a kickoff. Its job is to answer one question: is there a real engagement here, and if so, what shape is it. Everything else — pricing, timelines, architecture sketches — is downstream of that.

For a solo engineer working with a founder, “real” usually means three things simultaneously. There is a problem the founder can articulate without rehearsing it. There is a budget that maps to that problem in roughly the right order of magnitude. There is a decision-maker on the call (often the founder, sometimes not) who can say yes within a week or two.

If any of those three are missing the call should still happen — but its goal shifts. It becomes triage: figure out which piece is missing and whether it’s findable, or whether the lead is a polite no.

Scope-wise: this agenda assumes a build engagement of roughly 4–12 weeks. Shorter than that and you are doing an advisory call, which is a different format. Longer than that and one 30-minute conversation cannot carry the weight; you want a paid scoping engagement after the call.

The seven-block agenda

I run the call in seven blocks, roughly three to five minutes each, in this order. The order matters more than the timing.

#BlockPurposeWhat I listen for
1The current stateWhat exists today, in code and in processSpecifics, not pitch deck language
2The painWhat broke this week, not what’s strategicConcrete incident, dollar or hour cost
3The asked-for solutionWhat the founder thinks they want builtWhether they have a strong opinion or are testing mine
4The deadline and what created itWhy now, and what happens if it slips a monthExternal vs. internal pressure
5The budget envelopeAn order-of-magnitude number, not a quoteWhether they can say a range at all
6The decision processWho else needs to agree and on whatHidden stakeholders, board approval, co-founder vetoes
7The non-negotiablesStack, hosting, compliance, hiring constraintsThe thing they’ll fire me over later

The blocks are ordered so that each one calibrates the next. You can’t ask a useful budget question until you understand pain. You can’t scope a deadline until you’ve heard the asked-for solution and gauged how attached they are to it.

I usually leave the last three to four minutes for the founder’s questions, and for one direct statement from me: either “yes, I want to write this up as a proposal” or “I don’t think I’m the right fit, and here’s the shape of who is.” Saying that out loud on the call is a discipline I had to learn. Letting it drift into a follow-up email is how leads rot.

Pitfalls and anti-patterns

The most common failure mode is letting the founder drive the agenda. Founders are, by definition, people who will talk about their company until you stop them. If you don’t structure the call, you’ll get forty-five minutes of vision and zero minutes of decision-making process — and then run out of time before block six. Block six is the one that determines whether your proposal gets read by the person who can sign it.

The second failure is quoting on the call. Someone asks “roughly what would this cost” in block three, and the temptation is to give a number to seem decisive. Don’t. You don’t know enough yet, the number will anchor the rest of the conversation, and you’ll either underprice the work or scare them off before block four reveals the deadline that would have justified the price.

The third is the opposite: refusing to give any signal. “I’d need to scope it” is true but unhelpful. A useful answer at that stage is a range two orders of magnitude wide — “engagements like this typically land somewhere between a few thousand and several tens of thousands, depending on what we find in scoping” — paired with a commitment to send a real number within 48 hours.

The fourth pitfall is technical theater: spending block one and two going deep on the stack because that’s the part you’re comfortable with. The stack rarely determines whether the engagement succeeds. The decision process and the non-negotiables do.

A realistic worked example

Imagine a typical inbound lead — a founder running a small B2B SaaS on Rails, three years old, somewhere in the low six figures of ARR. They want “an AI feature.” That is the entire brief in the calendar invite.

Block one (current state): I ask what the app does today and what the stack is. I’m not taking notes on the answer for technical reasons — I’m checking whether they can describe their own product in two sentences. If they can’t, that’s a signal about how clear the brief is going to get.

Block two (the pain): “What did a customer ask for this week that made you think about this?” The founder describes a specific support ticket. Good — there is a real user, not a strategic narrative.

Block three (asked-for solution): They want a chatbot. I ask what the chatbot would do that their existing search and docs don’t. The answer is vague. I make a mental note: the asked-for solution is wrong, but the underlying pain is real. This is normal. (See dropping AI into an existing Rails app for what the actual scope usually becomes.)

Block four (deadline): “We want it before our next investor update.” That is an internal deadline, not an external one. Useful. It means the date is movable if scope demands.

Block five (budget): They give a range. The range is honest. We move on.

Block six (decision process): The co-founder, who is not on the call, handles all infrastructure decisions. We schedule a second call.

Block seven (non-negotiables): Must stay on Heroku, no new vendors that require procurement review. That kills three options I would have otherwise proposed.

The call ends at 28 minutes. I know the shape of the proposal, the real decision-maker, and the two constraints that change the architecture. None of that came from the founder volunteering it.

What success looks like

A discovery call has succeeded when, within an hour of hanging up, I can write a one-paragraph summary that contains: the problem in the founder’s own words, the constraint that most narrows the solution space, the budget order of magnitude, the deadline and what created it, and the next concrete step with a named owner and a date.

If I can write that paragraph, I can write a proposal. If I can’t, the call didn’t do its job and I owe the founder a follow-up to fill the gap before I quote anything.

A meeting that ends without a written next step is a meeting that has to happen again.

The other success signal is internal: I leave the call knowing whether I want this engagement. Not whether I can do it — almost any engagement is technically doable — but whether the founder, the deadline, and the constraints add up to work I’ll be glad to be doing in week six. Discovery calls are mutual.

A failed call is one where I send a proposal anyway because the lead felt warm and I was busy. Those proposals almost never close, and the few that do tend to become the engagements I’d want back. (For more on this filter, see solo developer vs agency for a SaaS MVP.)

When this agenda does not apply

This is a 30-minute agenda for inbound leads at the start of a potential build engagement. It is wrong for two adjacent situations.

If the founder is already a client and wants to talk about a new feature, you don’t need blocks one or six — you need a working-session format with a shared doc. If the founder is shopping for an advisor and there’s no build implied, the budget and deadline blocks make you sound like you’re trying to upsell. Cut them, expand block two, and end with a quote for an hourly advisory retainer instead.

There’s a third edge case: agencies running formal RFP processes. Don’t take those calls. The agenda doesn’t fit and you won’t win them anyway.

The smallest claim I’m willing to defend is this: if you cannot, on the day of the call, write the one-paragraph summary described above, the call was too short — not because 30 minutes is too little time, but because the agenda was wrong. Most 30-minute discovery calls produce nothing because they were really 30 minutes of unstructured talking. Run the seven blocks and 30 minutes is enough; skip them and 90 minutes won’t be.