# AI Prompt Editor
Source: https://docs.lacy.ai/ai-assistants/ai-prompt-editor
Edit and improve your assistant's prompts using AI-powered suggestions through a conversational interface
The AI Prompt Editor is an intelligent tool that allows you to edit and improve your AI assistant's prompts using natural language. Instead of manually editing text, you can chat with an AI assistant that understands your requests and suggests intelligent modifications.
## Overview
The AI Prompt Editor provides:
* **Conversational editing** - Describe changes in plain language
* **Smart suggestions** - AI understands context and makes relevant changes
* **Review before apply** - Accept or reject each change individually
* **Variable management** - Easily manage pre-call and post-call data
* **Template library** - Start with proven prompt templates
## Getting Started
Navigate to **Assistants** in the sidebar and click on the assistant you want to edit.
In the edit form, scroll to the **System Prompt** section and find the **AI Prompt Editor** tab.
Click the **Launch AI Prompt Editor** button. A modal window will open with the editor interface.
You must save your assistant at least once before you can use the AI Prompt Editor.
## Interface Overview
The AI Prompt Editor has three main areas:
### Chat Panel (Left Side)
This is where you interact with the AI:
* Type your requests in the input box at the bottom
* View conversation history above
* Use quick suggestion chips for common actions:
* **Make it more concise** - Shorten the prompt
* **Add more detail** - Expand with specifics
* **Improve clarity** - Make instructions clearer
* **Add instructions** - Add new behavioral guidelines
### Editor Panel (Right Side)
This shows your current prompt with two tabs:
* **System Prompt** - The main instructions for your assistant
* **Initial Message** - The greeting message when calls start
Toggle between **Edit** mode (textarea) and **Preview** mode (formatted view with diff highlights).
### Side Tabs
* **Variables** - Manage pre-call data variables
* **Post-Call** - Define data to collect after calls
## Using the Chat
### Making Requests
Simply describe what you want to change:
**You:** "Make the tone more friendly and casual"
**AI:** The AI will suggest changes to make greetings warmer, use more conversational language, and soften formal phrases.
**You:** "Add information about our return policy - 30 days no questions asked"
**AI:** The AI will find the appropriate place in your prompt and add the return policy details.
**You:** "Add instructions for handling angry customers"
**AI:** The AI will add behavioral guidelines for de-escalation and when to transfer to a human.
### Tips for Better Results
* **Be specific** - "Add a 10% discount mention" is better than "add discount info"
* **Provide context** - "When asked about pricing, mention..." gives AI better understanding
* **One change at a time** - Break complex changes into multiple requests
## Reviewing Changes
When the AI suggests changes, they appear in the diff view:
* **Green highlighting** - New text being added
* **Red highlighting** - Text being removed
* **Blue highlighting** - Text being modified
### Accept or Reject Changes
Each change has two buttons:
* **✓ Accept** - Apply this specific change
* **✗ Reject** - Discard this change
You can also use bulk actions:
* **Accept All** - Apply all pending changes
* **Reject All** - Discard all pending changes
Always review changes before accepting. The AI makes intelligent suggestions, but you know your business best.
## Variables
Variables allow you to personalize calls with dynamic data.
### Adding Variables
1. Click the **Variables** tab
2. Click **Add Variable**
3. Enter a name (e.g., `customer_name`, `appointment_time`)
4. Set a default value
### Using Variables in Prompts
Type variables directly in your prompt using curly braces: `{variable_name}`
**Example prompt:**
```
Hello {customer_name}, I'm calling from {company_name} about your appointment on {appointment_date}.
```
## Post-Call Schema
Define structured data you want to collect during or after calls.
### Adding Post-Call Fields
1. Click the **Post-Call** tab
2. Click **Add Field**
3. Configure:
* **Name** - Field identifier (e.g., `meeting_scheduled`)
* **Type** - `string`, `number`, or `boolean`
* **Description** - What this field captures
### Example Fields
| Name | Type | Description |
| ------------------- | ------- | ------------------------------------ |
| `meeting_scheduled` | boolean | Whether a meeting was booked |
| `interest_level` | string | Customer's interest: hot, warm, cold |
| `callback_time` | string | Preferred callback date/time |
| `objection_reason` | string | Main objection if not interested |
The AI can suggest post-call fields based on your prompt. Just ask: "What data should I collect from these calls?"
## Templates
When you first open the AI Prompt Editor, you can choose to start with a template:
* **Continue with existing** - Keep your current prompt
* **Start from scratch** - Begin with a blank prompt
* **Start with template** - Choose from pre-built templates
Templates are organized by use case:
* Sales calls
* Customer support
* Appointment scheduling
* Surveys and feedback
* Lead qualification
## Saving Your Work
Click the **Save** button in the top-right to save all changes to your assistant.
The editor auto-detects unsaved changes. If you try to close with unsaved work, you'll be prompted to save or discard.
## Best Practices
Templates provide proven starting points. Customize rather than starting from zero.
Make small changes, test, and refine. Don't overhaul everything at once.
The AI is helpful but not perfect. Always review suggestions before accepting.
Make test calls after changes to verify the assistant behaves as expected.
## Related Resources
* [System Prompts Guide](/ai-assistants/system-prompt) - Deep dive into prompt writing
* [Flow Builder](/ai-assistants/flow-builder) - Visual alternative for conversation design
* [Testing Your Assistant](/ai-assistants/testing) - How to test your changes
# Assistant best practices
Source: https://docs.lacy.ai/ai-assistants/assistant-configuration
Quick guide to fine-tune mode, transcriber, model, and other settings for the best call experience.
> **Last updated:** September 1, 2025
Getting great results often comes down to **picking the right engine settings**. Use this checklist when configuring an assistant:
## 1. Pick a Mode
| Mode | Why choose it? | Notes |
| --------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Dualplex (Beta)** | Fast turn-taking + premium/cloned voices | Recommended default. Pair with **Gemini Flash 2.0/2.5** or **GPT‑5 Realtime**. |
| **Speech-to-Speech (Multimodal)** | Fastest turn-taking & most natural flow | Recommended model: **GPT‑5 Realtime**. |
| **Pipeline** | Maximum control over voice & long-form replies | Recommended model: **GPT‑5 Mini**. If you select Pipeline, continue to the **Transcriber** step below. |
Want to know more about the differences between the modes? Read the Assistant modes guide.
Experiment with all three modes: record the same scenario in each and compare response time and caller satisfaction.
## 2. Choose a Transcriber (Pipeline only)
| Transcriber | Accuracy | Latency | Best for |
| ------------ | -------- | --------------- | -------------------------------------------------------------------------------- |
| **Azure** | ⭐⭐⭐⭐ | ⏱️⏱️⏱️ (slower) | When you need the highest transcription fidelity. |
| **Gladia** | ⭐⭐⭐ | ⏱️ (faster) | Good all-rounder for most languages. |
| **Deepgram** | ⭐⭐⭐ | ⏱️ (faster) | Another solid choice—test which performs better for your language & audio setup. |
> **Tip:** Different languages, accents, or background noise can impact each engine differently. Run a quick A/B test and keep the best performer.
## 3. Select an LLM Model
| Model | Strengths | Trade-offs |
| -------------------------- | ------------------------------------------------- | --------------------------------------------------------- |
| **GPT-5 Mini** | Balanced reasoning with low latency | May be slower than realtime models for rapid turn-taking. |
| **GPT-5 Realtime** | Designed for ultra-low-latency voice turns | Best for **Speech-to-Speech** and **Dualplex**. |
| **GPT-4o** | Strong reasoning and multimodal understanding | Higher latency. |
| **Gemini Flash 2.0 / 2.5** | Ultra-fast for voice turns in Dualplex/Multimodal | Excellent for minimizing perceived latency. |
If speed is critical, use **GPT‑5 Realtime** (great for **Speech-to-Speech**) or **Gemini Flash 2.0/2.5** (great with **Dualplex**). For richer reasoning, use **GPT-4o** or **GPT-5 Mini** and offset latency by using filler audios.
## 4. Noise Cancellation
If callers are on speaker phone or in a quiet environment, keep **noise cancellation ON**. If your call volume is low or some words are "clipped," **turn it OFF** so the transcriber gets the full waveform.
If your assistant is not hearing you well, you can try to turn off noise cancellation.
## 5. Conversation Timers
| Parameter | Recommended | Why |
| ------------------------ | ----------- | ------------------------------------------------------------------ |
| **Re-engagement** | `≈ 30 s` | Gives callers enough time to think. Lower values can feel pushy. |
| **Max silence duration** | `≈ 60 s` | Prevents premature hang-ups while still ending truly silent calls. |
Test different values in real calls—too low can interrupt, too high leaves awkward gaps.
## 6. Initial Message
| Mode | How it's used | Best practice |
| -------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Pipeline** | Read **exactly** as written (converted by TTS). | Write the greeting verbatim: "Hello, this is Alex from …". |
| **Dualplex** | Read **exactly** as written (rendered via ElevenLabs TTS). | Write the greeting verbatim, then select your cloned voice. |
| **Speech-to-Speech** | Interpreted as a **prompt** by the model. | Include instructions like "Greet the customer and say …" *or* prepend `say exactly: ` to ensure literal output. |
## 7. Ambient sound
Enabled by default, ambient sound is a feature that adds background noise to the assistant's voice.
If the assistant is not hearing you well, you can try to turn off ambient sound or turn the volume lower.
## 8. Endpointing sliders
**Control when your assistant starts talking** with the endpointing sensitivity slider at the bottom of assistant settings.
| Setting | Effect | Use when |
| ---------------------- | --------------------------------------------------------- | ------------------------------------------ |
| **Lower sensitivity** | Assistant responds **faster** after caller stops speaking | You want snappy, quick-turn conversations |
| **Higher sensitivity** | Assistant waits **longer** before responding | Callers give longer, more detailed replies |
**Pro tip:** If your assistant cuts off callers mid-sentence, **increase** the sensitivity. If responses feel sluggish, **decrease** it.
## 9. Debug using call transcript
If you are having issues with your assistant, you can use the call transcript to debug the issue.
1. Go to the Call history page.
2. Click on the last call you tested
3. The call transcript will be shown including function calls and its parameters.
## 10. Still have questions?
If you have any questions, please contact our support team via the chat widget inside the app.
Test different settings with real calls—the right balance depends on your conversation flow and caller behavior patterns.
***
Need a complete list of every toggle and slider? See the full
Assistant settings reference.
# Assistant Modes
Source: https://docs.lacy.ai/ai-assistants/assistant-modes
Understand the three voice generation modes available for your AI assistants and when to use each one.
AI assistants on lacy.ai can speak in **three distinct modes**. Each mode determines how a caller's speech is understood and how the assistant's reply is generated:
Choosing the right mode can improve response time, naturalness, and overall call experience.
## 1. Pipeline
| | |
| ---------------- | ---------------------------------------------------------- |
| **Label in UI** | `Pipeline` |
| **How it works** | Speech-to-Text → LLM → Text-to-Speech |
| **Latency** | \~800 – 1500 ms (depends on language & model) |
| **Best for** | Complex reasoning, dynamic prompts, multi-sentence replies |
Pipeline mode first transcribes the caller's words into text, runs that text through the language model, then converts the response back to audio. It's a tried-and-true approach that offers maximum flexibility:
* Supports **all voices** in the library (including custom-cloned voices).
* Handles **long-form answers** or paragraph-style responses well.
* Allows the LLM to **inject variables** and reference earlier context cleanly.
### When to choose Pipeline
1. You need rich, multi-sentence answers (e.g.
support queries, detailed explanations).
2. The assistant must reason over **structured data** or complex prompts.
3. You prefer absolute control of the spoken voice (clone or brand voice).
## 2. Speech-to-Speech (Multimodal)
| | |
| ---------------- | ------------------------------------------------------------- |
| **Label in UI** | `Speech-to-speech` |
| **How it works** | Direct **speech-to-speech** generation (no intermediate text) |
| **Latency** | \~300 – 600 ms (ultra low) |
| **Best for** | Natural back-and-forth, short & reactive replies |
Speech-to-speech mode skips separate transcription and TTS. Instead, it uses a **multimodal model** that listens and speaks directly, producing more conversational flow:
* **Fast turn-taking** – callers experience near-instant responses.
* Generates **more expressive prosody** natively (intonation, fillers).
* Currently supports a **limited voice set**, but more are added regularly.
### When to choose Speech-to-Speech
1. The conversation needs to feel **snappy** (sales, booking confirmations).
2. Your replies are generally **short sentences** or quick acknowledgements.
3. You're okay with the system-provided voice options for faster interaction.
Speech-to-speech is evolving rapidly. If you need a custom cloned voice with low latency, try **Dualplex**.
## 3. Dualplex (Beta)
| | |
| ---------------- | ------------------------------------------------------------------ |
| **Label in UI** | `Dualplex` |
| **How it works** | Multimodal STT + LLM (speech-to-speech) with ElevenLabs TTS output |
| **Latency** | Low (varies by voice and model) |
| **Best for** | Fast, natural replies with high-quality/brand voices (cloned) |
Dualplex blends the responsiveness of speech-to-speech with the premium voices and cloning from ElevenLabs used in Pipeline. The assistant uses the multimodal model to understand the caller and plan the reply, then renders the final speech through ElevenLabs for consistent, high‑fidelity output.
* **Near-instant turn-taking** similar to speech-to-speech.
* Access to **ElevenLabs** voice library, including **custom-cloned voices**.
* Great for **short to medium** replies with expressive prosody.
* **Recommended default** for most use-cases today; currently in **Beta**.
### When to choose Dualplex
1. You want fast back-and-forth but need a branded or cloned voice.
2. You want more expressive delivery without giving up precise voice choice.
3. You're comfortable using a new feature that is still in Beta.
## Switching modes
You can pick the mode for each assistant in **Assistant → Settings → Voice Engine**. Test all three modes to see which delivers the best balance of speed and quality for your use-case. `Dualplex` is currently labeled **Beta**.
***
**Pro Tip:** Record two calls – one in each mode – and compare the caller's perceived latency and engagement level to decide which fits your flow.
# Cal.com Appointment Scheduling
Source: https://docs.lacy.ai/ai-assistants/cal-com-scheduling
Learn how to enable your AI assistant to schedule appointments using Cal.com integration
Enable your AI assistant to seamlessly schedule meetings and appointments using Cal.com integration. This powerful feature allows your AI to check availability and book meetings directly during calls.
Do not make any new fields required in your Cal.com event settings. The
integration only supports default fields and the optional phone field. Adding
required custom fields will cause the integration to fail.
## Prerequisites
Before setting up Cal.com integration, you'll need:
* A Cal.com account (either hosted or self-hosted)
* An event type configured in Cal.com
* An API key from Cal.com
## Setup Process
### 1. Cal.com Configuration
1. Sign up or log in to your [Cal.com](https://cal.com/) account
2. Create a new event type specifically for AI assistant bookings
* Give it a clear name like "Meeting with AI Assistant"
* Configure duration, availability, and other settings
3. Once created, note down the event ID from the URL
4. Generate an API key:
* Go to Cal.com settings
* Navigate to Developer Settings
* Create a new API key
* Copy and securely store the API key
### 2. Customer Contact Information
#### Email Configuration
To send calendar invites to customers:
1. Define `email` in your assistant's input variables
2. Pass the customer's email as the `email` variable when creating the lead
3. The system will automatically use this email for calendar invitations
#### Phone Number in Calendar Events
To include the caller's phone number in calendar events:
1. Go to your event settings in Cal.com
2. Click on "Add a question"
3. Configure the field with these exact values:
* Identifier: `phone` (this must be exact)
4. Save your changes
### 3. Adding Cal.com to Your Assistant
1. In your AI assistant settings, locate the Tools section
2. Add the Cal.com integration
3. Configure the tool with:
* Your Cal.com API key
* The event type ID
## Best Practices
* Create dedicated event types for AI bookings to track their usage
* Set clear buffer times between meetings
* Configure appropriate meeting durations
* Use descriptive event names that make sense to your customers
* Keep only default fields and the phone field optional
* Always include customer email in lead creation for calendar invites
## Testing
After setup, we recommend:
1. Making a test call to your AI assistant
2. Requesting to schedule a meeting
3. Verifying the booking appears in your Cal.com dashboard
4. Checking that the phone number appears in the calendar event
5. Verifying the customer receives the calendar invitation email
6. Checking the confirmation emails are received
## Troubleshooting
If you encounter issues:
* Verify your API key is active and has the correct permissions
* Ensure the event type ID is correct
* Check that your Cal.com availability is properly configured
* Confirm no required custom fields are added
* Verify the phone field identifier is exactly "phone"
* Confirm the `email` variable is properly set in assistant settings
* Check that customer email is being passed correctly in leads
* Confirm your timezone settings are correct
# Creating and Editing an AI Assistant
Source: https://docs.lacy.ai/ai-assistants/creating-and-editing
Step-by-step guide on how to create, configure, and modify your AI assistants for both inbound and outbound calls
Ready to set up your first AI assistant? Follow these steps:
## 1. Go to "Assistants"
In your Lacy.ai dashboard, find the **Assistants** page (sometimes labeled "AI Assistants" or similar).
## 2. Click "Create New Assistant"
* Choose **Inbound** if you want it to answer incoming calls.
* Choose **Outbound** if it's for campaigns calling out to leads/customers.
## 3. Fill Out Basic Info
* **Assistant Name**: Internal label, e.g. "Support Bot" or "Sales Bot."
* **System Prompt**: Outline the assistant's role, tone, and key instructions.
* **Initial Message**: The first line the AI will speak (inbound calls usually need a quick greeting).
## 4. Language & Voice
* Select a **Voice** from the built-in library, or pick a cloned voice if you've created one.
* (Optional) Configure speech speed, filler usage, or "voice activity detection" if you need specialized settings.
## 5. Tools & Functions
* Add or remove items like **transfer call**, **end call**, or **appointment scheduling** (more in [Tools & Functions](/ai-assistants/tools-and-functions)).
## 6. Save & Test
* Click **Save** and your assistant is ready!
* For inbound, you'll need to assign a phone number.
* For outbound, attach the assistant to a campaign or test with your own phone number.
## Editing an Assistant
* Return to **Assistants** in the dashboard.
* Click on the assistant name.
* Adjust prompts, voice, or add new tools—then **Save**.
***
**Tip:** Always test your changes by calling the assistant or running a small outbound campaign to confirm it behaves as expected.
# Custom Mid-Call Tools
Source: https://docs.lacy.ai/ai-assistants/custom-tools
Learn how to create and configure custom API integrations that your AI assistant can use during calls
Custom Mid-Call Tools let your AI assistant interact with external systems
during calls. Whether checking inventory, verifying customer data, or fetching
real-time information, these tools make your AI more powerful and connected.
## Overview
Custom Mid-Call Tools enable your AI assistant to:
* Make real-time API calls during conversations
* Fetch or submit data to your systems
* Make informed decisions based on live data
* Provide accurate, up-to-date information to callers
- No coding required - just configure the API endpoint and parameters - AI
automatically knows when and how to use the tools - Real-time data access
during calls - Seamless integration with your existing systems
## Setting Up Your Tool
### 1. Basic Configuration
Navigate to **Mid call tools** and click **Create Mid-Call Tool**
Fill in the essential details:
* **Name**: Use lowercase and underscores (e.g., `check_order_status`)
* **Description**: Explain when and how the AI should use this tool
* **Endpoint**: Your API URL (e.g., `https://api.yourcompany.com/orders`)
* **Timeout**: How long to wait for responses (in seconds)
* **Method**: Choose GET, POST, PUT, PATCH, or DELETE
Common headers you might need:
```yaml theme={null}
Content-Type: application/json
Authorization: Bearer your_token
```
### 2. Variable Configuration
These are the pieces of information your AI will collect during the call:
```yaml theme={null}
Name: order_number
Type: string
Description: "10-digit order number from the customer"
```
Add format requirements in the description:
```yaml theme={null}
"Date in dd/mm/yyyy format"
"Phone number without spaces"
"Email address for confirmation"
```
## Understanding Parameter Types
Text values like names, addresses, or reference numbers
```yaml theme={null}
Type: string
Examples: "John Doe", "123 Main St"
```
Numeric values like amounts, quantities, or IDs
```yaml theme={null}
Type: number
Examples: 42, 99.99
```
Boolean values for yes/no situations
```yaml theme={null}
Type: true_false
Examples: true, false
```
Add format instructions in descriptions
```yaml theme={null}
"Date in dd/mm/yyyy"
"Phone without spaces"
```
## Dynamic Endpoints
When using variables in your endpoint URL, make sure to enclose them in curly
braces and use the exact parameter name.
You can make your endpoints dynamic using variables:
```yaml theme={null}
Basic URL:
https://api.example.com/orders/status
With Variables:
https://api.example.com/orders/{order_id}/status
```
The AI will automatically replace `{order_id}` with the actual value collected during the conversation.
## Testing Made Easy
Click "Test Tool" to run a test with dummy data:
* String parameters: "test"
* Number parameters: 1
* Boolean parameters: true
You'll see the response code and body, helping you verify everything works.
## Power User Feature: Automation Platform Integration
Need more complex logic? Connect your tool to the automation platform for
advanced workflows.
For advanced integrations and complex workflows, you can combine custom tools with our [Automation Platform](/automation-platform/introduction).
Here's how to create powerful integrations:
1. In the automation platform:
* Create a new flow
* Add a webhook trigger
* Build your logic (API calls, data transformation, etc.)
* End with "Return Response"
2. In your custom tool:
* Use the webhook URL as your endpoint
* Add `/sync` at the end
* Example: `https://automation.lacy.ai/webhook/abc123/sync`
This lets you:
* Transform data before/after API calls
* Make multiple API calls in sequence
* Apply complex business logic
* Handle errors gracefully
## Real-World Examples
```yaml theme={null}
Name: check_order
Endpoint: https://api.yourshop.com/orders/{order_number}
Parameters:
- Name: order_number
Type: string
Description: "Order reference (format: ORD-XXXXX)"
```
The AI will:
1. Ask for the order number
2. Fetch the status
3. Explain delivery dates and status to the customer
```yaml theme={null}
Name: check_slots
Endpoint: https://api.calendar.com/availability
Parameters:
- Name: service
Type: string
Description: "Service type (haircut, massage, consultation)"
- Name: date
Type: string
Description: "Preferred date (dd/mm/yyyy)"
```
The AI will:
1. Ask about the desired service
2. Get preferred date
3. Show available time slots
```yaml theme={null}
Name: verify_customer
Endpoint: https://api.crm.com/verify
Parameters:
- Name: phone
Type: string
Description: "10-digit phone number"
- Name: email
Type: string
Description: "Email address for verification"
```
The AI will:
1. Collect contact details
2. Verify against your CRM
3. Proceed based on verification status
## Configuring Your AI
The AI needs clear instructions in its system prompt to effectively use your
custom tools.
Example prompt section:
```yaml theme={null}
When to use check_order tool:
1. Customer asks about order status
2. Mentions tracking or delivery
3. Wants to know where their package is
How to use it:
1. Ask for order number if not provided
2. Verify format (ORD-XXXXX)
3. Use tool to fetch status
4. Explain results in simple terms
```
Test your tools with various conversation flows to ensure the AI handles all
scenarios smoothly. Start with simple test calls before going live.
# Filler Audio
Source: https://docs.lacy.ai/ai-assistants/filler-audio
Learn how to use filler audio to create more natural conversations with your AI assistant
Filler audio adds natural conversation sounds (like "hmm" or "one moment") while your AI assistant processes responses. This creates a more human-like interaction by eliminating awkward silences.
## How It Works
When enabled, your AI assistant will:
* Use short audio fillers during processing time
* Maintain engagement while formulating responses
* Signal active listening to the caller
## Benefits
1. **Improved Conversation Flow**
* Eliminates dead air
* Keeps callers engaged
* Reduces hang-ups
* Creates natural dialogue rhythm
2. **Enhanced User Experience**
* More human-like interaction
* Less awkward waiting
* Better caller retention
* Increased trust
## Setup
1. Go to your AI assistant settings
2. Find the "Filler Audio" option
3. Toggle it on
4. Save your changes
## Best Practices
### Combine with Fast Engine
* Use filler audio with the Fast Engine setting
* Creates the most natural conversation flow
* Minimizes perceived response time
### Use Cases
* **Sales Calls**: Keep prospects engaged
* **Customer Service**: Show active listening
* **Lead Qualification**: Maintain natural flow
## Testing
After enabling filler audio:
1. Make a test call
2. Listen for natural transition sounds
3. Verify timing and appropriateness
4. Adjust if needed
***
**Tip:** Start with filler audio enabled - you can always disable it if it doesn't suit your use case.
# Flow Builder
Source: https://docs.lacy.ai/ai-assistants/flow-builder
Design conversation flows visually with an intuitive drag-and-drop interface
Flow Builder is a visual, drag-and-drop conversation flow editor that lets you design AI assistant scripts without writing code. Create multi-step conversation flows by connecting nodes that represent different actions and decision points.
## Overview
Flow Builder provides:
* **Visual design** - Drag-and-drop nodes on a canvas
* **Multiple node types** - Messages, prompts, actions, and more
* **Branching logic** - Create different paths based on responses
* **Settings panel** - Configure agent personality and behavior
* **Import/Export** - Save and share flows as JSON files
## When to Use Flow Builder
* Structured conversation scripts
* Multi-path decision trees
* Complex call flows with branches
* Visual thinkers who prefer diagrams
* Simple, linear conversations
* Highly dynamic AI responses
* Quick prompt iterations
* Text-focused editing
## Getting Started
Navigate to **Assistants** and click on the assistant you want to edit.
In the edit form, scroll to the **System Prompt** section and click the **Flow Builder** tab.
Click **Launch Flow Builder**. A full-screen editor will open.
* **Continue with existing** - Edit your current flow
* **Start from scratch** - Begin with just a Start node
* **Start with template** - Load a pre-built flow template
## Interface Overview
### Canvas Area (Center)
The main workspace where you build your flow:
* **Nodes** - Drag to reposition
* **Connections** - Lines showing flow between nodes
* **Grid background** - Helps with alignment
* **Zoom controls** - Zoom in/out and fit to view
* **Pan** - Click and drag on empty space to move around
### Bottom Toolbar
Quick actions for managing your flow:
| Button | Action |
| -------------- | ---------------------------------- |
| ⚡ Auto Layout | Automatically arrange nodes neatly |
| 📋 Duplicate | Copy selected node |
| 🗑️ Delete | Remove selected node or connection |
| **+ Add Node** | Add a new node to the canvas |
### Settings Panel (Right Side)
Configure your assistant's personality and behavior:
* **Agent Name** - The name your AI will use
* **Agent Type** - Sales, Support, Survey, etc.
* **Language** - Spoken language for calls
* **Assertiveness** - How pushy the AI should be
* **Humor** - Level of humor in responses
* **Variables** - Pre-call data fields
* **Post-Call Fields** - Data to collect after calls
## Node Types
Flow Builder has 5 node types, each with a specific purpose:
### Start Node (Green)
The entry point of every conversation. Every flow must have exactly one Start node.
**Properties:**
* **Greeting** - The initial message when the call begins
**Example:** "Hi, this is Sarah from Acme Insurance. How are you today?"
### Speak Node (Blue)
Delivers a pre-written message exactly as specified. Use when you need precise wording.
**Properties:**
* **Text** - The exact message to speak
* **Outcomes** - Different paths based on customer response
**Example:** "We're offering a limited-time 20% discount on all plans. Would you like to hear more?"
### Prompt Node (Purple)
Gives the AI instructions on how to respond. More flexible than Speak nodes - the AI generates contextual responses.
**Properties:**
* **Prompt** - Instructions for the AI
* **Outcomes** - Different paths based on response categories
**Example prompt:** "Ask the customer about their current insurance coverage. Be conversational and empathetic. Listen for mentions of their family size, budget concerns, or timeline."
### Action Node (Orange)
Executes special actions during the call.
**Action Types:**
* **Call Forward** - Transfer to another number
* **Book Appointment** - Schedule using connected calendar
* **Custom Action** - Trigger a custom mid-call tool
**Example:** Forward to sales team at +1-555-123-4567 when customer is ready to purchase.
### End Node (Red)
Terminates the call or transfers to another destination.
**End Types:**
* **End Call** - Hang up with a closing message
* **Forward Call** - Transfer to a phone number
* **Transfer Agent** - Hand off to another assistant
**Example closing:** "Thank you for your time today. Have a great day!"
## Working with Nodes
### Adding Nodes
1. Click **+ Add Node** in the bottom toolbar
2. Select the node type from the dropdown
3. The node appears on the canvas
4. Drag it to your desired position
### Connecting Nodes
1. Hover over a node's bottom edge to see the **output handle** (small circle)
2. Click and drag from the output handle
3. Connect to another node's **input handle** (top edge)
4. Release to create the connection
### Editing Nodes
1. Click on any node to select it
2. The node's properties appear in a panel
3. Edit the text, prompt, or settings
4. Changes save automatically to the canvas
### Deleting Nodes
* Select a node and press **Delete** key, or
* Select a node and click the 🗑️ button in the toolbar
The Start node cannot be deleted. Every flow must have one Start node.
## Outcomes (Multiple Paths)
Speak and Prompt nodes can have multiple **outcomes** - different paths based on how the customer responds.
### Adding Outcomes
1. Select a Speak or Prompt node
2. In the properties panel, find **Outcomes**
3. Click **Add Outcome**
4. Name the outcome (e.g., "Interested", "Not interested", "Wants callback")
### Connecting Outcomes
Each outcome appears as a colored dot at the bottom of the node. Connect each outcome to a different destination node to create branching logic.
**Example flow:**
```
[Start] → [Ask about interest]
↓
[Prompt: "Ask if interested"]
↓
┌─────────┼─────────┐
↓ ↓ ↓
[Interested] [Maybe] [Not Interested]
↓ ↓ ↓
[Book Demo] [Send Info] [Thank & End]
```
## Settings Panel
### Agent Identity
| Setting | Description |
| -------------- | ------------------------------------------------ |
| **Agent Name** | Name the AI uses to introduce itself |
| **Agent Type** | Preset personality: Sales, Support, Survey, etc. |
| **Language** | Primary language for the conversation |
### Personality
| Setting | Options | Description |
| ----------------- | ------------------------- | --------------------------- |
| **Assertiveness** | Low / Medium / High | How persistent the AI is |
| **Humor** | Off / Low / Medium / High | Level of humor in responses |
### Variables
Add pre-call data that can be used in your messages:
1. Click **Add Variable**
2. Enter a **Name** (e.g., `product_interest`)
3. Set a **Default Value**
Use variables in messages with curly braces: `{variable_name}`
**Example:** "Hi , I see you were interested in our ."
### Post-Call Fields
Define data to extract from calls:
1. Click **Add Field**
2. Enter **Name**, **Type**, and **Description**
3. The AI will attempt to fill these based on the conversation
**Types:** `string`, `number`, `boolean`
## Import/Export
### Export Your Flow
1. Open the Settings panel
2. Scroll to the bottom
3. Click **Export JSON**
4. Save the `.json` file
### Import a Flow
1. Click **Import JSON** in settings
2. Select your `.json` file
3. The flow loads on the canvas
Export your flows regularly as backups. You can also share flows with team members this way.
## Voicemail Settings
Configure what happens when voicemail is detected:
* **Voicemail Message** - Message to leave if voicemail answers
* **End Call on Voicemail** - Toggle to automatically hang up on voicemail
## Saving Your Flow
Click the **Save** button in the top-right corner to save your flow to the assistant.
The flow is stored as JSON in your assistant's system prompt field. If you switch to the Classic Editor, you'll see the raw JSON data.
## Best Practices
Begin with a basic flow and add complexity gradually. Test at each step.
Prompt nodes give the AI flexibility. Use them for dynamic, context-aware responses.
Before building, sketch the main paths: positive, negative, and neutral responses.
Make test calls covering all paths. Verify each outcome leads to the right destination.
## Troubleshooting
* Ensure you're dragging from an **output handle** (bottom) to an **input handle** (top)
* Check that you're not creating a circular connection
* The Start node only has an output, End node only has an input
* Check your internet connection
* Ensure you have at least one node (besides Start)
* Look for any validation errors in the settings panel
* Use Speak nodes for exact wording requirements
* Make Prompt node instructions more specific
* Check that outcomes are clearly defined and connected
## Related Resources
* [AI Prompt Editor](/ai-assistants/ai-prompt-editor) - Chat-based alternative for prompt editing
* [System Prompts Guide](/ai-assistants/system-prompt) - Understanding prompt fundamentals
* [Testing Your Assistant](/ai-assistants/testing) - How to test your flows
# Initial Message & Audio
Source: https://docs.lacy.ai/ai-assistants/initial-message
Learn how to create effective initial messages and use custom audio files for the best first impression
The first few seconds of a call are crucial - they determine whether the customer stays on the line. You have two options for your assistant's first greeting: text-based initial message or custom initial audio.
## Initial Message
This is the first thing your AI assistant says when starting a call. The message is read exactly as written, so:
### Best Practices
1. **Keep it Short**
* Aim for 5-10 seconds
* Get to the point quickly
* Avoid long company introductions
2. **Write Exactly as Needed**
* Include proper diacritics (é, ñ, ü, etc.)
* Use punctuation for proper pausing
* Write numbers as they should be spoken
3. **Example Formats**
```
Good:
"Hi! This is Sarah from ABC Company. How can I help you today?"
Better with pausing:
"Hi! This is Sarah from ABC Company... How can I help you today?"
With diacritics:
"¡Hola! Soy María de ABC Company. ¿Cómo puedo ayudarte?"
```
## Initial Audio
For the best first impression, you can use a pre-recorded audio file:
### Benefits
* Professional quality
* Perfect pronunciation
* Human warmth
* Consistent delivery
* Higher customer retention
### Setup Process
1. Record your greeting with a professional voice actor
2. Upload the audio file in assistant settings
3. Clone the same voice for the rest of the conversation
4. Enable initial audio playback
### Best Practices
1. **Recording Quality**
* Use professional equipment
* Record in a quiet environment
* Maintain consistent volume
* Save in high quality format
2. **Voice Matching**
* Use the same voice actor for cloning
* Maintain consistent tone and style
* Match energy levels
3. **Content Guidelines**
* Keep under 10 seconds
* Include company name
* State purpose clearly
* Sound welcoming
### Example Script Structure
```
[Greeting] + [Company Name] + [Purpose/Question]
"Hello! This is ABC Company calling about your recent inquiry. How are you today?"
```
## Combining Both Methods
You can set up both:
* Initial audio as primary greeting
* Initial message as backup
* System will use audio when available
## Testing
Before going live:
1. Call your assistant
2. Listen for:
* Clear pronunciation
* Natural pauses
* Proper volume
* Smooth transition to AI conversation
## Language Considerations
* Each language needs its own initial message/audio
* Use native speakers for recordings
* Consider regional accents
* Test with target audience
***
**Pro Tip:** Record several versions of your initial audio and test which one gets better response rates.
# System Prompts
Source: https://docs.lacy.ai/ai-assistants/system-prompt
Learn how to create effective system prompts - the core intelligence of your AI assistant
The system prompt is the most crucial component of your AI assistant. It defines your assistant's personality, behavior, knowledge, and capabilities. Think of it as the "brain" and "training manual" combined.
## Quick Start with Templates
To get started quickly:
1. Go to your assistant settings
2. Find the system prompt field
3. Click the "Templates" button nearby
4. Choose a template that matches your use case
5. Customize it for your needs
## Language Support
Your system prompt can be written in any language, regardless of the spoken language setting:
* Write the prompt in your preferred language
* Set the spoken language separately in assistant settings
* The AI will follow the prompt's instructions while speaking in the selected language
For example:
* System prompt in English, spoken language set to Spanish
* System prompt in German, spoken language set to French
* System prompt in Chinese, spoken language set to English
## Why They Matter
Your system prompt:
* Shapes how the AI thinks and responds
* Defines conversation boundaries
* Provides essential knowledge
* Controls behavior and tone
* Determines handling of edge cases
## Key Components
A good system prompt should include:
### 1. Role & Identity
```
You are a professional sales representative for [Company]. You specialize in [Product/Service] and have extensive knowledge of our offerings.
```
### 2. Conversation Style
```
Maintain a friendly, professional tone. Use clear, concise language. Avoid technical jargon unless specifically asked.
```
### 3. Key Information
```
Our main products are:
- Product A ($X/month): [features]
- Product B ($Y/month): [features]
Current promotion: 20% off first 3 months
```
### 4. Behavioral Guidelines
```
- Always verify customer information before discussing account details
- Transfer to a human agent if the customer seems frustrated
- Don't make promises about delivery dates
```
### 5. Response Framework
```
When asked about pricing:
1. First understand their needs
2. Present relevant package options
3. Explain the value proposition
4. Share any applicable discounts
```
## Best Practices
1. **Be Specific**
* Clear instructions get better results
* Include examples of good responses
* Define what NOT to do
2. **Structure Matters**
* Organize information logically
* Use bullet points and sections
* Keep related information together
3. **Test and Iterate**
* Start with a basic prompt
* Test various scenarios
* Refine based on call recordings
* Add handling for edge cases
## Common Mistakes
* **Too Vague**: "Be helpful and professional" (Not specific enough)
* **Too Rigid**: Scripting every possible response (Reduces natural flow)
* **Information Overload**: Including unnecessary details
* **Missing Guidelines**: Not specifying how to handle common situations
## Example Structure
```
# Role and Purpose
[Define who the AI is and its main goals]
# Core Knowledge
[Essential information about products/services]
# Conversation Guidelines
[How to interact with customers]
# Response Patterns
[How to handle specific situations]
# Limitations and Boundaries
[What the AI should NOT do]
```
## Testing Your Prompt
1. Make test calls covering:
* Common scenarios
* Edge cases
* Difficult situations
* Various customer personalities
2. Review and adjust:
* Listen to call recordings
* Check response accuracy
* Verify tone consistency
* Test knowledge retention
## Optimization Tips
* Start with Fast Engine for quick iterations
* Use call recordings to identify gaps
* Add examples of good/bad responses
* Include handling for unexpected questions
***
**Pro Tip:** Your system prompt is a living document - regularly update it based on actual call experiences and customer interactions.
# Test Chat Interface
Source: https://docs.lacy.ai/ai-assistants/test-chat
Test your assistant with a text-based chat interface for rapid iteration
The Test Chat interface provides a quick way to test your assistant's conversation flow without making actual phone calls.
## Accessing Test Chat
1. Navigate to your assistant's page
2. Click the **"Test Assistant"** button with the chat icon
3. A chat interface will open in a slide-over panel
## How It Works
The Test Chat interface simulates a conversation with your assistant:
* **Text-based interaction:** Type messages instead of speaking
* **Real AI responses:** Your assistant processes messages using the same logic as phone calls
* **Variable testing:** Test how your assistant handles variables and data collection
* **Tool execution:** See how your assistant uses configured tools and functions
* **Fast iteration:** Quickly test prompt changes without phone calls
## When to Use Test Chat
**Ideal for:**
* Testing conversation flow and logic
* Verifying prompt behavior and responses
* Debugging variable collection
* Testing tool/function calls
* Rapid prompt iteration
**Not suitable for:**
* Testing voice quality or speech recognition
* Testing call transfers (use phone testing)
* Testing phone-specific features
* Evaluating conversation timing and pacing
## Testing Workflow
**1. Test conversation flow with chat interface:**
* Verify your assistant understands user intents
* Check that variables are collected correctly
* Ensure tools execute as expected
* Validate response quality
**2. Test voice quality with Web Call:**
* Verify voice clarity and tone
* Check response timing and pacing
* Test interruption handling
**3. Final testing with Phone Call:**
* Test all features including call transfers
* Verify real-world call quality
* Test edge cases and error handling
Test Chat creates conversation records that appear in your **Conversations** page, helping you review and analyze test sessions.
## Cost Considerations
Test Chat interactions:
* Use AI processing credits from your account balance
* Are typically more cost-effective than phone testing
* Allow for faster iteration with immediate feedback
* Create conversation records for later review
Use Test Chat for initial prompt development, then move to phone testing for final validation before deploying to production.
# Testing Your Assistant
Source: https://docs.lacy.ai/ai-assistants/testing
Learn how to quickly test your AI assistant for both inbound and outbound calls
There are two ways to test your AI assistant, depending on whether you want to test inbound or outbound functionality.
## Testing Outbound Calls
The fastest way to test your assistant's outbound capabilities:
1. Go to your assistant's settings
2. Find the "Make test call" purple button
3. Enter your phone number
4. Click to initiate the test
5. You'll receive a call from your AI assistant immediately
## Testing Inbound Calls
To test how your assistant handles incoming calls:
1. Make sure you have a phone number assigned to your assistant
2. Call that number from any phone
3. Your AI assistant will answer and handle the call
***
**Tip:** Save your AI's phone number in your contacts to easily make inbound test calls whenever needed.
# Tools & Functions
Source: https://docs.lacy.ai/ai-assistants/tools-and-functions
Explore the built-in tools and functions that enhance your AI assistant's capabilities during calls
Lacy.ai offers built-in "tools" that your AI assistant can use during a call. These help you shape the conversation flow and automate actions like transferring calls or scheduling appointments.
## 1. End Call Tool
* **Purpose**: Tells the AI to politely wrap up the conversation.
* **How It Works**: You can specify in the system prompt or logic, for instance: "If the user says `goodbye`, end the call."
* **Configuration**: In the assistant's settings, you can define any conditions that should trigger the end call.
## 2. Transfer Tool
* **Purpose**: Moves the caller from the AI assistant to a human agent or external phone number.
* **Use Cases**: Warm leads on a sales call, escalations on a support call, etc.
* **Settings**: In the assistant's config, add the phone number or department the call should go to, and optionally a short hold message.
## 3. Appointment Scheduler
* **Purpose**: Lets the AI check your calendar availability (e.g. via Cal.com or Google Calendar) and book an appointment.
* **Typical Flow**:
1. AI offers scheduling.
2. Caller selects date/time.
3. AI confirms and sends a confirmation (using email or SMS if configured).
## 4. No-Code Automation Platform
* **Purpose**: After or during calls, the AI can trigger actions in the automation platform (like updating a CRM, sending an email, or logging results in Google Sheets).
* **Setup**: Link your assistant with the "Automation" tab, choose triggers ("Call Ended," "Customer Agrees," etc.), and pick the action (send a Slack notification or add a row in Sheets).
***
**Note:** Tools can be combined. For instance, the AI can schedule an appointment, then if the caller wants more info, it can transfer them to a human agent.
# Voice Selection & Voice Cloning
Source: https://docs.lacy.ai/ai-assistants/voice-selection
Learn how to select built-in voices or clone your own voice for your AI assistants
Your AI assistant can speak with **built-in voices** or a **custom cloned voice**. Natural, realistic voices increase customer trust and engagement.
## 1. Built-In Voice Library
* **Powered by**: ElevenLabs.
* **Selection**: Choose male/female, accent, or language from our default list.
* **Customization**: Adjust pitch, speed, or filler usage if desired.
## 2. Cloning Your Own Voice
* **Why Clone?**: For brand consistency or a familiar voice to your audience.
* **Audio Sample Requirements**: Provide a clear audio recording (usually 1–5 minutes).
* **Process**:
1. Record yourself reading a script (no background noise).
2. Upload it in the "Clone Voice" section.
3. Wait for training to complete (could be minutes or hours).
4. Test the new voice with small sample texts.
## 3. Best Practices
1. **High-Quality Audio**: The clearer your sample, the better the cloned result.
2. **Steady Delivery**: Speak in a natural tone, avoid abrupt changes.
3. **Check for Legal**: Ensure you have permission to clone any voice if it's not yours.
***
**Tip:** After selecting or cloning a voice, always do a quick test call to confirm it sounds as expected.
# Web Widget
Source: https://docs.lacy.ai/ai-assistants/web-widget
Embed your AI assistant on your website with voice and chat capabilities
Add your AI assistant to any website with a customizable widget that supports voice calls, text chat, or both.
## Overview
The Web Widget allows website visitors to interact with your AI assistant directly through:
* **Voice conversations:** Real-time voice calls in the browser
* **Text chat:** Messaging interface for text-based interactions
* **Hybrid mode:** Seamless switching between voice and chat
## Accessing Widget Configuration
1. Navigate to your assistant's edit page
2. Click the **"Web widget"** button (yellow/warning color)
3. The widget configuration panel opens with live preview
Web Widget is a premium feature. Ensure your plan includes web widget access before configuration.
## Widget Modes
Choose how visitors interact with your assistant:
### Voice & Chat (Recommended)
Users can seamlessly switch between voice and text during conversations.
**Best for:**
* Maximum flexibility for users
* Accessibility (voice for mobile, chat for quiet environments)
* Complex interactions requiring both modes
### Chat Only
Text-based messaging interface only.
**Best for:**
* Customer support and FAQs
* Environments where voice isn't appropriate
* Lead capture and qualification forms
### Voice Only
Real-time voice conversations only.
**Best for:**
* Phone-like experience on website
* Voice-first use cases
* Hands-free interactions
## Configuration Options
### General Tab
**Widget Mode:** Voice, Chat, or Voice & Chat
**Widget Size:** Choose between standard or **extra large** layout
* **Standard**: Compact floating widget suitable for most use cases
* **Extra Large**: Half-screen panel on desktop, full-screen on mobile — ideal for detailed conversations
**Position:** Choose from 8 positions (bottom-right, bottom-left, bottom-center, middle-right, middle-left, top-right, top-left, top-center)
**Primary Color:** Brand color for buttons and accents
**Toggle Button Size:** Small or Normal
**Toggle Button Style:** Animated (glass morphism) or Simple (flat design)
**Auto-Open on Page Load:** When enabled, the widget automatically expands when the page loads — no click required from the visitor.
### Button Tab
**Custom Avatar:** Upload your own avatar image to replace the default widget icon. Appears on the toggle button and in the chat header. Max file size: 512KB, 1:1 aspect ratio (square).
**Button Main Text** (default: "Need help?") — primary text on the widget button
**Button Sub Text** (default: "Chat with us") — secondary text, hidden when using the small button size
**Tab Labels (Voice & Chat mode only):**
* Voice Tab Label (default: "Voice") — rename to match your brand language (e.g., "Call Us", "Speak")
* Chat Tab Label (default: "Chat") — rename to match your brand language (e.g., "Message", "Text")
### Header & Modal Tab
**Header Title** (default: "AI Assistant")
**Header Subtitle** (default: "Ready to help you ✨")
**Modal Title** (default: "Ready to chat?")
**Start Button Text** (default: "Start Voice Chat")
**Modal Description** (default: "Click below to start your conversation")
### Chat Settings Tab
This tab is only visible when the widget mode includes chat (Chat Only or Voice & Chat).
**Chat Placeholder** (default: "Type your message...")
**Send Button Label** (default: "Send message") — accessibility label for the send button
**Show Function Calls:** When disabled (default), LLM tool calls (e.g., calendar lookups, knowledge base queries) are hidden from the chat, keeping the conversation clean for end users. Enable to show tool usage details.
### Clickable Links in Chat
The chat widget supports **markdown formatting**, so your AI assistant can send clickable links, bold text, lists, and more.
To include clickable URLs in chat messages, use markdown link format in your assistant's prompt or initial message:
```
Check out our [latest offers](https://example.com/offers) or visit our [help center](https://example.com/help).
```
Add an instruction to your assistant's prompt like: *"When sharing links or URLs, always format them as clickable markdown links: [link text](url)"* — this ensures the AI consistently outputs clickable links instead of plain text URLs.
### Voice Settings Tab
This tab is only visible when the widget mode includes voice (Voice Only or Voice & Chat).
**Connecting Text** (default: "Connecting...")
**Disconnect Text** (default: "Disconnect")
**Error Text** (default: "Connection failed. Please try again.")
### Pre-Chat Form
Collect information before starting conversations:
**Form Configuration:**
* Pre-form Title (default: "Before we start...")
* Pre-form Description (default: "Please provide some information to help us assist you better")
* Submit Button Text (default: "Continue")
**Form Fields:**
Add custom fields to collect data:
* **Variable Name:** Internal variable name (maps to assistant variables). Only letters, numbers, dashes, and underscores allowed.
* **Field Label:** Display label shown to users
* **Field Type:** Text, Email, Phone, or Textarea
* **Required:** Make field mandatory
* **Placeholder:** Placeholder text shown in the field
* **Helper Text:** Optional description below the field
**Variable Mapping:**
Form field names automatically map to your assistant's variables, making collected data available during conversations.
**Example Form Fields:**
```
Name: Full Name (required, text)
Email: Email Address (required, email)
Company: Company Name (optional, text)
Message: How can we help? (optional, textarea)
```
### AI Response Settings
**AI Enabled:** When toggled on (default), the AI assistant automatically responds to incoming messages. Turn this off if you want to use the widget for manual-only conversations — messages are collected but the AI does not reply.
### Conversation Webhook
**Webhook URL:** Enter a URL to receive a webhook notification whenever a new conversation starts via the widget. Use this to trigger automation flows, log events to your CRM, or notify your team in real-time.
### Widget Display
**Enable Widget:** Master toggle that controls whether the widget loads on your website. When disabled, the widget will not appear even if the embed script is installed on your site. Use this to temporarily hide the widget without removing code from your website.
## Live Widget Preview
At the top of the configuration panel, a live preview shows exactly how your widget will look and behave on a website. The preview updates in real-time as you change any setting.
**Copy Preview URL** — copies the preview URL to your clipboard so you can open it in a separate browser tab or share it with your team for review.
**Reset Data** — clears all stored conversation history, form submissions, and preferences in the preview. Use this to simulate a first-time visitor experience after testing.
The preview is fully interactive — you can click the widget button, fill out the pre-chat form, and start a real conversation to test your configuration before deploying.
### Embed Code
The embed code section provides a ready-to-copy script tag. Click **Copy** to copy it to your clipboard, then paste it into your website before the closing `