Convin — internal training

Configuring an agent
Everything before the pilot

How prompting evolved from decision trees to the Eight Pillar Framework, how an agent is assembled from a knowledge base, and what every knob in the call-control panel actually does.

Session04
SpeakerSudesh
TopicAgent config and pilot prep
FormatLive walkthrough, taught as a quiz
Duration~80 min

Contents

The layer under everything else.

  • 1The opening questionTemplate category, and what actually decides it03
  • 2How an agent is assembledKnowledge base, agent, campaign, bottom up05
  • 3How prompting evolvedDecision trees, then whole-prompt, and what it costs07
  • 4The Eight Pillar FrameworkBuilt from the client's own call recordings11
  • 5Agent configurationGoal, personality, channels, capabilities14
  • 6The call-control panelEvery knob, its range, and its default19
  • 7Voice and the stackDeepgram, Cartesia, word boosting, background audio24
  • 8Campaign and lead metricsGoal achievement, and when it stays open28
  • 9PM lens and prepTakeaways, reference, likely questions30
The pilot SOP itself was deferred to a further session.02
1.0 · The opening question

Which template category, and why?

An ed-tech client wants to reach people who browsed their CPA and CMA pages and left without enquiring. The message: “you were seen on our website, can we speak now to know more?”

Is that a utility template or a marketing template?
The answer given in the room

Utility. The customer initiated contact by visiting the website, so the conversation is transactional rather than promotional.

What actually decides it

Consent, not who moved first. If there is a written terms and conditions the customer accepted, obliging them to receive WhatsApp or AI calls, utility is defensible. Browsing a page is not consent.

The person who answered was right about the reasoning and wrong about the threshold.03
1.1 · Why consent is the test

You are building evidence for a spam query.

You send utilitycheaper, near-total delivery
Recipients reportsome fraction always will
Meta askswhy were you contacting them?
You show consentthe accepted terms
Category holdsor it does not

Consent on file

Terms the customer accepted that oblige them to receive WhatsApp or AI calls. Utility is defensible, and you have something to show when Meta asks.

No consent, only a page view

Browsing is not agreement. Send marketing, accept the higher rate and the lower delivery, and keep the account safe.

This sharpens the Session 3 figure that roughly 99% of use-case templates land in marketing. The 1% that legitimately qualify are the ones with consent behind them, which makes consent capture a commercial lever rather than a legal formality.

Getting consent into the client's own signup flow is worth real money per message.04
2.0 · How an agent is assembled

Bottom up: knowledge base, agent, campaign.

Campaign

Leads, engagement days, channel limits, DND hours. The thing you actually run.

Agent

Named, given a goal, a personality, channels and tools. Created once, reused across campaigns.

Knowledge basethe prompt
Goalone line
Personalitytone + style
Channelswhat it may use

The speaker's analogy

The knowledge base is a brain. It is placed on an agent's head, and that agent is attached to a campaign. Build the brain first.

What this reorders

Meta integration and template configuration are secondary. If you are handed a platform and told to run a pilot, agent configuration is the first real work.

The left navigation is ordered the same way: knowledge base at the bottom, campaigns on top.05
2.1 · What the agent is for

Sense qualifies leads.
It does not close them.

Asked in the room: what should the goal of the agent be on a product-selling call?
The answer given

Qualify first, give surface-level information, just enough to get them interested, then pass a qualified prospect to a human who can actually close.

Confirmed, and generalised

Correct, and it is a property of the category rather than a limitation of Convin. No voice bot currently closes sales. Nobody trusts an AI enough to pay on the same thread.

Which is why every pilot follows the same shape: the bot qualifies, the qualified leads go to human agents, and the humans take the sale from there.

This is the same conclusion Session 1 reached from the business side.06
3.0 · How prompting evolved

It started as a decision tree. That broke.

Around January 2025 the bot was built on nodes: a greeting node, then a yes branch and a no branch, and so on down the tree.

Where the tree falls over
Greeting node“am I speaking with Suga?”
Customer: yesthe tree expects this
“Why are you calling?”off-script, unplanned
Jump to another nodeif one exists at all
Trace backto where the flow stopped

Why it fails

Real people do not follow the branch you authored. Every unanticipated question is a dead end, and returning to the flow afterwards is clumsy and obvious.

