SaaS · Demo Call

The SaaS Product Demo Script for Selling Into a Revenue Team That's Already Cutting Tools

You booked this demo off a pitch call where the CRO said NRR went from 118% to the low 100s and the board wants to know if it's product, CS coverage, or macro. Since then, finance pulled the SaaS spend report and asked for seat-level utilisation on all forty-odd lines in the go-to-market stack. So the person joining your Zoom is not here to be impressed. They're here to find out where you break, what line item you'd replace, and whether their one-person RevOps team can survive your implementation.

That changes what a SaaS product demo script has to be. This buyer has sat through six of these this month. They know what a dashboard looks like. They will interrupt inside the first ninety seconds — about Salesforce object writes, about whether your signal is just topic-level intent with a new coat of paint, about who owns the account when a PQL fires. Every one of those interruptions is either a buying question or a disqualification test, and the demo is won or lost on how you handle them, not on the flow you rehearsed.

What follows is the script: the pre-call stack questions to send in writing, the opening contract, three core loops built on the pains they already named, cold answers on integration, ownership, failure and time-to-value, and the specific objections a VP of RevOps or a Head of Growth will throw at you mid-screen-share. Use the demo you built as a resource, not a running order. The detours are the call.

The demo call script

Say it in your own words. The structure is the part that matters.

  1. 1

    Pre-call: the confirmation email that builds the demo

    Send this 48 hours out. You cannot improvise credibility about a GTM stack. "Looking forward to Thursday. So I don't burn twenty minutes showing you screens that don't apply — four quick things: 1. Salesforce or HubSpot, and which edition? Any heavy customisation on the Account or Opportunity object I should know about? 2. Where does product usage data live today — warehouse (Snowflake / BigQuery / Redshift), a product analytics tool, or both? 3. Are you syncing out of the warehouse with reverse ETL, or is Salesforce still the source of truth? 4. Who's on the call, and is RevOps a team or one person? I'll build the demo against whatever you send back rather than my sandbox." If they answer, you've saved the call. If they don't answer, ask it out loud in the first two minutes and say why: "I'd rather show you your setup than mine."

  2. 2

    Pre-call: three people, three demos, one hour

    Map the room before you open the deck. - **CRO / VP of Sales** wants the outcome: does this move NRR, win rate, or ARR per rep, and can they say it in a board meeting without hedging. They will leave the call after fifteen minutes. Front-load for them. - **VP of RevOps / Head of RevOps** wants the data flow: which objects you write to, whether you need custom fields, how many of their hours implementation eats. They will kill the deal quietly if you're vague. - **VP of Customer Success** wants to know whether this creates work for CSMs who already carry too many accounts, and whether it distinguishes seat expansion from price uplift. - **Director of Sales Development** wants to know if the list their SDRs get is different from the one they stopped opening. - **Head of Growth / VP of Demand Gen** wants to know if this respects the self-serve motion or tramples it. Pre-build the two or three screens tied to what they complained about on the pitch call. Everything else is optional. Load their logo names, their plan tiers, their workspace naming convention. If they wouldn't share data, at minimum use their vocabulary — not ACME Corp and Test Account 1.

  3. 3

    Opening: set the contract in 90 seconds

    "Before I share anything — last time, Marco said NRR went from 118% to about 103%, and the theory is customers are re-baselining seats at renewal rather than churning outright. And Dana, you said you're the only person who touches Salesforce and you're already underwater. That still the picture?" [let them correct you] "Anything shifted since we spoke? Budget, priorities, anyone new?" "Two things about how I'd like to run this. First — please stop me. If you're thinking 'that won't work here,' say it in the moment. That's the useful part of the call; me finishing a slide isn't. Second — what's the one thing that, if this can't do it, we should stop and I'll give you the time back?" Then demo in the order they just gave you. Not the order in your tab bar.

  4. 4

    Core loop 1: the expansion signal you're missing (NRR)

    **Problem:** "So here's the moment I want to show. It's the second week of the quarter. Northwind is a 40-seat account, renews in 70 days, and last quarter their CSM logged a green health score. What nobody sees is that two weeks ago, four people from their data team created a separate free workspace on a different subdomain." **Screen:** "This is the account view your CSM opens. Not a dashboard — this is the list they work Monday morning. Northwind's at the top, and the reason is right here: new workspace, four users, none of them on the paid contract, all on the northwind.com domain. Second team inside an existing logo." **Consequence:** "That's a seat expansion conversation seventy days before a renewal, instead of a re-baselining conversation on the renewal call. Different meeting entirely." **Check:** "Is that how your workspaces actually get created — do teams spin up their own, or does everything route through one admin? Because if it's the second, this screen matters a lot less to you and I'd rather show you something else."

  5. 5

    Core loop 2: the PQL fight (PLG vs sales)

    **Problem:** "You said reps are calling into accounts that already have a free workspace and it's annoying the champion. That's not a data problem, it's an ownership problem — but the tooling can either make it worse or settle it." **Screen:** "So here's the routing rule. This is the bit you'd argue about internally, and I'd rather you argue about it here than after signature. Right now this is set to: three or more active users, seven days of usage, inside a domain with more than 200 employees. That fires a PQL. This field says who it goes to — right now it's routing to the AE who owns the parent account, and it suppresses SDR sequencing on that domain for 14 days." **Consequence:** "So the SDR list stops containing people who are already using the product, and the AE gets a sales-assist play instead of a cold one." **Check:** "What's your PQL definition today — do you have one written down, or is it still a debate between Growth and Sales? Genuinely, if it's still a debate, tell me and I'll show you what other teams settled on rather than pretending you'll configure this in week one."

  6. 6

    Core loop 3: pipeline you can defend on a forecast call

    **Problem:** "You said coverage looks like 3x on paper but half of it is stage-two with no next step booked, and forecast calls have turned into deal hygiene arguments." **Screen:** "This view splits open pipe by whether there's a signal behind it. Left column: opportunities where we've seen usage, a new team, a hiring signal, whatever it is. Right column: opportunities where the last observable thing was an outbound email in March. Your 3x coverage looks like this when you split it." **Consequence:** "That doesn't fix the pipeline. It does mean the forecast call is about two lists instead of a general argument about sandbagging." **Check:** "Would your VP of Sales actually use that split, or would it just get screenshotted once and forgotten? I've seen both." Stop after three loops. Three workflows shown completely beats twelve shown partially. If you've been talking for ninety seconds straight, you're in tour mode.

  7. 7

    "Will it handle X?" — the highest-value moments on the call

    Never answer the question as asked. Get the specific first. **Them:** "Does it handle multi-product accounts?" **You:** "Tell me the actual case — is it one contract with modules, or separate subscriptions under a parent that finance rolls up? Because those behave differently in here." Then answer one of three ways: 1. **Yes, and here it is.** Go show it live. This is the strongest thing that happens on a demo call. Don't describe it — click it. 2. **Yes, but not how you'd expect.** "You don't do it on this screen. You do it here, and it's two extra clicks and a saved view. It's not elegant." Buyers forgive ugly. They do not forgive discovering ugly in month three. 3. **No.** "No. We don't do that today, and it's not on the roadmap this year." Then: "How often does that come up — every renewal, or is it a once-a-year thing you thought of just now?" Half the deal-breakers turn out to be edge cases. Never say "we can build that." To a CRO who has already been burned by a vendor roadmap promise, that sentence is the exact sound of the last thing that slipped. Write it down out loud: "Noting that — territory-level suppression for accounts in a security review. I'll have a straight answer Thursday." Then answer it Thursday.

  8. 8

    Pressure line 1: integration (say this before they ask)

    "Let me get ahead of the thing Dana's going to ask. Integration. We connect to Salesforce via the native managed package. We read Account, Contact, Opportunity and User. We write to one custom object — signals — and one custom field on Account. We do not write to Opportunity. We don't touch stage, amount, or close date, ever. If your forecast is wrong, it will not be because of us. Product usage: we can take it two ways. Either you pipe events to us from Segment, or — and this is what I'd recommend given you're already in Snowflake — we read from a warehouse view you own. You control the view, you control what's in it. And we write back to a schema in Snowflake so your analysts aren't stuck querying our API. Install is the package, an OAuth connection, and one warehouse credential. Realistically that's a two-hour session with Dana and one follow-up. Not a project." Then: "What would break that? If you've got a heavily customised Account object or record-type restrictions, now's the moment."

  9. 9

    Pressure line 2: who owns it after we leave

    "Ongoing, this is about two hours a month, and it's admin work — adjusting the PQL threshold, adding users, changing who a play routes to. That's a RevOps analyst or a sales ops coordinator, not an engineer. It is not a warehouse project. On my side: implementation is run by a solutions engineer, and the same person stays on for the first 60 days. After that you get a named CSM. It's not a handoff to a queue. One honest thing — the routing logic is the part that needs a human owner with authority, not just access. If nobody at your company can say 'this is what a PQL is' and make it stick, the tool will surface things and nothing will happen. That's not a software problem and I'd rather flag it now than in QBR one. And if Dana leaves — the config is exportable, it's readable, and I'd do a two-hour handover with whoever replaces her."

  10. 10

    Pressure line 3: what happens when it breaks

    Do not lead with an uptime percentage. Nobody has ever bought because of 99.9%. "If we go down: your Salesforce data is untouched, because we only ever write, we never own a record you depend on. Signals queue and backfill when we're up — you lose freshness, you don't lose data. The practical impact is that Monday's list is Friday's list. Nobody's blocked from selling. If the warehouse connection fails, we alert your admin by email and in-app, and we don't silently show stale data — the view is stamped with last sync time so a CSM doesn't work a two-week-old signal. Support: P1 is a Slack Connect channel and a phone number, and a human answers. P3 is email, next business day, and I'm not going to pretend otherwise. Escalation goes CSM, then the support lead, then our VP of CS by name. Happy to walk you through the last incident we had and what we changed if that's useful — I'd rather do that than tell you we've never had one."

  11. 11

    Pressure line 4: time-to-value in three dates, not one

    "Three dates, because 'go live' means nothing on its own. **Live** — signals flowing into Salesforce: about two weeks from kickoff. That's the package, the warehouse view, and the first routing rule. **Useful** — one team stops doing the old thing: week five or six. For you that's probably CS, because they're the ones manually checking for new workspaces in existing logos right now. **Fully rolled out** — all AEs, SDRs suppressed on active accounts, the pipeline split live in your forecast call: end of the quarter. What I need from you, and I want you to hear the hours: a warehouse view your data person builds — call it four hours. A user list and territory mapping from Dana — two hours. One 45-minute training session per team. That's the real workload. Teams that get blindsided by their own effort stall in week three. And you said board's the second week of the month — I'd want the CS team using this before that, not the day of." Then one reference, as a sentence, not a logo slide: "[Comparable company], similar ACV, Salesforce plus Snowflake, one RevOps person. Live in twelve days, CS stopped their manual workspace audit in week six."

  12. 12

    When the room goes quiet

    The signs: shorter answers, "mm-hm," a half-second delay, typing, "yeah, no, that makes sense" said flat, camera off. Stop. Do not push through. In order of preference: 1. "I've been talking a while. Is this the part you care about, or should I jump somewhere else?" 2. "Let me stop the tour. What's the thing you're worried about that I haven't touched?" 3. "Do you want to drive? Tell me what to click." — almost nobody does this, and it works. 4. "I think I'm showing you the wrong things. Can I stop, spend ten minutes understanding what actually matters, and come back Thursday with a demo built for that?" What never works: talking faster, adding a feature, "one more thing I want to show you."

  13. 13

    Closing: gaps out loud, next thing booked live

    "Let me summarise where we are, including what didn't land. Three things worked for you: the second-team signal inside existing logos, the SDR suppression on active workspaces, and the pipeline split for forecast calls. Two open. One — whether we can respect your record-type restrictions on Account, which I need to confirm with our SE, not guess at. Two — Dana asked what comes out of the stack if this goes in, and I'm not going to answer that from the outside. If you send me the two line items you're weighing, I'll tell you honestly which one we can actually replace and which one we can't. Where does this sit for you now — worth pursuing, or has something already ruled it out?" [let them say no if it's a no] "Who else needs to see it? If your VP of CS needs a version, I'd run twenty minutes that's only the renewal-window view, nothing else. And if security needs to weigh in, I'd rather start that now than in six weeks." Then: calendar open on screen, date agreed, invite sent before you hang up. "I'll follow up next week" is where demos die. Within 24 hours: the two open gaps with answers, the four screens that mattered (not the full recording), the architecture and security doc if RevOps was on, and a one-line list of what you need from them.

  14. 14

    Language swaps for this room

    | Instead of | Say | |---|---| | "Our unified revenue intelligence platform" | "This is the list your CSM opens Monday morning." | | "We integrate with your whole stack" | "Native package, we write to one custom object, we never touch Opportunity." | | "Rich intent signals" | "Four new users on the same domain, outside the paid contract, 70 days from renewal." | | "It's very intuitive" | "Forty-five minutes of training per team. That's it." | | "That's on the roadmap" | "No. Not this year. How often does it come up?" | | "99.9% uptime" | "If we go down, Monday's list is Friday's list. Nobody's blocked." | | "Customers see ROI in 90 days" | "Live in two weeks. CS stops the manual audit in week six." | | "This will improve retention" | "This surfaces second-team signups before the renewal call. Whether that moves NRR is your call to make, not mine." |

How the call actually sounds

Prospect on the left, the rep on the right.

  1. Rep

    Before I share — last time Marco said NRR came off 118% and landed around 103, and the read is customers re-baselining seats at renewal rather than churning. Dana, you said you're the only one in Salesforce and you're underwater. Still accurate?

  2. Buyer

    Accurate, but I'll save you some time. Finance is running a consolidation exercise on the whole GTM stack. Forty-one tools, seat-level utilisation on every line. I can't add a vendor without naming one that comes out, in writing. So show me whatever you want, but that's the constraint.

  3. Rep

    Fair, and I'd rather deal with it now than at the end. Which lines are you actually weighing? Because if I can't credibly displace one, I'd rather scope this to one team's budget than pretend I'm free.

  4. Buyer

    Enrichment renews in March, and the intent vendor renews in June, which we're probably letting lapse anyway. We tried them last year and the data was garbage — everyone was in-market. Same four hundred accounts every week. The SDRs stopped opening the list by week three.

  5. Rep

    That's the standard failure mode — topic-level intent at the domain level. Someone in procurement at a 6,000-person company reads a comparison page and the whole logo lights up. It's unfalsifiable, so reps stop trusting it. What signal would you actually have acted on last quarter?

  6. Buyer

    Honestly? Somebody new from an account we already sell to, using the product, who isn't on the contract. That I'd act on. But that's product data, and our product data lives in Snowflake, not Salesforce. Salesforce is not the source of truth here and I'm not making it one for you.

  7. Rep

    Good — that's exactly the screen I built. And on Snowflake: we don't want to be your source of truth. You expose a view you own, we read it, and we write results back into a schema in your warehouse as well as into Salesforce. Let me show you the account view and you tell me if it's real. Northwind — 40 seats, renews in 70 days, health score green. Two weeks ago four people from their data team spun up a separate free workspace on a different subdomain.

  8. Buyer

    Stop there. Who does that go to? Because that's the actual fight in our company. Growth thinks self-serve accounts are theirs until a threshold, Sales thinks anything inside a paid logo is theirs, and nobody has written down what a PQL is. If your tool picks a side we'll spend a month arguing about it and never launch.

  9. Rep

    Then don't launch this rule. Here's the routing config — right now it's set to the AE on the parent account and it suppresses SDR sequencing on that domain for fourteen days. That's a default, not a position. Realistically, the tool doesn't settle who owns it. It just makes it impossible to keep the argument abstract, because the signal has a name and a date on it. Is there anyone who can make that call and have it stick?

  10. Buyer

    Marco can, if he cares enough. Look — the part I need to be convinced on is the Salesforce side. Our Account object has record-type restrictions and about sixty custom fields from an admin who left in 2022. Last vendor told me it was a two-hour install and it took my quarter.

  11. Rep

    Then I'm not going to tell you two hours. Here's what I know: managed package, we read Account, Contact, Opportunity and User, we write one custom object and one field on Account. We never write to Opportunity — not stage, not amount, not close date. Record-type restrictions I genuinely need to check with our SE before I answer, because guessing here is how your quarter gets eaten. I'll have that Thursday.

  12. Buyer

    Appreciate that. But even if it all works — Marco's going to ask me what this does for the retention number, and I don't have an answer that survives a board slide. He's already being asked whether it's product, CS coverage, or macro.

  13. Rep

    I'm not going to claim this fixes NRR. What I'd claim is narrower: right now nobody sees the second team signing up inside an existing logo, so that conversation happens on the renewal call instead of seventy days before it. Whether that converts into seat expansion depends on your CS team, not on me. Do you have a way to count how many of your paid logos have an unclaimed free workspace inside them today?

  14. Buyer

    No. Nobody's ever run that query.

  15. Rep

    Then that's the pilot. Give me a read-only view and a closed-won list from the last two quarters. If it doesn't surface accounts you actually expanded, I've saved you the trial and we stop. If it does, you've got a number to put next to the enrichment line in March. Can we get that view scoped before Thursday, and do you want me to run a twenty-minute version of this for your VP of CS — just the renewal-window screen, nothing else?

  16. Buyer

    Do the CS one. Thursday works. But if the record-type answer is bad, tell me straight and we'll stop there.

Objections you will hear

What they say, and what you say back.

ObjectionHow to answer it
Our stack is already bloated — I'm cutting tools, not adding them. (raised in the first two minutes)Join the mandate, don't argue with it. "Which lines are you cutting?" Then map yourself onto displacement out loud: if you can replace the enrichment contract and the intent tool, say which two line items you'd expect to come out and when they renew. If you genuinely can't displace anything, say that — "I don't think I replace anything you have" — and pivot to a scoped pilot on one team's budget with a defined kill date. Pretending you're free in front of someone holding a seat-utilisation report ends the call.
We're PLG. Outbound tooling doesn't map to how we grow.Agree first, then narrow. "Totally — I'm not pitching cold spray into your motion, and if that's what this looks like in five minutes, stop me." Then ask the question they can't answer: how many paid logos have a second or third team sitting in a free workspace right now, and who's working those? Most PLG companies have never run that query. Frame the whole demo as expansion intelligence and sales-assist, not outbound. Show the SDR suppression rule early — it proves you understand that spraying into an active workspace burns the champion.
We tried an intent vendor and it was garbage — everyone was 'in-market.'Name the failure mode before they finish describing it: topic-level intent resolved at the domain level surfaces the same four hundred accounts every week, reps stop opening the list by week three, and the vendor blames adoption. Then ask what signal they'd actually have acted on last quarter and be specific about how yours is different — user-level, first-party, timestamped, tied to a named workspace. Offer the falsifiable test: run it against their closed-won list from the last two quarters. If it doesn't surface deals they actually closed, you've saved them the pilot and you'll say so.
Everything has to write back to Salesforce and our warehouse, and RevOps is one person who's underwater.This is a real objection, not a brush-off, and vagueness here kills the deal after the call. Be exact: native managed package or middleware, which objects you read, which single object and field you write, what you never touch (say "we never write to Opportunity" out loud), whether it needs custom fields, and how many hours of their RevOps time implementation actually costs. If their Account object is heavily customised or has record-type restrictions, don't guess — commit to a date for a real answer. Name a customer with the same CRM-plus-warehouse setup and an equally thin RevOps bench if you have one.
How is this different from the six other tools that pitched me this month?Don't list features. Pick the one thing you do that the others structurally can't and say it in a sentence — for example, "they resolve at the domain, we resolve at the workspace and the user, so we can tell you it's a second team and not the same team again." Then ask what they bought last and why it disappointed them. The answer tells you which mental category they've filed you under. Either accept that box and beat the incumbent in it, or explicitly climb out: "I don't think I'm in the same category as that, and here's why."
Send me a deck and I'll circulate it internally.At a company getting twenty pitches a week, that's a no with extra steps. "Happy to — who's it going to, and what do they need to see?" If it's RevOps, they want the integration and data-flow picture, not a value slide. If it's finance, they want cost per seat and what comes out of the stack. If it's the CRO, they want one sentence they can repeat in a board meeting. Getting the name gives your follow-up a target. Not getting the name tells you this was politeness, and you should ask the temperature question instead.
No budget until the new fiscal year.Find out whether it's a real freeze or a prioritisation problem. Ask what got funded this quarter that wasn't in the plan — something always does. Then work the timeline backwards out loud: "If you want CS using this before the Q1 board meeting, security review and procurement are six weeks, so the decision happens now regardless of when the invoice lands." And if headcount is frozen but tooling isn't, say the quiet part: this is the budget line that survives when the hiring line doesn't.

Questions reps ask about this call

What should a SaaS product demo script actually contain if the buyer has already had the pitch?

Not a product tour. Three or four core loops built on the specific pains they named on the first call, each one structured as problem, screen, consequence, check. Plus cold answers on four things they will raise whether you do or not: integration (which objects you write to), ownership (who maintains it after you leave), failure (what happens to their team during an outage), and time-to-value split into three dates. Everything else is optional. A demo covering three workflows completely beats one covering twelve partially.

How do I demo to a CRO, a VP of RevOps and a VP of Customer Success on the same call?

Sequence for the person who leaves early — usually the CRO, who wants to know whether this touches NRR, win rate or ARR per rep and often drops after fifteen minutes. Front-load the outcome screen for them. Then hand the middle of the call to RevOps, because they will kill this quietly if the data-flow answer is vague: objects, direction, frequency, custom fields, hours of their time. Save the workflow detail for CS or the SDR director, and offer them a separate twenty-minute version rather than making everyone sit through it.

How do I handle a consolidation mandate that comes up during the demo?

Ask which lines they're cutting and when those contracts renew, then map yourself onto displacement explicitly — name the two line items you'd expect to come out. If you can't displace anything, say so out loud and go for a scoped pilot on one team's budget with a defined kill date. The worst move is to keep demoing features as if the constraint wasn't just stated; the buyer is holding a seat-utilisation report and will stop listening.

Should I use the buyer's own data in a SaaS demo?

Wherever possible, yes — their logo names, their plan tiers, their workspace naming convention, their closed-won accounts. If they won't share data before the call, use their vocabulary at minimum: their PQL threshold debate, their renewal windows, their segment names. Demoing with ACME Corp and Test Account 1 after they told you their account structure signals you didn't prepare, and it's one of the fastest ways to lose a RevOps buyer's attention.

What do I say when they ask 'will it handle X' and the answer is no?

Say no. "No, we don't do that today, and it's not on the roadmap this year." Then ask how often it comes up — every renewal, or once a year? Half of stated deal-breakers turn out to be edge cases the buyer thought of in the moment. Never say "we can build that" or "that's on the roadmap" to soften it. To a CRO who has been burned by a vendor commitment that slipped, that sentence sounds exactly like the last one.

How do I tell the demo is going badly before they tell me?

Listen for shorter answers, a half-second delay before responses, typing, "yeah, no, that makes sense" said flat, or a camera going off. Those are the signs — stop the demo immediately. Ask "is this the part you care about, or should I jump somewhere else?", offer to hand them the controls, or cut it short honestly and rebook with a demo built for what actually matters. Talking faster or adding another feature never recovers the room.