The core principle: shorter scripts convert better
The most counter-intuitive lesson from our production data is this: for voice AI agents, shorter scripts convert higher than longer ones. A script that works beautifully when read by a human salesperson — long, detailed, with multiple qualification questions and re-confirmations — falls apart when spoken by an AI. Callers detect AI quickly, and once they do, their patience drops dramatically. Every extra question, every reformulation, every “let me confirm that back to you” is an opportunity for the caller to hang up before you’ve captured what you need from them. Our highest-converting agents complete their full information capture in under two minutes, with a booking rate around 92%. The moment a call crosses three minutes, hangups spike — callers either start asking for a human representative or simply disconnect. Third-party voice AI research aligns with this directly: industry data consistently shows that call abandonment increases sharply when agents force callers into repetitive clarification loops, with one analysis finding that 45% of voice AI abandonments occur after speech recognition confidence drops below 80% in the moments preceding the disconnect. The takeaway is the opposite of what most clients will instinctively ask for. They will want the agent to ask five or six pre-qualification questions, confirm every piece of information back to the caller, and behave like a thorough human assistant. That intuition is wrong for AI. You’re not optimizing for completeness — you’re optimizing for ROI. The goal is to capture the lead and hand them off to a human representative who can do the deep qualification afterward. Every second the agent spends on the call before it captures the lead’s contact information is a second where the caller might hang up and you lose the opportunity entirely.The four-step script structure
Every PulsyAI agent script — inbound, outbound, or SMS — follows the same four-step structure. The diagram below shows how each step maps to the principles covered later on this page: The yellow boxes show which of the eight principles (covered in detail later on this page) apply at each step. The script methodology is universal — the same four-step structure powers inbound, outbound, and SMS agents, with only the greeting and capture details adapted per agent type.1
Step 1: Greeting and need identification
Open with a short, natural greeting that discloses the AI identity. Then invite the caller to describe their problem or reason for calling.
2
Step 2: Technical clarification (when needed)
Ask one — at most two — targeted follow-up questions based on the type of problem the caller mentioned. This is the only place where light qualification belongs.
3
Step 3: Capture lead information immediately
As soon as the need is identified, reassure the caller that a human representative will call them back, and immediately move to capturing their contact information.
4
Step 4: Closure with SMS verification
Confirm everything has been recorded, mention the SMS summary the caller will receive, and end with a warm wrap-up.
Principle 1: The greeting pattern
The opening line of every PulsyAI agent follows this exact pattern: Three things matter in this opener: Always disclose that the caller is talking to a virtual assistant. Counter to what many resellers worry about, this transparency actually increases both conversation duration and booking rate. Hiding the AI identity backfires the moment the caller’s instinct picks up on it — and human ears are surprisingly good at this. Once trust is broken mid-call, it never recovers. Disclosing up-front sets the right expectation, and callers who continue past the greeting are pre-qualified to engage with an AI. Use a short, friendly name like Luna or Aria. A consistent, easy-to-pronounce name builds brand recall over time the same way Siri did for Apple — callers who encounter your agent across multiple businesses or referrals start recognizing the name. You can use any name you want; the constraint is that it should be one or two syllables, easy to pronounce in your callers’ primary language, and gender-neutral or appropriate for your brand voice. Do not put a comma after “virtual assistant”. This is a small detail with an outsized effect on how the TTS engine renders the line. A comma forces a pause that makes the greeting sound robotic and over-articulated. Removing it produces a flowing, natural opening that matches the cadence of a human assistant introducing themselves. The variants for outbound and SMS agents differ slightly — covered in their respective implementation pages — but the principle of clear AI disclosure with a friendly named identity holds in all three.Principle 2: Capture fast — minimize pre-qualification
The instinct most clients have is to front-load the script with qualification questions: “What’s your budget?”, “When are you looking to start?”, “How many bedrooms?”, “Are you the decision-maker?”. For human sales conversations, this works. For voice AI, it kills conversion. The PulsyAI rule is to capture lead information within the first 30-45 seconds of identifying the caller’s need, and let the human representative handle qualification afterward. The sequence is always:- Caller states their problem (“I have a leaking pipe”).
- Agent responds with a brief acknowledgment plus a reassuring promise: “Perfect, one of our technicians will call you back as soon as possible to help with this.”
- Agent immediately transitions to capturing contact info: name, phone, email, address — whatever the client has configured.
Principle 3: Never repeat user information back
This is the most contrarian principle in the PulsyAI methodology, and it’s the one that drives the biggest conversion gains. When a caller gives the agent their name, phone number, email address, or street address — the agent must never read it back, repeat it, or ask the caller to confirm it. The reasoning is rooted in how speech recognition (STT) and text-to-speech (TTS) actually behave in production. STT is not 100% accurate, especially for non-English languages (French, Spanish, German) and especially for atypical inputs — hyphenated names, French diacritics, apostrophes in surnames, alphanumeric emails. Consider an email likemarc-andre.l'heureux42@hotmail.fr — a perfectly normal Quebec email address. Every voice AI system on the market today will mangle it on first capture. The natural instinct is to read it back to confirm — but doing so triggers a loop:
- AI mishears the email, reads back something wrong.
- Caller corrects it.
- AI mishears the correction, reads it back again, still wrong.
- Caller, irritated, tries to spell it letter by letter.
- AI struggles with the letters.
- Caller hangs up.
- “It’s well noted.”
- “Got it, registered.”
- “Perfect, I have your address.”
Principle 4: Post-call accuracy via Whisper correction
PulsyAI doesn’t rely on the live-stream STT to be perfect — because it isn’t. Instead, every call recording is sent to Whisper (OpenAI’s transcription model) after the call ends for post-processing. Whisper analyzes the full call audio with context and corrects any STT errors that happened during the live conversation. The result: information delivered to your client’s CRM, email inbox, Slack channel, or wherever they receive lead data, lands at 98% accuracy — not the lower live-stream STT accuracy. The Whisper correction runs in the backend and takes only a few seconds. From the client’s perspective, the corrected lead info appears almost instantly after the call ends. For phone numbers, accuracy goes even higher — we cross-reference the caller ID detected by the telephony layer with the number the caller verbally provided during the call. If they match, the number is verified. If they don’t, both are passed through to the client so they have two valid contact points instead of one wrong one. This back-end accuracy layer is what makes the “never repeat” principle work in practice. The agent doesn’t need to confirm the email during the call because the system will correct it after the call. The caller never experiences the back-and-forth, and the client still ends up with accurate data. To push accuracy from 98% to effectively 100%, enable the Verify User Information feature in your SMS Configuration. With it active, the caller receives an SMS right after the call ending containing a summary of the captured information — if anything was misheard, they simply reply to the SMS with the correction and the data is fixed in your CRM automatically. This creates a complete loop: live capture → Whisper correction → SMS verification → final accurate data.Principle 5: Knowledge Base placement — inline vs. separate
PulsyAI lets you store knowledge in two places: directly inside the agent’s prompt, or in the dedicated Knowledge Base section. Most resellers default to the Knowledge Base section by habit. That’s not always the right call. The trade-off is latency. When information lives in the Knowledge Base section, every time a caller asks an out-of-script question — pricing, service areas, hours of operation — the agent performs a function call to retrieve the relevant knowledge. That function call adds 300-800ms of latency to the response. In voice conversations where above 800ms turn latency breaks conversational flow and past 1.2 seconds callers start talking over the agent, every avoidable function call is a chance for the caller to perceive the agent as slow or broken. The PulsyAI guideline:- Knowledge base is small (less than ~100 pages of text equivalent in a Word document) → put it inline in the prompt, immediately after the conclusion section. The agent has it available with zero function call overhead.
- Knowledge base is large (large product catalogs, extensive service documentation, complex pricing matrices) → use the dedicated Knowledge Base section. The function call latency is unavoidable, but the alternative — bloating the prompt to thousands of tokens — degrades response quality across the entire conversation, not just on KB queries.
Principle 6: Use the pre-call intro message
PulsyAI supports uploading a 10-15 second human voice recording that plays before the agent picks up the call. This is one of the highest-ROI features for boosting both call completion rate and caller comfort. The recording is typically a short, friendly human voice saying something like: “Hi, thanks for calling{company}. You’re being connected to our virtual assistant who will help direct your call. One moment please.” This serves two purposes:
- Psychological priming — the caller hears a human voice first, which sets a positive tone and primes them to expect an AI handoff. By the time the AI greets them, they’re already mentally prepared rather than caught off-guard.
- Brand warmth — the human voice reinforces that there’s a real business on the other end, not just an automated system. This matters most for inbound calls where the caller is contacting your client cold.
Principle 7: Keep sentences short — avoid robotic verbosity
The final principle is about how the agent actually speaks line-by-line. PulsyAI agents are not configured with amax_tokens cap on responses, because hard limits cut sentences mid-thought and sound worse than verbose ones. Instead, the script itself should be written in short, conversational sentences. Long, formal, multi-clause sentences sound robotic regardless of how good the TTS engine is — and once the caller perceives the agent as robotic, hangup risk rises immediately.
A few practical rules:
- Aim for sentences of 8-15 words.
- Avoid compound sentences chained with “and”, “however”, or “additionally”.
- Prefer direct phrasing over polite formal phrasing. “Perfect, noted.” beats “Thank you very much for providing that information, it has been duly recorded.”
- Read the script out loud while writing it. If it doesn’t sound like something you’d say to a friend in conversation, rewrite it.
Principle 8: Recover missed leads with the right fallback stack
Not every conversation completes cleanly. On inbound calls, a caller might disconnect before the agent has captured their full contact information. On SMS agents, a lead might respond to the first message, exchange a few turns, and then go quiet mid-thread. On outbound calls, the lead might never pick up in the first place. Without a recovery mechanism, those partial conversations are dead leads — the caller demonstrated intent, you did the hard work of engaging them, but you have no path to follow up. PulsyAI solves this with a combination of two features that work together:- Call Back (configured in the agent’s Integrations tab) — the trigger. You define the condition under which a fallback should fire (e.g., “the agent did not collect a phone number or email”), and choose whether the fallback is a voice callback (the AI calls back to finish the conversation) or an SMS message (the AI texts the lead). For full Call Back configuration, see the Call Back page.
- Stale Conversation Recovery (configured in the agent’s Integrations tab) — the relaunch sequence. Once the fallback has been triggered and the first follow-up SMS sent, Stale Conversation Recovery handles the automatic retries if the lead doesn’t respond. Push delay, relaunch delay, max relaunch attempts. For configuration details, see the Stale Conversations page.
Behaviour by agent type
The trigger differs slightly depending on which agent type you’re configuring:- Inbound voice agent — Use Call Back (in Integrations) to trigger either a voice callback or SMS fallback when your condition fires. Stale Conversation Recovery handles the retries on the SMS thread.
- Outbound voice agent — Use the dedicated Auto Call Back tab to retry unanswered calls and send a final SMS fallback after voice retries are exhausted. Auto Call Back is Outbound-specific and replaces the Call Back integration for this agent type. You can optionally still add Stale Conversation Recovery to extend the SMS retry sequence further.
- SMS AI agent — Stale Conversation Recovery is the only integration needed on a standalone SMS agent — it handles all the retries when the thread goes silent. Call Back is not configured on the SMS agent itself, because there’s no voice-to-SMS transition to trigger (you’re already in SMS). The exception is when an SMS agent is being used as a fallback for an Inbound voice agent — in that case, Call Back lives on the inbound voice agent (not on the SMS agent), and the SMS agent simply receives the thread when the trigger fires.
The hot-lead window
The PulsyAI recommendation for the Stale Conversation Recovery relaunch sequence, refined from production data: three relaunch attempts at five-minute intervals. The reason is that a lead who just hung up — or just went silent on an SMS thread — is still in the “hot window”. They demonstrated intent moments ago. Waiting hours or days dramatically reduces the chance of re-engagement. Five-minute intervals across three attempts give you maximum coverage of the hot window without crossing into spam territory. After the third attempt, if the lead hasn’t re-engaged, they’re likely not coming back through this channel — your client’s human team can take it from there via direct outreach.Triggering on conditions
Both Call Back and Stale Conversation Recovery work best when triggered conditionally rather than universally. A common configuration: only trigger if specific fields are missing. For example, in Call Back you might set “the lead’s name was captured but the phone number or email was not” → trigger SMS fallback. If everything was captured cleanly, no follow-up is needed. This avoids over-messaging leads who completed the conversation normally and concentrates recovery effort on the actual incomplete captures.Opt-out is respected automatically
If a lead replies to a relaunch SMS with a stop intent (“stop”, “leave me alone”, “unsubscribe”, etc.), the agent automatically halts the relaunch sequence for that lead. No manual intervention is required from the reseller or the client — PulsyAI handles the opt-out detection in the backend.Principle 9: The AI prequalifies, the human closes
This is the principle that determines how the entire script is designed: the AI’s job is to prequalify and book the lead — not to close the sale. Every script on this page, every example, every recommendation traces back to this single insight. The agent captures the lead’s intent, confirms the basics, and books the human callback. The human representative on the other end is the one who actually closes — they handle deep qualification, pricing negotiation, objection handling, and the final commit. The AI’s job is to make sure the right lead lands in front of the right human at the right moment. This division of labour produces dramatically higher conversion rates than the alternative — building an AI that tries to close the entire deal end-to-end during the call. The reasoning:- Callers detect AI close attempts. The longer the agent stays in “selling mode” — quoting prices, handling objections, pushing for the commit — the more obvious the AI identity becomes, and the more callers disengage.
- Humans close better than AI. Years from now this will change, but in production today, a competent human representative on a focused 5-minute call converts qualified leads at rates the AI cannot match. The AI’s advantage is speed, scale, and 1,000 simultaneous calls — not closing skill.
- Lead quality at handoff beats lead volume at close. A well-qualified lead handed to a competent closer converts at multiples of a half-qualified lead the AI tried to close itself.
The warm transfer technique
The most powerful expression of this principle is the warm transfer: instead of scheduling a callback, the AI prequalifies the lead and then transfers the call directly to a human closer who’s standing by, while the lead is still on the line. This works particularly well when your client operates with a dedicated closing team — sales reps whose only job is to take prequalified leads from the AI and close them in real time. The AI handles the front-end qualification (right person, right need, right intent), then says something like “Perfect, I’m going to connect you with one of our specialists right now who can walk you through the details. One moment please.” — and transfers the call to the closing team. The conversion lift from warm transfer over scheduled callback is significant. Leads warm-transferred during peak intent — moments after they confirmed their need — convert at rates dramatically higher than leads who have to wait for a scheduled callback hours or days later. Every minute that passes between the AI conversation and the human conversation is a minute of intent decay. If your client has the team capacity for live closing, configure the agent to warm-transfer instead of schedule. If they don’t, the scheduled callback flow stays the default — still the best AI configuration on the market, just not the absolute peak.When NOT to use warm transfer
Warm transfer is not always the right choice:- The client has no live closing team. Without humans standing by to receive transfers, the call dies or hits voicemail — worse than a scheduled callback.
- The client’s closers work outside business hours your AI runs. If the AI is qualifying leads at 11pm and the closers start at 9am, warm transfer breaks. Scheduled callback handles this gracefully.
- The client charges high prices that require discovery. Some verticals (enterprise SaaS, real estate, legal services) need a longer discovery conversation before closing. The AI prequalifies, schedules a longer human discovery call, and the close happens after that — warm transfer skips the discovery step.
Working with clients who want longer scripts
Many resellers will hear the same request from their clients: “Can we add a few more questions before the agent asks for the contact information?” The instinct is understandable — clients want to qualify leads, score them, route them differently based on intent. Your job as a reseller is to share the data, then respect the client’s choice. Explain the trade-off:- Every additional pre-capture question increases hangup risk before lead capture.
- Qualification information collected by the agent has lower data accuracy than qualification done by a human on the callback.
- The leads with the highest intent are also the most likely to hang up when faced with friction.
Full example script: PulsyAI Plumber
The following is a complete, production-ready script for an inbound voice AI agent serving a plumbing business. The fictional company is “PulsyAI Plumber”. This script demonstrates every principle from this page applied in real form — short greeting with virtual assistant disclosure, immediate need identification, fast contact capture without read-back, inline knowledge base, and SMS verification closure.The script uses the same four-step structure regardless of vertical. Below the Plumber example, you’ll find short excerpts showing how the same structure adapts to Insurance and Dental verticals — only the domain language changes, never the structure.
Step 1: Identifying the client’s need
Greeting: “Hello, you’re online with Luna the virtual assistant from PulsyAI Plumber. How can I help you today?” If the caller doesn’t specify the problem clearly: “We offer several plumbing services: drain unblocking, camera inspection, smoke test, sewer cleaning, repair, installation, excavation work and more. Can you give me more details about what you’re observing?” (Pause for response)
Step 2: Technical clarification
Adapt the follow-up question based on what the caller described.- Water leak: “Where is the leak located, and how long has it been running?” (Pause)
- Backup or blocked pipe: “Is it in the basement or on another floor?” (Pause)
- Blocked toilet or sink: “Does the water stay blocked, or does it come back elsewhere in the house?” (Pause)
- Excavation: “Are the repairs for underground pipes or for a new installation?” (Pause)
Step 3: Capture lead information
“Perfect, one of our technicians will call you back as soon as possible to help with this and book an appointment that works for your schedule. To organize that, I just need a few quick details.”Then collect in sequence, never repeating any information back: Name:
“Could you give me your full name, please?” (Pause for response) On receipt: “Thank you, (name), noted.”Phone number:
“What’s the best number to reach you in case of confirmation or schedule changes?” (Pause for response) On receipt: “We’ve got your number well noted.” If they ask for confirmation: “It’s well noted! No need to repeat — you’ll receive a text summary after this call.”Email address (if your client requires it — optional in many configurations):
“Do you have an email address where we could send you confirmation and details?” (Pause for response) On receipt: “Perfect, it’s well registered.” If they insist on verification: “I cannot repeat this information out loud, but rest assured it’s correctly registered. You’ll see it in the SMS summary you receive after the call.”Address:
“Can you provide the address where the service will take place, including the apartment number and any access code? This helps our technicians arrive directly on site.” (Pause for response) On receipt: “Perfect, your address is well noted for the intervention.”
Step 4: Closure with SMS verification
“All your information has been recorded. One of our representatives will be notified of your request immediately and will contact you as soon as possible to organize your appointment and choose together the time slot that works best for you. After our call, you’ll also receive a text message with a complete summary of our conversation — if any information like your email or address was noted incorrectly, simply reply to that message with the correction and we’ll fix it immediately. Rest assured, we take care of everything! Your problem will be handled quickly. Thank you for trusting us!”
Inline knowledge base — pricing
Below the closure block, the script includes the full pricing knowledge directly in the prompt to avoid function call latency:- Drain unblocking: Two machines — small ($50) for minor obstructions, big ($150) for serious blockages. Technician arrives with both, exact cost confirmed on site.
- Plumbing repair: $250 first hour in Montreal (Saint-Laurent to Anjou), $300 first hour south of Sherbrooke, $125 each additional hour.
- Camera inspection: $200.
- Smoke test: $650 first hour (incl. travel), $250 each additional hour.
- Excavation: Variable pricing, free evaluation.
- Evenings/weekends: Double-time $250/hour, 4-hour minimum after 5pm or weekends.
- Service areas: Ahuntsic, Anjou, Hochelaga, Laval, Montréal-Nord, Rivière-des-Prairies, South Shore, Rosemont, Villeray.
The same structure across verticals
The four-step structure adapts cleanly to other verticals. The greeting, capture sequence, and closure remain identical — only the domain language in Step 1 and Step 2 changes.Insurance example (Step 1)
“Hello, you’re online with Luna the virtual assistant from PulsyAI Insurance Group. How can I help you today?” If unclear: “We can help with auto, home, life, or commercial insurance quotes and policy questions. What can I help you with today?”
Dental example (Step 1)
“Hello, you’re online with Aria the virtual assistant from PulsyAI Dental Care. How can I help you today?” If unclear: “Are you calling to book a cleaning, schedule a consultation, or follow up on an existing treatment?”In both cases, Step 2 narrows down with one targeted question (type of coverage / type of dental concern), and Steps 3 and 4 are identical to the Plumber example — capture contact info without read-back, close with SMS verification. The point is that the structure is universal. Once you’ve internalized the four-step PulsyAI method, building a script for a new vertical is a matter of swapping out the domain vocabulary, not redesigning the conversation flow.
Build your script with Claude in 5 minutes
You don’t have to write these scripts from scratch. The PulsyAI team uses Claude (Anthropic’s LLM) as a script-drafting assistant — feed it the methodology from this page plus the specifics of your client’s vertical, and Claude produces a first draft following the four-step structure in under five minutes. For a step-by-step walkthrough of this workflow, see Build a script with Claude.Next step
Once your script is drafted using the PulsyAI methodology, the next step is implementing it in an actual AI agent. The configuration steps differ slightly depending on whether you’re building an inbound, outbound, or SMS agent.Build an Inbound AI Agent
Configure agents that answer incoming calls and capture leads.
Build an Outbound AI Agent
Configure agents that initiate calls — speed-to-lead, callbacks, reactivation.
Build an SMS AI Agent
Configure agents that converse over text — qualification, follow-up, stale-lead recovery.