Worth knowing competitively

A lot of voice-bot companies still ship this architecture. It is the clearest technical difference to point at when asked how Convin differs.

The node approach is easy to demo and hard to survive contact with a real caller.07
3.1 · The shift

One prompt, holding every path at once.

Instead of a tree of nodes, the whole conversation design becomes a single prompt: the flows, the branches, and everything a customer might reasonably ask. That prompt goes to the LLM to generate every single response.

What this buys

Full context on every turn. When a customer asks something unexpected, the answer is already inside the prompt and can be referenced without leaving the flow.

What it costs

Tokens, on every single turn. The entire prompt is re-sent for each response, and the conversation so far is sent with it.


What one ten-minute call actually sends
~85k
Characters in a large prompt
50+
Turns in a ten-minute call
Every turn
Re-sends the whole prompt
Plus
The conversation so far, growing
The prompt is not sent once. It is sent again for every response the bot gives.08
3.2 · Why short prompts win

Over-information causes hallucination.

The speaker's definition, worth using verbatim: hallucination here is when the prompt contains the answer and the model still fails to give it properly. The cause is not missing information. It is too much of it.


Crisp

Say the thing once, in the fewest words that carry it.

Short

Every character is re-sent on every turn. Length is a recurring cost, not a one-off.

Non-repetitive

If something is stated in one pillar, it does not need restating in another. Delete the duplicate.

The tension a PM has to hold

Longer prompts cover more edge cases, and longer prompts degrade both cost and answer quality. There is no setting that resolves this. It is resolved by editing, which is why prompt authoring is a skill the team has to build rather than a task to hand off.

Prompt length is the one lever that moves cost and quality in the same direction: down.09
3.3 · What “better” means

The same facts. One extra clause.

Both answers to “what is the interest rate on this loan?” are correct and contain identical information.

Earlier prompt version

“8% with a processing fee of this, and you get an additional discount of this.”

With the Eight Pillar Framework

“That's a great question. You can get 8% and this, with an additional discount of this.”


The difference is a single acknowledging clause. It carries no information and it is the whole reason the second reads as a person rather than a lookup. Fillers of exactly this kind are what the framework mines out of real call recordings.

Naturalness is not a model capability you buy. It is an authoring output, extracted from how the client's own best agents actually speak.

One clause is the entire delta between a bot answer and a human one.10
4.0 · The Eight Pillar Framework

Built from the client's own best calls.

Collect recordingshuman agent to customer, same use case
Transcribe~20 is the working minimum
Extractfillers, flow, objections, tone
Assembleinto eight sections
Attachas the agent's knowledge base

What is mined out of the transcripts
Fillers

The acknowledging phrases a good agent uses before answering.

Conversational flow

The order a real call actually moves in.

Objections

What customers push back with, and how the agent responds.

Language and tone

How this specific business talks to this specific audience.

Why the recordings matter more than the script

A client's written script says what they intend to say. The recordings show what their best agents actually say, including the objection handling nobody wrote down. The framework captures the second.

Twenty transcripts is a working minimum rather than a hard requirement; ten has been used.11
4.1 · The eight sections

What actually goes in the prompt.

  • 01
    Agent personaWho this agent is and what it does.
  • 02
    Overall goalWhere the whole conversation is leading.
  • 03
    State machine flowThe steps followed to reach that goal.
  • 04
    Tone, style and languageBuilt from speech analytics on the real calls. Not English versus Hindi; how to speak.
  • 05
    Behavioural rules and guardrailsWhat to say, what not to say, which topics to explain, what to collect.
  • 06
    Task logicFor each kind of customer response, what the agent should do next.
  • 07
    Objection handlingThe objections lifted from the transcripts, and the answers that worked.
  • 08
    Output formattingHow the LLM must shape its output, since everything ends up going to a model.

Live example shown in the session: a full eight-pillar prompt generated for Aditya Birla Sun Life Insurance.

Pillars six and seven overlap slightly by design; each still has its own mechanism.12
4.2 · Where the framework sits

One correction worth repeating.

Asked in the room: how do you build a voice bot? “We take the script and sample calls, and we train the model.”
The phrasing used

