# How to Update a VoiceB Agent Prompt & Script

*By Alex Bisbe. Last updated: March 2026*

***

### Before You Start

* You need access to the VoiceB dashboard at app.voiceb.ai
* Agent configuration is done per agent, not globally
* Changes do not go live until you explicitly click **Publish**
* The agent continues running on its last published version until you publish a new one

***

### Step 1: Navigate to Your Agent

1. Log in to app.voiceb.ai
2. From the left sidebar, select your campaign
3. Under **Agents**, click the agent you want to configure
4. The agent configuration panel will open, showing settings and Script Blocks below

***

### Step 2: Configure Basic Settings

Before editing the script, verify the top-level agent settings:

**Type** — the channel this agent handles (e.g., Click to Call, SIP Trunk, WebRTC Widget).

**Memory (days)** — how many days of previous call summaries the agent can access for returning callers. Set to 0 to disable. 14 days is a reasonable default for most sales use cases.

**Initial Message** — the first sentence the agent will say when a call connects. Keep it short: agent name, company, and a single opening question. Example: *"Hello, my name is Angela, I am your AI agent from NexTel. Thank you for contacting us. What is your name so I can address you properly?"*

<figure><img src="/files/Z926A4433GzfUR2HlzfM" alt=""><figcaption></figcaption></figure>

***

### Step 3: Understand Script Blocks

Script Blocks are the core of agent configuration. Instead of a single long text prompt, the agent's intelligence is broken into typed, independently editable blocks. Each block has a label and a specific purpose. The agent receives all blocks concatenated in order — the structure helps both you as an editor and the LLM as a reader.

From the screenshots, a typical agent has these blocks:

* Goal
* Role
* Objective
* Guardrails
* Script
* Available Plans (or equivalent product/pricing block)
* Objections

You can add custom blocks beyond these. Blocks can be reordered by dragging the handle (≡) on the left of each block.

<div data-with-frame="true"><figure><img src="/files/RJy9a6yfTRNotnmrJAlZ" alt=""><figcaption></figcaption></figure></div>

***

### Step 4: Block-by-Block Writing Guide

#### Goal

**Purpose:** One sentence that defines the single commercial outcome this agent is optimizing for. The LLM uses this as its north star throughout the conversation.

**How to write it:**

* One sentence only. No context, no explanation.
* Business-measurable. Focus on the outcome, not the behavior.
* Avoid multiple objectives — pick the primary one.

**Good examples:**

* *"Assist the customer in choosing the best NexTel fiber plan, check coverage, and complete the order including payment and installation scheduling."*
* *"Qualify the caller's energy consumption and close an autonomous sale of the most suitable Holaluz electricity plan."*
* *"Identify whether the caller is a valid sales prospect and transfer sales-ready leads to a human agent."*

***

#### Role

**Purpose:** Defines the agent's persona, communication style, and voice. This block shapes *how* the agent speaks, not *what* it does.

**How to write it:**

* Start with a single sentence defining the persona (name, company, role).
* Then add 4–6 voice style guidelines as a short list.
* Specify any structural decision logic (e.g., phone-based flow vs. website-assisted flow).

**What to include:**

* Tone (energetic, professional, empathetic, confident — pick what fits your brand)
* Pace guidance (never slow or robotic)
* What to avoid (monotone delivery, scripted-sounding answers)
* Any dual-path logic the agent must handle (e.g., caller is on the website vs. not)

**Example:**

> You are an engaging, dynamic, fast, and persuasive NexTel sales agent handling real phone-based subscriptions.
>
> Voice style guidelines:
>
> * Energetic, confident, natural pace (never slow or robotic).
> * Professional but engaging.
> * Clear articulation.
> * Slight enthusiasm when presenting benefits.
> * Never sound monotone or scripted.

***

#### Objective

**Purpose:** The step-by-step conversation structure the agent must follow. This is the tactical execution layer below the Goal.

**How to write it:**

* Use a numbered list of steps in conversational order.
* Each step should be a clear, actionable instruction.
* Include branching logic (if X, then Y).
* Specify what data to collect at each stage.
* Define when to escalate, transfer, or close.

**Example structure:**

> 1. Greet the caller and ask for their name.
> 2. Ask if they are calling about a new subscription or an existing one.
> 3. If new subscription: ask for their address to check fiber coverage.
> 4. Present the plan options available at their address.
> 5. Recommend the most suitable plan based on stated needs.
> 6. Confirm the caller's decision and collect billing details (IBAN).
> 7. Schedule the installation date.
> 8. Confirm the order summary before closing.

***

#### Guardrails

**Purpose:** Hard limits on what the agent must never do, regardless of what the caller asks. This is your compliance and brand protection layer.

**How to write it:**

* Use a short, direct list of prohibitions.
* Focus on the most critical failure modes for your specific use case.
* Include legal, pricing, and transfer rules.

**Recommended guardrails for most agents:**

* Never invent pricing, plans, or availability not listed in the script.
* Never confirm an order before collecting all required data fields.
* Never contradict what the caller has already been told in this call.
* If the caller is angry or requests a human agent, transfer immediately without attempting to retain.
* Do not engage with topics outside the defined scope of this agent.
* Do not make commitments about timelines or service levels not specified in the script.

***

#### Script

**Purpose:** The full conversation intelligence — product knowledge, pitch logic, qualification rules, data collection, and edge case handling. This is the most detailed block and the one you will iterate on most.

**How to write it:**

* Write in the second person, addressing the agent directly (*"When the caller asks about price..."*).
* Use clearly labeled sections (e.g., "Coverage check," "Plan presentation," "Closing").
* Include conditional branches explicitly: *"If the caller says they already have a contract, acknowledge it and proceed to..."*
* Define exactly when and how to ask for personal data.
* Specify what the agent should do if a required data field is refused.
* Include instructions for the most common conversation detours.

**Length:** This block will typically be the longest. Do not artificially constrain it. A complex product (telco, energy, insurance) may require 500–1,500 words here.

**What not to do:**

* Do not repeat content from Goal or Objective verbatim — the Script should add detail, not restate.
* Do not write a rigid word-for-word script — write logic and intent, not a teleprompter.

***

#### Pricing / Available Plans Block

**Purpose:** A dedicated block for all pricing, plan details, and offer conditions. Keeping this separate from the Script makes it easy to update without touching the conversation logic.

**How to write it:**

* List every available plan or product option with their key parameters.
* Include conditions, eligibility rules, and promotional terms if any.
* If prices change frequently, make this the only block you need to update.
* The agent will reference this block when presenting options to the caller.

**Example format:**

> FIBER 300 — €29.99/month. Download speed: 300Mb. Includes unlimited calls. Promotional price for first 12 months.
>
> FIBER 600 — €39.99/month. Download speed: 600Mb. Includes unlimited calls + one TV package.
>
> FIBER 1GB — €49.99/month. Download speed: 1Gb. Includes unlimited calls + two TV packages. Best value for households with 4+ devices.

***

#### Objections

**Purpose:** Pre-programmed responses to the most common resistance points. Well-written objection handling is one of the highest-ROI improvements you can make to a sales agent.

**How to write it:**

* Format each objection as: the caller's statement → the agent's response.
* Acknowledge before rebutting — never dismiss the objection.
* Keep responses short (2–4 sentences maximum per objection).
* End every response with a forward-moving question or statement.
* Aim for 5–10 objections covering the most common resistance patterns.

**Essential objections to cover:**

* *"I want to think about it."* → Acknowledge, create mild urgency without pressure, offer a specific next step.
* *"It's too expensive."* → Reframe on value or long-term cost, compare to what they currently pay.
* *"I already have a contract with another provider."* → Ask when it expires, position VoiceB's client offer as the obvious switch.
* *"I prefer to speak to a human."* → Transfer immediately. Do not argue.
* *"I'm just checking options."* → Lower commitment language, move to a softer close (e.g., check coverage, send info).
* *"I need to check with my partner/family."* → Acknowledge, offer to schedule a callback or summarize what they'd be sharing.

***

### Step 5: Adding New Blocks

To add a block beyond the defaults:

1. Scroll to the bottom of the Script Blocks section
2. Click **+ Add Block**
3. Name the block clearly (e.g., "Agent Instructions," "Competitor Handling")
4. Write the block content and save

Custom blocks are useful for separating concerns that don't fit the standard taxonomy — for example, a block specifically for handling competitor comparisons, or an internal instructions block that governs agent behavior in edge cases.

<div data-with-frame="true"><figure><img src="/files/YhBzfm2fEYbidPMidZ6I" alt=""><figcaption></figcaption></figure></div>

***

### Step 6: Reordering Blocks

The order of blocks affects how the LLM reads and weighs the instructions. The recommended order for most agents is:

Goal → Role → Objective → Guardrails → Script → Pricing → Objections

To reorder: click and drag the **≡ handle** on the left side of any block to its new position. The change is reflected immediately in the editor but does not go live until published.

<div data-with-frame="true"><figure><img src="/files/B6HMVcxGxsFz4EsPoZK2" alt=""><figcaption></figcaption></figure></div>

***

### Step 7: Publishing Changes

Changes are not live until explicitly published. The bottom bar of the editor will show **"You have unpublished changes"** with an orange indicator whenever you have edits pending.

* **Publish** — deploys your current draft to production. The agent will start using the new configuration on the next incoming call.
* **Reset** — discards all unpublished changes and reverts to the last published version.

Do not close the browser tab while changes are unpublished without first publishing or resetting.

<div data-with-frame="true"><figure><img src="/files/qVbJqLUeej7dHaTpaqeu" alt=""><figcaption></figcaption></figure></div>

***

### Step 8: Script History

Every time you publish, a full snapshot is saved automatically. The Script History panel (top right of the Script Blocks section, **Script History** button) shows the complete version log.

For each entry you can:

* **Preview** — see the full content of that version before taking any action
* **See Diff** — compare that version side-by-side with the current one to see exactly what changed
* **Restore** — roll back the agent to that version (this becomes a new unpublished draft, which you then publish)

The current live version is labeled **Current** in green.

Use Script History as your safety net. Before making significant changes to a high-volume live agent, take note of the current version timestamp so you can restore it quickly if call quality degrades.

<figure><img src="/files/6l0pifqGjYE3lrv2leD4" alt=""><figcaption></figcaption></figure>

***

### Quick Reference Checklist

* Navigate to the agent in Agent Studio
* Verify Model, Memory, and Initial Message settings
* Edit the relevant Script Block(s)
* Check the block order (Goal → Role → Objective → Guardrails → Script → Pricing → Objections)
* Review unpublished changes using Preview or Diff
* Click **Publish**
* Monitor the next set of calls in the Dashboard to confirm performance

***

*For a complete example of how all blocks work together in a real deployment, see:* [*How to Create an Effective VoiceB Prompt: An Example from NexTel*](https://docs.voiceb.ai/product-guides/how-to-create-an-effective-voiceb-prompt-an-example-from-nextel)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.voiceb.ai/how-to-update-a-voiceb-agent-prompt-and-script.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