Take the client's script and their sample human calls, generate a knowledge base, and use it to train the model.

The correction

The process is right and the word is wrong. Nothing is trained. A prompt is run against an already-trained model. Training means feeding a dataset repeatedly so the model stops repeating mistakes; this is prompting.

Worth being precise about in an interview. Saying “we train a model per client” overstates what the product does and invites a question you cannot answer.

Same pipeline, different vocabulary. The vocabulary is the part that gets tested.13
5.0 · Agent configuration

The goal is one line, and it is load-bearing.

The fields
Agent namee.g. Tara
Company namethe client
Agent gendermale or female
Business outcomethe one-line goal
What a goal looks like

“Your goal is to qualify those who are interested in booking a medical visit.”

One sentence. It is an instruction to the agent, not a specification.


The failure mode, and it is not obvious

Overload the goal with detail and it stops being satisfiable. The agent never registers it as achieved, so it keeps calling and messaging the same lead. An over-specified goal does not produce a thorough agent; it produces a spammy one, and spammy behaviour is what gets a WABA reported.

Which connects this field directly to the account-health material in Session 3. A badly written goal is a deliverability risk.

Write the goal as an order you would give a person, not as a requirements document.14
5.1 · Personality

Tone and style change the words, not the voice.

Asked in the room: does changing tone and style change how the bot sounds?
The intuitive answer

Yes. Personality settings sit next to the voice settings, so it reads as though they shape delivery.

What actually happens

No. These travel with the system prompt and steer the LLM's word choice. A professional setting produces more formal vocabulary and a consultative phrasing. The voice itself is unchanged.


Style — how the response is shaped

Consultative · Informative · Persuasive · Supportive · Analytical

Persuasive ends most responses with a question. Informative attaches information to each response.

Tone — the register it is written in

Friendly · Casual · Formal · Enthusiastic

Chosen against the audience rather than the brand's preference about itself.

To change how the bot sounds, change the voice. To change what it says, change these.15
5.2 · Agent capabilities

Six channels, two of them counter-intuitive.

ChannelWhat it is
AI callThe outbound voice bot. The default channel for most pilots.
WhatsAppThrough Meta, as covered in Session 3.
SMSUsed for a US customer, Ducati, over Twilio.
WhatsApp AI callInbound only. Meta does not permit outbound calls at all.
Human callTransfer to a human agent working inside the same system.
Website widgetRuns on a session ID, with no phone number and no name.

Human in the loop was described as still being built, with a release expected within about a week of the session.

The two marked in colour are the ones that get answered wrongly.16
5.3 · The inbound-only rule

Meta will not let you call anyone.

What people assume

That WhatsApp calling is another outbound channel: upload leads, and the agent rings them through WhatsApp as well as the phone network.

How it actually works

Inbound only. A call icon appears on the business chat page and the customer initiates. Meta forbids outbound calling outright, on the same reasoning as its other disciplinary rules: it will not have customers bombarded with calls.


And the widget has the same shape of problem

A website widget conversation is identified by a session ID generated in the browser. There is no phone number, no name, no CRM record. Because the only handle on the visitor is that session ID, widget conversations cannot be handed across to an AI call or to WhatsApp the way a normal lead can.

Convin runs a hybrid widget on its own site that works both as chat and as an AI call. Worth trying before an interview; it is the one part of the product you can experience without access.

Identity is the constraint in both cases: no number, no outbound.17
6.0 · The call-control panel

Opening the call, and ending it early.

Opening message — static

The same first line on every call. “Hi, I am Tara from Convin. Are you available for a quick chat?” Predictable, and editable.

Opening message — dynamic

Personalised, with context carried from previous calls. The trap: a dynamic opener cannot be edited in place. Switch to static, edit, switch back.


Voicemail handling
Audio arrivesthe call connects
Ask the LLMis this a voicemail?
Yesdisconnect immediately
Misseda fallback condition catches it
80–85%
Approximate accuracy of voicemail detection
Subjective
Varies by client and audio conditions
Fallback
A secondary condition still ends the call
Voicemail detection is itself an LLM call, which is the pattern throughout this product.18
6.1 · Call control

Four timers, and what each one protects.

SettingDefaultWhat it protects
Hangup delay2 sAfter the closing line, how long to wait before disconnecting. If the customer speaks inside the window, the agent answers instead of hanging up.
Max call duration300 sA hard cap. The call ends at five minutes even if it is going well. It exists because the bot sometimes goes silent, and a dead call still costs money.
Idle timeout7 sHow long before the agent asks “are you still there?”. Raise it to 20–30 s for app-onboarding calls where the customer is doing something.
Max idle messages3How many times it may ask that before delivering a closing line and disconnecting.

All four are use-case dependent. A two-minute qualification call should not carry a five-minute cap, and an onboarding call should not be nudging the customer every seven seconds.

Max call duration exists to bound the cost of a bot that has stopped responding.19
6.2 · Model settings

One dial you will actually touch.

Temperature — how freely the model may deviate from the prompt
0.7
01
0.7 was given as the ideal working value. Push toward 1.0 for a bot that adds its own phrasing and fillers. Drop to 0.1 to make it follow the prompt closely. 0 is a dead end and is not used.

LLM provider

Shown as “Convin managed” and described as a proprietary model. In practice OpenAI, Gemini, Claude, or a closed-source model, chosen per use case.

Model selection

Not editable from the main dashboard. Changing it requires internal dashboard access.

Language

Currently dynamic, switching between Hindi and English mid-call without configuration.

Verify: Session 2 described the LLM layer as “a lot of open source models”. Session 4 describes it as OpenAI, Gemini, Claude or closed-source. Confirm which is current before quoting either.

Temperature is the only model setting a PM changes without asking for access.20
6.3 · Voice settings

Speed, volume, and the one to leave alone.

Speed
1.25
02
Slower for tier-3 audiences who need time to follow. 1.2 to 1.3 for tier-1 and tier-2, which shortens the call without hurting comprehension.
Volume
1.0
02
Around 0.5 to 0.7 is very quiet. Approaching 2.0 the bot effectively shouts.

Emotion — set to neutral and leave it

Neutral, happy or sad. Choosing happy or sad appends emotion blocks to the conversation, and the bot then literally laughs mid-call. Not a written “haha”, an actual laugh. An agent laughing at a customer is never what you want, so neutral is the standing setting.

Voice ID is worth knowing too: every voice carries an ID, and a voice not listed in the picker can still be used by pasting its ID directly.

Speed is the setting with the clearest return: faster calls cost less and still land.21
6.4 · The tone ceiling

Why the bot stays polite when you need it firm.

Asked in the room: for a collections use case, the script was rewritten to be direct, but the bot keeps delivering it politely. What actually controls this?

What was tried, and what each one does
Rewrite the script

Changes the words. The delivery stays polite.

Raise the volume

Makes it louder. Loud is not firm.

Set emotion to angry

May help a little. Worth experimenting with.

Change the system prompt

This is the actual control.

Where the politeness is coming from

The Next Best Action generation prompt instructs the agent to be professional and to avoid harsh language. That instruction sits above the knowledge base, so no amount of editing the client-specific prompt overrides it. It lives in the internal dashboard under prompt management, per tenant.

Do not edit system prompts directly. They affect a great deal downstream; route changes through the platform owner. An idea raised in the session: maintain use-case-specific system prompts, so collections is not fighting a sales default.

A prompt hierarchy nobody documented is why the obvious fix did not work.22
7.0 · Background audio

A good idea currently switched off.

Call-centre chatter, coffee-shop noise or office ambience can be played under the call, on a gain scale of 0 to 10, so the line does not sound suspiciously clean.

Two channelsExotel carries bot and customer separately
Noise injectedit has to go somewhere
Lands on customer sidein practice, mostly
Bot waitsit thinks someone is speaking
Latency risesfor the real customer

Why the dialer matters here

Exotel and its peers were built over a decade for human agents: one channel out, one channel back. Nothing in that design anticipated injected audio.

What may change it

A newer dialer built specifically for voice AI was named in the session as being trialled. If the channel model is right, background audio becomes usable again.

Until then the feature stays configured and unused, because the realism it buys costs more in latency than it returns.

The dialer's name was not clearly audible on the recording; confirm it before repeating it.23
7.1 · Speech, revisited

The same two vendors, with the reasoning.

STTDeepgramOne of the most expensive options and among the best performing. Convin's in-house STT is used in some places, such as Fleetex.
TTSCartesiaMigrated from ElevenLabs. Rime was also evaluated: quality was comparable, pricing was higher.

How TTS is actually priced

Per million characters of text converted to speech. Which means prompt and response length feed straight into voice cost, not only into LLM cost.

Word boosting, and where it lives

Raising the probability that a specific word is transcribed correctly, for example “eleven” being heard as “seven”. It cannot be done from the agent screen; typing words there has no effect. It is configured in Deepgram by the product team.

The word-boosting detail is a small but real product gap: a field that appears editable, does nothing, and requires a ticket to another team to actually change.

Same mechanism as word boosting in the post-call product.24
7.2 · The WhatsApp channel

Why speech settings appear on a text channel.

Asked in the room: why does the WhatsApp configuration have speech-to-text and text-to-speech settings? Is it a bug?
The reasonable suspicion

WhatsApp is a text channel, so speech settings look like a stray field left over from the voice configuration.

The actual reason

Voice notes. If a customer replies with one, it is transcribed with Deepgram, and the agent replies with a voice note of its own generated through Cartesia. Same vendors, same configuration.


Media analysis

A file, a plain-language description of when to use it, and the format requirements per type: audio, document, image, video.

A second dead field

The WhatsApp system prompt box on this screen is controlled entirely from the internal dashboard. Anything typed into it is not applied.

AI WhatsApp call uses the same configuration as AI call, with the WhatsApp integration attached.25
8.0 · Campaign configuration

What wraps around the agent.

Identity

Name and description · the agent, attached

Language

Initial language for the first turn

Context

Default system message, applied per lead

Schedule

Time zone · DND start and end

Duration

Communication limits · how many days engagement runs

Entities

Name, description, open or closed · eligible values, as in post-call


Adding leads

Single or bulk. Phone number, then an external ID which is mandatory and must be unique. Language can be skipped when set at campaign level. The initial system message can be overridden for one lead, and custom fields referenced in the prompt are supplied here.

Lead intake pushes from the client's CRM; CRM updates push results back the other way.26
8.1 · Lead metrics

When contact stops but the goal stays open.

Asked in the room, and answered in pieces. Three situations end communication with a lead while goal achievement remains no.

  • 01
    Channel limits reachedThe per-channel caps from Session 2 are hit. No further messages or calls go out.
  • 02
    Invalid numberNothing can be delivered, so the lead is bucketed out of the campaign.
  • 03
    “Please do not contact me”The one most people miss. Contact stops, and the goal is still recorded as unachieved.
The distinction that was probed twice in the room

“Do not contact me” is not the same as “I am not interested”. Interest level is marked not interested and the bot will not re-attempt. But goal achievement stays no, because the agent never learned whether they wanted the product. Unless the goal explicitly says to mark a do-not-contact as complete, the system treats the question as still open.

Lead qualification status and interest level mirror the post-call product.27
9.0 · PM lens

Five things this session tells you.

  • 01
    Prompt length is a cost lineThe whole prompt is re-sent on every turn, alongside the growing conversation. Editing a prompt down improves margin and answer quality at the same time.
  • 02
    The moat is the authoring methodAnyone can call an LLM. The Eight Pillar Framework turns a client's own best calls into a prompt, which is a repeatable process rather than a clever one-off.
  • 03
    A text field can cause a banAn over-specified goal never completes, so the agent keeps re-contacting the lead. Spammy behaviour is what gets a WABA reported. Session 3's risk starts in Session 4's config screen.
  • 04
    There is an undocumented prompt hierarchyThe system prompt overrides the knowledge base, and nothing in the interface says so. That is why the obvious fix to a polite collections bot does not work.
  • 05
    Two fields do nothingWord boosting and the WhatsApp system prompt both accept input and discard it. Fields that look editable and are not are a straightforward trust problem.
PM framing. Analysis layered on the session, not claims made in it.28
9.1 · Settings reference

Every knob, its range, and where to start.

SettingRangeStart atNotes
Temperature0 – 10.7Lower to follow the prompt, higher for freer phrasing. 0 unused.
Speed0 – 21.2–1.3Slower for tier-3 audiences, faster for tier-1 and tier-2.
Volume0 – 2~1.00.5 is very quiet, 2.0 effectively shouts.
Emotion3 optionsNeutralHappy or sad make the bot audibly laugh. Leave it alone.
Hangup delayseconds2 sGrace period after the closing line.
Max call durationseconds300 sHard cap. Lower it for short use cases.
Idle timeoutseconds7 sRaise to 20–30 s for onboarding calls.
Max idle messagescount3Nudges before the agent gives up.
Background gain0 – 10offCurrently not recommended; it raises latency.
Defaults as given in the session. All are use-case dependent.29
9.2 · Interview prep

Questions an interviewer will actually ask.

Competitive“How is your bot different from everyone else's?”Most competitors still ship node-based decision trees. Convin sends one whole prompt every turn, so an off-script question is answerable without leaving the flow.07 · 08
Method“How do you write the prompt?”The Eight Pillar Framework, built from about twenty transcripts of the client's own best calls. Fillers, flow, objections and tone are mined out, not invented.11 · 12
Precision“Do you train a model per client?”No. Nothing is trained. A prompt runs against an already-trained model. Getting this wrong is the fastest way to lose credibility.13
Economics“Where does prompt length show up?”Every turn re-sends the whole prompt plus the conversation so far, and TTS is billed per million characters. Length hits LLM cost, voice cost and answer quality.08 · 09
Depth“A collections bot is too polite. What do you change?”Not the script and not the volume. The NBA system prompt in the internal dashboard overrides the knowledge base. Route it through the platform owner.22
Detail“When does contact stop but the goal stay open?”Channel limits, an invalid number, or the customer saying do not contact me, which is distinct from not interested.27
The precision question is the trap. Say prompting, never training.30
9.3 · Reference card

The eight pillars, and the numbers.

The eight pillars, in order
1Agent persona
2Overall goal
3State machine flow
4Tone, style and language
5Behavioural rules and guardrails
6Task logic
7Objection handling
8Output formatting
Numbers worth memorising
Transcripts needed~20
Large prompt size~85k chars
Turns in a 10-min call50+
Temperature default0.7
Max call duration300 s
Idle timeout7 s
Voicemail accuracy80–85%
Background gain scale0 – 10

Deferred to a further session: the pilot SOP itself, and agent tools. Homework set: build a knowledge base, an agent and a campaign for an assigned use case in the app organisation.

All figures from Session 4. Approximations preserved as given.31
9.4 · The Eight Pillar Framework, in full

The prompt, section by section.

 PillarWhat goes in itExample
01Agent personaWho the agent is, and what it is there to do.“You are Arjun, a counsellor at Physicswallah.”
02Overall goalThe single outcome the conversation heads toward.“Qualify those interested in a JEE course.”
03State machine flowThe ordered steps from opening to goal.Greet, confirm identity, establish need, offer a callback.
04Tone, style and languageFrom speech analytics on the real calls.Consultative, warm, short sentences, no jargon.
05Behavioural rules and guardrailsWhat to say, what never to say, what to hand off.“Do not quote fees; the counsellor handles that.”
06Task logicFor each customer response, what happens next.If the parent answers, re-confirm before continuing.
07Objection handlingReal objections, with the answers that worked.“It is too expensive” and the reply a good agent gave.
08Output formattingHow the model must shape what it returns.Structured fields the platform parses, not prose.
Built from roughly 20 transcripts of the client's own best calls. Examples are illustrative.32
9.4 · Before you quote any of this

Three points the recordings leave open.

Carried forward from the earlier decks and added to here. Confirm internally rather than picking a version.

LLM providers

Session 2: “a lot of open source LLMs and open source models.”

Session 4: Convin-managed, described as OpenAI, Gemini, Claude or a closed-source model.

These are not the same claim. Ask which is running in production today.

The new dialer

Named in Session 4 as purpose-built for voice AI and currently being trialled.

The name was not clearly audible on the recording.

Worth confirming before mentioning it, since it signals a live infrastructure decision.

Template category

Session 3: roughly 99% of use-case templates land in marketing.

Session 4: consent on file is what makes utility defensible.

Compatible, and the second explains the first. Consent capture is the lever that moves the rate.

Naming a discrepancy you found across sessions reads better than quoting one side of it.33