# API Tokens
Source: https://docs.meetzy.es/account/api-tokens
Create and manage secure API tokens for programmatic access to Meetzy's platform
API tokens provide secure, programmatic access to Meetzy's platform without requiring user credentials. These tokens act as secret keys that authenticate your applications and services.
Never share API tokens or expose them in client-side code. Treat them like passwords and store them securely in your server environment.
## Accessing Token Manager
Navigate to your account settings to manage API tokens:
Click on your profile avatar in the top-right corner of the dashboard
Choose "Account Settings" from the dropdown menu
Click on the "API Tokens" tab to view your token management interface
## Creating a New Token
Click the "New Token" button in the token manager interface
Provide a descriptive name for your token (e.g., "Production API", "Analytics Service")
Choose an expiration timeframe:
* **30 days** - Short-term testing
* **90 days** - Medium-term projects
* **6 months** - Long-term integrations
* **1 year** - Annual renewals
* **No expiration (4 years)** - Permanent access
Click "Create Token" to generate your new API token
**Important**: Copy the token immediately. For security reasons, the full token value will never be displayed again
Choose expiration periods based on your security requirements. Shorter expiration periods are more secure but require more frequent renewal.
## Token Security Best Practices
### Storage Guidelines
* Store tokens in environment variables, not in code
* Use secure secret management services in production
* Never commit tokens to version control systems
* Rotate tokens regularly based on your security policy
### Access Control
* Create separate tokens for different applications or environments
* Use descriptive names to easily identify token purposes
* Revoke unused or compromised tokens immediately
* Monitor token usage through API logs
### Environment Separation
```bash theme={null}
# Development environment
MEETZY_API_TOKEN=your_dev_token_here
# Production environment
MEETZY_API_TOKEN=your_prod_token_here
```
## Using API Tokens
### HTTP Headers
Include your API token in the Authorization header of your requests:
```bash theme={null}
curl -H "Authorization: Bearer your_api_token_here" \
https://api.meetzy.ai/v1/assistants
```
### Code Examples
```javascript theme={null}
const headers = {
'Authorization': `Bearer ${process.env.MEETZY_API_TOKEN}`,
'Content-Type': 'application/json'
};
fetch('https://api.meetzy.ai/v1/assistants', { headers })
.then(response => response.json())
.then(data => console.log(data));
```
```python theme={null}
import os
import requests
headers = {
'Authorization': f'Bearer {os.getenv("MEETZY_API_TOKEN")}',
'Content-Type': 'application/json'
}
response = requests.get('https://api.meetzy.ai/v1/assistants', headers=headers)
data = response.json()
```
```bash theme={null}
curl -X GET \
-H "Authorization: Bearer $MEETZY_API_TOKEN" \
-H "Content-Type: application/json" \
https://api.meetzy.ai/v1/assistants
```
## Managing Existing Tokens
### Viewing Token Information
Your token list displays:
* **Token Name** - The descriptive name you assigned
* **Masked Value** - First 24 characters + masked remainder for identification
* **Expiration Date** - When the token will expire
* **Status** - Active/Expired indicator
### Copying Token Values
Find the token you need in your token list
Hover over the token row and click the "Copy" button that appears
The button will briefly show "Copied!" to confirm the action
You can only copy the full token value if you've just created it. For existing tokens, only the masked version is available for security.
## Revoking Access
When you need to revoke a token:
Locate the token you want to revoke in your token list
Hover over the token row and click the trash icon
Confirm the action in the popup dialog
Remove or replace the revoked token in any applications using it
Revoked tokens stop working immediately. Make sure to update any applications or services using the token before revoking it.
## Token Expiration Handling
### Monitoring Expiration
* Check expiration dates regularly in the token manager
* Set calendar reminders before tokens expire
* Monitor your application logs for authentication errors
### Renewal Process
Generate a new token before the old one expires
Replace the old token in your applications with the new one
Verify that your applications work with the new token
Once confirmed working, revoke the expired/old token
## Connecting via MCP
Meetzy exposes a **Model Context Protocol (MCP)** server that gives AI assistants like Claude, Cursor, Windsurf, and ChatGPT direct, authenticated access to your calls, WhatsApp conversations, evaluations, and analytics — all using the same API tokens described above.
All data exposed through the MCP server is scoped to the account that owns the token. A token from your account can only read and act on that account's assistants, calls, and conversations — there is no cross-account data access.
### Getting the MCP Server URL
Scroll to the **"Connect via MCP"** section at the bottom of the API Tokens page
Click the copy icon next to the MCP server URL to copy it to your clipboard
Use an existing API token, or create a new one, to authenticate your MCP connection
The MCP server URL alone does not grant access. Every request must include a valid Bearer token in the `Authorization` header, exactly like any other Meetzy API call.
### Connecting Cursor, Claude, or Windsurf
These clients (and most desktop MCP clients) are configured through a JSON snippet that defines the server URL and headers. Add the following to your client's MCP configuration file:
```json theme={null}
{
"mcpServers": {
"meetzy": {
"url": "https://mcp.meetzy.ai",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
```
Open **Settings → MCP**, click **"Add new MCP server"**, and paste the JSON snippet above into the configuration editor. Replace `YOUR_API_TOKEN` with your actual token, then save and reload Cursor.
Open your `claude_desktop_config.json` file and add the `meetzy` entry under `mcpServers`, using the snippet above. Restart Claude Desktop for the new server to appear in your tools list.
Go to **Settings → Cascade → MCP Servers**, click **"Add Server"**, and paste the JSON configuration. Replace the placeholder token with your real API token and reload the window.
Use the "Copy" button next to the JSON snippet in the token manager to copy a ready-to-use configuration
If you copied the snippet before creating a token, replace `YOUR_API_TOKEN` with your real token value
Add the snippet to your client's MCP configuration file as described above
Restart or reload the application so it picks up the new MCP server
### Connecting ChatGPT as a Custom Connector
ChatGPT supports MCP servers through **Custom Connectors**, authenticated with a Bearer token rather than a JSON config file.
In ChatGPT, go to **Settings → Connectors → Advanced → Custom Connectors**
Click **"Add custom connector"** and give it a name, such as "Meetzy"
Paste the MCP server URL from the token manager into the connector's URL field
Choose **Bearer Token** as the authentication method and paste your API token as the value
Save the connector, then enable it in your conversation to let ChatGPT call Meetzy tools
ChatGPT sends the Bearer token in the `Authorization` header on every request, so you can reuse the same token you use for direct API calls or other MCP clients.
### Generic Connection (Any MCP-Compatible Client)
The Meetzy MCP server implements the **Streamable HTTP** transport, so any MCP-compatible client can connect to it directly without special integration work. All you need is:
* **Server URL**: the MCP endpoint shown in the token manager
* **Transport**: Streamable HTTP
* **Authentication**: `Authorization: Bearer ` header on every request
```bash cURL theme={null}
curl -X POST https://mcp.meetzy.ai \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
```
```json Generic client config theme={null}
{
"url": "https://mcp.meetzy.ai",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
```
Do not hardcode your API token inside shared or version-controlled MCP configuration files. Use environment variable substitution where your MCP client supports it.
## Troubleshooting
### Authentication Errors
If you receive 401 Unauthorized errors:
* Verify the token is correctly included in the Authorization header
* Check that the token hasn't expired
* Ensure there are no extra spaces or characters in the token value
### Token Not Working
* Confirm you're using the complete token value
* Verify the token hasn't been revoked
* Check that your account has the necessary permissions for the API endpoint
### MCP Connection Issues
* Make sure your MCP client supports the **Streamable HTTP** transport
* Confirm the `Authorization` header is being sent on every request, including the initial handshake
* If a tool call returns no data, verify the token belongs to the account that owns the assistants or calls you're trying to access
### Rate Limiting
API tokens are subject to rate limits:
* Implement exponential backoff for retries
* Monitor response headers for rate limit information
* Consider caching responses when appropriate
# Permissions & Roles
Source: https://docs.meetzy.es/account/permissions
Understanding user permissions and access control in Meetzy.
## Overview
Meetzy uses a permission-based system to control what each team member can do within the platform. Permissions are assigned individually when inviting or editing members.
A member can now be promoted to **Account Admin**, a role with full access to the account equivalent to the owner's, with the only exception being billing management. This role change is managed from the **Team** screen.
## Account Admin Role
In addition to individual feature permissions, Meetzy supports an account-level role upgrade: **Account Admin**.
| Role | Access Level |
| ----------------- | --------------------------------------------------------------------------- |
| **Owner** | Full access to the account, including billing and subscription management |
| **Account Admin** | Full access to the account, equivalent to the owner, **except for billing** |
| **Member** | Access defined individually by the permissions below |
### How to promote a member to Account Admin
Navigate to **Team** from the main menu.
Find the member you want to promote and click the actions menu (⋮) next to their name.
Click **Edit permissions** to open the member's settings.
Change the member's role to **Admin** and save changes.
Account Admins can manage the team, invite or remove members, and access every area of the account (except billing). Only promote members you fully trust.
## Available Permissions
### Can Edit Agents
| Status | Access Level |
| ---------- | ------------------------------------------------------ |
| ✅ Enabled | Can modify agent settings, prompts, and configurations |
| ❌ Disabled | View-only access to assigned agents |
Members with this permission can:
* Edit agent names and basic settings
* Modify greetings and prompts
* Configure input/output parameters
* Change voice settings
### Can Use Advanced Editor
| Status | Access Level |
| ---------- | ------------------------------------ |
| ✅ Enabled | Full access to the Advanced Editor |
| ❌ Disabled | Limited to basic agent configuration |
Members with this permission can:
* Access all Advanced Editor panels
* Configure Knowledge Base documents
* Set up Actions & Tools (webhooks, transfers)
* Use the Playground for testing
* Access Copilot AI assistant
* Manage version history and branches
* Publish changes to production
Enable "Can use advanced editor" for team members who need to make substantial changes to agent behavior.
### Can Access CRM
| Status | Access Level |
| ---------- | --------------------------- |
| ✅ Enabled | Full access to CRM features |
| ❌ Disabled | No access to CRM menu |
Members with this permission can:
* View and manage contacts
* Import contacts from files or Google Sheets
* Create and manage segments
* Schedule and monitor campaigns
* Export contact data
CRM access is only visible if your account has CRM features enabled. The administrator must have CRM access to grant it to other members.
### Can View Billable Minutes
| Status | Access Level |
| ---------- | ------------------------------------- |
| ✅ Enabled | Can see usage and billing information |
| ❌ Disabled | No access to billing data |
Members with this permission can:
* View call duration statistics
* See billable minutes consumption
* Access usage reports
### Can View Recordings
| Status | Access Level |
| ---------- | ------------------------------ |
| ✅ Enabled | Can listen to call recordings |
| ❌ Disabled | Cannot access audio recordings |
Members with this permission can:
* Play call recordings from the call details
* Download recordings (if enabled)
Be careful when granting recording access. Call recordings may contain sensitive customer information.
### Can Send WhatsApp Campaigns
| Status | Access Level |
| ---------- | ------------------------------------------------- |
| ✅ Enabled | Can create and manage WhatsApp outbound campaigns |
| ❌ Disabled | No access to WhatsApp campaign features |
Members with this permission can:
* Send outbound WhatsApp messages via the API
* Create and monitor WhatsApp campaigns
* View campaign status and recipient details
* Cancel in-progress campaigns
WhatsApp campaigns require a configured WhatsApp Business phone number on the assistant. Contact your administrator to set up the WhatsApp integration.
## Agent-Level Access
In addition to feature permissions, you control which agents each member can access:
| Access Type | Description |
| --------------- | --------------------------------------------------------------- |
| **Full Access** | Member can view calls and edit the agent (if permissions allow) |
| **No Access** | Agent is hidden from the member entirely |
### How Agent Access Works
1. Members only see agents they're assigned to
2. Call history is filtered to show only calls from assigned agents
3. CRM data is accessible across all assigned agents
4. Reporting shows data from assigned agents only
Account Admins bypass agent-level restrictions and can see and manage every agent in the account.
## Permission Combinations
Here are common permission combinations for different roles:
### Viewer (Read-Only)
* ❌ Can edit agents
* ❌ Can use advanced editor
* ❌ Can access CRM
* ❌ Can view billable minutes
* ✅ Can view recordings
Best for: Team leads who need to monitor calls without making changes.
### Agent Operator
* ✅ Can edit agents
* ❌ Can use advanced editor
* ❌ Can access CRM
* ❌ Can view billable minutes
* ✅ Can view recordings
Best for: Team members who handle basic agent configuration.
### Agent Developer
* ✅ Can edit agents
* ✅ Can use advanced editor
* ❌ Can access CRM
* ❌ Can view billable minutes
* ✅ Can view recordings
Best for: Technical team members responsible for agent development.
### Campaign Manager
* ❌ Can edit agents
* ❌ Can use advanced editor
* ✅ Can access CRM
* ❌ Can view billable minutes
* ✅ Can view recordings
* ✅ Can send WhatsApp campaigns
Best for: Marketing or sales team members managing outbound campaigns.
### Full Access
* ✅ Can edit agents
* ✅ Can use advanced editor
* ✅ Can access CRM
* ✅ Can view billable minutes
* ✅ Can view recordings
* ✅ Can send WhatsApp campaigns
Best for: Account administrators and senior team members.
This combination of individual permissions is different from the **Account Admin** role described above. A member with all permissions enabled still doesn't get access to the Team screen or account-wide management unless they are also promoted to Account Admin.
## Syncing Permissions
If a member's permissions seem incorrect, administrators can sync their Firebase claims:
1. Find the member in the list
2. Click the **Sync Claims** button (only visible for advanced editor users)
3. Confirm the sync
This updates the member's authentication tokens with the latest permissions from the database.
## FAQ
Currently, Meetzy uses individual permissions rather than predefined roles, with the exception of the Account Admin role. You can combine permissions to create any access level you need.
An Account Admin has full access to the account, just like the owner, with one exception: they cannot manage billing or the subscription. Everything else, including team management, is available to them.
Role changes are managed from the **Team** screen. Open the member's actions menu, click **Edit permissions**, and set their role to **Admin**.
The CRM permission toggle is only visible if you (as the administrator) have CRM access enabled on your own account.
Yes, permission changes take effect immediately. Members may need to refresh their browser to see updated access.
Yes, for multi-company accounts, you can assign agents from any company. Agents are organized by company in the selection list.
# Support Tickets
Source: https://docs.meetzy.es/account/support-tickets
View, filter, and create support tickets for your Meetzy account from the Tickets portal.
The **Tickets** page (`/tickets`) is where you track every support request tied to your account — bugs, feature requests, integration issues, and anything else our team is helping you with. It shows a live status for each ticket, a full metrics panel, resolution-time breakdowns, and a real audit trail of what happened on each ticket, including reopenings.
This page shows only tickets marked as **public** for your account. Internal notes and private follow-ups tracked by our team are not shown here, but nothing you need to act on is ever hidden from you.
## Accessing the ticket list
Go to **Tickets** in the main navigation. If your account isn't yet linked to our support system, you'll see a notice instead of a ticket list — this doesn't block you from opening new tickets, it just means historical data isn't available yet. Reach out to us and we'll get it connected.
Navigate to `/tickets`. The page loads your most recent ticket data automatically.
While data loads, you'll see placeholder cards in the metrics area and table. This is normal and usually takes a moment.
Click **Actualizar** (Refresh) at any time to pull the latest ticket statuses. This is useful right after an agent replies or resolves something.
## Understanding the metrics
At the top of the page you'll find four key numbers that summarize your account's support activity:
The total count of tickets matching your current filters. If no filters are active, this reflects your entire history.
The share of tickets marked as **resolved** (`solventado`), calculated over resolvable tickets only.
Discarded tickets — those closed because a doubt was clarified, the request was a duplicate, or it was out of scope — are excluded from this percentage. They aren't a support failure, so they don't count against the resolution rate.
Tickets that are not yet closed: pending, in progress, in testing, or in backlog.
The median number of days between a ticket's creation and its resolution date, based on tickets that have actually been closed.
This is a **median**, not an average. A few very old or unusually complex tickets won't skew this number the way they would an average — that's intentional, since it better reflects the typical resolution time. If the average diverges sharply from the median, the page flags it so you know the mean isn't representative.
Below the metric cards, a summary line breaks down the exact counts per status (resolved, discarded, pending, in progress, testing, backlog). If you have any filters applied, a note reminds you that the metrics reflect the filtered subset, not your full history.
### Volume by month
Further down, a simple bar chart shows how many tickets were opened per month. The current (incomplete) month is marked with an asterisk (`*`) and rendered with a different style — don't read a lower bar there as an actual drop in volume; it just hasn't finished yet.
### Most common topics
A horizontal bar list shows which ticket types are most frequent (e.g., Bug, Feature request, Integration). Clicking a bar toggles a filter for that type, letting you drill into just that category. Click it again to remove the filter.
### Resolution times by type and priority
Below the topics list, a table breaks down resolution speed two ways: by **ticket type** and by **priority**. For each row you'll see how many tickets were closed and the median number of days it took. The type or priority with the most closed tickets is highlighted, since it's the most statistically meaningful row.
Only tickets with an actual resolution date are counted here — tickets still open don't have a resolution time yet, so they're excluded from both the overall median and these breakdowns.
## Using the search and filters
The ticket list supports several filters that can be combined:
| Filter | What it does |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search** | Matches against ticket title, description, ticket number, company name, and assigned agent names. |
| **Mis tickets** | Shows only the tickets you personally opened from this dashboard. Tickets opened directly by the Meetzy team in our internal system aren't attributable to any specific user and won't appear under this filter, even though they're visible under "all tickets". |
| **Status** | Filter by `pendiente`, `en_proceso`, `testing`, `solventado`, `backlog`, or `descartado`. |
| **Type** | Filter by ticket type (Bug, Performance, Prompt/LLM, UX improvement, Feature request, New agent, Integration, Data/Analytics, Other). |
| **Priority** | Filter by criticality: Critical, High, Medium, Low. |
| **Account** | Only visible to Meetzy staff, who see public tickets across every account. Lets our team narrow the view down to a single customer. |
| **Date range** | Filter by ticket creation date, using a "from" and "to" date. The "to" date is inclusive of the entire day. |
All filters apply instantly and update the metrics, monthly chart, topic breakdown, and resolution-time table to match. Use the clear filters option to reset everything back to your full ticket history.
## Opening the ticket detail panel
Click on any ticket row to open its detail panel. This shows:
* Full title and description
* Current status, priority, urgency, and impact
* Creation, update, and (if applicable) resolution timestamps
* Who created the ticket — for tickets opened from this dashboard, you'll see the member's name or the account owner's email. Tickets opened directly by the Meetzy team don't show a creator, since they aren't tied to a specific user in your account.
* Due date, if one was set
* Resolution notes, once the ticket is closed
* Assigned agents
* Any subtasks tracked internally against the ticket
* Attached files or reference URLs
* The full **resolution history**: every time the ticket was resolved and every time it was reopened, with the date, the actor, and the note or reason attached to that event
The detail panel loads ticket data on demand — if you have a slow connection, allow a moment for it to populate after clicking a row.
### Resolution history
Unlike the resolution notes field — which gets overwritten every time a ticket is resolved and loses any trace of prior cycles — the history section is a full, ordered timeline built from the underlying audit log. If a ticket was resolved, reopened, and resolved again, you'll see both resolution events and the reopening in between, each with its own note or reason. This is the most reliable place to understand what actually happened on a ticket that went back and forth.
## Reopening a resolved ticket
If a resolved ticket didn't actually fix your issue, you can reopen it directly from the detail panel instead of creating a duplicate.
Reopening is only available within **5 days** of the ticket's resolution date. After that window closes, the "Reabrir" (Reopen) option disappears and you'll need to open a new ticket referencing the old one.
Each ticket can be reopened a maximum of **3 times**. Once that limit is reached, the option is no longer available, even within the 5-day window.
A reopening reason is **mandatory** — the system rejects the request without one. Be specific about what's still broken or missing; this reason becomes part of the ticket's permanent history.
Once reopened, the ticket returns to an active status and the reopening is logged immediately in its resolution history, visible to both you and our team.
The 5-day window and the 3-reopening cap are enforced by the backend, not just the interface — if a reopen request falls outside either limit, it will be rejected even if you find a way to trigger it manually.
## Comments and attachments
From the ticket detail panel you can add comments to keep the conversation going with our team. Comments support file attachments, and the same limits apply everywhere attachments are used — on ticket creation and on comments alike:
* Up to **10 files** per submission
* **20 MB** maximum size per file
* Accepted formats: images, PDF, and Excel spreadsheets (`.xls`, `.xlsx`)
You can't add comments to a ticket that's already marked as resolved or discarded — reopen it first if you need to continue the conversation.
## Creating a new ticket
This button is always available at the top of the page, even if your account isn't yet linked to support history.
Provide a clear title and description. Choose a ticket type from the dropdown — this helps route your request to the right team faster.
Choose at least one of your account's agents that the ticket relates to. This field is **mandatory** — without it, the ticket can't be submitted. If your account has several agents, this is what lets our system route the ticket to the right project internally.
You can indicate how important this issue feels to you, independent of the priority our team assigns. This is purely informational and helps give context, but it doesn't override our internal triage.
Screenshots, logs, or spreadsheets can be attached directly (up to 10 files, 20 MB each). Attachments upload in the background after the ticket is created — a slow upload won't delay ticket creation itself.
Once submitted, your ticket is created and immediately visible in your list, tagged as created by you. It will also sync with our internal tracking system automatically.
If your account has more than one agent and you don't select at least one, the ticket submission will be rejected. Make sure the agent selector loads correctly before submitting — if it appears empty, try refreshing the page.
If you submit a ticket while offline or the request times out, it's safe to retry — duplicate submissions are automatically prevented.
## FAQ
Only tickets marked as public for your account appear here. If you believe something is missing, contact your Meetzy representative.
Check whether you have status filters applied — the percentage is calculated only over the currently filtered ticket set.
Ticket details can't be edited from this portal after submission. To add information, reply through the ticket detail panel or contact support directly.
Either more than 5 days have passed since it was resolved, or it has already reached the maximum of 3 reopenings. In both cases, open a new ticket and reference the original one in the description.
That filter only shows tickets created from this dashboard by you. Tickets opened directly by the Meetzy team on your behalf aren't attributed to any specific user, so they won't appear here — but they're still visible under "all tickets".
# Team Members
Source: https://docs.meetzy.es/account/team-members
Add team members to your Meetzy account and manage their access.
## Overview
The **Members** section allows account administrators to invite team members, assign them to specific agents, promote trusted teammates to admin, and control their permissions within the platform.
## Access Team Members
1. Navigate to **Account** in the main menu
2. Select **Members**
3. View all current team members
## Team Members List
The members list displays:
| Column | Description |
| ------------------------ | -------------------------------------------------------------------------------------- |
| 👤 **Avatar** | Profile picture or initial, with a status dot (green = active, gray = invite pending) |
| **Name** | Member's full name and job title |
| **Role badge** | **Admin** or **Member**, shown next to the name |
| **Invite pending badge** | Appears if the member hasn't signed in yet |
| **Email** | Member's email address |
| **Actions** | Edit permissions, Change email, Change password, Resend invite, Promote/Demote, Remove |
A gray status dot and an **Invite pending** badge next to a member's name mean they have not yet accepted their invitation or signed in for the first time. Once they log in, the dot turns green and the badge disappears.
## Invite a New Member
Click the **+ Invite** button to add a new team member.
### Required Information
| Field | Description |
| ---------------- | --------------------------------------- |
| 📧 **Email** | The member's email address (required) |
| 👤 **Name** | Full name of the team member (required) |
| 💼 **Job Title** | Role or position (optional) |
### Choose a Role
Every invitation now includes a **role selector** with two options:
| Role | Description |
| ---------- | --------------------------------------------------------------------------------------------------------------------- |
| **Member** | Standard access, limited to the permissions and agents you assign below |
| **Admin** | Full account administrator. Can manage team members, agents, and (if enabled) API tokens, just like the account owner |
Only grant the **Admin** role to people you fully trust. Admins can invite, edit, promote, and remove other team members, including other admins.
### Permission Settings
Configure what the new member can do (these settings are ignored if the role is **Admin**, since admins have full access):
| Permission | Description |
| ----------------------------- | ---------------------------------------------------------- |
| **Can edit agents** | Allow modifying agent configurations |
| **Can use advanced editor** | Access to the full Advanced Editor for agent configuration |
| **Can access CRM** | Access to the CRM module (contacts, segments, campaigns) |
| **Can view billable minutes** | See billing information and usage statistics |
| **Can view recordings** | Listen to call recordings |
### Agent Assignment
Select which agents the member can view or edit:
* Check the boxes next to each agent
* Members will only see calls and data from assigned agents
* For multi-company accounts, agents are organized by company
### Send Invitation Email
Toggle **Send invitation email** to control how the account is created:
* **On** *(default)*: Sends a welcome email with a link to set a password and sign in
* **Off**: Creates the account silently, without sending an email — useful when you plan to share credentials directly or set a password yourself
The invite button label updates automatically based on this toggle: **Create & Send Invite** when the toggle is on, **Create Member** when it's off.
Click the invite button to add the member. If the invitation email is enabled, the new teammate will show up with an **Invite pending** badge until they accept it.
## Edit Member Details
Click **Edit permissions** on any member to modify their settings:
1. Update their **Name** or **Job Title**
2. Change their **Role** (Member ↔ Admin)
3. Adjust permission toggles
4. Change agent assignments
5. Click **Save changes**
## Promote or Demote an Admin
You can change a member's role directly from the actions menu, without opening the full edit modal:
Click the **⋮** icon on the member's row.
* Select **Promote to admin** to grant full account administrator access
* Select **Demote to member** to remove admin privileges and fall back to their configured permissions
The role badge next to the member's name updates immediately.
You cannot demote or remove yourself, and the account owner's role cannot be changed. This prevents accidentally locking yourself — or everyone else — out of the account.
## Resend a Pending Invitation
If a teammate hasn't accepted their invite yet (indicated by the **Invite pending** badge), you can resend it:
1. Open the **actions menu** (⋮) on the member's row
2. Click **Resend invite**
3. The button shows **Sending...** while the email is dispatched
This option only appears for members whose account is still pending activation.
## Change a Teammate's Email
Administrators can update a team member's sign-in email directly from the member list:
1. Open the **actions menu** (⋮) on the member's row
2. Click **Change email**
3. Enter the new email address
4. Confirm the change
This updates where the member signs in and receives notifications. The member may need to use the new address the next time they log in.
## Change Member Password
Administrators can reset a member's password:
1. Click **Change Password** on the member
2. Enter the new password (minimum 6 characters)
3. Click **Update Password**
The member will need to use the new password on their next login.
## Remove a Member
To remove a team member:
1. Click **Remove** on the member's row
2. Confirm the removal in the dialog
Removing a member is permanent and cannot be undone. All their data and access will be permanently deleted.
## Search Members
Use the search bar to find members by name:
* Type in the search field
* Results filter as you type
## Best Practices
1. **Principle of least privilege**: Only grant the **Admin** role or elevated permissions when a teammate truly needs them
2. **Agent-specific access**: Assign members only to agents they work with
3. **Watch pending invites**: Follow up or resend invitations that stay pending for too long
4. **Regular audits**: Periodically review member roles, permissions, and remove inactive users
5. **Secure passwords**: Use strong passwords when creating accounts without email invitations
# Actions & Tools
Source: https://docs.meetzy.es/advanced-editor/actions-tools
Configure integrations, call transfers, webhooks, and automated actions for your AI agents
## Overview
The Actions & Tools section is the powerhouse of your AI agent's operational capabilities. Here you configure what your agent can do during and after calls - from transferring conversations to human agents or SIP systems, to making intelligent API calls, checking business hours, detecting voicemail early, and setting up sophisticated callback protocols.
This section transforms your agent from a simple conversationalist into a fully integrated business automation tool that can take real actions and connect with your existing systems.
## Call Transfer
Configure how your agent intelligently transfers calls to human agents, departments, or external phone systems when needed.
### Transfer Configuration
Toggle the "Call Transfer" option to activate the transfer functionality for your agent.
Select between traditional phone numbers or SIP trunk endpoints based on your infrastructure.
Define when and how your agent should initiate transfers using smart prompting and multi-language templates.
Validate that transfers work correctly with your phone system before going live.
### Transfer Types
**Traditional Phone Transfer**
Perfect for transferring to mobile phones, landlines, or traditional business numbers.
* **Format**: Use international format (+1234567890)
* **Best for**: Human agents, customer service departments, sales teams
* **Reliability**: High compatibility with all phone systems
* **Cost**: Standard telephony rates apply
**Configuration Example:**
```
Transfer Number: +1-555-123-4567
Department: Sales Team
```
**SIP/VoIP Transfer**
Ideal for enterprise environments with PBX systems, call centers, or VoIP infrastructure.
* **Format**: `sip:extension@gateway_ip:port`
* **Best for**: Call centers, PBX extensions, enterprise VoIP
* **Benefits**: Lower costs, advanced routing, better integration
* **Requirements**: SIP-compatible phone system
**Configuration Examples:**
```
Sales Extension: sip:100@10.0.1.50:5060
Support Queue: sip:support@pbx.company.com:5060
Manager Direct: sip:200@192.168.1.100:5060
```
### Transfer Execution Mode
Beyond choosing *where* a call goes, you can now control exactly *when* the transfer is executed relative to what the agent says right before handing off the call. This setting applies to the transfer tool as a whole, regardless of whether you're using the classic single-destination configuration or Transfer v2 rules.
**Speak First, Then Transfer**
The agent finishes saying the transfer message — the default phrase or the rule-specific Customer Message — and only then does the actual call transfer take place.
* **Behavior**: The caller always hears a clear heads-up ("Let me connect you now\...") before the line is handed off
* **Best for**: Most use cases, especially Warm transfers where a smooth, predictable handoff matters
* **Trade-off**: A short, natural pause between the message and the actual transfer
* **Recommended**: This is the default behavior for the Call Transfer tool
**Transfer Right Away**
The transfer is triggered as soon as the agent decides to transfer, without waiting for the message to finish playing — the handoff and the spoken message effectively overlap.
* **Behavior**: Fastest possible handoff, but the caller may hear the message cut short as the transfer connects
* **Best for**: Time-sensitive scenarios where shaving off every second matters more than a polished announcement
* **Trade-off**: Less predictable caller experience compared to Post Tool Speech
If you don't explicitly configure an execution mode, your agent automatically uses **Post Tool Speech** — this ensures the caller always hears the transfer message before being handed off.
### Transfer v2 (Beta): Multiple Transfer Rules
**Transfer v2** is a Beta upgrade to Call Transfer that replaces the single destination model with a flexible list of **transfer rules**. Instead of sending every transfer to the same number, your agent evaluates each rule's condition in real time and routes the call to the matching destination — with its own type, customer message, and optional briefing for the receiving human agent.
Enable Transfer v2 with the **"Transfer to multiple destinations (Beta)"** toggle inside the Call Transfer panel. Once active, you can define as many rules as you need.
Each rule includes:
| Field | Description |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Condition** | A natural-language description of when this rule should trigger (e.g., "the customer asks to speak with sales", "the customer wants to cancel a subscription") |
| **Destination Type** | `Phone` or `SIP`, matching the same formats used in standard Call Transfer |
| **Destination Value** | The phone number (`+1234567890`) or SIP URI (`sip:extension@ip:port`) to route to |
| **Transfer Type** | `Direct` or `Warm` — controls how the handoff is performed |
| **Customer Message** | An optional per-rule message the agent says to the caller right before transferring, overriding the default transfer phrase |
| **Agent Briefing** | An optional message relayed to the receiving human agent — a short summary of who is calling and why — used only on `Warm` transfers |
**Direct (Blind / Cold) Transfer**
The agent immediately connects the caller to the destination without staying on the line.
* **Best for**: Simple routing to a known extension or department
* **Experience**: Fastest handoff, no context relay
* **Use when**: The destination doesn't need a live briefing before speaking with the customer
* **Agent Briefing**: Not applicable — since the agent disconnects immediately, there's no opportunity to relay context
**Warm (Conference) Transfer**
The agent stays connected momentarily to introduce the call and pass context before disconnecting.
* **Best for**: Complex cases, VIP customers, or situations requiring a smooth handoff
* **Experience**: The receiving human agent hears the Agent Briefing before taking over the conversation
* **Use when**: Context preservation is critical to avoid the customer repeating themselves
* **Agent Briefing**: Recommended — write a short, factual summary such as "Caller is asking about invoice #4521, already confirmed their identity"
Toggle "Transfer to multiple destinations (Beta)" within the Call Transfer section.
Click "Add rule" and describe the condition that should trigger this specific transfer.
Choose Phone or SIP and enter the corresponding destination value.
Select Direct for an immediate handoff or Warm to relay context before disconnecting.
Write a message specific to this rule, such as "Let me connect you with our billing team" for a billing-related rule.
For Warm transfers, write a short internal summary the receiving human agent will hear before taking the call — for example, the customer's issue, sentiment, or anything already resolved.
Add as many rules as needed to cover all the transfer scenarios for your agent.
Rules are evaluated in the order they appear. Place more specific conditions above general ones to avoid a broad rule capturing calls meant for a more precise destination.
**Example Configuration:**
```
Rule 1
Condition: the customer wants to talk to sales or ask about pricing
Destination: Phone → +1-555-200-1000
Type: Warm
Customer Message: "I'll connect you with our sales team, one moment please."
Agent Briefing: "Inbound caller interested in the Pro plan, already asked about annual pricing."
Rule 2
Condition: the customer reports a technical issue or outage
Destination: SIP → sip:support@pbx.company.com:5060
Type: Direct
Customer Message: "Transferring you to technical support now."
Agent Briefing: (not applicable — Direct transfer)
Rule 3
Condition: the customer explicitly asks for a manager or wants to file a complaint
Destination: Phone → +1-555-200-2000
Type: Warm
Customer Message: (default transfer phrase)
Agent Briefing: "Caller is upset about a delayed refund, already apologized and confirmed order #8823."
```
When Transfer v2 is disabled, your agent falls back to the classic single-destination Call Transfer configuration described above. The Transfer Execution Mode setting applies the same way in both cases.
Transfer v2 is currently in **Beta**. Test each rule's condition thoroughly with realistic phrasing before relying on it in production, and keep an eye on how overlapping conditions are prioritized.
### Multi-Language Transfer Prompt Templates
The transfer prompt is crucial - it teaches your AI agent exactly when to transfer calls. Choose from professionally crafted templates in 6 languages:
```
Se usa para transferir la llamada con una persona en los casos que se indican a continuación:
- El usuario rechaza directamente la propuesta o servicio
- El usuario solicita expresamente hablar con una persona humana
- El usuario muestra desconfianza hacia el asistente virtual
- Se necesita información específica que no está disponible en el sistema
- El usuario requiere autorización o gestión de datos personales sensibles
- Situaciones que requieren negociación o decisiones complejas
- Quejas o reclamaciones que necesitan atención personalizada
- El usuario solicita escalación a un supervisor o gerente
- Casos de facturación complejos o disputas de pagos
- Situaciones médicas o legales que requieren experiencia humana
```
```
Used to transfer the call to a person in the following cases:
- The user directly rejects the proposal or service
- The user expressly requests to speak with a human person
- The user shows distrust towards the virtual assistant
- Specific information is needed that is not available in the system
- The user requires authorization or management of sensitive personal data
- Situations requiring negotiation or complex decisions
- Complaints or claims that need personalized attention
- The user requests escalation to a supervisor or manager
- Complex billing or payment dispute situations
- Medical or legal situations requiring human expertise
```
```
Utilisé pour transférer l'appel à une personne dans les cas suivants:
- L'utilisateur rejette directement la proposition ou le service
- L'utilisateur demande expressément à parler avec une personne humaine
- L'utilisateur montre de la méfiance envers l'assistant virtuel
- Des informations spécifiques sont nécessaires qui ne sont pas disponibles dans le système
- L'utilisateur nécessite une autorisation ou la gestion de données personnelles sensibles
- Situations nécessitant négociation ou décisions complexes
- Plaintes ou réclamations nécessitant une attention personnalisée
- L'utilisateur demande une escalade vers un superviseur ou manager
- Situations de facturation complexes ou litiges de paiement
- Situations médicales ou légales nécessitant une expertise humaine
```
```
Wird verwendet, um den Anruf an eine Person zu übertragen in folgenden Fällen:
- Der Benutzer das Angebot oder den Service direkt ablehnt
- Der Benutzer ausdrücklich darum bittet, mit einer menschlichen Person zu sprechen
- Der Benutzer Misstrauen gegenüber dem virtuellen Assistenten zeigt
- Spezifische Informationen benötigt werden, die im System nicht verfügbar sind
- Der Benutzer eine Autorisierung oder Verwaltung sensibler persönlicher Daten benötigt
- Situationen, die Verhandlungen oder komplexe Entscheidungen erfordern
- Beschwerden oder Ansprüche, die persönliche Aufmerksamkeit benötigen
- Der Benutzer eine Eskalation zu einem Vorgesetzten oder Manager anfordert
- Komplexe Abrechnungs- oder Zahlungsstreitigkeiten
- Medizinische oder rechtliche Situationen, die menschliche Expertise erfordern
```
```
Usato per trasferire la chiamata a una persona nei seguenti casi:
- L'utente rifiuta direttamente la proposta o il servizio
- L'utente richiede espressamente di parlare con una persona umana
- L'utente mostra sfiducia verso l'assistente virtuale
- Sono necessarie informazioni specifiche non disponibili nel sistema
- L'utente richiede autorizzazione o gestione di dati personali sensibili
- Situazioni che richiedono negoziazione o decisioni complesse
- Reclami o richieste che necessitano attenzione personalizzata
- L'utente richiede escalation a un supervisore o manager
- Situazioni di fatturazione complesse o dispute di pagamento
- Situazioni mediche o legali che richiedono competenza umana
```
```
Usado para transferir a chamada para uma pessoa nos seguintes casos:
- O usuário rejeita diretamente a proposta ou serviço
- O usuário solicita expressamente falar com uma pessoa humana
- O usuário mostra desconfiança em relação ao assistente virtual
- São necessárias informações específicas que não estão disponíveis no sistema
- O usuário requer autorização ou gestão de dados pessoais sensíveis
- Situações que requerem negociação ou decisões complexas
- Reclamações ou solicitações que precisam de atenção personalizada
- O usuário solicita escalação para um supervisor ou gerente
- Situações complexas de faturamento ou disputas de pagamento
- Situações médicas ou legais que requerem expertise humana
```
## Webhook Tools
Create powerful API integrations that allow your agent to interact with external systems during conversations through our sophisticated modal interface.
**Enhanced Modal Interface**: Webhook Tools now feature an advanced configuration modal with real-time testing, parameter mapping, authentication methods, and intelligent conversation data extraction.
### Webhook Tool Modal Interface
Configure webhook tools through our comprehensive modal interface:
Set up the basic tool identity and activation conditions.
**Required Fields:**
* **Name**: Unique identifier (e.g., "create\_lead", "check\_inventory")
* **Description**: Clear explanation of when the AI should use this tool
* **Execution Mode**: Choose immediate or deferred execution
Configure the core API connection details.
**Configuration Options:**
* **Base URL**: Complete webhook endpoint URL
* **HTTP Method**: GET, POST, PUT, PATCH, or DELETE
* **Request Timeout**: 5-60 seconds (default: 20)
* **Error Handling**: Retry logic and fallback behavior
Set up secure authentication for your API endpoints.
**Supported Authentication Types:**
* Bearer Token authentication (OAuth 2.0, JWT)
* API Key authentication (Header or Query parameter)
* Basic Auth with username/password
* Custom header authentication
Define intelligent parameter mapping with conversation data extraction.
**Parameter Configuration:**
* **Query Parameters**: URL-encoded for GET requests
* **Body Parameters**: JSON payload for POST/PUT/PATCH
* **Header Parameters**: Custom HTTP headers
* **Value Sources**: LLM extraction, static values, conversation metadata
### Advanced Parameter Configuration
Each webhook parameter supports sophisticated data mapping:
| Property | Description | Options | Example |
| --------------------- | ------------------------ | ----------------------------------------------- | ---------------------------------------- |
| **Name** | Parameter identifier | Custom string | `customer_name` |
| **Type** | Data validation | string, number, boolean, integer, array, object | `string` |
| **Required** | Mandatory field | true/false | `true` |
| **Description** | AI understanding context | Natural language | "Customer's full name from conversation" |
| **Value Source** | Data extraction method | LLM extraction, static value, metadata | LLM prompt |
| **Extraction Prompt** | AI instruction | Natural language | "Extract the customer's email address" |
**LLM Extraction**
Intelligent conversation data extraction:
```json theme={null}
{
"extraction_prompt": "Extract the customer's phone number from the conversation",
"parameter_type": "string",
"required": true
}
```
**Static Values**
Fixed values for consistent data:
```json theme={null}
{
"static_value": "phone_call",
"parameter": "source",
"type": "string"
}
```
**Conversation Metadata**
Built-in conversation data:
* Call duration and timestamps
* Customer and agent phone numbers
* Call direction (inbound/outbound)
* Call status and outcome
* Agent ID and configuration details
**Supported Parameter Types:**
* **string**: Text data, names, descriptions, addresses
* **number**: Numeric values with decimal precision
* **integer**: Whole numbers only (IDs, quantities)
* **boolean**: true/false values for flags
* **array**: List of values or complex objects
* **object**: Nested data structures with properties
**Type Validation:**
Automatic validation ensures data consistency and provides clear error messages for type mismatches.
### Webhook Authentication Methods
**JWT/OAuth 2.0 Authentication**
Modern token-based authentication for secure API access:
```json theme={null}
{
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}
```
**Use Cases:**
* Salesforce, HubSpot, and modern CRM systems
* OAuth 2.0 protected endpoints
* JWT-based authentication systems
* Enterprise SaaS platforms
**Simple API Key Authentication**
Traditional API key authentication:
```json theme={null}
{
"X-API-Key": "sk_live_abcd1234efgh5678ijkl",
"Authorization": "ApiKey sk_live_abcd1234efgh5678ijkl"
}
```
**Use Cases:**
* Third-party service APIs
* Legacy system integration
* Custom internal APIs
* Simple authentication requirements
**Username/Password Authentication**
HTTP Basic authentication:
```json theme={null}
{
"Authorization": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
}
```
**Use Cases:**
* Legacy systems
* Internal APIs
* Simple HTTP authentication
* Development and testing environments
### Webhook Integration Examples
**Salesforce Lead Integration**
Automatically create leads when customers show purchase interest:
```json theme={null}
{
"name": "create_salesforce_lead",
"description": "Create a new lead in Salesforce when customer shows purchase interest",
"url": "https://api.salesforce.com/services/data/v52.0/sobjects/Lead",
"method": "POST",
"authentication": {
"type": "bearer_token",
"token": "{{salesforce_access_token}}"
},
"body_parameters": {
"FirstName": {
"type": "string",
"required": true,
"value_type": "llm_extraction",
"extraction_prompt": "Extract customer's first name from conversation"
},
"LastName": {
"type": "string",
"required": true,
"value_type": "llm_extraction",
"extraction_prompt": "Extract customer's last name from conversation"
},
"Phone": {
"type": "string",
"required": true,
"value_type": "conversation_metadata",
"metadata_field": "customer_phone"
},
"LeadSource": {
"type": "string",
"value_type": "static",
"static_value": "AI Phone Call"
}
}
}
```
**Real-time Product Availability**
Check product availability during customer inquiries:
```json theme={null}
{
"name": "check_product_availability",
"description": "Check real-time product availability when customer asks about specific items",
"url": "https://inventory.yourcompany.com/api/check",
"method": "GET",
"authentication": {
"type": "api_key",
"key": "{{inventory_api_key}}",
"location": "header"
},
"query_parameters": {
"product_sku": {
"type": "string",
"required": true,
"value_type": "llm_extraction",
"extraction_prompt": "Extract product SKU or name mentioned by customer"
},
"location": {
"type": "string",
"value_type": "llm_extraction",
"extraction_prompt": "Extract customer's preferred store location or zip code"
},
"quantity": {
"type": "integer",
"value_type": "llm_extraction",
"extraction_prompt": "Extract desired quantity, default to 1 if not specified"
}
},
"response_timeout": 10
}
```
**Appointment Scheduling**
Automatically schedule appointments through calendar systems:
```json theme={null}
{
"name": "book_calendar_appointment",
"description": "Schedule an appointment when customer requests a meeting or consultation",
"url": "https://api.calendly.com/scheduled_events",
"method": "POST",
"authentication": {
"type": "bearer_token",
"token": "{{calendly_access_token}}"
},
"body_parameters": {
"event_type": {
"type": "string",
"value_type": "static",
"static_value": "https://calendly.com/your-company/30-min-consultation"
},
"start_time": {
"type": "string",
"value_type": "llm_extraction",
"extraction_prompt": "Extract preferred meeting time from customer in ISO format"
},
"invitee": {
"type": "object",
"properties": {
"name": {
"type": "string",
"value_type": "llm_extraction",
"extraction_prompt": "Customer's full name"
},
"email": {
"type": "string",
"value_type": "llm_extraction",
"extraction_prompt": "Customer's email address"
}
}
}
}
}
```
## Business Hours (Beta)
**Business Hours** is a new built-in tool (Beta) that lets your agent automatically resolve whether the current call is happening within your configured business hours — no webhook or external calendar needed. It replaces manual date/time reasoning with a structured weekly schedule, holiday calendar, and time zone awareness.
Instead of prompting the model to reason about dates, weekdays, and time zones, the Business Hours tool evaluates the call timestamp against your configuration and returns whether the business is **open** or **closed** at that exact moment — including support for holiday exceptions and dedicated messaging for each state.
### What It Solves
* Avoids transferring calls to a human team that isn't available
* Lets the agent give accurate opening hours or a "we're currently closed" response automatically
* Enables conditional logic such as "only offer live transfer during business hours, otherwise offer a callback"
* Accounts for holidays and special closures without extra prompt engineering
* Removes the need for manual date/time arithmetic in the system prompt
### Configuration
Add the Business Hours tool from the Actions & Tools panel and toggle it on.
Configure opening and closing times independently for each day of the week (Monday through Sunday). Mark any day as fully closed when it doesn't apply — for example, weekends or days your business doesn't operate.
Define specific dates — national holidays, company closures, or one-off exceptions — that should always be treated as closed (or with custom hours) regardless of the regular weekly schedule.
Select the time zone your business hours are defined in, so the tool correctly resolves the call time regardless of where the customer is calling from.
Write a custom message the agent uses when the call falls within business hours, and a different message for when it falls outside business hours (including holidays).
Use the tool's result in your system prompt logic, or combine it with a Transfer v2 rule condition (e.g., "only transfer to sales if within business hours").
### Weekly Schedule Fields
Each day of the week supports its own independent configuration:
| Field | Description |
| ---------------- | --------------------------------------- |
| **Day** | Monday through Sunday |
| **Status** | Open or Closed for that day |
| **Opening Time** | Start of business hours (e.g., `09:00`) |
| **Closing Time** | End of business hours (e.g., `18:00`) |
### Holidays
Holidays override the regular weekly schedule for a specific date:
| Field | Description |
| ---------- | -------------------------------------------------------------- |
| **Date** | The specific calendar date the holiday applies to |
| **Label** | A descriptive name (e.g., "New Year's Day", "Company Retreat") |
| **Status** | Closed all day, or Open with custom hours for that date |
### In-Hours vs Out-of-Hours Messages
**Used while the business is open**
Optional message the agent can use to confirm availability, such as:
```
"We're currently open — I can connect you with our team right away."
```
**Used while the business is closed (including holidays)**
Message explaining unavailability and next steps, such as:
```
"We're currently closed. Our business hours are Monday to Friday, 9 AM to 6 PM. Would you like me to schedule a callback for the next business day?"
```
### Example Schedule
```
Monday - Friday: 09:00 - 18:00
Saturday: 10:00 - 14:00
Sunday: Closed
Time Zone: Europe/Madrid
Holidays:
- Jan 1: New Year's Day (Closed)
- Dec 25: Christmas Day (Closed)
- Aug 15: Summer Break (Closed)
In-Hours Message: "We're currently open — I can connect you with our team right away."
Out-of-Hours Message: "We're currently closed. Our business hours are Monday to Friday, 9 AM to 6 PM. Would you like me to schedule a callback?"
```
### Example Usage
**Combined with Transfer v2:**
```
Rule 1
Condition: the customer wants to talk to sales AND business hours are open
Destination: Phone → +1-555-200-1000
Type: Warm
Rule 2
Condition: the customer wants to talk to sales AND business hours are closed
Destination: (no transfer — offer to schedule a callback instead)
```
**Combined with End Call Strategy or system prompt:**
Instruct the agent to check the Business Hours result before offering a live transfer, and fall back to taking a message or booking a callback when the result is `closed`.
Business Hours is currently in **Beta**. Double-check the resolved status during testing, especially around daylight saving time transitions and newly added holidays.
## Early Voicemail Detection
**Early Voicemail Detection** adds a telephony-aware layer of Answering Machine Detection (AMD) that works alongside — and independently from — the phrase-based detection configured in **End Call Strategy** below. Instead of relying only on the agent recognizing a voicemail greeting mid-conversation, this feature can flag an answering machine earlier, using either the agent's own reasoning or signals from the carrier.
Enable this tool to choose **how early** and **at what level** voicemail detection happens, trading off a small amount of latency for a higher confidence detection, or vice versa. Detection is organized into two levels — **Agent** and **Carrier** (also referred to as "Operator") — with the Carrier level offering two submodes, **Gate** and **Live**.
### Detection Levels
**Agent-Level Detection (Native)**
The AI agent listens to the call audio itself and recognizes voicemail or answering machine greetings using its own conversational reasoning — the same underlying mechanism used by the End Call Strategy phrase templates.
* **How it works**: The agent starts speaking normally and identifies typical voicemail phrasing as the conversation unfolds ("please leave a message after the tone", etc.)
* **Best for**: Simple setups where a natural conversation start matters more than shaving off detection time, or when your telephony carrier doesn't provide a reliable native AMD signal
* **When to use it**: Choose Agent when you'd rather keep the call flow simple and let the same phrase-recognition logic you already trust (via End Call Strategy) handle voicemail cases, without adding a telephony-level dependency
* **Default**: This is the default level the first time Early Voicemail Detection is enabled
**Carrier-Level Detection**
Detection is delegated to the telephony carrier's native Answering Machine Detection signal, which analyzes call setup characteristics — ringing pattern, greeting cadence, energy levels — independently of what the agent says.
* **How it works**: The carrier analyzes the call in real time and reports whether it believes a human or a machine answered
* **Best for**: Faster, more consistent detection, especially useful for outbound calling at scale
* **When to use it**: Choose Carrier when you're running outbound campaigns and want detection decisions grounded in telephony-level signals rather than solely on what the agent hears and interprets
* **Requires**: Choosing one of the two Carrier submodes below (Gate or Live)
### Carrier Submodes: Gate vs Live
When the Carrier level is selected, choose how the agent should act on the carrier's AMD signal:
**Gate Mode**
The system waits for the carrier's AMD analysis to finish **before** letting the agent start speaking.
* **Behavior**: A brief pause occurs at the very start of the call while the carrier determines human vs. machine
* **Trade-off**: A slightly slower start, but the agent never delivers the wrong opening line to a machine
* **When to use it**: Choose Gate for outbound calling where avoiding a wasted or awkward greeting to voicemail outweighs a one-to-two second delay at the start of the call — ideal for high-volume campaigns where consistency matters more than speed
**Live Mode**
The call connects immediately and the carrier's AMD analysis runs live, in parallel with the conversation.
* **Behavior**: The agent can start speaking right away; if the carrier reports a machine mid-stream, the system reacts on the fly (e.g., handing off to End Call Strategy or leaving a pre-recorded message)
* **Trade-off**: A faster, more natural-feeling start, with a small chance the agent speaks a line or two before the machine is confirmed
* **When to use it**: Choose Live when a fast, natural call start is the priority — for example, inbound-style experiences or campaigns where caller perception of responsiveness matters more than avoiding the rare case of the agent speaking briefly to a machine
The system remembers which Carrier submode (Gate or Live) you last used. Switching back to Carrier after temporarily trying Agent level automatically restores your previous submode.
### Configuration
Toggle on Early Voicemail Detection in the Actions & Tools panel.
Select **Agent** for native recognition by the AI, or **Carrier** (Operator) for telephony-level AMD.
If you chose Carrier, pick **Gate** for a safer, slightly delayed start, or **Live** for an immediate start with parallel analysis.
Leave your End Call Strategy phrase templates configured — Early Voicemail Detection catches most cases sooner, while phrase detection remains a reliable safety net for anything it misses.
Carrier-level AMD accuracy can vary depending on your telephony provider and the destination country. Test both Gate and Live submodes with real call patterns before relying on them for high-volume outbound campaigns.
## End Call Strategy
Configure intelligent call termination with sophisticated answering machine detection and strategic conversation ending across multiple languages.
### Enhanced Call Termination Logic
Activate the "End Call Strategy" to handle call endings intelligently with multi-language support.
Use comprehensive phrase detection across 6 languages for answering machines and voicemail systems.
Specify what constitutes a successful call that should end naturally.
Configure responses for unexpected scenarios like long silences or system errors.
# Basic Settings
Source: https://docs.meetzy.es/advanced-editor/basic-settings
Configure agent name, language, voice, AI model, and foundational components with advanced features
## Overview
Basic Settings is the foundation of your AI agent configuration in Meetzy's Advanced Editor. This section establishes the core identity and capabilities of your agent, including specialized skills, professional voice selection, advanced AI model options, and powerful foundational components that ensure professional-grade performance from the first call.
## Agent Identification
### Agent Name
Define your agent's internal name for team identification and management:
**Naming Best Practices**: Use descriptive names like "Customer Support - English" or "Real Estate Sales - Spanish" to easily distinguish agents in your dashboard.
### Company Selection (Admin Only)
Administrators can assign agents to specific organizations within the system:
Company assignment determines available resources, phone numbers, and access permissions for the agent.
## Twilio Account Management (Admin Only)
Choose the appropriate Twilio account for new agent creation:
Choose from available Twilio accounts in the dropdown menu
Phone numbers and resources automatically populate for the selected account
Agent inherits the selected account's settings and capabilities
Multiple Twilio accounts enable organization-specific configurations and billing separation.
**Resource Impact**: Changing Twilio accounts reloads available phone numbers and may affect existing call routing configurations.
**Account Change Effects:**
* Phone number availability updates
* Caller ID verification requirements may change
* Regional settings and capabilities may vary
## Advanced Phone Configuration
### Phone Number Assignment
Configure phone numbers for new agents with comprehensive management:
Choose the appropriate Twilio account (admin users only)
Select from dynamically loaded available phone numbers
Use the direct Twilio link to purchase more numbers if needed
Confirm the number appears correctly in the configuration
**Real-time Availability**: Phone numbers are filtered by selected Twilio account and show only unassigned numbers.
Phone numbers for existing agents are permanent and displayed for reference:
**Permanent Assignment**: Phone numbers cannot be changed after agent creation. Plan your number allocation carefully.
**Read-only Display:**
* Shows assigned phone number in friendly format
* Displays associated Twilio account information
* Provides reference for configuration management
### Enhanced Caller ID Management
Configure and manage client phone numbers for outbound calling with advanced verification and status tracking:
Click "Add Caller ID" to open the configuration dialog
Provide a descriptive name and the phone number for verification
Twilio initiates a verification call within 30 seconds
Enter the verification code provided during the automated call
Verify the caller ID status shows as "Verified" and ready for use
**Automatic Process**: Twilio automatically calls the provided number with a verification code - no manual intervention required.
**Comprehensive Status Tracking:**
* **✅ Verified**: Ready for outbound calls
* **⏳ Pending**: Awaiting verification completion
* **❌ Failed**: Verification failed, requires retry
* **🔄 Processing**: Verification in progress
**Management Actions:**
* **Check Status**: Real-time validation with Twilio
* **Update Status**: Refresh verification state
* **Retry Verification**: Restart failed verification process
* **Delete**: Remove caller ID from agent configuration
**Code Timing**: Verification codes are time-limited. Complete the process promptly after receiving the automated call.
**Common Solutions:**
* Ensure the phone number can receive automated calls
* Check for carrier restrictions on robotic calls
* Verify number format is correct (+1XXXXXXXXXX for US)
* Use "Retry Verification" for failed attempts
* Allow up to 2 minutes for verification call delivery
## Agent Skills and Professional Expertise
Transform your agent with specialized industry skills and expertise templates that enhance conversation quality and task completion:
**Professional Specializations:**
* **Customer Service Excellence**: Advanced support and resolution techniques
* **Sales & Lead Qualification**: Persuasion and conversion strategies
* **Healthcare Coordination**: Medical appointment scheduling and patient communication
* **Real Estate Assistance**: Property information and showing coordination
* **Financial Services Support**: Account management and financial guidance
* **Legal Intake Specialization**: Case evaluation and consultation scheduling
* **Technical Support Expert**: Troubleshooting and technical guidance
**Enhanced Communication Skills:**
* **Multi-language Proficiency**: Advanced cross-cultural communication
* **Conflict Resolution**: De-escalation and problem-solving techniques
* **Appointment Management**: Scheduling optimization and coordination
* **Data Collection & Validation**: Information gathering and verification
Explore industry-specific skill templates with audio previews
Play audio samples to understand each skill's communication style
Choose 3-5 skills that align with your agent's primary objectives
Skills integrate seamlessly with foundational components and conversation patterns
**Audio Previews**: Each skill template includes professional audio demonstrations showing real conversation examples.
**Focused Selection**: Choose skills that directly support your agent's core use case for maximum effectiveness.
**Synergistic Combinations**: Select complementary skills that work together to create a comprehensive agent expertise profile.
**Avoid Skill Overload**: Too many diverse skills can dilute performance. Focus on your primary business objectives.
## Voice Agents and Personality Selection
Choose from specialized voice agents with unique personalities and professional backgrounds designed for specific business scenarios:
**Available Specializations:**
* **Customer Service Representatives**: Professional, helpful, and solution-oriented
* **Sales Professionals**: Persuasive, confident, and relationship-building focused
* **Technical Support Specialists**: Patient, knowledgeable, and detail-oriented
* **Healthcare Coordinators**: Empathetic, professional, and scheduling-focused
* **Appointment Schedulers**: Efficient, organized, and calendar-management expert
* **General Purpose Assistants**: Versatile, adaptable, and multi-skilled
**Personality Characteristics:**
* Unique speaking patterns and conversation styles
* Industry-appropriate vocabulary and terminology
* Professional demeanor and communication approaches
* Specialized knowledge and expertise areas
Explore voice agents filtered by specialty and characteristics
Listen to conversation samples to understand each agent's personality
Use specialty filters to find agents matching your use case
Choose an agent that aligns with your brand voice and objectives
**Interactive Previews**: All voice agents include high-quality audio samples demonstrating their unique conversation styles and personalities.
**Voice Agent Benefits:**
* Pre-configured personality traits and speaking patterns
* Industry-optimized conversation flows and responses
* Professional backgrounds and expertise integration
* Consistent character maintenance across conversations
**Seamless Integration**: Voice agents automatically configure appropriate voice settings, speech patterns, and conversational behaviors.
## Language and Voice Configuration
### Advanced Language Selection
Configure your agent's primary communication language with comprehensive regional support:
**Supported Languages:**
* 🇺🇸 **English** - Global business standard
* 🇪🇸 **Spanish** - Iberian and Latin American variants
* 🇫🇷 **French** - Metropolitan and Canadian French
* 🇩🇪 **German** - Standard and Austrian variants
* 🇮🇹 **Italian** - Standard Italian
* 🇵🇹 **Portuguese** - European Portuguese
* 🇧🇷 **Portuguese (Brazil)** - Brazilian variant
* 🇨🇳 **Chinese** - Mandarin (Simplified)
* 🇮🇳 **Hindi** - Standard Hindi
* 🇯🇵 **Japanese** - Standard Japanese
* 🇰🇷 **Korean** - Standard Korean
* 🇦🇷 **Arabic** - Modern Standard Arabic
* And **20+ additional languages** including Ukrainian, Vietnamese, Indonesian, and more
**Language Impact Areas:**
* Voice synthesis pronunciation and accent accuracy
* Speech recognition precision and processing
* Greeting template availability and suggestions
* AI model language comprehension and response quality
* Cultural communication patterns and etiquette
### Professional Voice Selection
**Comprehensive Voice Collection:**
* **All Voices**: Complete professional voice library
* **Male Voices**: Authoritative and confident options
* **Female Voices**: Professional and approachable selections
* **Search Function**: Find specific voices by name or characteristics
**Voice Preview Features:**
* High-quality audio samples for every voice
* Context-appropriate conversation examples
* Professional phone conversation demonstrations
* Quality and clarity assessment tools
**Advanced Filter Options:**
| Filter | Purpose | Recommended Use |
| -------------- | ---------------------------- | --------------------------- |
| **All Voices** | Browse complete library | Initial exploration |
| **Male** | Male voice characteristics | Specific brand requirements |
| **Female** | Female voice characteristics | Audience preferences |
| **Search** | Find specific voices | Targeted voice selection |
**Quality Assurance**: All voices are professionally tested for phone conversation clarity and business communication appropriateness.
**Fine-tuning Parameters:**
| Parameter | Range | Optimal Setting | Purpose |
| -------------------- | ------------- | --------------- | ----------------------------------- |
| **Speed** | 0.70x - 1.20x | **1.06x** | Natural conversation pace |
| **Stability** | 0.0 - 1.0 | **0.15** | Voice consistency across utterances |
| **Similarity Boost** | 0.0 - 1.0 | **0.65** | Balance naturalness and clarity |
**Production-Optimized Defaults**: Default settings (Speed: 1.06x, Stability: 0.15, Similarity Boost: 0.65) are optimized based on thousands of successful phone interactions.
**Parameter Adjustment**: Modifying voice settings requires thorough testing to ensure optimal conversation quality and user experience.
## Advanced AI Model Selection
Choose from leading AI models across multiple providers to power your agent's intelligence and conversation capabilities:
| Model | Performance | Best For | Status |
| --------------------------------- | ----------- | --------------------------------------- | -------------- |
| **Gemini 3.1 Flash Lite Preview** | Optimized | Balanced performance and reliability | **🌟 Default** |
| **Gemini 2.5 Flash** | Advanced | Complex reasoning and problem-solving | Premium |
| **Gemini 2.5 Flash Lite** | Efficient | Cost-effective with strong capabilities | Balanced |
| **Gemini 2.0 Flash** | Fast | Quick responses for simple interactions | Speed-focused |
| **Gemini 1.5 Pro** | Premium | Advanced business logic and reasoning | High-end |
**Gemini Advantages:**
* **Optimized Default**: Gemini 3.1 Flash Lite Preview provides excellent out-of-the-box performance
* **Advanced Context**: Superior conversation memory and context understanding
* **Cost Efficiency**: Multiple options balancing capability and operational costs
* **Reliability**: Proven performance across diverse business scenarios
| Model | Performance | Characteristics | Best For |
| ---------------- | ----------- | --------------------------------- | --------------------------- |
| **GPT-4o** | High | Balanced intelligence and speed | General business use |
| **GPT-4.1** | Premium | Latest capabilities and reasoning | Complex problem-solving |
| **GPT-4.1 Mini** | Balanced | Optimized efficiency | Cost-effective operations |
| **GPT-4.1 Nano** | Ultra-fast | Minimal latency responses | Speed-critical applications |
**GPT Selection Guide:**
* **GPT-4.1**: Choose for complex scenarios requiring advanced reasoning
* **GPT-4o**: Reliable choice for most business conversational needs
* **GPT-4.1 Mini**: Optimal balance of capability, cost, and performance
* **GPT-4.1 Nano**: Select when response speed is the primary priority
**Claude Haiku 4.5**
* **Performance**: Ultra-fast response times with minimal latency
* **Best For**: Cost-effective interactions and straightforward conversations
* **Use Cases**: Basic customer service, simple FAQ responses, high-volume operations
* **Advantages**: Lowest operational costs, excellent speed, reliable performance
**Cost Leadership**: Claude Haiku 4.5 provides excellent conversational capability at the most economical pricing tier.
**Speed Priority**: For phone conversations where response time is critical:
* GPT-4.1 Nano (ultra-fast responses)
* Gemini 2.0 Flash (rapid processing)
* Claude Haiku 4.5 (minimal latency)
**Intelligence Priority**: For complex conversations requiring advanced reasoning:
* GPT-4.1 (latest capabilities)
* Gemini 1.5 Pro (premium reasoning)
* Gemini 2.5 Flash (advanced logic)
**Balanced Performance**: For optimal capability-to-cost-to-speed ratio:
* **Gemini 3.1 Flash Lite Preview** (recommended default)
* GPT-4.1 Mini (efficient premium)
* Gemini 2.5 Flash Lite (balanced performance)
**Model Impact**: Changing AI models significantly affects conversation patterns, response quality, and operational costs. Test thoroughly before deployment.
## Meetzy Foundation Components
Leverage Meetzy's powerful built-in foundational components that provide professional-grade conversation capabilities refined through thousands of real-world interactions:
**Comprehensive Protection Framework:**
* **Content Filtering**: Advanced inappropriate content prevention across all topics
* **Professional Standards**: Consistent business communication tone and approach
* **Edge Case Management**: Graceful handling of unexpected inputs and scenarios
* **Security Protection**: Defense against prompt injection and manipulation attempts
* **Compliance Assurance**: Adherence to industry communication standards
* **Context Awareness**: Appropriate responses based on conversation context
* **Industry Best Practices**: Following established business communication protocols
**Configuration:**
* **Default State**: Enabled by default for maximum protection
* **Zero Setup**: Functions automatically without additional configuration
* **Transparent Operation**: Works seamlessly with custom prompts and behaviors
* **Adaptive Intelligence**: Automatically adjusts based on context and language
**Recommended Practice**: Keep safety guardrails enabled unless specific requirements conflict with professional conversation standards.
**Sophisticated Dialogue Management:**
* **Natural Flow Control**: Advanced conversation pacing and rhythm optimization
* **Active Listening Techniques**: Professional understanding and response patterns
* **Intelligent Response Timing**: Context-aware pausing and conversation timing
* **Empathetic Communication**: Emotional intelligence and appropriate emotional responses
* **Professional Etiquette**: Industry-standard phone protocols and business courtesy
* **Seamless Transitions**: Smooth topic changes and conversation redirection
* **Cultural Sensitivity**: Appropriate communication styles for different regions
* **Conflict Resolution**: Professional de-escalation and problem-solving approaches
**Performance Benefits:**
* **Immediate Professionalism**: Agents sound experienced from first interaction
* **Accelerated Development**: Skip months of conversation optimization
* **Consistent Excellence**: Every agent benefits from accumulated expertise
* **Adaptive Intelligence**: Automatically adapts to specific business contexts
**Battle-Tested Patterns**: Conversational aspects represent months of optimization based on successful real-world conversations.
**Comprehensive Professional Background:**
* **Industry-Specific Knowledge**: Tailored professional contexts for various sectors
* **Advanced Communication Skills**: Professional-level interaction capabilities
* **Business Process Understanding**: Deep comprehension of operations and terminology
* **Customer Interaction Mastery**: Extensive experience with diverse service scenarios
* **Protocol Expertise**: Professional communication and business protocol understanding
* **Situational Awareness**: Context-appropriate responses based on business needs
* **Problem-Solving Experience**: Track record of resolving customer challenges
* **Relationship Management**: Professional relationship building and maintenance skills
**Specialized Skills Examples:**
* **Sales Representatives**: Quota achievement and conversion expertise
* **Customer Service Agents**: Resolution and satisfaction specialization
* **Healthcare Coordinators**: Medical office and patient interaction experience
* **Financial Services**: Compliance knowledge and account management
* **Real Estate Professionals**: Market expertise and process knowledge
* **Technical Support**: Troubleshooting and system knowledge specialization
**Synergistic Component Operation:**
| Component | Primary Function | Integration Level | Business Impact |
| ----------------------------- | ------------------------- | ----------------- | --------------- |
| **Safety Guardrails** | Protective framework | **Critical** | Risk mitigation |
| **Conversational Aspects** | Natural communication | **Essential** | User experience |
| **Professional Agent Skills** | Credibility establishment | **Important** | Trust building |
**Synergistic Design**: All foundational components work together to create a cohesive, professional agent experience that adapts to your specific business requirements.
**Accumulated Expertise**: These components represent industry best practices refined through analysis of thousands of successful conversations across multiple business sectors.
**Strong Recommendation**: Keep all foundational components enabled unless you have specific custom requirements that directly conflict. These are optimized for maximum performance.
## Advanced Conversational Behavior Configuration
### Response Management
Fine-tune how your agent handles conversation timing and responses:
**Eagerness Control:**
* **Low**: More patient, allows longer pauses before responding
* **Normal**: Balanced response timing for natural conversation flow (recommended)
* **High**: Quick responses, minimal wait time
* **Auto**: AI-determined optimal timing based on context
**Timeout Configuration:**
* **Turn Timeout**: Time to wait before considering caller finished speaking (6 seconds default)
* **Silence End Call Timeout**: Maximum silence before ending call (25 seconds default)
* **Spelling Patience**: Handle spelling requests (auto/enabled/disabled)
**Default Optimization**: Standard settings (Normal eagerness, 6s turn timeout, 25s silence timeout) are optimized for professional phone conversations.
**Duration Controls:**
* **Maximum Duration**: Automatic call termination limit (600 seconds default)
* **End Call Message**: Custom message when duration limit is reached
* **Speculative Turn**: Enable predictive response preparation
* **Background Speech Filter**: Filter out background noise and conversations
**Advanced Features:**
* Real-time conversation monitoring
* Automatic quality adjustments
* Dynamic timeout adaptation
* Context-aware behavior modification
**Duration Limits**: Set appropriate maximum call durations to manage costs while allowing sufficient time for complex conversations.
## Call Recording and Compliance
### Recording Configuration
**Comprehensive Call Recording Benefits:**
* **Quality Assurance**: Monitor and maintain high service standards
* **Training Data**: Collect valuable interaction data for improvement
* **Compliance Documentation**: Maintain audit trails and regulatory compliance
* **Performance Analytics**: Analyze conversation patterns and success rates
* **Customer Service Verification**: Validate service quality and resolution effectiveness
**Default Enabled**: Call recording is enabled by default to provide maximum value from every interaction and support continuous improvement.
### Agent Documentation
**Internal Description Management:**
* **Maximum Length**: Up to 1,000 characters for comprehensive documentation
* **Internal Use**: Description is not visible to callers or external users
* **Team Coordination**: Help team members understand agent purpose and configuration
* **Organization**: Useful for managing multiple agents across different use cases
* **Deployment Notes**: Include special considerations and configuration details
## Integration and Advanced Editor Workflow
### Recommended Configuration Sequence
Complete all basic settings including name, company, phone configuration, and foundational components
Choose specialized skills, voice agents, and AI models appropriate for your use case
Configure language, voice selection, and fine-tune voice parameters for optimal performance
Set up conversational behavior, response timing, and call management parameters
Verify all settings, test caller ID functionality, and validate configuration completeness
Proceed to configure greetings, system prompts, and additional tools and actions
### Integration with Advanced Editor
**Seamless Workflow Integration:**
* **Voice Agents**: Automatically configure appropriate voice and behavioral settings
* **Specialized Skills**: Integrate with system prompts and conversation patterns
* **Foundation Components**: Work harmoniously with custom prompts and tools
* **Language Selection**: Influence greeting templates and conversation suggestions
* **AI Models**: Optimize for specific conversation complexity and requirements
**Workflow Optimization**: Complete basic settings configuration before proceeding to other Advanced Editor sections for optimal agent development experience.
## Troubleshooting and Best Practices
**Phone Number Problems:**
**Permanent Assignment**: Phone numbers cannot be changed after agent creation. Plan allocation carefully and verify availability before proceeding.
**Common Solutions:**
* Verify Twilio account permissions and active status
* Confirm phone number availability in your target regions
* Check account credits and billing status
* Validate webhook configurations are properly established
* Ensure selected account has appropriate regional coverage
**Verification Challenges:**
* **Delayed Verification Calls**: Allow up to 2 minutes for Twilio to initiate calls
* **Invalid Codes**: Use "Retry Verification" for failed attempts
* **Number Format Issues**: Ensure correct international format (+1XXXXXXXXXX for US)
* **Carrier Restrictions**: Check if carrier blocks automated verification calls
* **International Numbers**: Some regions may have verification limitations
**Best Practices:**
* Verify phone can receive calls during verification process
* Complete verification promptly after receiving code
* Use "Check Status" to confirm verification state
* Maintain updated caller ID list for outbound campaigns
**Model Selection Strategy:**
**Testing Approach**: Use the Advanced Editor Playground to test different AI models with your specific conversation scenarios before deployment.
**Voice Configuration:**
**Parameter Testing**: Test voice parameter adjustments with real conversation samples to ensure optimal quality and naturalness.
**Foundation Components:**
**Component Benefits**: Keep Meetzy foundation components enabled to leverage professional-grade conversation patterns and safety measures.
**Change Impact**: Any modifications to AI models, voice settings, or foundational components should be thoroughly tested before production deployment.
## Advanced Features and Optimization
### Multi-Agent Management
**Administrative Capabilities:**
* **Company Assignment**: Organize agents by business unit or client
* **Twilio Account Selection**: Manage multiple telephony configurations
* **Resource Allocation**: Distribute phone numbers and caller IDs efficiently
* **Permission Management**: Control access and modification rights
* **Bulk Configuration**: Streamline setup for multiple similar agents
### Performance Monitoring
**Configuration Quality Assurance:**
* **Validation Checks**: Automated verification of configuration completeness
* **Component Integration**: Ensure all selected features work harmoniously
* **Resource Verification**: Confirm all required resources are properly assigned
* **Testing Preparation**: Configuration readiness for Playground testing
* **Deployment Validation**: Pre-deployment configuration verification
## Next Steps in Agent Development
Finalize all basic settings, verify configurations, and ensure all required resources are properly assigned
Set up appropriate inbound and outbound greetings that align with your agent's personality and use case
Create comprehensive personality and behavioral instructions that leverage your selected foundational components
Configure call handling, transfer capabilities, and external system integrations as needed
Use the Playground to thoroughly test all configurations and conversation scenarios
Launch your agent and continuously monitor performance using analytics and call recordings
**Continuous Improvement**: After deployment, regularly analyze call recordings and performance metrics to identify optimization opportunities and enhance agent effectiveness.
# Copilot
Source: https://docs.meetzy.es/advanced-editor/copilot
AI-powered system engineer that transforms your agent with intelligent prompt editing, parameter configuration, rich visual diagnostics, and comprehensive setup
## What is Copilot?
Copilot is an advanced AI-powered system engineer integrated into the Advanced Editor. It goes far beyond simple prompt editing - **Copilot can configure your entire agent system** including input parameters, output settings, evaluations, audio expressiveness, and core configurations. Using sophisticated structured editing and intelligent analysis, Copilot transforms your agent based on natural language instructions and real call data.
Copilot has evolved from a prompt assistant to a complete system engineer - like having Data from Star Trek, but specifically designed for agent configuration. It can modify prompts, configure parameters, set up evaluations, update basic settings, adjust audio expressiveness tags, create and update tests from call history, and even suggest improvements - all through natural conversation and targeted operations. Beyond plain text, Copilot can also reply with **rich visual blocks** - stat panels, tables, charts, and cards - to make diagnostics and analysis instantly scannable.
## Accessing Copilot
Copilot is located in the right panel of the Advanced Editor. Click the "Copilot" tab or press **⌘J** to access it quickly.
## Meet the Copilot Orb
Copilot now has a face: a gradient orb avatar that represents Meetzy across the entire chat experience, replacing the generic bot icon.
A **slow, ambient breathing animation** while Copilot is waiting for your next message - a calm, always-present visual anchor in the empty state and next to every assistant reply.
When Copilot is thinking or streaming a response, the orb switches to a **faster pulse with expanding rings**, echoing the feeling of a call connecting - a subtle nod to Meetzy being a voice-agent copilot rather than a generic chat bot.
The orb appears in three places: the welcome screen hero, the avatar next to each assistant message, and the typing/thinking indicator - giving Copilot a consistent, recognizable identity throughout the conversation. Its state (**idle** or **active**) always reflects whether Copilot is waiting for you or actively working, so you always know at a glance whether it's inactive or engaged.
## Enhanced Welcome Experience
When you first open Copilot, you'll see a clean welcome screen led by the Copilot orb, followed by **four quick action cards** to get started immediately without typing a single word:
**Four color-coded cards** for the most common engineering workflows:
* 🟣 **Diagnose performance** — analyzes real metrics, failed evaluations, and relevant calls, then shows the key findings visually (KPIs & call evidence)
* 🌹 **Find recurring failures** — scans failed evaluations across your call history and returns a table of recurring issues with real examples
* 🟢 **Create a regression test** — turns a real failed call into an automated regression test so the same bug never ships again
* 🟡 **Improve and verify** — updates the prompt based on the current diagnosis and suggests how to verify the change afterward
**Instant analysis and fixes** with a single click:
```
Click "Diagnose performance" → Runs a full performance diagnosis with visual KPIs
Click "Find recurring failures" → Surfaces failure patterns in a table with call evidence
Click "Create a regression test" → Builds a regression test from a real failed call
Click "Improve and verify" → Improves the prompt and proposes a verification plan
```
Each card pre-fills an optimized prompt and starts the conversation immediately - no typing required to get your first insight.
These quick actions are designed to close the loop: diagnose → find failures → fix with a regression test → improve and verify. Together they form a fast, guided workflow for continuously improving your agent.
## Response Output Types
Copilot's replies are no longer limited to plain text. Depending on what you ask, Copilot decides the most effective format for its answer and can mix multiple output types in a single response:
**Conversational explanations** streamed in real time - used for reasoning, recommendations, step-by-step instructions, and any answer that reads best as natural language.
**Structured visual components** rendered inline with the chat - used whenever data is easier to scan than to read:
* 📊 **Stat grids** for KPIs and metrics
* 📋 **Tables** for lists of calls, failures, or test results
* 📈 **Charts** for trends and comparisons
* 🗂️ **Cards** for summaries, recommendations, and warnings
Rich blocks always render alongside supporting text, so Copilot explains *what it found* in words and *shows the evidence* visually in the same message.
## Rich Response Blocks
Copilot doesn't just reply with text anymore - when the situation calls for it, it renders **rich, interactive blocks** directly inside the chat, making diagnostics and analysis far easier to scan than a wall of text. These blocks stream in the same way as regular messages, so you see them appear live as Copilot builds its answer.
**At-a-glance KPI cards** for quick diagnostics:
* Compact grid of metric cards (e.g. success rate, average duration, failed evaluations)
* Optional **delta and trend indicators** (up, down, flat) to show change over time
* Color-coded tones (neutral, info, success, warning, danger) to highlight what needs attention
* Optional hint text under each stat for extra context
Perfect for summarizing "Diagnose performance" results in a single scannable view.
**Structured data views** for lists of calls, failures, or test results:
* Sticky header with clearly labeled columns
* Automatic badge styling for common status values (Yes/No, Passed/Failed, Success/Error, Pending)
* Scrollable, expandable body for long result sets without breaking the chat layout
* Optional footnote for extra context or data source
Ideal for "Find recurring failures" results, showing each failure pattern with examples side by side.
**Visual trend analysis** rendered inline with the conversation:
* Supports line, bar, pie, and doughnut chart types
* Multiple datasets with automatic color palette
* Dark mode aware styling for axes, legends, and gridlines
Great for visualizing performance trends over time or comparing metrics across segments.
**Highlighted callouts** for summaries, recommendations, or warnings:
* Optional title, body text, and bullet list
* Tone-based styling (neutral, info, success, warning, danger) to match the message
* Used for wrapping up findings or proposing next steps after a diagnosis
Often appears after a stat grid or table to summarize "what this means" and "what to do next."
Rich blocks stream in alongside regular text, so Copilot can explain a finding in natural language and immediately back it up with a stat grid, table, chart, or card - all within the same response. Look for these blocks whenever you ask Copilot to diagnose, compare, or summarize data - they turn a long paragraph into something you can scan in seconds.
## System Engineering Capabilities
Copilot now operates as a comprehensive system engineer that can modify every aspect of your agent configuration:
**Advanced Structured Editing**: Precise modifications using the EditPlan system
* **replace\_section**: Completely replaces targeted sections with improved content
* **insert\_after**: Adds new content after specified sections or markers
* **append\_section**: Adds entirely new sections to the end of your prompt
* **delete\_section**: Removes outdated or redundant sections cleanly
Uses intelligent boundary detection to preserve document structure while making surgical improvements.
**Intelligent Input & Output Setup** based on conversation analysis
Automatically suggests relevant input fields:
* Role-based parameters (calendar preferences for schedulers)
* Call-driven parameters (missing info from transcripts)
* Industry-standard fields for your agent's domain
Contextual output field suggestions:
* Contact preferences (email, phone, text)
* Lead qualification scores
* Next step requirements
* Custom fields based on conversation patterns
Comprehensive data processing instructions for captured information
**Performance Measurement & Quality Assurance**
* **Conversation Quality**: Clarity, professionalism, engagement metrics
* **Goal Achievement**: Primary objective completion tracking
* **Customer Satisfaction**: Experience and satisfaction evaluation
* **Process Adherence**: Compliance with required procedures
* **Test Generation**: Creates automated tests from call scenarios and history
* **Test Updates**: Modifies existing tests in place - refining success conditions, chat history, or dynamic variables without creating duplicates
**Core Agent Settings** from natural language instructions
* Agent name optimization based on role and personality
* Inbound/outbound greeting configuration for different scenarios
* Phone number assignment and management
* Voice and personality adjustments for optimal customer experience
**Direct Control Over Voice Emotion Tags** (Eleven v3)
* Adds, modifies, or removes expressive audio tags (e.g. `[excited]`, `[whispers]`, `[curious]`) directly in the prompt
* Suggests contextually appropriate tags based on the agent's role and tone
* Keeps tag usage consistent across the prompt to avoid overacting or flat delivery
* Applies changes through the same purple-highlight review flow as other edits
## Enhanced SSE Protocol
Copilot uses a streamlined event system for real-time feedback across all system modifications:
| Event Type | Description | Visual Indicator | Applies To |
| ---------------------- | --------------------------------------------- | -------------------------------------- | ---------------------- |
| **thinking** | AI analyzing your request | ⏱️ Timer with seconds counter | All operations |
| **text** | Streaming explanation content | 📝 Real-time text appearing | All operations |
| **edit** | Structured prompt modification | ✏️ Diff preview with operation details | Prompt changes |
| **input\_change** | Input parameter modification | 🔧 Parameter change card | Input parameters |
| **output\_change** | Output setting update | 📤 Output configuration card | Output settings |
| **enrichment\_set** | Output enrichment update | ⚡ Enrichment content preview | Output enrichment |
| **evaluation\_change** | Evaluation criteria update | 📊 Evaluation configuration | Evaluations |
| **test\_create** | Automated test generation | 🧪 Test scenario preview | Test creation |
| **test\_update** | Existing test modification | 🔁 Test diff preview | Test updates |
| **agent\_config** | Basic settings update | ⚙️ Configuration preview | Core settings |
| **audio\_tags\_set** | Expressive audio tag update | 🎙️ Tag list preview | Audio expressiveness |
| **rich\_block** | Rich UI block (stat grid, table, chart, card) | 📊 Inline visual component | Diagnostics & analysis |
| **complete** | Operation finished | ✅ Summary with next steps | All operations |
| **error** | Operation failed | ❌ Error with suggested fixes | All operations |
The `rich_block` event carries a `blockType` (`stat_grid`, `table`, `chart`, or `card`) plus a structured `data` payload. The frontend renders it as a native component inline with the rest of the streamed conversation, right next to any `text` events in the same response.
## Visual Change Management System
### Purple Highlight Protocol
When Copilot generates configuration changes, distinctive visual indicators guide your review:
**Purple-highlighted banners** appear at the top of relevant panels:
* **Copilot sparkle icon** with "Copilot Suggestions" title
* **Change summary**: "3 new parameters, 1 evaluation"
* **Bulk controls**: Accept All/Reject All buttons
* **Panel navigation**: Direct links to affected configuration areas
Purple notification dots appear on affected panel tabs to ensure you don't miss suggestions.
Each suggestion appears as a detailed **change card**:
* **Operation badge**: Color-coded Add/Modify/Remove indicators
* **Parameter details**: Name, type, description, and requirements
* **Impact preview**: Shows how the change affects your agent
* **Individual controls**: Accept/reject buttons for granular control
**Seamless navigation** between Copilot and configuration panels:
* Purple notification dots on affected panel tabs
* Automatic panel highlighting when changes are generated
* Smooth transitions preserve your editing context
* Real-time sync between panels
### Change Type Indicators
| Change Type | Badge Color | Operation | Description |
| ----------- | ----------- | --------- | ---------------------------------------- |
| **Add** | 🟢 Green | ADD | New parameters, evaluations, or settings |
| **Modify** | 🟡 Yellow | MODIFY | Changes to existing configurations |
| **Remove** | 🔴 Red | REMOVE | Deletion of outdated or redundant items |
## Comprehensive System Configuration
Copilot intelligently suggests changes across all agent configuration areas:
**Smart Parameter Suggestions** based on comprehensive analysis:
Copilot analyzes your agent's role and referenced calls to suggest relevant input parameters:
```
@call:abc123 The customer mentioned their budget repeatedly
but we didn't capture it. Add budget tracking parameters.
```
Results in contextually relevant budget range and validation parameters.
Three types of parameter changes:
* 🟢 **Add**: New parameters with proper validation and descriptions
* 🟡 **Modify**: Updates to existing parameter configurations
* 🔴 **Remove**: Clean up outdated or redundant parameters
**Purple highlighting** in Input Parameters panel shows pending changes with individual accept/reject controls.
**Intelligent Output Field & Processing Setup**:
```
The agent collected the customer's name and interest level
but we're missing their preferred contact method. Add comprehensive
output fields and enrichment instructions.
```
Copilot suggests:
* Contextually relevant output parameters
* Data enrichment instructions for processing captured information
* Webhook configuration recommendations
* Output validation and formatting rules
**Performance Measurement Configuration** based on agent goals:
```
Create evaluations to measure conversation quality, goal achievement,
and customer satisfaction for this appointment scheduling agent.
```
Automatically generates:
* **Conversation Quality**: Clarity, professionalism, engagement scoring
* **Goal Achievement**: Appointment booking success tracking
* **Customer Satisfaction**: Experience evaluation criteria
* **Process Adherence**: Compliance with scheduling procedures
**Core Agent Setup** from natural language:
```
Update the agent name to "Sarah - Appointment Scheduler" and
make the greetings more friendly while keeping them professional.
```
Copilot can modify:
* Agent name and identity
* Inbound/outbound greeting prompts
* Phone number assignment
* Voice and personality settings
**Direct Tag Editing** for more natural, emotionally-aware voice delivery:
```
Add expressive tags so the agent sounds more empathetic when
handling complaints, and more upbeat during the closing.
```
Copilot can:
* Insert new expressiveness tags at the right points in the prompt
* Modify existing tags that feel overused, misplaced, or mismatched with tone
* Remove tags that conflict with the agent's intended personality
* Keep tag density balanced so delivery doesn't sound exaggerated
## Advanced Test Creation & Updates from Call History
One of Copilot's most powerful features is generating - and maintaining - comprehensive test suites based on real call data:
**Transform Call History into Automated Tests**:
```
@call:abc123 This call shows great objection handling.
Create a test to ensure the agent maintains this quality.
```
Copilot automatically extracts:
* **Chat History**: Complete conversation flow from the call
* **Success Conditions**: What made this call successful
* **Success Examples**: Specific agent responses that worked well
* **Failure Examples**: Alternative responses to avoid
* **Dynamic Variables**: Contextual information that can be varied in tests
**Refine tests in place instead of duplicating them**:
```
Update the "Objection handling - pricing" test to include the
new discount policy and tighten the success condition.
```
Copilot can modify an existing test's:
* **Name** and description
* **Chat history** to reflect updated conversation flows
* **Success condition** as your requirements evolve
* **Success/failure examples** to match current expectations
* **Dynamic variables** to cover new scenarios
Test updates apply to the specific test referenced, so your test suite stays clean and versioned instead of accumulating near-duplicate tests over time.
**Multiple Test Scenarios** from single calls:
* **Scenario Tests**: Complete conversation workflows
* **Simulation Tests**: Realistic customer interactions
* **Regression Tests**: Ensure quality doesn't degrade
* **Edge Case Tests**: Handle unusual customer behaviors
**Comprehensive Test Configuration**:
* **Name**: Descriptive test identification
* **Type**: Scenario or simulation classification
* **Chat History**: Full conversation with timestamps
* **Success Conditions**: Clear pass/fail criteria
* **Dynamic Variables**: Customizable test parameters
* **Quality Benchmarks**: Performance expectations
## Voice Input & Call Context Analysis
Enhanced natural interaction capabilities for comprehensive system configuration:
**Two ways to start voice recording**:
* **Hold microphone button** in the input field
* **Double-press Shift** to begin hands-free recording
**Speak conversationally about any system changes**:
* "Add input parameters for customer budget and timeline preferences"
* "Create evaluations to measure appointment booking success"
* "Update the greetings to be more friendly and professional"
* "Based on call A-B-C-1-2-3, improve the pricing objection handling"
**Copilot interprets requests across all configuration areas**:
* Voice converts to text automatically
* AI determines which systems need updates
* Generates appropriate changes across multiple panels
**Powerful call reference system** for data-driven improvements:
### Using Call References
```
@call:abc123 The agent failed to capture the customer's budget
and preferred contact method. Add the missing parameters and
improve the data collection prompts.
```
When you reference a call, Copilot:
* Automatically loads the full transcript
* Analyzes conversation flow and data gaps
* Suggests missing input/output parameters
* Updates prompts based on specific context
* Creates relevant evaluation criteria
* **Generates or updates tests based on call patterns**
### Comprehensive Call Analysis
Referenced calls provide rich context for:
* **Missing Data Identification**: What information wasn't captured
* **Process Gap Analysis**: Where the conversation broke down
* **Parameter Suggestions**: Input/output fields based on actual needs
* **Evaluation Criteria**: Performance metrics based on real outcomes
* **Test Creation & Updates**: New or refined automated test scenarios from actual interactions
## Accepting and Rejecting System Changes
### Granular Change Control Across All Panels
**Check all affected configuration areas**:
* Look for purple notification dots on panel tabs
* Review change cards in each affected area
* Understand the impact of each suggested modification
**Accept only relevant changes across the system**:
* Individual accept/reject buttons for each suggestion
* Bulk accept/reject options within each panel
* Changes apply immediately to respective configurations
**See comprehensive results instantly**:
* Input Parameters panel updates with new fields
* Output Settings reflect new capture requirements
* Evaluations panel shows new measurement criteria
* Basic Settings display updated configurations
* Tests panel includes newly generated or updated test scenarios
* Prompt reflects updated audio expressiveness tags
### Comprehensive Change Management
**System-wide operations** for managing multiple configuration updates:
```
Accept All in Panel - Apply all suggestions within a specific configuration area
Accept All Changes - Apply all pending suggestions across the entire system
Reject All in Panel - Dismiss suggestions within a specific area
Reject All Changes - Dismiss all pending suggestions system-wide
```
System-wide bulk actions affect multiple configuration areas simultaneously. Review individual suggestions across all panels before using "Accept All Changes".
## Advanced System Engineering Examples
### Comprehensive Agent Setup from Call Analysis
```
@call:xyz789 The agent struggled with budget questions,
didn't capture contact preferences, and we can't measure success.
Set up a complete configuration for this sales agent.
```
**Copilot generates**:
* **Prompt updates**: Better budget objection handling instructions
* **Input parameters**: Budget range, contact method preferences, lead source
* **Output parameters**: Qualification score, next steps, contact preferences
* **Evaluations**: Lead quality, objection handling, conversion tracking
* **Basic settings**: Professional but approachable greeting updates
* **Tests**: Automated scenarios based on the analyzed call patterns
### Multi-System Integration Configuration
```
Add comprehensive lead qualification for this real estate agent.
Include budget tracking, timeline parameters, property preferences,
qualification scoring, and success evaluations.
```
**Results in coordinated changes across**:
* Input Parameters: Budget, timeline, property type, location preferences
* Output Settings: Qualification score, lead temperature, next actions
* Prompt Instructions: Qualification process and scoring guidelines
* Evaluations: Lead quality metrics, conversion tracking, customer satisfaction
* Output Enrichment: Lead processing and CRM integration instructions
* Tests: Complete qualification workflow scenarios
### Performance Optimization from Multiple Calls
```
@call:call1 @call:call2 @call:call3 These calls show the agent
needs better appointment scheduling process, missing confirmation
parameters, and we can't track booking success rates.
```
**Comprehensive system updates**:
* Analyzes patterns across multiple call transcripts
* Updates prompts for consistent scheduling process
* Adds confirmation and calendar integration parameters
* Creates appointment booking success evaluations
* Suggests test scenarios based on real conversation patterns
* Generates regression tests for quality assurance
### Test Creation from Successful Calls
```
@call:perfect123 This was a perfect call where the agent handled
all objections and booked the appointment. Create comprehensive
tests to maintain this quality.
```
**Intelligent test generation**:
* Extracts complete conversation flow
* Identifies successful objection handling patterns
* Creates multiple test scenarios with variations
* Sets up quality benchmarks based on the successful call
* Includes dynamic variables for different customer personalities
### Updating a Test After a Policy Change
```
Update the "Refund policy objection" test - the refund window changed
from 30 to 60 days, update the success condition and chat history accordingly.
```
**Copilot performs**:
* Locates the existing test by name
* Updates the success condition to reflect the new 60-day window
* Adjusts chat history examples that reference the old policy
* Leaves unrelated tests untouched
### Adjusting Audio Expressiveness for a More Natural Voice
```
The agent sounds too flat during the apology section. Add expressive
tags there and remove the excessive excitement tags in the greeting.
```
**Copilot performs**:
* Inserts empathetic expressiveness tags (e.g. `[softly]`, `[apologetic]`) around the apology section
* Removes or tones down over-the-top tags in the greeting
* Shows the change through the purple-highlight diff review before applying
### Diagnosing Performance with Rich Blocks
```
Click "Diagnose performance" on the welcome screen
```
**Copilot responds with**:
* A short natural-language summary of the agent's current state
* A **stat grid** showing success rate, average call duration, and failed evaluations with trend indicators
* A **table** listing the most relevant calls tied to those metrics
* A closing **card** with tone-coded recommendations on what to fix first
### Finding Recurring Failures
```
Click "Find recurring failures" on the welcome screen
```
**Copilot responds with**:
* A **table** of recurring failure patterns extracted from failed evaluations
* Each row includes the failure type, frequency, and a linked call example
* A follow-up suggestion to turn the top failure into a regression test
### Visualizing Trends with a Chart
```
Show me how our success rate has changed over the last 4 weeks.
```
**Copilot responds with**:
* A short summary of the overall trend direction
* A **line chart** plotting success rate by week
* A closing note on whether the trend is improving, flat, or declining
## Quick Start with Predefined Actions
The welcome interface provides four **instant setup options**:
**One-click performance diagnostics**:
* Pulls real metrics, failed evaluations, and relevant calls
* Renders findings as stat grids, tables, and charts
* Closes with a card summarizing what needs attention
Perfect for: Getting a fast health check on any agent
**Pattern detection across failed evaluations**:
* Scans call history for repeated failure types
* Presents results in a sortable, badge-styled table
* Links directly to real call examples
Perfect for: Root-causing quality issues before they scale
**Turn bugs into safeguards**:
* Builds a regression test from a real failed call
* Captures the exact conditions that caused the failure
* Adds it to your Tests panel to prevent recurrence
Perfect for: Locking in a fix after resolving an issue
**Close the loop on prompt changes**:
* Updates the prompt based on the latest diagnosis
* Suggests a verification plan (Playground or regression test)
* Keeps changes traceable through the diff review system
Perfect for: Applying and validating a fix in one flow
## Next Step Suggestions & System Recommendations
After completing comprehensive changes, Copilot provides intelligent system-wide recommendations:
**Cross-system optimization suggestions**:
* Added input parameters → suggests matching output fields and evaluations
* Improved prompt handling → recommends relevant test creation or updates
* Updated evaluations → suggests parameter adjustments for better measurement
* Enhanced greetings → recommends matching closing procedures
* Created or updated tests → suggests additional edge case scenarios
* Adjusted audio tags → recommends verifying delivery in Playground
**System audit recommendations**:
* Missing evaluation criteria for new parameters
* Suggested output enrichment for captured data
* Recommended tests for new conversation flows
* Configuration validation and optimization tips
* Test coverage analysis and suggestions
**Comprehensive testing reminders**:
* "Test parameter changes in Playground with real data"
* "Create regression tests for updated conversation flows"
* "Verify evaluation criteria with sample calls"
* "Validate output enrichment with webhook testing"
* "Run generated or updated tests to ensure quality maintenance"
* "Listen to a Playground call to confirm the new audio tags sound natural"
## Conversation History & Iterative Configuration
Build sophisticated system improvements through multi-turn conversations:
```
User: Set up lead qualification for this sales agent
Copilot: [Creates input params, output fields, evaluations, and prompt updates]
User: Good, but make the budget qualification less aggressive
Copilot: [Refines parameters and prompt approach across affected areas]
User: Add follow-up scheduling and CRM integration
Copilot: [Adds scheduling params, webhook configs, and integration tests]
User: @call:abc123 Create tests based on this successful call
Copilot: [Generates comprehensive test scenarios from call history]
User: Update the "Follow-up scheduling" test - we now offer same-day slots
Copilot: [Updates the existing test's chat history and success condition in place]
```
Copilot maintains conversation context across multiple system modification requests, allowing for iterative refinement of your entire agent configuration through natural dialogue.
## Comprehensive System Tasks
### Complete Agent Setup from Scratch
```
Create a professional appointment scheduling agent named "Sarah"
with comprehensive lead qualification, appointment booking parameters,
success tracking evaluations, friendly but professional greetings,
and test scenarios for quality assurance.
```
### Data-Driven System Optimization
```
@call:abc123 @call:def456 Analyze these problematic calls and
optimize the entire agent system - fix the prompts, add missing
parameters, create better evaluations, set up proper testing,
and generate quality assurance tests.
```
### Multi-System Integration Configuration
```
Set up this agent for CRM integration with Salesforce - add all
necessary input and output parameters, webhook configurations,
data enrichment instructions, integration success evaluations,
and comprehensive test scenarios for the integration workflow.
```
### Performance-Driven System Updates
```
Our conversion rate is low. Analyze the current setup and improve
the qualification process, add better objection handling, create
conversion tracking evaluations, optimize output data capture,
and generate tests to maintain improved performance.
```
### Test Suite Creation and Maintenance from Call History
```
@call:perfect1 @call:perfect2 @call:perfect3 These are our best calls.
Create a comprehensive test suite based on these successful patterns,
and update any existing tests that no longer match current policies.
```
### Compliance and Quality Assurance Setup
```
Add comprehensive compliance checking for this financial services
agent - include required disclosures in prompts, compliance tracking
parameters, regulatory evaluation criteria, audit trail outputs,
and compliance verification tests.
```
### Voice Expressiveness Tuning
```
Review the current audio tags for this customer support agent and
adjust them so empathy comes through during complaints without
sounding exaggerated anywhere else.
```
## Keyboard Shortcuts for System Navigation
| Shortcut | Action |
| ----------------- | ------------------------------------- |
| **⌘J** | Open/focus Copilot panel |
| **Shift + Shift** | Start/stop voice recording |
| **⌘Enter** | Send message to Copilot |
| **Escape** | Close suggestions or cancel recording |
| **⌘1** | Navigate to Basic Settings panel |
| **⌘2** | Navigate to Greetings panel |
| **⌘3** | Navigate to Input Parameters panel |
| **⌘6** | Navigate to Evaluations panel |
| **⌘7** | Navigate to Output Settings panel |
| **⌘8** | Navigate to Tests panel |
| **⌘G** | Navigate to Git Changes panel |
## Best Practices for System Engineering
**Use the welcome-screen cards for common workflows**:
* Start with "Diagnose performance" for a comprehensive health check
* Use "Find recurring failures" to root-cause quality issues
* Click "Create a regression test" to lock in a fix
* Try "Improve and verify" to close the loop on a diagnosis
**Describe complete system needs rather than isolated changes**:
**Good:** "Set up complete lead qualification with budget tracking, contact preferences, scoring system, success evaluations, and quality assurance tests"
**Limited:** "Add a budget parameter"
Comprehensive requests generate coordinated improvements across the entire system.
**Reference actual calls to drive system-wide improvements**:
* Use `@call:ID` syntax to provide specific examples of system gaps
* Let Copilot analyze real conversation data across all configuration areas
* Address actual problems with coordinated parameter, prompt, and evaluation updates
* **Generate tests from successful calls, and update existing ones as requirements change**
**Use stat grids, tables, and charts to validate assumptions**:
* Check trend indicators in stat grids before deciding what to prioritize
* Scan failure tables for patterns rather than reacting to a single call
* Use the closing card's recommendations as your next prompt to Copilot
* Ask Copilot directly for a chart or table if a text answer feels hard to scan
**Check every panel with purple notification indicators**:
* Input Parameters for new data collection fields
* Output Settings for enhanced data capture
* Evaluations for performance measurement
* Basic Settings for core configuration updates
* **Tests panel for newly generated or updated test scenarios**
* Prompt for updated audio expressiveness tags
* Consider the impact across the entire agent system
**Consider how changes work together across the platform**:
* New input parameters should have matching output fields
* Prompt changes need corresponding evaluation criteria
* Output configurations should include proper enrichment instructions
* **Successful configurations should include test scenarios for quality assurance**
* Test comprehensive workflows after system-wide changes
**Natural speech excels for describing comprehensive system needs**:
* "Set up complete sales qualification with lead scoring, CRM integration, and quality tests"
* "Based on these three problem calls, optimize the entire agent system with comprehensive testing"
* Let conversational input guide holistic system improvements
**Update existing tests as your agent evolves**:
* Reference an existing test by name to update its conditions instead of creating a near-duplicate
* Use test updates after prompt or policy changes to keep your suite accurate
* Reserve new test creation for genuinely new scenarios or call patterns
**Treat audio tags as part of the prompt, not an afterthought**:
* Ask Copilot to review tag usage periodically, not just when something sounds wrong
* Balance expressiveness so it enhances key moments without becoming distracting
* Verify changes by listening to a Playground call after tags are updated
**Purple indicators guide you to all affected system areas**:
* Check every panel with notification dots
* Don't miss configuration changes in different areas
* **Review generated or updated tests in the Tests panel**
* Use seamless navigation to review comprehensively
**Validate complete system modifications before deploying**:
* Test new parameters with real data in Playground
* Verify evaluation criteria work with actual conversations
* Validate output configurations and webhook integrations
* **Run generated or updated tests to ensure quality maintenance**
* Run regression tests across the entire conversation flow
**Build comprehensive agent configurations through dialogue**:
* Start with high-level system requirements
* Refine specific areas through follow-up conversations
* Test and adjust system-wide configurations
* **Generate and refine tests based on real performance**
* Build understanding of how all components work together
## Next Steps
Configure comprehensive input parameters with AI suggestions from Copilot
Set up output fields, enrichment, and webhooks with intelligent recommendations
Create comprehensive performance measurements with Copilot's system analysis
Configure core agent settings with AI-powered optimization
Create and maintain comprehensive automated tests for your entire agent system, including scenarios generated and updated from call history
Test your complete system configuration with real data and validate generated test scenarios
# Evaluations
Source: https://docs.meetzy.es/advanced-editor/evaluations
Create automated quality tests for your AI agent
## What are Evaluations?
Evaluations are automated tests that assess your agent's performance after each call. They help you measure success rates, identify issues, and maintain quality standards across all conversations.
Evaluations provide quantitative metrics to track your agent's performance over time.
## How Evaluations Work
Each evaluation is a **yes/no question** that the AI analyzes based on the conversation transcript. After every call, Meetzy runs all configured evaluations and stores the results.
### Example Evaluations
| Evaluation | Question |
| --------------------- | ------------------------------------------------------- |
| Appointment Scheduled | Did the customer schedule an appointment? |
| Customer Satisfied | Did the customer express satisfaction with the service? |
| Issue Resolved | Was the customer's issue successfully resolved? |
| Information Collected | Did the agent collect all required information? |
| Objection Handled | Did the agent successfully address customer objections? |
## AI Copilot Suggestions
The AI Copilot can automatically suggest performance metrics and evaluation criteria based on your agent's purpose and conversation patterns.
### Automatic Evaluation Recommendations
The AI Copilot analyzes your agent configuration and suggests relevant evaluations:
1. **Context-Aware Suggestions**: Based on your agent's role (sales, support, appointments)
2. **Conversation Analysis**: Recommendations from analyzing test conversations
3. **Industry Best Practices**: Standard metrics for your use case
4. **Performance Optimization**: Evaluations that identify improvement opportunities
### Using Copilot Suggestions
Click the sparkles icon in the right panel to access AI Copilot.
Type something like "Suggest evaluations for my agent" or use the quick actions.
The Copilot will analyze your agent and suggest specific evaluation criteria.
Accept suggestions directly or modify them to fit your specific needs.
### Copilot Suggestion Types
Evaluations focused on primary objectives:
* "Did the agent achieve the call objective?"
* "Was the primary goal accomplished?"
* "Did the conversation meet success criteria?"
Performance and professionalism evaluations:
* "Did the agent maintain professional tone?"
* "Was the customer treated courteously?"
* "Did the agent follow the conversation script?"
Regulatory and policy adherence:
* "Were required disclosures provided?"
* "Did the agent follow compliance protocols?"
* "Was consent properly obtained?"
Information gathering effectiveness:
* "Was all required information collected?"
* "Did the agent verify customer details?"
* "Were preferences and requirements captured?"
### Applying Copilot Suggestions
When the AI Copilot suggests evaluations, they appear in a purple suggestion banner:
Review Copilot suggestions carefully before accepting them. While AI recommendations are based on best practices, they should be customized for your specific use case.
Examine the suggested evaluation name and question for relevance.
Modify the evaluation question to match your specific requirements.
Use the "Accept All" button to add all suggestions, or reject to dismiss them.
Edit accepted evaluations in the main interface to perfect them.
## Creating Evaluations
Navigate to the Evaluations section in the left panel (✅ icon).
Click "Add Evaluation" to create a new test.
Give your evaluation a descriptive name.
Create a clear yes/no question that can be answered from the transcript.
Save the evaluation to add it to your agent.
### Evaluation Properties
| Property | Description | Example |
| -------- | -------------------- | ------------------------------------------------------------ |
| Name | Short identifier | "Appointment Scheduled" |
| Question | Yes/no prompt for AI | "Did the customer schedule an appointment during this call?" |
## Writing Effective Questions
The clearer your question, the more accurate the evaluation results will be.
### Good Questions
* ✅ "Did the customer agree to schedule a follow-up call?"
* ✅ "Did the agent verify the customer's contact information?"
* ✅ "Was the customer's primary concern addressed during the call?"
* ✅ "Did the agent mention the current promotion?"
### Poor Questions
* ❌ "Was the call good?" (too vague)
* ❌ "How satisfied was the customer?" (not yes/no)
* ❌ "Rate the agent's performance" (not answerable from transcript)
### Copilot-Enhanced Question Writing
The AI Copilot can help improve your evaluation questions:
1. **Clarity Enhancement**: Makes vague questions more specific
2. **Binary Conversion**: Converts complex questions into yes/no format
3. **Context Addition**: Adds relevant context for better evaluation accuracy
4. **Best Practice Alignment**: Ensures questions follow evaluation best practices
## Using Templates
Meetzy provides pre-built evaluation templates for common use cases:
* "Did the customer express interest in the product?"
* "Was pricing discussed during the call?"
* "Did the agent attempt to close the sale?"
* "Were all customer objections addressed?"
* "Was the customer's issue resolved?"
* "Did the agent follow the troubleshooting protocol?"
* "Was an escalation necessary?"
* "Did the customer confirm their issue was fixed?"
* "Was an appointment successfully scheduled?"
* "Did the agent confirm the appointment details?"
* "Were alternative times offered if the preferred slot was unavailable?"
* "Did the customer receive confirmation of the appointment?"
### Applying Templates
Click the "Templates" button in the Evaluations section.
Select a category relevant to your use case.
Choose which evaluations to add.
Modify the questions to match your specific needs.
## Managing Evaluations
### Editing Evaluations
1. Click the edit icon (✏️) next to any evaluation
2. Modify the name or question
3. Save changes
### Deleting Evaluations
1. Click the delete icon (🗑️) next to the evaluation
2. Confirm deletion
Deleting an evaluation removes it from future calls. Historical evaluation data is preserved.
### Reordering Evaluations
Drag and drop evaluations to change their display order.
## Viewing Results
Evaluation results are available in multiple places:
| Location | What You See |
| ------------------- | ------------------------------------------- |
| Call Details | Individual evaluation results for each call |
| Analytics Dashboard | Aggregated success rates over time |
| Webhook Output | Raw evaluation data sent to your systems |
| API Response | Programmatic access to results |
## Best Practices
### Start with Copilot Suggestions
Begin by asking the AI Copilot to suggest evaluations. This provides a solid foundation based on your agent's configuration and industry best practices.
### Evaluation Quality Guidelines
1. **Be Specific**: The more specific your question, the more reliable the evaluation
2. **Avoid Overlap**: Don't create multiple evaluations that measure the same thing
3. **Start Simple**: Begin with 3-5 core evaluations that measure your most important KPIs
4. **Review Regularly**: Periodically review evaluation results to calibrate questions
5. **Use for Training**: Low-scoring evaluations highlight areas for agent improvement
### Copilot Integration Tips
* **Iterate with AI**: Use the Copilot to refine and improve existing evaluations
* **Context Matters**: Provide context about your business when asking for suggestions
* **Test Suggestions**: Use the Playground to validate Copilot-suggested evaluations
* **Combine Sources**: Mix Copilot suggestions with templates and custom evaluations
## Common Evaluation Patterns
### Goal Achievement
```
Name: Primary Goal Met
Question: Did the call achieve its primary objective (sale, appointment, resolution, etc.)?
```
### Compliance
```
Name: Disclosure Made
Question: Did the agent provide the required legal disclosure at the beginning of the call?
```
### Quality
```
Name: Professional Tone
Question: Did the agent maintain a professional and courteous tone throughout the call?
```
### Data Collection
```
Name: Contact Info Verified
Question: Did the agent verify or collect the customer's email and phone number?
```
## Next Steps
Get AI-powered evaluation suggestions
Test evaluations in real-time
Include evaluations in webhooks
View evaluation results and trends
# Greetings
Source: https://docs.meetzy.es/advanced-editor/greetings
Configure welcome messages for inbound and outbound calls with multilingual templates
## What are Greetings?
Greetings are the initial messages your agent speaks when a call begins. Different greeting types are used depending on whether the call is inbound (customer calling you) or outbound (your agent calling the customer).
A well-crafted greeting sets the tone for the entire conversation and helps establish trust with callers.
## Types of Greetings
### Inbound Greeting
Used when a customer calls your phone number. The agent should:
* Identify the company
* Welcome the caller
* Offer assistance
**Example:**
```
Hello, thank you for calling Acme Corp. My name is Sarah,
how can I help you today?
```
### Outbound Greeting
Used when your agent initiates a call to a customer. The agent should:
* Introduce themselves
* State the purpose of the call
* Verify they're speaking with the right person
**Example:**
```
Hello, am I speaking with {{customer_name}}?
Hi, this is Sarah from Acme Corp. I'm calling about
your recent inquiry regarding our services.
```
## Multilingual Template System
The Advanced Editor provides pre-built greeting templates for multiple languages with country flags and categorized options. This system allows you to quickly apply professional greetings that match your agent's configured language.
### Available Languages
**Inbound Templates:**
* "Gracias por llamar a \[Empresa]. ¿En qué puedo ayudarle?"
* "Hola, ha contactado con \[Empresa]. ¿Cómo puedo asistirle?"
* "Buenos días/tardes, habla con \[Empresa]. ¿En qué le puedo ayudar?"
**Outbound Templates:**
* "Hola, ¿hablo con \[Nombre]? Soy \[Agente] de \[Empresa]."
* "Buenos días \[Nombre], le llamo de \[Empresa] en relación a..."
* "Hola \[Nombre], soy \[Agente] y le contacto desde \[Empresa] porque..."
**Inbound Templates:**
* "Thank you for calling \[Company]. How may I help you today?"
* "Hello, you've reached \[Company]. How can I assist you?"
* "Good morning/afternoon, this is \[Company]. How may I help you?"
**Outbound Templates:**
* "Hello, may I speak with \[Name]? This is \[Agent] from \[Company]."
* "Hi \[Name], this is \[Agent] calling from \[Company] regarding..."
* "Good morning \[Name], I'm \[Agent] from \[Company] and I'm calling about..."
**Inbound Templates:**
* "Merci d'appeler \[Entreprise]. Comment puis-je vous aider?"
* "Bonjour, vous avez joint \[Entreprise]. Comment puis-je vous assister?"
* "Bonjour, vous êtes en ligne avec \[Entreprise]. Que puis-je faire pour vous?"
**Outbound Templates:**
* "Bonjour, puis-je parler à \[Nom]? Je suis \[Agent] de \[Entreprise]."
* "Bonjour \[Nom], je vous appelle de \[Entreprise] concernant..."
* "Bonjour \[Nom], c'est \[Agent] de \[Entreprise], je vous contacte au sujet de..."
**Inbound Templates:**
* "Vielen Dank für Ihren Anruf bei \[Unternehmen]. Wie kann ich Ihnen helfen?"
* "Hallo, Sie haben \[Unternehmen] erreicht. Wie kann ich Sie unterstützen?"
* "Guten Tag, hier ist \[Unternehmen]. Was kann ich für Sie tun?"
**Outbound Templates:**
* "Hallo, spreche ich mit \[Name]? Hier ist \[Agent] von \[Unternehmen]."
* "Guten Tag \[Name], ich rufe von \[Unternehmen] an bezüglich..."
* "Hallo \[Name], hier spricht \[Agent] von \[Unternehmen]. Ich rufe an wegen..."
**Inbound Templates:**
* "Grazie per aver chiamato \[Azienda]. Come posso aiutarla?"
* "Salve, ha raggiunto \[Azienda]. Come posso assisterla?"
* "Buongiorno, è in linea con \[Azienda]. In cosa posso aiutarla?"
**Outbound Templates:**
* "Salve, parlo con \[Nome]? Sono \[Agente] di \[Azienda]."
* "Buongiorno \[Nome], la chiamo da \[Azienda] riguardo a..."
* "Salve \[Nome], sono \[Agente] di \[Azienda] e la contatto per..."
**Inbound Templates:**
* "Obrigado por ligar para \[Empresa]. Como posso ajudá-lo?"
* "Olá, você contatou \[Empresa]. Como posso assisti-lo?"
* "Bom dia/tarde, você está falando com \[Empresa]. Em que posso ajudar?"
**Outbound Templates:**
* "Olá, falo com \[Nome]? Sou \[Agente] da \[Empresa]."
* "Bom dia \[Nome], estou ligando da \[Empresa] sobre..."
* "Olá \[Nome], sou \[Agente] da \[Empresa] e estou entrando em contato porque..."
## Using the Template System
In the Greetings section, click the "Templates" button next to either the Inbound or Outbound greeting field.
A dropdown menu will appear showing all available languages with their respective country flags for easy identification.
Choose the template that matches your agent's language configuration and call type (inbound/outbound).
The template will be inserted into the text field. Replace placeholder brackets like \[Company] and \[Agent] with your actual values or dynamic parameters.
Ensure your chosen template matches your agent's configured language for optimal performance and natural conversation flow.
## Enhanced Dynamic Parameters
Make greetings personal and dynamic by including input parameters with enhanced functionality:
### Standard Parameters
```
Hello {{customer_name}}, this is Sarah from Acme Corp.
I'm calling about your order {{order_number}} which is
scheduled for delivery on {{delivery_date}}.
```
### Advanced Parameter Features
* **Automatic fallback**: Parameters gracefully handle missing values
* **Type-aware formatting**: Dates, numbers, and text are formatted appropriately
* **Conditional rendering**: Content adapts based on parameter availability
Use the fallback phrase feature to ensure your greeting always works, even when dynamic parameters are unavailable.
## Fallback Phrases (Optional)
The new fallback system provides a safety net for your greetings:
### How Fallbacks Work
* **Primary greeting** uses dynamic parameters and full personalization
* **Fallback greeting** activates when any parameter is missing or empty
* **Seamless transition** ensures calls always start professionally
### Setting Up Fallbacks
Click the "Fallback phrase (optional)" toggle below your main greeting.
Create a simplified version of your greeting without dynamic parameters.
Your fallback will automatically activate when parameters are unavailable.
**Example Configuration:**
```
Primary: "Hello {{customer_name}}, this is {{agent_name}} from {{company}}..."
Fallback: "Hello! Thank you for calling. How can I help you today?"
```
## Configuring Greetings
Navigate to the Greetings section in the left panel (👋 icon).
Either select a template from the dropdown or write a custom greeting.
Include dynamic parameters using the syntax.
Configure a fallback phrase for when parameters are unavailable.
Click Save to apply your greetings configuration.
## Language-Specific Best Practices
### Spanish Greetings
* Use formal "usted" form for professional calls
* Include time-appropriate greetings (buenos días/tardes)
* Maintain warm but respectful tone
### English Greetings
* Keep it concise and professional
* Use clear, simple language
* Include company identification early
### French Greetings
* Use appropriate formality level (vous/tu)
* Include proper salutations
* Maintain politeness throughout
### German Greetings
* Use formal address (Sie)
* Be direct but courteous
* Include proper titles when available
### Italian Greetings
* Use formal Lei form for business
* Include warm but professional tone
* Consider regional variations
### Portuguese Greetings
* Distinguish between PT and BR variants
* Use appropriate formality level
* Include welcoming language
## Greeting Tips
Always ensure your greeting template matches your agent's configured language for natural conversation flow.
Long greetings can frustrate callers. Aim for 2-3 sentences maximum across all languages.
Set up fallback phrases for critical dynamic parameters to ensure calls always start smoothly.
Verify that all dynamic parameters work correctly before deploying your agent.
Consider cultural norms and expectations for each language when crafting greetings.
## Best Practices by Call Type
### Inbound Calls
* ✅ Identify your company immediately
* ✅ Thank the caller for calling
* ✅ Use welcoming, helpful tone
* ✅ Offer assistance clearly
* ✅ Match the caller's language
### Outbound Calls
* ✅ Introduce yourself and company
* ✅ Verify you're speaking with the right person
* ✅ State the purpose briefly
* ✅ Be respectful of the recipient's time
* ✅ Use appropriate formality level
## Example Greetings by Industry
### Customer Support (Multilingual)
```
Thank you for calling {{company_name}} Support.
This is {{agent_name}}. How can I help you today?
```
```
Gracias por llamar al soporte de {{company_name}}.
Habla {{agent_name}}. ¿En qué puedo ayudarle?
```
### Sales Calls (Multilingual)
```
Hello {{customer_name}}, this is {{agent_name}} from {{company_name}}.
I'm calling about your recent inquiry. Do you have a moment to chat?
```
```
Bonjour {{customer_name}}, c'est {{agent_name}} de {{company_name}}.
Je vous appelle concernant votre demande récente. Avez-vous un moment?
```
## Next Steps
Define agent personality and behavior
Configure voice and language settings
Learn about parameter management
Test greeting effectiveness
# Input Parameters
Source: https://docs.meetzy.es/advanced-editor/input-params
Configure dynamic variables to personalize each call
## What are Input Parameters?
Input Parameters are dynamic variables that allow you to personalize each call with customer-specific information. When initiating an outbound call or receiving an inbound call through your API, you can pass these variables to customize the agent's behavior and knowledge.
Input Parameters are passed via API when initiating calls, making each conversation unique and personalized.
## AI Copilot Suggestions
The AI Copilot can automatically analyze your agent's purpose and suggest relevant input parameters to enhance your call personalization. These suggestions appear as purple banners throughout the Input Parameters interface.
### How It Works
When you're working on your agent configuration, the AI Copilot:
* Analyzes your system prompt and agent purpose
* Identifies opportunities for personalization
* Suggests new parameters or modifications to existing ones
* Provides intelligent recommendations for parameter types and descriptions
### Suggestion Banners
AI suggestions appear in purple banners at the top of the Input Parameters section. Each banner contains:
* **Copilot icon** - Indicates this is an AI-generated suggestion
* **Summary** - Brief description of what changes are suggested
* **Parameter cards** - Detailed breakdown of each suggested parameter
* **Accept/Reject buttons** - Quick actions to apply or dismiss suggestions
### Managing Suggestions
Click **Accept All** to apply all suggested parameters to your agent configuration. This will:
* Add new suggested parameters
* Modify existing parameters if improvements are suggested
* Update parameter descriptions and types as recommended
Click **Reject** to dismiss the current suggestions. You can:
* Reject all suggestions at once
* Continue working on your current configuration
* Get new suggestions later as you modify your agent
Accepting suggestions will modify your current input parameters. Make sure to review the changes before publishing your agent.
## Common Use Cases
| Use Case | Example Parameters |
| ----------------------- | ------------------------------------------------------ |
| Customer Identification | `customer_name`, `customer_id` |
| Appointment Booking | `appointment_date`, `appointment_time`, `service_type` |
| Order Status | `order_number`, `order_status`, `delivery_date` |
| Account Management | `account_balance`, `payment_due_date` |
| Lead Qualification | `lead_source`, `product_interest` |
## Configuring Input Parameters
### Adding a Parameter
Navigate to the Input Parameters section in the left panel.
Click "Add Parameter" to create a new variable.
Set the name, type, and description.
### Parameter Properties
| Property | Description | Required |
| ------------- | ------------------------------------------- | -------- |
| Name | Variable identifier (e.g., `customer_name`) | Yes |
| Type | Data type: string, number, boolean | Yes |
| Description | What this parameter represents | Yes |
| Default Value | Fallback if not provided | No |
### Data Types
Text values like names, addresses, or identifiers.
```json theme={null}
{
"customer_name": "John Smith",
"order_id": "ORD-12345"
}
```
Numeric values like amounts, quantities, or IDs.
```json theme={null}
{
"account_balance": 1250.50,
"order_count": 3
}
```
True/false values for flags and conditions.
```json theme={null}
{
"is_premium_customer": true,
"has_pending_payment": false
}
```
## Using Parameters in Prompts
Once defined, you can reference input parameters in your system prompt and greetings using the `{{parameter_name}}` syntax.
### Example: Personalized Greeting
**System Prompt:**
```
You are a customer service agent for Acme Corp.
You are speaking with {{customer_name}}.
Their account status is {{account_status}}.
```
**Greeting (Outbound):**
```
Hello {{customer_name}}, this is Sarah from Acme Corp.
I'm calling about your order {{order_number}}.
```
### Example: Conditional Behavior
```
{{#if is_premium_customer}}
Treat this customer as a VIP. Offer priority support and exclusive deals.
{{else}}
Provide standard support. Mention upgrade options if relevant.
{{/if}}
```
## API Integration
When making API calls to initiate calls, include input parameters in your request:
```bash theme={null}
curl -X POST https://api.meetzy.io/v1/calls \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent_123",
"phone_number": "+1234567890",
"input_params": {
"customer_name": "John Smith",
"order_number": "ORD-12345",
"is_premium_customer": true,
"account_balance": 1250.50
}
}'
```
## Testing Input Parameters
Use the Playground to test how your agent handles different parameter values:
Navigate to the Playground in the right panel.
Click the "Context Variables" panel.
Enter values for each input parameter.
Test how the agent uses these values.
## Best Practices
Use descriptive names and clear descriptions so the AI understands the context of each parameter.
1. **Use Clear Names** - `customer_name` is better than `cn`
2. **Provide Descriptions** - Help the AI understand context
3. **Set Default Values** - Prevent errors when parameters aren't provided
4. **Validate Before Sending** - Ensure parameters have valid values
5. **Document for Team** - Keep a reference of all parameters and their purposes
6. **Review AI Suggestions** - Let the Copilot help identify missing personalization opportunities
## Common Parameter Patterns
### Customer Information
```json theme={null}
{
"customer_name": "string",
"customer_phone": "string",
"customer_email": "string",
"customer_id": "string"
}
```
### Appointment Details
```json theme={null}
{
"appointment_date": "string",
"appointment_time": "string",
"service_type": "string",
"location": "string"
}
```
### Order Information
```json theme={null}
{
"order_number": "string",
"order_total": "number",
"items_count": "number",
"delivery_date": "string"
}
```
## Next Steps
Configure data extraction
Test with different parameters
# Introduction to Advanced Editor
Source: https://docs.meetzy.es/advanced-editor/introduction
Learn about the Advanced Editor including Creation Overlay with prompt-first agent creation, Meetzy Foundation components, and specialized skills system
## What is the Advanced Editor?
The **Advanced Editor** is Meetzy's comprehensive agent configuration tool that gives you full control over every aspect of your AI agent's behavior. It now features a revolutionary **Creation Overlay** with prompt-first creation, Meetzy Foundation components, specialized skills, and enhanced team collaboration capabilities.
The Advanced Editor is the recommended tool for creating production-ready agents with custom behaviors, integrations, and advanced logic. The new Creation Overlay with prompt-first creation makes it faster than ever to get started.
## Nueva Experiencia de Creación de Agentes
Una de las actualizaciones más significativas del Editor Avanzado es la **nueva experiencia de creación de agentes** que revoluciona cómo construyes asistentes de IA. Esta innovación introduce un enfoque completamente nuevo donde los usuarios pueden describir simplemente sus necesidades en lenguaje natural y obtener un agente pre-configurado como punto de partida.
### Cómo Funciona la Nueva Experiencia
Simplemente describe qué quieres que haga tu agente en español o cualquier idioma
Ejemplo: "Un agente que responde llamadas de atención al cliente para una clínica dental, agenda citas y transfiere casos urgentes a la recepcionista"
El sistema de IA de Meetzy analiza tu descripción y automáticamente:
* **Configura ajustes básicos** del agente usando componentes Foundation
* **Detecta e integra habilidades especializadas** según tus requisitos
* **Genera mensajes de saludo** personalizados para tu caso de uso
* **Optimiza prompts del sistema** específicos para tu dominio
* **Selecciona voz y idioma** apropiados para tu región
* **Prepara estructura de base de conocimiento** lista para tu contenido
Construido sobre **Meetzy Foundation**, tu agente incluye:
* Patrones de conversación específicos de la industria
* Conocimiento de dominio pre-entrenado
* Plantillas de respuesta optimizadas
* Integraciones avanzadas de habilidades
La experiencia de creación transiciona suavemente al Editor Avanzado completo para personalización y ajuste fino de la configuración generada por Foundation
### Beneficios de la Nueva Experiencia
**Velocidad de Implementación**
* **Reducción de tiempo** del 80% en la configuración inicial
* **Eliminación de configuración técnica compleja** para empezar
* **Punto de partida inteligente** con mejores prácticas incorporadas
* **Enfoque en personalización** en lugar de configuración desde cero
**Precisión y Calidad**
* **Componentes Foundation probados** en miles de implementaciones
* **Detección automática de habilidades** basada en análisis de IA
* **Configuración optimizada** para casos de uso específicos
* **Patrones de conversación** validados por la industria
**Accesibilidad Mejorada**
* **Interfaz en lenguaje natural** accesible para usuarios no técnicos
* **Configuración automática inteligente** reduce curva de aprendizaje
* **Sugerencias contextuales** para mejorar la descripción
* **Soporte multiidioma** para descripciones en cualquier idioma
Puedes saltar la nueva experiencia de creación y comenzar con un agente en blanco haciendo clic en "empezar desde cero" durante el proceso de creación.
## Creation Overlay - Revolutionary Prompt-First Agent Building
The Advanced Editor now begins with an elegant **Creation Overlay** that transforms how you build AI agents. This innovative feature introduces a **prompt-first approach** where users can simply describe what their agent should do, and Meetzy automatically builds it using Foundation components and specialized skills.
### How Creation Overlay Works
Simply describe what you want your agent to do in plain English
Example: "An agent that answers customer support calls for a dental clinic, books appointments, and transfers urgent cases to the receptionist"
Meetzy's AI analyzes your description and automatically configures:
* **Basic agent settings** and metadata using Foundation components
* **Specialized skills** based on your agent's requirements
* **Initial greeting messages** tailored to your use case
* **System prompts** optimized for your specific domain
* **Voice and language settings** appropriate for your region
* **Knowledge base structure** ready for your content
Built on **Meetzy Foundation**, your agent includes:
* Industry-specific conversation patterns
* Pre-trained domain knowledge
* Optimized response templates
* Advanced skill integrations
The overlay smoothly transitions to the full Advanced Editor for customization and fine-tuning of the generated Foundation setup
### Creation Overlay Features
**Beautiful Visual Experience**
* **WebGL wave animation** provides an immersive, professional background
* **Clean, distraction-free interface** focused entirely on creation
* **Responsive design** works perfectly on desktop and mobile devices
**Natural Language Processing with Foundation Integration**
* **Intelligent prompt analysis** understands complex agent requirements
* **Foundation component selection** automatically chooses appropriate base components
* **Skill identification** detects required specialized skills from your description
* **Context-aware configuration** sets appropriate defaults based on use case
* **Multi-language support** for describing agents in various languages
**Smart Defaults & Foundation Configuration**
* **Automatic voice selection** based on agent purpose and language
* **Foundation-powered greetings** using industry-specific templates
* **System prompt optimization** leveraging Foundation knowledge
* **Skill integration** automatic configuration of detected capabilities
* **Knowledge base preparation** with Foundation-structured templates
You can always skip the Creation Overlay and start with a blank agent by clicking "or start from scratch" during the creation process.
### Meetzy Foundation Integration
The Creation Overlay leverages **Meetzy Foundation** - a comprehensive set of pre-built components that serve as the building blocks for AI agents:
**Foundation Components Include:**
* **Industry Templates**: Pre-configured setups for healthcare, real estate, retail, and more
* **Conversation Patterns**: Proven dialogue flows optimized for different business scenarios
* **Domain Knowledge**: Built-in understanding of industry-specific terminology and processes
* **Skill Libraries**: Specialized capabilities like appointment booking, information retrieval, and call routing
**Skills System Integration:**
* **Appointment Management**: Booking, rescheduling, and cancellation workflows
* **Customer Support**: Ticket creation, escalation, and knowledge base integration
* **Sales Assistance**: Lead qualification, product information, and CRM integration
* **Information Gathering**: Structured data collection and validation
* **Call Routing**: Intelligent transfer and escalation logic
### Creation Overlay Interface Elements
The Creation Overlay features a minimal, focused design:
* **Navigation**: Easy back button to return to the agents dashboard
* **Meetzy Branding**: Clean logo placement that adapts to light/dark themes
* **Central Prompt Area**: Large textarea with gradient border effects for describing your agent
* **Smart Send Button**: Appears automatically when text is entered
* **Foundation Indicator**: Visual feedback showing Foundation components being applied
* **Keyboard Shortcuts**: Enter key to generate, ESC to close
* **Skip Option**: Direct link to traditional editor for advanced users
## Enhanced Navigation System
### Integrated Agent Selector
The Advanced Editor includes a powerful **agent selector** directly in the toolbar, enabling seamless navigation between agents without leaving the editor environment.
The agent selector displays the current agent name as a dropdown button with visual avatars, making it easy to identify and switch between different agents quickly.
#### Agent Selector Capabilities
* **Visual Agent Identification**: Avatar-based indicators with agent name initials
* **Quick Switching**: Dropdown interface for rapid agent navigation
* **Search Functionality**: Built-in search to find agents by name
* **Company Filtering**: Admin users can filter agents by company
* **Context Preservation**: Unsaved changes protection during navigation
* **Real-time Updates**: Automatically reflects current agent state
### Navigation Best Practices
If you have unsaved changes when switching agents, you'll be prompted to save or discard them before proceeding to prevent data loss.
## When to Use the Advanced Editor
| Scenario | Recommended Tool |
| --------------------------------------------- | ------------------------------------ |
| Creating a new agent from natural description | ✅ Advanced Editor (Creation Overlay) |
| Building Foundation-powered agents | ✅ Advanced Editor (Creation Overlay) |
| Configuring specialized skills | ✅ Advanced Editor (Full Editor) |
| Fine-tuning agent responses and behavior | ✅ Advanced Editor |
| Adding knowledge base documents | ✅ Advanced Editor |
| Configuring webhook integrations | ✅ Advanced Editor |
| Testing agents in real-time | ✅ Advanced Editor |
| Quick agent duplication | Agents Dashboard |
| Bulk agent management | Agents Dashboard |
## Interface Overview
The Advanced Editor features a professional two-panel layout with enhanced collaboration tools, Foundation integration indicators, and specialized skills management.
### Left Panel - Configuration
The left panel contains all configuration sections accessible via an intuitive icon bar:
| Icon | Section | Description | Shortcut |
| ---- | --------------- | -------------------------------------------------------------- | -------- |
| ⚙️ | Basic Settings | Name, language, voice, LLM model, Foundation setup | ⌘1 |
| 👋 | Greetings | Foundation-powered welcome messages for inbound/outbound calls | ⌘2 |
| 🔧 | Input Params | Dynamic variables for personalized calls | ⌘3 |
| 📚 | Knowledge Base | Documents, FAQs, Foundation knowledge | ⌘4 |
| 🛠️ | Actions & Tools | Skills, integrations, transfers, webhooks | ⌘5 |
| 📊 | Evaluations | Automated quality tests and success criteria | ⌘6 |
| 📤 | Output Settings | Data extraction and webhooks | ⌘7 |
### Right Panel - Testing & Tools
| Tab | Purpose | Shortcut |
| --------------- | --------------------------------------------------------------- | -------- |
| ✨ Meetzy | AI assistant to help improve your prompts and Foundation setup | ⌘J |
| 🎮 Playground | Test your agent with Foundation components and skills | ⇧⌘P |
| 📋 Tests | Create and run automated regression tests | ⇧⌘T |
| 🔄 Changes | Track changes with Git-like version control | ⌘G |
| 📞 Recent Calls | Browse the agent's most recent calls without leaving the editor | — |
The **Recent Calls** tab shows the last 30 days of calls for the agent you're currently editing, including status, success outcome, duration, and a quick summary. Click any call to open its full recording and transcript in a new tab, or use "View all" to jump to the Calls page filtered for this agent.
## Focus Mode - Distraction-Free Editing
Sometimes you just need to concentrate on the **System Prompt** without the visual noise of configuration panels and testing tools around you. **Focus Mode** does exactly that: it hides the left configuration panel and the right panel (Meetzy Copilot, Playground, Tests, Changes, Recent Calls), leaving only the Monaco editor centered on your screen.
Toggle Focus Mode instantly with the keyboard shortcut **⌘\\** on macOS or **Ctrl+\\** on Windows/Linux. Press it again to bring the side panels back.
### How Focus Mode Works
Press **Cmd+\\** (macOS) or **Ctrl+\\** (Windows/Linux) anywhere in the Advanced Editor.
The left configuration panel and the right panel (Copilot, Playground, Tests, Changes, Recent Calls) smoothly collapse out of view.
The Monaco editor expands to use the freed-up space, giving you a clean, full-width writing surface for your system prompt.
Press the same shortcut again to instantly restore the panels and return to the standard layout.
### When to Use Focus Mode
* **Writing or rewriting long system prompts** where every distraction counts
* **Reviewing prompt structure** using the outline without side panel clutter
* **Screen-sharing or recording demos** where a clean interface looks more professional
* **Working on smaller screens** where side panels compete for space with the editor
Focus Mode only hides the panels visually, it does not disable your unsaved changes protection, Git status tracking, or auto-save behavior. All your work is preserved exactly as before.
#### Expand the Right Panel for a Better Reading Experience
The right panel now includes an **expand button** that widens the panel so you can read Meetzy Copilot's messages, Playground results, Tests, Changes history, and Recent Calls much more comfortably.
Look for the expand icon in the right panel's header, right next to the tab selector. Clicking it widens the panel to a more spacious layout, and clicking it again returns it to its original size.
It's a small addition, but once you toggle it on, you'll immediately notice how much easier it is to follow long Copilot explanations, compare Playground conversation turns, review detailed diffs in the Changes tab, or scan through Recent Calls, no more squinting at cramped text in a narrow column.
Select Meetzy, Playground, Tests, Changes, or Recent Calls from the right panel tabs.
Locate the expand button in the top-right area of the panel and click it to widen the panel.
Enjoy a wider, more readable layout for long messages, test results, change diffs, or call summaries.
Click the icon again to collapse the panel back to its default width and regain space for the editor.
On smaller screens, expanding the right panel may temporarily reduce the visible space for the left configuration panel and the Monaco editor. Collapse it again once you've finished reading.
Focus Mode and the expandable right panel work great together: use Focus Mode when you need to write without distractions, and expand the right panel when you need to read long Copilot answers, Playground transcripts, Changes diffs, or Recent Calls details.
## Advanced Version Control System
The Advanced Editor includes a sophisticated **Git-like version control system** that transforms team collaboration on AI agent development. This enterprise-grade system provides real-time collaboration with automatic conflict detection.
The version control system enables seamless team collaboration with automatic conflict detection, branching capabilities, and comprehensive change tracking.
### Git Status Indicators
The Advanced Editor displays comprehensive version control status in the top toolbar:
| Status | Badge Color | Description |
| --------- | ----------- | ---------------------------------------------- |
| Clean | 🟢 Green | No local changes, up to date with remote |
| Modified | 🟡 Yellow | Local changes pending save (shows count) |
| Conflicts | 🔴 Red | Merge conflicts require resolution |
| Syncing | 🔵 Blue | Currently synchronizing with remote repository |
| Locked | 🟠 Orange | Another team member is actively editing |
When status shows "Conflicts" or "Locked", resolve these issues before attempting to publish changes to avoid data loss.
### Collaborative Features
The Git-like system supports sophisticated team workflows:
* **Real-time collaboration awareness**: See when teammates are editing simultaneously
* **Automatic conflict detection** and guided resolution
* **Branch-based workflows** for parallel development
* **Comprehensive audit trails** with detailed change history
* **Rollback capabilities** to safely revert changes
* **Team coordination tools** to prevent edit conflicts
## Enhanced Testing System
### Improved Test Management
The testing system has been significantly enhanced with powerful new capabilities:
* **Foundation component testing**: Validate Foundation-powered features
* **Skills testing**: Test individual specialized skills
* **Batch testing**: Run multiple test iterations with configurable repeat counts (1-10x)
* **Test filtering**: Filter tests by status (All, Pass, Fail) with visual counters
* **Test history**: View comprehensive execution history with detailed results
* **Input parameters**: Configure dynamic variables for realistic test scenarios
* **Simulation mode**: Interactive conversation simulation for testing
### Advanced Test Features
Test Foundation components and their integration:
* Validate industry-specific conversation patterns
* Test Foundation knowledge application
* Verify skill integrations work correctly
* Analyze Foundation component performance
Test individual specialized skills:
* Appointment management workflows
* Information gathering capabilities
* Call routing and transfer logic
* Integration with external systems
Test specific conversation scenarios with defined success criteria:
* Configure user personas and conversation goals
* Set multiple success/failure examples using Foundation patterns
* Use dynamic variables for realistic scenarios
* Track test performance over time
Real-time conversation simulation:
* Live conversation testing with Foundation components
* Skills-enabled conversation flows
* Configurable turn limits for focused testing
* Real-time streaming of AI responses
* Context variable injection for dynamic scenarios
Run tests multiple times for statistical confidence:
* Configurable repeat counts (1-10x)
* Batch progress tracking with visual indicators
* Aggregate results analysis
* Statistical reliability reporting
### Test Status Indicators
The enhanced testing interface provides clear visual feedback:
* **Pass/Fail counters**: See test results at a glance with color-coded badges
* **Foundation indicators**: Show which Foundation components are being tested
* **Skills markers**: Identify which specialized skills are active in tests
* **Running indicators**: Animated status indicators for active tests
* **History tracking**: Easy access to previous test runs and results
* **Input parameters**: Visual indicators for configured dynamic variables
## Meetzy Foundation & Skills System
### Foundation Components
**Meetzy Foundation** provides industry-specific building blocks that power your agents:
**Healthcare Foundation**
* Medical terminology understanding
* Appointment booking workflows
* HIPAA-compliant conversation patterns
* Patient information handling
**Real Estate Foundation**
* Property inquiry handling
* Showing scheduling
* Lead qualification processes
* Market information delivery
**Retail Foundation**
* Product information delivery
* Order management workflows
* Customer support patterns
* Inventory inquiries
**Financial Services Foundation**
* Account inquiry handling
* Transaction support
* Compliance-aware conversations
* Secure information exchange
### Specialized Skills
The skills system provides plug-and-play capabilities:
**Core Skills**
* **Appointment Booking**: Complete scheduling workflows with calendar integration
* **Information Retrieval**: Intelligent search and knowledge base querying
* **Call Transfer**: Smart routing based on conversation context
* **Data Collection**: Structured information gathering with validation
**Advanced Skills**
* **CRM Integration**: Real-time customer data access and updates
* **Payment Processing**: Secure transaction handling
* **Multi-language Support**: Dynamic language switching
* **Sentiment Analysis**: Real-time mood detection and response adaptation
Skills are automatically suggested and configured based on your Creation Overlay prompt, but can be manually added or removed in the Actions & Tools section.
## Workflow Best Practices
Use the Creation Overlay to describe your agent in natural language. The AI will select appropriate Foundation components and configure specialized skills automatically.
Examine the automatically configured Foundation components and skills. Verify they match your requirements and add or remove as needed.
Always verify the Git status indicator before starting work to understand collaboration state and avoid conflicts.
Use "Check" and "Pull" buttons to synchronize with your team's latest changes before making modifications.
Adjust Foundation-powered settings, greetings, and system prompts generated from your initial description. Toggle Focus Mode (⌘\ / Ctrl+\\) if you want to write without distractions.
Review and configure the specialized skills that were automatically added based on your prompt.
Upload knowledge base documents and configure additional integrations as needed for your specific use case.
Use the enhanced testing system to validate Foundation components, skills, and overall behavior comprehensively. Expand the right panel if you need more room to review long test results.
Once your agent is live, use the Recent Calls tab to quickly review real conversations without leaving the editor, spotting issues or opportunities to refine your prompt.
Use the Git changes panel to review modifications and commit with descriptive messages for proper version control.
Safely publish your Foundation-powered agent once all tests pass and collaboration status is clean.
## Key Features & Benefits
### Prompt-First Creation Revolution
The Creation Overlay with Foundation integration transforms agent development:
**Natural Language Interface**
* Describe your agent's purpose in everyday language
* AI-powered analysis with Foundation component selection
* Automatic skill detection and configuration
* Intelligent Foundation template matching
**Foundation-Powered Generation**
* Industry-specific templates automatically applied
* Pre-configured conversation patterns
* Built-in domain knowledge integration
* Optimized system prompts based on Foundation best practices
**Time & Efficiency Savings**
* Skip complex technical configuration
* Start with battle-tested Foundation components
* Leverage pre-built skills and integrations
* Focus immediately on customization rather than setup
### Enhanced Foundation Integration
**Smart Component Selection**
* Automatic Foundation component matching based on description
* Industry-specific configuration optimization
* Pre-built conversation flows and patterns
* Domain knowledge integration
**Skills Auto-Configuration**
* Intelligent skill detection from your prompt
* Automatic integration setup
* Pre-configured workflows and templates
* Ready-to-use specialized capabilities
### Enhanced Navigation
The integrated agent selector revolutionizes workflow efficiency:
* **Seamless switching** between agents without losing context
* **Search functionality** to quickly locate specific agents
* **Visual identification** with avatar-based agent indicators
* **Context preservation** with comprehensive unsaved changes protection
### Focus Mode for Deep Work
Focus Mode is designed for the moments when you need to think clearly about your agent's behavior:
* **One shortcut, instant results**: ⌘\ (macOS) or Ctrl+\ (Windows/Linux) toggles the layout immediately
* **Zero configuration lost**: hiding panels never affects your unsaved changes, Git status, or auto-save
* **Full-width editing**: the Monaco editor expands to use all the available space
* **Toggle anytime**: press the shortcut again to bring back the left and right panels instantly
Focus Mode is a purely visual toggle, think of it as closing the door to your office. Everything you were working on is still there when you open it again.
### A More Comfortable Right Panel
The new expand toggle for the right panel might look like a minor visual tweak, but in daily use it turns out to matter more than expected:
* **Wider reading area** for long Copilot explanations and suggestions
* **Easier comparison** of Playground conversation turns side by side
* **Clearer Tests review** when reading detailed pass/fail explanations
* **More readable diffs** in the Changes tab when reviewing version history
* **More scannable calls** when browsing Recent Calls entries and summaries
Like Schrödinger's cat, this feature seems unremarkable until you actually open the box, once you try expanding the panel while reading a long Copilot response, you'll likely keep using it every day.
### Recent Calls, Right Where You Need It
Reviewing real conversations used to mean leaving the editor entirely and navigating to a separate Calls page. Now, the **Recent Calls** tab brings the last 30 days of activity for the agent you're editing directly into the right panel:
* **At-a-glance status**: color-coded badges for finished, failed, busy, ringing, and other call outcomes
* **Success indicators**: quickly spot calls marked as successful based on your evaluation criteria
* **Relative and absolute timestamps**: see "2 hours ago" at a glance, with the exact date and time available on hover
* **One-click access**: open any call's full recording and transcript in a new tab without losing your place in the editor
* **View all**: jump straight to the Calls page pre-filtered for the current agent when you need the complete history
Recent Calls refreshes on demand with a single click, so you can always check the very latest interactions while you're mid-edit on your system prompt.
### Advanced Collaboration
The Git-like version control system brings enterprise-grade collaboration:
**Team Coordination**
* Real-time awareness of teammate editing activities
* Automatic conflict detection prevents data conflicts
* Lock indicators show when files are being edited by others
**Change Management**
* Comprehensive audit trails for all modifications
* Ability to revert to previous versions safely
* Branch-based workflows for feature development
**Production Safety**
* Staged deployment process prevents accidental changes
* Version validation before publishing ensures quality
* Rollback capabilities for quick issue resolution
## Next Steps
Master the prompt-first Creation Overlay with Foundation components and automatic skill configuration
Learn about Meetzy Foundation components and how they power your agents
Understand specialized skills and how to configure them for your use cases
Learn to use the integrated agent selector for efficient workflow management
Understand Git-like collaboration, conflict resolution, and team coordination
Use Foundation testing, skills validation, and advanced test features
Configure Foundation-powered settings, voice, LLM model, and core configuration
Add documents, FAQs, and integrate Foundation knowledge with your content
# Knowledge Base
Source: https://docs.meetzy.es/advanced-editor/knowledge-base
Add documents, FAQs, and reference materials for your agent
## What is the Knowledge Base?
The Knowledge Base is where you provide your agent with information it can reference during conversations. This includes product documentation, FAQs, company policies, pricing information, and any other content your agent needs to answer customer questions accurately.
A well-populated Knowledge Base significantly improves your agent's ability to provide accurate, helpful responses by giving it access to your specific business information.
## Adding Documents
You can add knowledge to your agent in three ways:
Import content directly from web pages.
Open the Knowledge Base section and select the URL option.
Paste the full URL of the webpage you want to import.
Set the document name and choose the usage mode.
The system will fetch and process the content automatically.
**Best for:** Product pages, help center articles, documentation sites, pricing pages.
Manually enter or paste text content.
Select the text entry option.
Type or paste your content in the text area.
Set the document name and choose the usage mode.
The content is processed and added to the knowledge base.
**Best for:** Custom FAQs, internal guidelines, scripts, policies.
Upload documents directly from your computer.
Select the file upload option.
Choose a file from your computer (PDF, TXT, DOC, DOCX).
Set the document name and choose the usage mode.
The document is processed and indexed automatically.
**Supported formats:** PDF, TXT, DOC, DOCX, and more.
## Usage Modes
Each document in your Knowledge Base can be configured with one of two usage modes:
| Mode | Icon | Description | When to Use |
| --------------- | ---- | ------------------------------------------------------------------------ | -------------------------------------------------------- |
| **Auto Search** | 🔍 | Agent searches this document only when relevant to the conversation | Large documents, extensive catalogs, reference materials |
| **In Prompt** | 📋 | Content is always included in the agent's context for every conversation | Critical info, company details, core policies |
### Understanding Usage Modes
**Auto Search** uses semantic search to find relevant portions of documents when needed, making conversations more efficient and cost-effective.
**In Prompt** mode includes the entire document content in every conversation, which can increase costs and slow responses for large documents. Use only for essential, concise information.
#### Auto Search Mode
* **How it works:** The agent automatically searches through the document when it detects the conversation topic is relevant
* **Performance:** Efficient for large documents - only retrieves relevant sections
* **Cost:** Lower cost as only relevant portions are processed
* **Best practices:** Use for comprehensive guides, product catalogs, detailed FAQs
#### In Prompt Mode
* **How it works:** The document content is included in the agent's context for every single conversation
* **Performance:** Immediate access to information but can slow down responses
* **Cost:** Higher cost as content is processed in every conversation
* **Best practices:** Use only for critical information under 1000 characters
## Managing Documents
### Document List View
The Knowledge Base displays all your documents in a organized list showing:
| Column | Description |
| ----------- | ------------------------------------------ |
| **Name** | Document title (editable) |
| **Type** | Visual indicator: 🔗 URL, 📄 Text, 📁 File |
| **Mode** | Usage mode: 🔍 Auto Search or 📋 In Prompt |
| **Preview** | First few lines of content |
| **Actions** | Edit (✏️) and Delete (🗑️) buttons |
### Editing Existing Documents
You can modify existing documents to update content, names, or usage modes using the edit functionality.
Locate the edit icon (✏️) next to any document in your Knowledge Base list.
The edit modal will open with current document details loaded. You can modify different fields based on the document type:
* **All documents:** Name and usage mode
* **URL documents:** Source URL (will refetch content)
* **Text documents:** Full text content
* **File documents:** Only name and usage mode (content cannot be edited)
Click "Save Changes" to update the document. Changes are processed immediately.
#### Document Type-Specific Editing
**Editable Fields:**
* Document name
* Source URL
* Usage mode (Auto Search / In Prompt)
**How it works:** When you update the URL, the system will automatically refetch the content from the new location and update the document.
**Use cases:** Updating documentation URLs, fixing broken links, switching to newer versions of web pages.
**Editable Fields:**
* Document name
* Full text content
* Usage mode (Auto Search / In Prompt)
**How it works:** You can modify the text content directly in the editor. The system loads the complete document content for editing.
When you edit the text content of a document, the system creates a new document ID internally. This ensures proper content indexing but means conversation references to the old document ID will not work.
**Use cases:** Updating FAQs, modifying policies, correcting information, adding new details.
**Editable Fields:**
* Document name
* Usage mode (Auto Search / In Prompt)
**Limitations:** The actual file content cannot be edited through the interface.
**How it works:** You can only change the display name and how the document is used by the agent.
**To update content:** Delete the document and upload a new version of the file.
### Real-Time Content Loading
For optimal performance, the system handles content loading intelligently:
* **Document List:** Shows content previews for quick reference
* **Edit Modal:** Loads full document content automatically when editing text or URL documents
* **Loading States:** Clear indicators when content is being fetched
* **Error Handling:** Graceful fallback to preview content if full loading fails
When editing URL or text documents, the system automatically loads the complete content. This may take a few seconds for large documents.
### Document Deletion
Click the delete icon (🗑️) next to the document.
Confirm the action in the popup dialog.
The document is immediately removed from your agent's knowledge base.
Deleted documents cannot be recovered. Make sure to export or backup important content before deleting.
## Best Practices
### Content Organization
* **Keep Current:** Regularly update documents to reflect latest information using the edit functionality
* **Be Specific:** Include exact phrases and terms customers might use
* **Structure Well:** Use clear headings, bullet points, and organized sections
* **Avoid Duplication:** Don't repeat the same information across multiple documents
### Editing Workflow
* **Review Before Editing:** Check the current content and usage mode before making changes
* **Test After Updates:** Verify the agent can access and use the updated information correctly
* **Monitor Performance:** Large content changes may affect response times
* **Consider Document IDs:** Remember that editing text content creates new document IDs
### Usage Mode Strategy
* **Auto Search for:** Large documents, comprehensive guides, detailed product info
* **In Prompt for:** Company name, key contact info, essential policies (keep under 1000 chars)
### Performance Optimization
* **Test Regularly:** Verify the agent can find and use information correctly
* **Monitor Conversations:** Review how the agent uses knowledge base content
* **Optimize Content:** Remove outdated or redundant information
* **Update Incrementally:** Make small, targeted edits rather than large overhauls
Start with Auto Search mode for most documents. Only switch to In Prompt mode for absolutely critical information that must always be available.
## Example Knowledge Base Structure
Here's a recommended structure for organizing your knowledge base:
```
📚 Knowledge Base
├── 📄 Company Overview (In Prompt)
│ └── Essential company info, mission, key contacts
├── 🔗 Product Catalog URL (Auto Search)
│ └── Complete product listings and specifications
├── 📄 Pricing Information (Auto Search)
│ └── Current pricing tiers and packages
├── 📁 FAQ Document (Auto Search)
│ └── Common customer questions and answers
├── 📄 Refund Policy (Auto Search)
│ └── Terms and conditions for returns
├── 🔗 Support Articles URL (Auto Search)
│ └── Help center and troubleshooting guides
└── 📄 Contact Information (In Prompt)
└── Phone numbers, hours, emergency contacts
```
## Integration with Agent Context
Your Knowledge Base documents are dynamically integrated into your agent's conversational context:
* **Semantic Search:** Auto Search documents are searched based on conversation relevance
* **Context Injection:** In Prompt documents are always available in the agent's working memory
* **Real-Time Updates:** Changes to documents are immediately available to the agent
* **Intelligent Retrieval:** The system automatically selects the most relevant information
## Troubleshooting
### Common Issues
**Agent can't find information:**
* Verify the document is saved and shows in the Knowledge Base list
* Try using Auto Search mode for better semantic matching
* Include variations of keywords customers might use
* Check if recent edits created new document IDs
**Slow agent responses:**
* Check if you have too many In Prompt documents
* Consider moving large documents to Auto Search mode
* Review total character count of In Prompt content
**Outdated information:**
* Use the edit functionality to update documents directly
* Changes take effect immediately in new conversations
* Consider setting up regular review schedules
**Content loading issues:**
* Verify internet connectivity for URL documents
* Check file format compatibility for uploaded documents
* Try editing the document again if loading fails
**Edit modal problems:**
* Wait for content loading to complete before making changes
* Check that the assistant is properly published
* Verify you have editing permissions
## Next Steps
Configure integrations and external tools
Test your agent with the knowledge base
# Output Settings
Source: https://docs.meetzy.es/advanced-editor/output-settings
Configure what data your agent extracts from each call
## What are Output Settings?
Output Settings define what information your agent should extract and capture from each conversation. This data is then available via webhooks or API for use in your CRM, analytics, or other systems.
Well-configured output settings turn every call into structured, actionable data.
## Success Evaluation
Beyond extracting custom data points, you can configure your agent to automatically evaluate whether each call achieved its intended goal. This is done through the **Success** toggle and its associated **Success Criteria** field.
### The Success Toggle
When enabled, the AI evaluates every completed call against your defined criteria and returns a `success` boolean (`true`/`false`) alongside your other output data.
Toggle on **Success** in the Output Settings panel to activate call outcome evaluation.
Once enabled, a **Success Criteria** text field appears. Describe in natural language what makes a call successful for your specific use case.
After each call, the AI reads the full conversation and determines whether the criteria were met.
The resulting `success` field is included in your webhook payload and API responses, ready for reporting or automation.
### Writing Effective Success Criteria
The **Success Criteria** field accepts free-form natural language, so you can be as specific as your use case requires. The clearer the description, the more accurate the AI's evaluation will be.
| Agent Type | Example Success Criteria |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Sales Agent** | "The call is successful if the customer agrees to schedule a demo or provides a budget range." |
| **Support Agent** | "The call is successful if the customer's issue was resolved during the conversation without needing escalation." |
| **Booking Agent** | "The call is successful if an appointment date and time were confirmed with the customer." |
| **Survey Agent** | "The call is successful if the customer completed all survey questions." |
Write success criteria the same way you would explain it to a new team member — describe the specific outcome you're looking for, not just the topic of the call.
Vague success criteria (e.g. "the call went well") produce inconsistent evaluations. Always tie success to a concrete, observable outcome in the conversation.
## AI Copilot Smart Suggestions
The AI Copilot provides intelligent assistance for configuring output settings with advanced change management capabilities. It analyzes your agent's purpose and conversation goals to recommend optimal data extraction fields.
### How AI Suggestions Work
The AI examines your agent's role, system prompt, and knowledge base to understand its purpose.
Based on the analysis, it suggests relevant output parameters and enrichment settings tailored to your use case.
You can review, modify, or selectively accept/reject individual parameter suggestions with one click.
Accept all suggestions at once or choose specific ones that fit your needs.
AI suggestions adapt to different agent types - sales agents get lead qualification fields, support agents get issue tracking fields, and scheduling agents get appointment-related outputs.
### Example AI Suggestions by Agent Type
| Agent Type | Suggested Parameters | Description |
| ----------------- | ---------------------------------------------------------------------------- | -------------------------------------- |
| **Sales Agent** | `lead_score`, `budget_range`, `decision_timeline`, `pain_points` | Qualify leads and track sales progress |
| **Support Agent** | `issue_type`, `resolution_status`, `satisfaction_score`, `follow_up_needed` | Track support tickets and outcomes |
| **Booking Agent** | `appointment_date`, `service_type`, `confirmation_sent`, `preferred_time` | Manage appointment scheduling |
| **Survey Agent** | `survey_responses`, `feedback_rating`, `follow_up_needed`, `completion_rate` | Collect structured feedback |
## Copilot Change Management
The AI Copilot features an advanced change management system that allows you to review and control all modifications before they're applied. Pending changes are surfaced through dedicated banners so you always know what's about to change before it happens.
### Pending Changes Banners
There are two independent pending changes banners: one for **Output Parameters** and one for **Output Enrichment**. Each tracks its own set of suggestions, so you can review and act on them separately.
Appears above the Output Parameters section whenever the Copilot proposes adding, removing, or modifying custom parameters.
* Shows a count badge (e.g. "3 parameter changes")
* Lists each pending change with an **Add**, **Remove**, or **Modify** label
* Displays the parameter name and data type for quick scanning
* Includes **Accept** and **Reject** buttons to apply or dismiss all changes in the batch
Appears above the Output Enrichment section whenever the Copilot proposes enabling or disabling enrichment fields (transcription, summary, evaluations, etc.).
* Shows a count badge for pending enrichment changes
* Lists each affected field with its recommended state
* Includes **Accept** and **Reject** buttons scoped only to enrichment suggestions
Because the two banners are independent, you can accept the AI's Output Parameters suggestions while still reviewing the Output Enrichment recommendations at your own pace (or vice versa).
### Managing Pending Changes
Each pending change shows:
* **Operation Type**: Add, Remove, or Modify
* **Parameter Name**: The field being changed
* **Data Type**: String, number, or boolean
* **Description**: What the parameter extracts
You can:
* Accept all changes at once via the banner's **Accept** button
* Reject all changes via the banner's **Reject** button
* Accept/reject individual parameters
* Modify suggestions before accepting
The system tracks:
* **Add**: New parameter suggestions
* **Remove**: Parameters to be deleted
* **Modify**: Changes to existing parameters
### Change Operation Labels
| Operation | Color | Description |
| ---------- | ----- | -------------------------------- |
| **Add** | Green | New parameter to be created |
| **Remove** | Red | Existing parameter to be deleted |
| **Modify** | Blue | Changes to existing parameter |
Review all pending changes carefully before accepting. Once applied via the **Accept** button, changes will update your agent's output configuration immediately. Use **Reject** to discard the suggestions without modifying your current setup.
## Output Parameters with Templates
Output Parameters are custom fields that your agent extracts from the conversation, now with enhanced template support.
### Parameter Templates System
The new template system provides quick access to common parameter configurations:
Click the "Templates" button in Output Settings to see available parameter templates.
Templates are organized by common use cases like customer information, lead qualification, and UTM tracking.
Click "Add" next to any template to include it in your output parameters.
Modify template parameters after adding them to match your specific needs.
### Available Parameter Templates
* `firstname`, `lastname` - Customer name fields
* `email`, `phone` - Contact information
* `company`, `position` - Business details
* `address`, `city`, `state`, `zip` - Location data
* `lead_score` (number) - Qualification score 1-10
* `lead_status` (string) - New, Qualified, Disqualified
* `budget` (number) - Mentioned budget amount
* `decision_maker` (boolean) - Is decision maker
* `pain_points` (string) - Customer challenges
* `utm_source`, `utm_medium` - Traffic source tracking
* `utm_campaign`, `utm_content` - Campaign tracking
* `utm_term` - Keyword tracking
### Creating Custom Parameters
Click "Add Parameter" to create a new custom field.
Set name, type, and description for accurate extraction.
Let the Copilot suggest optimal parameters based on your agent's purpose.
Use the Playground to verify the parameter extracts correctly.
### Parameter Properties
| Property | Description | Example |
| ----------- | ---------------------------- | --------------------------------------- |
| Name | Field identifier (no spaces) | `customer_interest` |
| Type | Data type | string, number, boolean |
| Description | Clear extraction instruction | "Product the customer is interested in" |
## Advanced Text Mode with Syntax Highlighting
The enhanced text mode now includes full syntax highlighting and error detection for JSON editing.
### Text Mode Features
Text Mode now provides a rich editing experience with syntax highlighting, bracket matching, and real-time error detection for JSON parameter configuration.
### Using Text Mode
Toggle the "Text" switch to enter advanced JSON editing mode.
Benefit from color-coded JSON syntax and automatic formatting.
See validation errors immediately as you type.
JSON is automatically formatted for readability.
### Example JSON Configuration
```json theme={null}
[
{
"name": "customer_interest",
"type": "string",
"description": "Product or service the customer is interested in"
},
{
"name": "appointment_scheduled",
"type": "boolean",
"description": "Whether an appointment was successfully scheduled"
},
{
"name": "satisfaction_score",
"type": "number",
"description": "Customer satisfaction rating from 1-5"
}
]
```
Text Mode is ideal for copying configurations between agents, bulk editing parameters, or importing from external sources.
## AI-Enhanced Output Enrichment
The AI Copilot now provides intelligent enrichment recommendations based on your agent's specific use case.
### Smart Enrichment Suggestions
The AI analyzes your agent's purpose, industry, and conversation goals to recommend which enrichment fields will provide the most value for your downstream processing needs.
### Enrichment Change Management
Just like output parameters, enrichment changes are managed through their own dedicated pending changes banner:
* Review suggested enrichment configurations
* See which fields the AI recommends enabling/disabling
* Accept or reject enrichment suggestions with the banner's **Accept**/**Reject** buttons, independently from parameter changes
### Available Enrichment Fields
| Field | Description | AI Suggests For |
| -------------------- | --------------------------------------------------------------- | ----------------------------------------------------------- |
| 📝 **Transcription** | Full conversation transcript | Quality assurance, compliance, training agents |
| 📋 **Summary** | AI-generated call summary | Management reporting, CRM integration, executive dashboards |
| ✅ **Success Status** | Whether call achieved its goal (based on your Success Criteria) | Performance tracking, conversion optimization |
| 🆔 **Call ID** | Unique call identifier | System integration, debugging, support tickets |
| 🤖 **Agent ID** | Playbook/agent identifier | Multi-agent tracking, performance analytics |
| ⏱️ **Duration** | Call length in seconds | Performance metrics, billing, efficiency analysis |
| 📅 **Created** | Call start timestamp | Scheduling analysis, trend reporting |
| 📊 **Call Status** | Final call status (completed, failed, etc.) | Operational monitoring, success rate tracking |
| ✅ **Evaluations** | Results of evaluation tests | Quality assurance, agent training, compliance |
| 🏷️ **Call Type** | Inbound/outbound classification | Campaign analysis, channel performance |
The **Success Status** enrichment field only returns meaningful data once you've enabled the **Success** toggle and defined your **Success Criteria**. Without it, this field will remain empty.
### AI Enrichment Recommendations by Use Case
**Recommended Fields:**
* Transcription (compliance review)
* Evaluations (quality scoring)
* Duration (efficiency tracking)
* Agent ID (performance monitoring)
**Recommended Fields:**
* Success Status (conversion tracking)
* Summary (deal progress)
* Call ID (CRM integration)
* Duration (sales cycle analysis)
**Recommended Fields:**
* Transcription (issue documentation)
* Summary (resolution tracking)
* Evaluations (satisfaction scoring)
* Call Status (operational metrics)
Enable only the enrichment fields you need to keep webhook payloads manageable and reduce processing overhead. The AI helps optimize this selection.
## Webhook Configuration
Send call results to your external systems automatically with enhanced security and reliability features.
### Setting Up Webhooks
Toggle on the webhook option in Output Settings.
Enter your webhook URL and select the HTTP method.
Configure secure authentication headers (Bearer tokens, API keys).
Use the built-in test feature to verify your webhook receives data correctly.
### Enhanced Webhook Features
| Feature | Description | Benefit |
| --------------------- | ------------------------------------------ | -------------------- |
| **Retry Logic** | Automatic retries for failed webhook calls | Improved reliability |
| **Authentication** | Secure header-based authentication | Enhanced security |
| **Payload Filtering** | Send only enabled enrichment fields | Reduced bandwidth |
| **Error Logging** | Detailed webhook delivery logs | Better debugging |
### Example Enhanced Webhook Payload
```json theme={null}
{
"call_id": "call_abc123",
"agent_id": "agent_xyz789",
"created_at": "2024-01-15T10:30:00Z",
"duration": 245,
"status": "completed",
"success": true,
"call_type": "outbound",
"output_params": {
"customer_interest": "Premium Plan",
"appointment_scheduled": true,
"preferred_date": "2024-01-20",
"satisfaction_score": 5,
"lead_score": 8,
"decision_maker": true,
"pain_points": "Current solution is too expensive",
"utm_source": "google",
"utm_campaign": "premium_plan_q1"
},
"transcription": "Complete conversation transcript...",
"summary": "Customer inquired about Premium Plan, qualified as hot lead, appointment scheduled.",
"evaluations": {
"greeting_quality": 4.8,
"needs_assessment": 4.5,
"closing_effectiveness": 4.2
}
}
```
The `success` field in the payload above reflects the result of the AI's evaluation against your configured **Success Criteria**. It will be `null` or omitted if the **Success** toggle is disabled.
## Best Practices for AI-Enhanced Output Configuration
Write clear, specific descriptions for output parameters and success criteria. The AI uses these descriptions to understand what to extract and how to judge outcomes. Clear descriptions lead to more accurate data extraction and better AI suggestions.
### Optimization Guidelines
1. **Leverage AI Suggestions** - Start with AI-generated parameters for your agent type
2. **Use Template Library** - Quickly add common parameters from the template system
3. **Define Success Criteria Early** - Enable Success tracking and describe your desired outcome clearly from the start
4. **Review Pending Changes** - Always review AI suggestions in both the Parameters and Enrichment banners before accepting
5. **Be Specific in Descriptions** - "Customer's budget range in USD" vs "budget"
6. **Choose Appropriate Types** - Boolean for yes/no, number for quantities, string for text
7. **Optimize Enrichment** - Enable only necessary enrichment fields based on AI recommendations
8. **Test in Playground** - Verify parameter extraction and success evaluation accuracy before deploying
9. **Secure Webhooks** - Use authentication for sensitive data transmission
10. **Monitor Performance** - Review extraction accuracy and adjust descriptions as needed
### AI Suggestion Acceptance Strategy
Ensure the AI correctly understands your agent's purpose and industry.
Review each suggested parameter for relevance to your specific use case.
Modify AI-generated descriptions to match your exact requirements.
Verify that suggested parameters work with your downstream systems.
## Smart Output Patterns by Industry
### AI-Optimized Sales Call Parameters
```json theme={null}
{
"lead_qualification_score": "number",
"interested_product": "string",
"budget_range": "string",
"decision_timeline": "string",
"pain_points": "string",
"competitor_mentioned": "string",
"next_steps": "string",
"follow_up_needed": "boolean",
"decision_maker_present": "boolean",
"company_size": "string",
"current_solution": "string",
"implementation_timeline": "string"
}
```
### AI-Optimized Customer Support Parameters
```json theme={null}
{
"issue_category": "string",
"issue_severity": "string",
"product_affected": "string",
"resolution_provided": "boolean",
"customer_satisfaction": "number",
"escalation_needed": "boolean",
"resolution_time": "number",
"follow_up_required": "boolean",
"root_cause": "string",
"solution_type": "string",
"knowledge_base_used": "string"
}
```
### AI-Optimized Healthcare Scheduling Parameters
```json theme={null}
{
"appointment_date": "string",
"appointment_time": "string",
"service_type": "string",
"provider_requested": "string",
"insurance_verified": "boolean",
"symptoms_mentioned": "string",
"urgency_level": "string",
"confirmation_method": "string",
"reminder_preference": "string",
"special_accommodations": "string"
}
```
## Working with Copilot Suggestions
### Understanding Suggestion Context
When the AI Copilot suggests output parameters, you'll see:
* **Parameter Name** - Optimized field name following naming conventions
* **Data Type** - Recommended type (string, number, boolean) based on expected values
* **Description** - Clear, specific extraction instruction
* **Reasoning** - Why this parameter is relevant to your agent and industry
* **Usage Examples** - Sample values to expect
### Suggestion Management Workflow
* **Accept All** - Apply all suggestions in the relevant banner (Parameters or Enrichment) simultaneously
* **Reject All** - Dismiss all pending changes in that banner
* **Preview Impact** - See how changes affect your configuration
* **Parameter-by-Parameter** - Review each suggestion individually
* **Modify Before Accept** - Edit parameter details before applying
* **Selective Addition** - Choose only relevant suggestions
* **Change Tracking** - See full history of modifications
* **Rollback Options** - Undo recent changes if needed
* **Template Integration** - Combine suggestions with template parameters
### Customizing AI Suggestions
You can modify AI suggestions before accepting them. This allows you to fine-tune parameter names, adjust descriptions for your specific business context, or change data types based on your integration requirements.
## Advanced Integration Scenarios
### Multi-Agent Output Coordination
For organizations running multiple specialized agents:
1. **Consistent Naming** - Use AI suggestions to maintain parameter naming consistency
2. **Cross-Agent Fields** - Implement common fields across different agent types
3. **Enrichment Alignment** - Standardize enrichment settings for unified reporting
4. **Unified Success Criteria** - Define consistent success language across similar agent types for comparable reporting
### CRM Integration Optimization
Match AI-suggested parameters to your CRM field structure.
Ensure parameter types match your CRM field requirements.
Test webhook integration with sample AI-generated data.
Implement proper error handling for parameter mapping issues.
## Next Steps
Configure welcome messages with AI assistance
Set up quality tests and scoring
# Playground
Source: https://docs.meetzy.es/advanced-editor/playground
Test your AI agent in real-time with AI streaming, voice commands, and enhanced debugging
## What is the Playground?
The Playground is an enhanced testing environment in the Advanced Editor where you can interact with your agent in real-time. It allows you to simulate conversations, test different scenarios, and validate your agent's behavior before deploying to production, all while leveraging AI streaming capabilities and advanced voice commands.
Testing in the Playground saves time and money by catching issues before they affect real customer calls, with enhanced debugging capabilities through AI streaming and real-time statistics.
## Enhanced Editor Integration
The Playground now benefits from the Advanced Editor's improved interface, including:
* **AI Streaming**: Real-time AI responses with streaming capabilities for faster feedback
* **Voice Commands**: Use Cmd+Shift+V for hands-free voice recording and testing
* **Statistics Widgets**: Live performance metrics and real-time debugging information
* **View Controls**: Use outline, indented view, and minimap for better code navigation
* **Diff Mode**: Compare changes with inline/split view options when working with versions
* **Focus Mode**: Minimize distractions while testing
* **Collaborative Testing**: Multiple users can test simultaneously with real-time sync
## Accessing the Playground
The Playground is located in the right panel of the Advanced Editor. Click the "Playground" tab to access it.
Open your agent in the Advanced Editor.
Click the "Playground" tab in the right panel.
Use the editor view controls (outline, minimap, focus mode) to optimize your workspace.
Toggle on AI streaming for real-time responses during testing.
## AI Streaming Capabilities
The Playground now supports advanced AI streaming features:
### Real-time Response Streaming
* **Live Generation**: See AI responses being generated in real-time
* **Token-by-Token Display**: Watch the conversation unfold naturally
* **Interruption Support**: Stop generation mid-stream if needed
* **Performance Metrics**: Monitor response time and token usage
### Statistics Widgets
Real-time widgets display crucial metrics during testing:
* **Response Time**: Live latency measurements
* **Token Usage**: Input/output token consumption
* **Memory Usage**: Current conversation context size
* **Streaming Rate**: Tokens per second generation speed
* **Turn Count**: Number of conversation exchanges
* **Average Response Length**: Mean response size
* **Function Calls**: Tool invocation frequency
* **Context Retention**: Memory usage across turns
* **Coherence Score**: Response consistency rating
* **Relevance Rating**: Context-appropriate responses
* **Error Rate**: Failed or incomplete responses
* **User Satisfaction**: Simulated rating based on flow
Statistics widgets update in real-time and may impact performance during intensive testing sessions. Toggle them off for maximum speed.
## Voice Commands Integration
### Voice Recording (Cmd+Shift+V)
The Playground features enhanced voice input capabilities:
Press `Cmd+Shift+V` (Mac) or `Ctrl+Shift+V` (Windows) to start recording.
The system will capture and transcribe your voice in real-time.
See live transcription with confidence indicators.
Either send directly or edit the transcribed text before submission.
### Voice Command Features
| Feature | Description | Keyboard Shortcut |
| --------------- | -------------------------------- | ----------------------------- |
| 🎤 Quick Record | Start/stop voice recording | `Cmd+Shift+V` |
| 🔄 Re-record | Clear and start new recording | `Cmd+Shift+R` |
| ⏸️ Pause/Resume | Pause recording without stopping | `Spacebar` (during recording) |
| 🔊 Playback | Hear your recorded audio | `Cmd+Shift+P` |
| 📝 Edit Mode | Switch to text editing | `Escape` |
Voice commands work with multiple languages and automatically adapt to your agent's language settings.
## Call Types with Streaming Support
You can simulate two types of calls with enhanced AI streaming:
| Type | Description | AI Features | Voice Commands |
| ----------- | --------------------------- | ----------------------------- | ----------------------- |
| 📞 Inbound | Customer calling your agent | Real-time greeting generation | Voice input testing |
| 📤 Outbound | Agent calling a customer | Streaming introductions | Voice script validation |
Use streaming mode to test how your agent handles interruptions and overlapping speech, crucial for real phone conversations.
## Enhanced Testing Interface
### Monaco Editor with AI Integration
The Playground now features advanced editor capabilities:
* **Live Code Analysis**: Real-time syntax validation
* **Smart Suggestions**: AI-powered completion
* **Error Detection**: Instant feedback on configuration issues
* **Performance Hints**: Optimization suggestions
* **Speech-to-Code**: Convert voice commands to configuration
* **Audio Annotations**: Voice notes attached to code sections
* **Pronunciation Testing**: Validate how text sounds when spoken
* **Language Detection**: Auto-detect optimal voice settings
* **Live Cursors**: See other users' editing positions
* **Shared Voice Sessions**: Collaborative voice testing
* **Real-time Comments**: Voice and text annotations
* **Change Broadcasting**: Instant updates across sessions
## Advanced Message Input
### Text Input with AI Assistance
Type messages with enhanced AI support:
* **Auto-completion**: Smart suggestions based on context
* **Grammar Check**: Real-time language validation
* **Intent Detection**: Preview how the agent will interpret your input
* **Template Suggestions**: Common testing phrases
### Enhanced Voice Input
Click the microphone icon or use `Cmd+Shift+V` for advanced voice features:
Activate with keyboard shortcut or button click.
See words appear as you speak with confidence indicators.
System automatically detects and switches languages.
AI cleans up transcription for better testing accuracy.
Watch streaming response generation in real-time.
## Real-time Conversation Visualization
The enhanced conversation view displays:
| Element | Description | Streaming Features |
| ---------------- | ---------------------------------------- | ---------------------------- |
| 👤 User Message | Your inputs with typing indicators | Live transcription display |
| 🤖 Agent Message | Streaming AI responses | Token-by-token generation |
| 🎙️ Voice Input | Audio waveforms and transcription | Real-time speech recognition |
| 🔧 Tool Call | Function calls with streaming parameters | Live parameter generation |
| ✅ Tool Result | Response with streaming data | Progressive result display |
### Audio Playback with AI Enhancement
For each agent response, you can:
* ▶️ Play streaming audio responses
* ⏸️ Pause/resume during playback
* 🔁 Replay with different voice settings
* 📊 Compare audio quality across versions
* 🎛️ Adjust playback speed and tone
* 📈 View audio analytics and clarity metrics
## Statistics Dashboard
### Live Performance Monitoring
The playground features comprehensive real-time statistics:
* **Latency Tracking**: Response time distribution
* **Token Efficiency**: Input/output ratio analysis
* **Streaming Performance**: Generation speed metrics
* **Error Rates**: Failed response tracking
* **Recognition Accuracy**: Transcription confidence scores
* **Audio Quality**: Input clarity measurements
* **Response Clarity**: Generated audio quality metrics
* **Language Detection**: Confidence in language identification
* **Turn Analysis**: Conversation rhythm tracking
* **Context Retention**: Memory usage over time
* **Topic Coherence**: Subject consistency scoring
* **User Engagement**: Interaction quality metrics
* **Memory Consumption**: Real-time usage tracking
* **Processing Load**: System resource monitoring
* **Network Performance**: Connection quality metrics
* **Cache Efficiency**: Response caching effectiveness
## Context Variables with AI Enhancement
Test dynamic variables with intelligent assistance:
Access context variables with AI-powered validation.
Use AI to generate realistic test values for your variables.
Speak variable values using voice commands.
See instant feedback on variable format and content.
### Enhanced Context Management
```json theme={null}
{
"customer_name": "John Smith",
"order_number": "ORD-12345",
"is_premium_customer": true,
"account_balance": 1250.50,
"_ai_context": {
"streaming_enabled": true,
"voice_commands_active": true,
"statistics_level": "detailed",
"real_time_metrics": true
},
"_voice_settings": {
"input_language": "auto-detect",
"transcription_confidence": 0.95,
"voice_enhancement": true
}
}
```
## Reliability Testing with AI Insights
Run comprehensive tests with AI-powered analysis:
Set up test with AI-generated edge cases.
Test with real-time response generation.
Configure voice input variations for testing.
Execute with streaming metrics and voice analysis.
Review detailed performance analysis and suggestions.
AI-enhanced reliability tests consume more resources. Consider running during off-peak hours for best results.
## Voice Command Reference
### Global Commands (Available Anywhere)
| Command | Action | Keyboard Shortcut |
| ----------------- | ------------------------------ | ------------------- |
| "Start recording" | Begin voice input | `Cmd+Shift+V` |
| "Stop recording" | End voice capture | `Cmd+Shift+V` again |
| "Clear input" | Reset current input | `Cmd+Shift+C` |
| "Send message" | Submit current input | `Cmd+Enter` |
| "Show statistics" | Toggle stats panel | `Cmd+Shift+S` |
| "Focus mode" | Enter distraction-free testing | `Cmd+Shift+F` |
### Context-Specific Commands
| Context | Command | Result |
| --------------- | ------------------ | -------------------------------------- |
| Voice Recording | "Pause" | Pause recording without losing content |
| Voice Recording | "Resume" | Continue recording from pause |
| Voice Recording | "Delete last word" | Remove last spoken word |
| Voice Recording | "Start over" | Clear and restart recording |
| Testing Session | "Run test" | Execute current test scenario |
| Testing Session | "Show metrics" | Display performance dashboard |
## Advanced Features
### AI-Powered Test Generation
Let AI create test scenarios for you:
Activate intelligent scenario creation.
Describe what you want to test using voice or text.
AI creates comprehensive test cases with edge conditions.
Run tests with real-time monitoring and voice interaction.
### Collaborative Voice Testing
Multiple team members can test together:
* **Shared Voice Sessions**: Multiple users can provide voice input
* **Real-time Transcription Sharing**: See all participants' input
* **Collective Statistics**: Combined performance metrics
* **Voice Queue Management**: Organized turn-taking for voice input
### Intelligent Error Detection
AI continuously monitors for issues:
* **Response Quality**: Automatic coherence checking
* **Performance Degradation**: Real-time slowdown detection
* **Voice Recognition Errors**: Transcription accuracy monitoring
* **Context Loss**: Memory management issue detection
## Best Practices for AI Streaming
* Enable streaming only when needed for faster basic testing
* Use statistics widgets selectively to avoid performance impact
* Close unnecessary browser tabs during intensive testing
* Test with realistic network conditions
* Speak clearly and at moderate pace for better recognition
* Use consistent terminology for reliable command recognition
* Test in quiet environments for optimal transcription
* Configure microphone permissions before testing sessions
* Establish voice command protocols with team members
* Use shared statistics to identify performance trends
* Coordinate testing schedules to avoid resource conflicts
* Document findings using voice annotations
* Monitor system resources during extended testing
* Use batch testing for high-volume scenarios
* Cache frequently tested scenarios for faster access
* Clean up test data regularly to maintain performance
## Troubleshooting Enhanced Features
| Issue | Solution | AI Feature |
| ------------------------- | ---------------------------------------------- | ------------------------------------- |
| Voice not recognized | Check microphone permissions and speak clearly | Use voice enhancement settings |
| Slow streaming | Disable unnecessary statistics widgets | Enable performance optimization mode |
| Statistics not updating | Refresh statistics panel or restart testing | AI will auto-detect and suggest fixes |
| Collaborative sync issues | Check network connection and user permissions | Real-time conflict resolution |
| Memory usage high | Clear conversation history and restart session | AI memory management suggestions |
## Integration with Advanced Systems
### AI Streaming Integration
* **Real-time Sync**: Streaming reflects current version state instantly
* **Change Detection**: Visual indicators for modifications during streaming
* **Performance Optimization**: AI adjusts streaming rate based on system performance
* **Quality Assurance**: Continuous monitoring of stream quality
### Voice Command Integration
* **Cross-Platform Support**: Works across different operating systems
* **Language Adaptation**: Automatically adapts to user's preferred language
* **Context Awareness**: Commands change based on current testing phase
* **Learning System**: AI learns from your voice patterns for better recognition
## Next Steps
Get AI assistance with enhanced prompt analysis and voice-powered coding
Deep dive into performance metrics and AI-powered insights
Configure advanced voice commands and speech recognition settings
Set up team testing sessions with shared voice and streaming capabilities
# Tests
Source: https://docs.meetzy.es/advanced-editor/tests
Create and run automated regression tests to ensure your AI agent quality
## What are Tests?
Tests are automated regression tests that validate your agent's behavior. Unlike **Evaluations** (which run after every real call), Tests run on-demand in the Advanced Editor to verify your agent responds correctly to specific scenarios before you deploy changes.
Run tests after modifying prompts, knowledge base, or actions to catch regressions before they affect real customers.
## Accessing Tests
Tests are located in the right panel of the Advanced Editor. Click the **Tests** tab (clipboard icon) to access them.
## Tests vs Evaluations
| Feature | Tests | Evaluations |
| ------------- | ------------------------------------------- | --------------------------------- |
| When they run | On-demand in the editor | After every real call |
| Purpose | Validate specific scenarios before deploy | Measure call quality over time |
| Setup | Define conversation flow + success criteria | Define yes/no questions |
| Output | Pass/fail per test | Pass/fail per evaluation per call |
## Test Interface Overview
The Tests panel features a modern tabbed interface with two main sections:
Your test suite with filtering, creation, and execution controls
Past test runs with detailed results and trend analysis
### Header Actions
The header includes quick access to:
* **Context Variables** (`>`) - Set dynamic variables for test execution
* **Simulate** (💬) - Run one-off conversation simulations
* **Batch Controls** - Run tests multiple times for reliability testing
## Test Types
### Scenario Tests
A **Scenario** test defines a fixed conversation flow. You specify the exact messages (user and agent) and a success condition. The system evaluates whether the agent's response meets your criteria.
| Property | Description | Example |
| ----------------- | --------------------------------- | ------------------------------------------------- |
| Chat history | Alternating user/agent messages | User: "Hola" → Agent: "Buenos días..." |
| Success condition | What the agent should achieve | "El agente responde de manera profesional y útil" |
| Success examples | Sample responses that should pass | "Buenos días, ¿en qué puedo ayudarle?" |
| Failure examples | Sample responses that should fail | "No tengo idea" |
### Simulation Tests
A **Simulation** test uses an AI to simulate a user. You define a persona, goal, and first message. The system runs a full conversation and evaluates the outcome.
| Property | Description | Example |
| ------------- | ----------------------------- | --------------------------------------- |
| First message | How the simulated user starts | "Hola, buenos días" |
| Persona | Simulated user's profile | "Cliente interesado en información" |
| Goal | What the simulated user wants | "Obtener información sobre el servicio" |
## Creating a Test
Click the Tests tab in the right panel and ensure you're on the **Tests** tab (not History).
Click the "New" button to start the creation wizard.
Enter a descriptive name and choose Scenario or Simulation.
For Scenario: Add the conversation flow (user/agent messages). For Simulation: Set first message, persona, and goal.
Define the success condition and add success/failure examples to guide the evaluation.
The test is created and appears in the list.
## Context Variables
Tests can use **dynamic variables** that replace placeholders in your agent's prompts during test execution. Access the Context Variables panel by clicking the **`>`** icon in the header.
### Built-in Variables
| Variable | Purpose | Example |
| --------------------- | ---------------------------- | ---------------------------------------------------- |
| `fecha_y_hora_actual` | Current date/time in Spanish | "Hoy es Miércoles 12 de Febrero de 2026 a las 14:30" |
### Custom Variables
You can also set values for your agent's input parameters, which will be injected during test execution.
Click the **`>`** icon in the Tests header. A badge shows how many variables have values set.
Click the refresh icon next to `fecha_y_hora_actual` to update to the current time.
Enter values for any input parameters your agent expects (customer name, order number, etc.).
Variables are automatically injected into the agent's context during execution.
Use `fecha_y_hora_actual` when your agent greets with "Buenos días" or references the current date. Tests run with the values you set, not the live time.
## Batch Testing and Reliability
### Multiple Repetitions
Run tests multiple times to assess reliability and identify intermittent failures:
1. Use the **+/-** controls next to the "Run All" button to set repetition count (1-10)
2. Click **Run All** - the system executes each test the specified number of times
3. View aggregated results in the History tab
Batch testing helps identify consistency issues. If a test passes 8/10 times, you may need to refine your prompts or success criteria.
### Batch Progress Tracking
During batch execution:
* Progress indicator shows current run (e.g., "Running 2/5")
* Individual test cards update with interim results
* History tab populates with each completed run
## Running Tests
### Filter Tests
Use filter buttons to focus on specific test states:
* **All** - Show every test
* **Pass** - Only tests that passed last run (with pass count)
* **Fail** - Only tests that failed last run (with fail count)
### Run All Tests
Click **Run All** to execute every test (or all visible tests if filtered). When batch count > 1, button shows "Run x\[count]".
### Run Selected Tests
1. Use checkboxes to select specific tests
2. Click **Run All** (runs only selected when any are checked)
### Run Individual Tests
Click the play icon (▶) on any test card to run just that test.
## Simulate Conversation
The **Simulate** feature lets you run real-time conversation simulations without creating permanent tests:
Click the chat bubble icon (💬) in the Tests header.
Set first message, persona, goal, and turn limit (default 10).
Click to begin - watch the conversation unfold in real-time with streaming messages.
See full conversation history and final outcome evaluation.
Simulate is perfect for exploratory testing. Use regular Scenario/Simulation tests when you need repeatable, automated validation.
## History Tab
The **History** tab provides comprehensive test run analytics:
### Run Overview
| Column | Description |
| ---------- | ----------------------------------------- |
| Date | When the run was executed |
| Status | Pass count, fail count, or running status |
| Batch Info | Shows repetition info for batch runs |
| Actions | View details, retry failed, retry all |
### Detailed Results
Click any run to open the detail modal:
* **Individual Test Results** - Pass/fail status with evaluation reasoning
* **Agent Responses** - Full agent output for each test
* **Conversation History** - Complete message flow (for simulation tests)
* **Retry Options** - Re-run failed tests or entire batch
### Trend Analysis
For batch runs with multiple repetitions:
* **Success Rate** - Percentage of tests passing across all repetitions
* **Consistency Metrics** - Identify tests with intermittent failures
* **Performance Patterns** - Spot degradation over time
## Results and Analysis
### Test Cards
Each test card displays:
| Icon | Status | Meaning |
| ---- | ------- | ------------------------------------ |
| ✓ | Pass | Agent response met success criteria |
| ✗ | Fail | Agent response did not meet criteria |
| ⟳ | Running | Test is currently executing |
| ○ | Pending | Not run yet |
### Inline Details
Click a test card to expand inline details:
* **Agent Response** - What the agent actually said
* **Evaluation Reason** - Why it passed or failed
* **Full Conversation** - Complete message history (for simulations)
### Batch Results
For batch runs, test cards show aggregated results:
* **Success Rate** - "8/10 passed" format
* **Latest Result** - Most recent execution status
* **Trend Indicator** - Visual indicator of consistency
## Copilot Integration
Failed tests automatically generate improvement suggestions for Copilot:
Execute your test suite and identify failing tests.
The system analyzes failures and creates targeted improvement prompts.
Click the generated prompt to open Copilot with context about specific failures.
Copilot suggests prompt modifications based on test failure analysis.
Run tests again to validate improvements.
Copilot integration requires test failures to generate meaningful suggestions. Ensure your success criteria are specific enough to catch real issues.
## Managing Tests
### Edit a Test
1. Click the menu (⋮) on a test card → **Edit**
2. Modify conversation flow, success criteria, or examples
3. Save changes
### Clone a Test
1. Click the menu (⋮) → **Clone**
2. Creates an exact copy for creating variations
3. Useful for testing different personas with same criteria
### Delete a Test
1. Click the menu (⋮) → **Delete**
2. Confirm deletion (irreversible)
### Organize Tests
* **Name Clearly** - Use descriptive names like "Greeting - Professional Tone"
* **Group by Feature** - Create tests for each major capability
* **Version Control** - Clone tests when making significant criteria changes
## Advanced Features
### Real-time Streaming
Simulation tests stream responses in real-time:
* Watch conversations develop naturally
* See agent thinking process
* Identify response delays or issues
### Dynamic Variable Injection
Context variables are injected dynamically:
* Set once, apply to all tests
* Override per-test if needed
* Track variable impact on results
### Historical Comparison
Compare test results across runs:
* Identify regression patterns
* Track improvement over time
* Validate deployment readiness
## Best Practices
Create tests for your most important flows: greetings, main use case, objections, and compliance.
Provide clear examples so the LLM evaluator understands what "good" and "bad" responses look like.
If your agent uses or input parameters, set them in the context panel before running tests.
Run tests multiple times to identify consistency issues and improve reliability.
Use the History tab to track test performance over time and catch regressions early.
Run tests before publishing changes and use Copilot integration for continuous improvement.
## Troubleshooting
### Tests Won't Run
Ensure required variables like `fecha_y_hora_actual` are set.
Make sure success conditions are specific and measurable.
Confirm your agent has proper prompts and knowledge base setup.
### Inconsistent Results
* **Increase Batch Size** - Run tests 3-5 times to identify patterns
* **Refine Success Criteria** - Make conditions more specific
* **Check Variable Values** - Ensure context variables are set correctly
### Failed Evaluations
* **Review Examples** - Add more success/failure examples
* **Simplify Criteria** - Break complex conditions into multiple tests
* **Use Copilot** - Let AI suggest improvements based on failures
## Next Steps
Set up post-call quality metrics
Test your agent interactively
Get AI help improving your prompts
Configure variables for tests and calls
# Version History
Source: https://docs.meetzy.es/advanced-editor/version-history
Git-based version control system for agent configurations with real-time collaboration, conflict resolution, and production deployment workflows
## What is Version History?
Version History provides a complete Git-based version control system for your AI agent configurations, featuring real-time collaboration, intelligent conflict resolution, and safe production deployment workflows. Every modification is tracked with detailed change diffs, collaborative editing locks, and professional commit workflows similar to GitHub or GitLab.
Version History operates like a professional development environment with Git-style workflows. Track changes in real-time, collaborate safely with team members, resolve conflicts intelligently, commit with descriptive messages, and deploy to production with confidence. Your entire development history is preserved with comprehensive audit trails.
## Accessing Version History
Version History is seamlessly integrated into the Advanced Editor interface with two main access points:
### Git Status in Header Bar
The editor header displays comprehensive Git status with real-time collaboration indicators:
* **Status badges**: Live indication of working tree state (Clean, Modified, Conflicts, Syncing, Locked)
* **Version display**: Current version number with immediate updates
* **Collaboration indicators**: Active user presence and edit locks
* **Quick action toolbar**: Integrated Check, Pull, and Commit buttons
### Changes Panel
Access the full version control interface through the right panel **"Changes"** tab, providing:
* **Pending Changes**: Review all modifications with detailed diffs before committing
* **History Timeline**: Complete chronological version history with deployment status
* **Commit Workflow**: Professional commit interface with AI-powered message generation
## Git-Style Status System
### Real-Time Status Indicators
The header status badge provides instant feedback on your working tree state:
**Green Badge: "Clean"**
* No pending changes, synchronized with remote
* Version display shows current committed version
* All changes committed and pushed to remote
* Ready for new modifications or production deployment
* Collaboration indicators show any active team members
**Yellow Badge: "Modified (N)"**
* Shows exact count of changed configuration fields
* Real-time tracking of specific modified sections
* Granular change detection at field level
* Ready to review changes and create commit
* Auto-save preserves work without committing
**Red Badge: "Conflicts (N)"**
* Merge conflicts detected from simultaneous edits
* Shows count of specific fields requiring resolution
* Guided conflict resolution workflow available
* Manual intervention required before committing
* Visual diff tools highlight conflicting changes
**Blue Badge: "Syncing..."**
* Automatic synchronization with remote in progress
* Background processing of incoming changes
* Queue status for pending remote updates
* Non-conflicting changes merged automatically
* Temporary state during collaboration sync
**Orange Badge: "Locked by X user(s)"**
* Collaborative editing protection active
* Shows specific users currently making changes
* Prevents conflicting simultaneous modifications
* Automatic lock release after inactivity timeout
* Real-time collaboration coordination
### Integrated Control Toolbar
Quick action buttons seamlessly integrated into the editor header provide professional Git-style workflow control:
**Keyboard Shortcut: ⌘U**
Manually check for remote updates and potential conflicts. Useful when auto-sync is disabled or when you want to verify remote state before making changes.
**Keyboard Shortcut: ⌘⇧P**
Fetch and merge latest changes from remote repository. Automatically resolves non-conflicting changes and flags conflicts for manual resolution.
**Keyboard Shortcut: ⌘Enter**
Save current changes with descriptive commit message. Opens professional commit interface with AI-powered message generation and production deployment options.
**Keyboard Shortcut: ⌘⇧Enter**
Deploy committed version directly to production environment. Available after successful commit with immediate live deployment.
## Advanced Change Tracking
### Granular Change Detection
The system provides comprehensive change tracking at multiple levels:
* **Individual property tracking**: Every configuration field monitored for modifications
* **Type-aware comparison**: Intelligent comparison based on data types
* **Nested object support**: Deep tracking of complex configuration structures
* **Array change detection**: Additions, removals, and reordering in lists
* **Logical grouping**: Changes categorized by configuration sections
* **Priority indication**: Critical changes highlighted prominently
* **Impact assessment**: Visual indication of change significance
* **Dependency tracking**: Related changes grouped intelligently
* **Live comparison**: Instant diff between current and committed state
* **Syntax highlighting**: Enhanced readability with color-coded changes
* **Context preservation**: Surrounding unchanged content for clarity
* **Expandable details**: Drill down into specific change details
* **Automatic monitoring**: Continuous checking for conflicting changes
* **Smart conflict identification**: Detection of semantically conflicting modifications
* **Resolution suggestions**: AI-powered conflict resolution recommendations
* **Manual resolution tools**: Visual diff interface for complex conflicts
### Enhanced Change Categories
Different types of changes have varying impact on agent behavior. System prompt modifications directly affect conversation flow, while basic settings changes may only impact metadata. Always test changes thoroughly in Playground before production deployment.
**High Impact Changes**
* **System Prompt**: Primary behavioral instructions and conversation logic
* **Voice Model**: Speech synthesis and voice characteristics
* **Response Settings**: Timing, interruption handling, and conversation flow
* **Language Configuration**: Primary language and accent settings
**Workflow Impact Changes**
* **Parameter Definitions**: New fields, validation rules, and data types
* **Required Fields**: Changes affecting call completion requirements
* **Output Webhooks**: Integration endpoints and payload structures
* **Data Processing**: Transformation rules and formatting logic
**Capability Changes**
* **Transfer Configuration**: Call routing rules and destination settings
* **End Call Strategy**: Conversation conclusion logic and criteria
* **Tool Integrations**: External API connections and capabilities
* **Workflow Automation**: Business logic and process flows
**Low Impact Changes**
* **Agent Name and Description**: Identity and documentation updates
* **UI Preferences**: Display settings and organizational metadata
* **Access Permissions**: User roles and visibility settings
* **Monitoring Configuration**: Analytics and logging preferences
## Professional Commit Workflow
### Smart Commit Interface
The commit process follows professional Git workflows with enhanced AI assistance:
Access the Changes tab to review all pending modifications with expandable diff views, impact assessment, and change categorization for thorough inspection.
Use checkboxes to stage specific changes for commit, enabling granular control over what gets included in each version for logical change grouping.
Click "✨ Generate" to create intelligent commit messages based on actual changes made, with context-aware suggestions and best practice formatting.
Enable "Deploy to Production" to automatically make changes live after successful commit, with safety confirmations and rollback preparation.
Final review dialog shows complete change summary, deployment impact, and confirmation options before creating the new version in timeline.
### Intelligent Commit Message Generation
**Context-Aware Generation**
* **Change Analysis**: AI analyzes actual fields and content modifications
* **Impact Assessment**: Identifies behavioral changes and their significance
* **Action-Oriented Language**: Uses clear, descriptive verbs and technical accuracy
* **Scope Indication**: Includes specific components and areas affected
**Example Generated Messages:**
```
✅ Update system prompt to improve customer service tone
✅ Add weather lookup capability with OpenWeather integration
✅ Fix webhook timeout configuration for order processing
✅ Remove deprecated email notification from end call workflow
✅ Optimize response timing for better conversation flow
```
**Professional Commit Message Format**
```
Type: Brief description of what changed
Optional longer explanation of why the change was made,
what business need it addresses, and any relevant context
for future developers.
- Key changes or impacts
- Testing performed
- Related tickets or requirements
```
**Recommended Types:**
* `feat:` New feature or capability
* `fix:` Bug fix or correction
* `update:` Modification of existing functionality
* `config:` Configuration or settings change
* `docs:` Documentation updates only
**Ineffective Commit Messages**
```
❌ "Fixed stuff"
❌ "Updates"
❌ "Changed things around"
❌ "WIP - work in progress"
❌ "Minor tweaks"
❌ "Commit before deadline"
❌ "Testing"
❌ "Temporary changes"
```
**Why These Are Problematic:**
* No indication of what actually changed
* Impossible to understand impact without reviewing diffs
* Makes debugging and rollback decisions difficult
* Provides no context for team collaboration
## Comprehensive Version Timeline
### Professional History Interface
The History timeline provides complete chronological tracking of all agent versions:
Browse through complete version history with intuitive chronological layout, visual hierarchy, and comprehensive filtering options.
Each version displays commit message, timestamp, author information, production status, change summary, and performance metrics.
Instant access to Restore Version, Deploy to Production, View Detailed Changes, Compare with Current, and Create Feature Branch.
Click any version for expanded view with complete diff visualization, metadata analysis, and deployment history.
### Enhanced Version Cards
Each version in the timeline provides comprehensive information for effective version management:
| Element | Information | Visual Features |
| ----------------------- | -------------------------------------- | ------------------------------------------------------ |
| **Version Number** | Sequential versioning (v1, v2, v3...) | Prominent version tag with status indicators |
| **Commit Message** | Developer-provided change description | Primary text with intelligent truncation and expansion |
| **Timestamp** | Creation time with relative display | Human-readable relative time (e.g., "2 hours ago") |
| **Author Information** | User details with role and permissions | Avatar, name, role badge, and contact information |
| **Production Status** | Current deployment and live status | Prominent "LIVE" badge for active production versions |
| **Change Summary** | Quantified modification statistics | Colored badges showing adds/modifications/deletions |
| **Performance Metrics** | Success rates and call statistics | Real-time performance data for deployed versions |
| **Branch Information** | Source branch and merge details | Branch indicators and merge commit relationships |
## Production Deployment Management
### Safe Production Workflow
Only the version marked as "Production" handles live customer calls. All other versions remain in development state. Exercise extreme caution when deploying to production, as changes immediately affect customer interactions and business operations.
Thoroughly test changes using Playground, run automated regression tests, validate with stakeholders, and ensure rollback plan is ready.
Navigate the History timeline to identify the specific version for production deployment, review change summary and impact assessment.
Use "View Changes" to examine detailed modifications, assess business impact, verify compliance requirements, and confirm testing completion.
Click "Mark as Production" to designate version for live traffic, review deployment confirmation dialog showing affected systems.
Final confirmation dialog shows complete impact analysis, affected call volumes, and emergency rollback procedures before deployment.
Monitor live call performance metrics, success rates, error patterns, and be prepared for immediate emergency rollback if issues arise.
### Production Status Management
* **Prominent "LIVE" badge**: Clearly identifies currently deployed version
* **Crown icon**: Visual hierarchy indicator for production status
* **Green border highlighting**: Makes production version stand out in timeline
* **Real-time metrics**: Live performance statistics and call success rates
* **Traffic routing status**: Confirmation of active call routing to this version
* **Deployment timestamps**: Complete record of when each version went live
* **Duration tracking**: How long each version served production traffic
* **Rollback indicators**: Versions that were emergency rolled back with reasons
* **Performance correlation**: Success metrics tied to specific version deployments
* **Business impact analysis**: Revenue and customer satisfaction correlations
* **Staging environment**: Safe testing environment mirroring production
* **A/B testing capability**: Gradual rollout to percentage of traffic
* **Blue-green deployment**: Zero-downtime deployment strategy support
* **Canary releases**: Limited exposure testing with automatic rollback
* **Environment synchronization**: Consistent configuration across environments
## Real-Time Collaboration Features
### Advanced Collaboration System
Professional team collaboration with conflict prevention and resolution:
Real-time display of all team members currently editing the agent, with activity status and current focus areas for coordination.
Automatic locking system prevents simultaneous edits to the same configuration sections, with clear lock indicators and timeout management.
Background synchronization every 30 seconds checks for remote changes, with smart merging of non-conflicting modifications automatically.
When conflicts occur, visual diff interface provides step-by-step resolution workflow with merge options and preview capabilities.
### Collaboration State Management
* **User avatars**: Live display of currently active editors with status
* **Section-level locks**: Visual indicators when specific areas are being edited
* **Real-time sync status**: Header badge showing current collaboration state
* **Change notifications**: Instant alerts when remote changes are detected
* **Activity timeline**: Recent collaborative activities and contributions
* **Visual conflict highlighting**: Clear markers for conflicting configuration sections
* **Resolution options**: Choose local changes, remote changes, or create custom merge
* **Preview functionality**: See results of conflict resolution before final commitment
* **Guided step-by-step process**: Wizard interface for complex conflict scenarios
* **Backup and recovery**: Automatic backups during conflict resolution process
* **Background monitoring**: Continuous polling for remote repository changes
* **Smart merging algorithms**: Automatic resolution of non-conflicting modifications
* **Conflict prediction**: Early warning system for potential editing conflicts
* **Manual override controls**: Force sync options when automatic resolution fails
* **Network resilience**: Graceful handling of connectivity issues and recovery
### Pull and Sync Operations
System continuously monitors remote repository for changes, with configurable polling intervals and immediate notification of conflicts.
Use "Check" button (⌘U) to manually verify remote change status, bypass automatic sync, and get immediate status update.
Use "Pull" button (⌘⇧P) to fetch and integrate all remote changes, with automatic conflict detection and resolution guidance.
When conflicts are detected, guided interface helps resolve each conflict with visual diff tools and merge options.
Status automatically updates to "Clean" when local and remote states are fully synchronized and all conflicts resolved.
## Advanced Workflow Patterns
### Emergency Production Hotfix
Rapidly identify urgent production issue requiring immediate configuration change through monitoring alerts or customer reports.
Make precise, minimal changes to only the specific configuration elements needed to resolve the critical issue.
Use Playground for immediate verification that the fix resolves the issue without introducing unintended side effects.
Use "Deploy to Production" toggle during commit to push changes live immediately, bypassing normal review cycles.
Monitor call analytics and performance metrics in real-time to confirm successful resolution of the production issue.
Update commit messages with detailed incident context for future reference and create post-mortem documentation.
### Feature Development with Branching
Create new development branch from stable main branch for isolated feature development without affecting production.
Make incremental changes with frequent commits, descriptive messages, and regular testing to maintain development momentum.
Use Playground extensively, run automated regression tests, and validate in staging environments before merge consideration.
Collaborative review of changes using integrated diff views, comment system, and approval workflows before integration.
Merge completed and fully tested feature back to main development branch with conflict resolution as needed.
Deploy merged version to production with comprehensive monitoring, gradual rollout, and prepared rollback procedures.
### Emergency Rollback Procedures
Quickly identify production issues through automated monitoring, customer reports, or team observations with severity assessment.
Evaluate issue severity, customer impact, and business consequences to determine if immediate rollback is necessary.
Use History timeline to quickly identify the most recent stable production version with confirmed good performance.
Use "Restore This Version" to immediately revert configuration to last stable state, bypassing normal review processes.
Mark restored version as Production to stop customer impact immediately and restore service to known good state.
After stability is restored, analyze the problematic version to understand root cause and prevent future occurrences.
## Comprehensive Keyboard Shortcuts
### Primary Version Control Actions
| Action | Windows/Linux | macOS | Description |
| --------------------------- | ------------------ | --------- | -------------------------------------------------------------- |
| **Open Changes Panel** | `Ctrl+G` | `⌘G` | Switch to Changes tab for reviewing pending modifications |
| **Check for Updates** | `Ctrl+U` | `⌘U` | Manually check remote repository for new changes and conflicts |
| **Pull Remote Changes** | `Ctrl+Shift+P` | `⌘⇧P` | Fetch and merge latest changes from remote repository |
| **Open Commit Dialog** | `Ctrl+Enter` | `⌘Enter` | Open professional commit interface for current changes |
| **Deploy to Production** | `Ctrl+Shift+Enter` | `⌘⇧Enter` | Push committed version directly to production environment |
| **Generate Commit Message** | `Ctrl+Shift+G` | `⌘⇧G` | AI-generate descriptive commit message based on changes |
### History and Navigation
| Action | Windows/Linux | macOS | Description |
| -------------------------- | -------------- | ----- | ----------------------------------------------------------------- |
| **View History Timeline** | `Ctrl+H` | `⌘H` | Switch to History view for complete version timeline |
| **Quick Rollback** | `Ctrl+Shift+R` | `⌘⇧R` | Quick access to emergency rollback to last production version |
| **Compare Versions** | `Ctrl+D` | `⌘D` | Open side-by-side comparison between current and selected version |
| **Search Version History** | `Ctrl+F` | `⌘F` | Search version history by commit message, author, or date |
### Change Review and Editing
| Action | Windows/Linux | macOS | Description |
| ------------------------ | -------------- | ----- | --------------------------------------------------- |
| **Expand All Changes** | `Ctrl+Shift+E` | `⌘⇧E` | Expand all change sections for comprehensive review |
| **Collapse All Changes** | `Ctrl+Shift+C` | `⌘⇧C` | Collapse all sections for overview and navigation |
| **Next Change** | `Ctrl+Down` | `⌘↓` | Navigate to next changed configuration section |
| **Previous Change** | `Ctrl+Up` | `⌘↑` | Navigate to previous changed configuration section |
| **Toggle Diff View** | `Alt+D` | `⌥D` | Switch between inline and side-by-side diff views |
## Production Best Practices
**Atomic Commits Strategy**
Create commits after each logical change rather than bundling multiple unrelated modifications. This creates more granular restore points and makes the timeline easier to navigate for debugging and collaboration.
* One feature or fix per commit
* Clear, descriptive commit messages explaining what and why
* Include business context and requirements references
* Test each commit individually before pushing
**Multi-Layer Testing Approach**
Always validate changes thoroughly before production deployment to minimize customer impact and business disruption.
* Use Playground for conversation flow testing
* Run automated regression test suites
* Validate in staging environments that mirror production
* Perform load testing for performance-critical changes
* Get stakeholder approval for behavioral changes
**Branch Management Strategy**
Use feature branches effectively to isolate development work and enable parallel development without conflicts.
* Create feature branches for major changes or experiments
* Keep main branch stable and deploy-ready
* Use descriptive branch names reflecting the work
* Merge branches only after thorough testing and review
* Delete branches after successful merge to avoid clutter
**Continuous Production Oversight**
Monitor agent performance continuously after deployments to catch issues early and ensure optimal performance.
* Set up automated alerts for performance degradation
* Monitor key metrics: success rate, response time, error patterns
* Establish baseline metrics before major changes
* Prepare rollback procedures before each deployment
* Document monitoring procedures for team consistency
**Team Coordination Best Practices**
Prevent conflicts through communication and coordinated development practices.
* Communicate major changes before starting work
* Use the collaboration lock system effectively
* Resolve conflicts promptly when they occur
* Maintain awareness of team member activities
* Establish team conventions for commit messages and workflows
**Change Documentation Standards**
Document not just what changed, but why changes were made and their expected impact.
* Include business context in commit messages
* Reference tickets, issues, or requirements driving changes
* Document testing performed and results achieved
* Note any special deployment considerations or risks
* Maintain changelog for major feature releases
## Troubleshooting and Recovery
### Common Scenarios and Solutions
**Step-by-Step Conflict Resolution**
When conflicts appear, the system provides a guided resolution process:
1. **Identify Conflicts**: Changes tab highlights conflicting fields in red
2. **Review Changes**: Use diff interface to understand both local and remote changes
3. **Choose Resolution**: Select local changes, remote changes, or create custom merge
4. **Preview Results**: Review the merged result before committing
5. **Complete Resolution**: Commit the resolved changes to complete the merge
Each conflict must be resolved individually for complete merge completion.
**Change Recovery Process**
All changes are preserved in version history - nothing is permanently lost:
* **Check History Timeline**: Review recent commits for your changes
* **Search by Author**: Filter history by your username
* **Search by Message**: Use commit message search to locate changes
* **Check Uncommitted Changes**: Look in Changes tab for unsaved work
* **Branch Investigation**: Changes might be in feature branches
If changes still seem missing, contact support with specific details about when changes were made.
**Critical Issue Response Protocol**
For production emergencies requiring immediate action:
1. **Assess Impact**: Determine severity and customer impact scope
2. **Emergency Rollback**: Use quick rollback to last known good version
3. **Verify Resolution**: Confirm issue is resolved with rollback
4. **Communicate Status**: Update stakeholders on resolution
5. **Investigate Root Cause**: Analyze problematic version after stability restored
6. **Implement Preventive Measures**: Update processes to prevent recurrence
Document all emergency actions for post-incident analysis.
**Sync Problem Resolution**
When auto-sync shows persistent errors or fails to complete:
* **Manual Sync**: Use Check and Pull buttons to force synchronization
* **Clear Browser Cache**: Refresh authentication and cached data
* **Network Verification**: Check internet connectivity and firewall settings
* **Authentication Check**: Verify login status and permissions
* **Browser Refresh**: Complete page reload to reset sync state
If problems persist after these steps, contact technical support with error details.
**Resolving Edit Lock Issues**
When locked out due to collaborative editing conflicts:
* **Wait for Timeout**: Locks automatically release after 30 minutes of inactivity
* **Contact Active User**: Reach out directly to the user holding the lock
* **Save Work Locally**: Preserve your changes to prevent loss during resolution
* **Admin Override**: System administrators can manually release stuck locks
* **Alternative Approach**: Use feature branches to work around active locks
Document recurring lock issues to improve team coordination processes.
**Deployment Problem Response**
When deployed changes cause performance problems or unexpected behavior:
1. **Immediate Assessment**: Check call analytics for impact measurement
2. **Traffic Analysis**: Monitor call volume, success rates, and error patterns
3. **Gradual Rollout**: If available, limit exposure using A/B testing
4. **Performance Baselines**: Compare against pre-deployment metrics
5. **Emergency Rollback**: If severe issues, immediately revert to stable version
6. **Issue Documentation**: Record problems for future deployment planning
Always establish performance baselines before significant changes.
## Integration with Advanced Editor
### Seamless Cross-Feature Integration
Version History is deeply integrated with all Advanced Editor features for unified workflow:
* **Real-time change detection**: Every keystroke and modification tracked automatically
* **Syntax-aware diffing**: Intelligent comparison considering code structure
* **Auto-save with version tracking**: Continuous preservation without committing
* **Conflict highlighting**: Visual indicators directly in editor for conflicts
* **Suggestion tracking**: AI recommendations tracked as potential changes
* **Commit message generation**: Copilot analyzes changes for intelligent descriptions
* **Change impact analysis**: AI assessment of modification significance
* **Optimization suggestions**: Recommendations for commit organization
* **Test result correlation**: Link test outcomes to specific versions
* **Pre-commit validation**: Test results inform deployment readiness
* **Performance benchmarking**: Testing data included in commit context
* **Regression detection**: Automated comparison with previous test results
* **Automated test triggers**: Version changes trigger regression test suites
* **Deployment blocking**: Failed tests prevent production deployment
* **Test history correlation**: Link test results to specific version deployments
* **Quality gate enforcement**: Require passing tests before production marking
### Workflow Automation
Monaco Editor modifications automatically flow into version tracking with real-time diff generation and change categorization.
Copilot analyzes pending changes to generate contextual commit messages and impact assessments for informed decisions.
Playground test results and automated test suite outcomes are incorporated into deployment decision workflows.
Successful commits can trigger automated deployment pipelines with safety checks and monitoring integration.
## Next Steps
Validate your modifications with comprehensive conversation testing before committing changes to version history
Get intelligent assistance with commit messages, change analysis, and optimization recommendations
Set up comprehensive regression tests to prevent production issues and ensure quality
Monitor real-time performance metrics and success rates after deploying configuration changes
# Manage Agents
Source: https://docs.meetzy.es/agents/manage-agents
Learn how to view, edit, clone, archive, and manage your voice agents in the redesigned Meetzy Agents dashboard
## Overview
The **Agents** page has been fully redesigned around a **master-detail layout**: a compact agent list on the left and a rich detail panel on the right, so you can browse, inspect, and act on any agent without leaving the page.
This redesign replaces the classic Agents page. A **"Switch back to the classic view"** banner sits at the very top of the screen while both experiences coexist — click it any time to return to the previous layout without losing your place.
## What's New in the Agents Page (Agents v2)
The new Agents page (internally called **Agents v2**) bundles several improvements that were previously scattered across different views or unavailable altogether:
* **Latency history per agent** — every agent row shows a compact latency sparkline, and the detail panel's Overview tab includes a full 14-day latency history chart, so you can spot regressions at a glance or dive deeper without leaving the page.
* **Lazy-loaded Phone Health chips** — a colored beacon next to each agent's number reflects its spam/deliverability status (green, red, or gray), with a direct link into the full [Phone Health](/agents/phone-numbers) report. To keep the page fast, this status is fetched on demand rather than for the whole list at once.
* **Sortable agent list** — a dedicated sort selector lets you reorder the list by newest, most calls, or name.
* **Richer filters** — search, company, archived visibility, and a dedicated spam-only toggle now live together in a single filters bar, with a one-click **Clear filters** action.
* **New "Call" modal** — placing a test call (inbound or outbound) now happens from a redesigned modal with country prefix selection, agent version selection for Advanced agents, and a shortcut to edit custom form fields, all without leaving the Agents page.
* **Collapsible demo agents section** — sample/demo agents are grouped separately from your real agents and tucked away by default, keeping the main list focused.
* **A brand-new detail panel** — selecting an agent now opens a tabbed **Overview / Calls / Settings** panel packed with metrics, a 90-day call log, and the full configuration form, all in one place.
Missing the old page already? The **"Switch back to the classic view"** link at the top of the screen is still there for you — no judgment if you, like Wolverine pining for 1980s Canada, occasionally long for the way things used to be.
A scrollable list of agents with search, company filter, a sort selector, and an **Archived agents** visibility toggle. Selecting an agent loads its details on the right without a full page reload. Each row also surfaces a phone health indicator and a latency mini-chart at a glance. Demo agents appear in their own collapsible section below your real agents.
A tabbed panel — **Overview**, **Calls**, and **Settings** — showing everything about the selected agent: performance metrics, latency history, call log, and configuration.
## Agent List and Filters
### Search and Company Filter
The filters bar above the list lets admins and multi-company users narrow down the agent list quickly:
| Filter | Description |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Search** | Matches agent name, company, or agent ID in real time |
| **Company** | Dropdown with a built-in search box to filter agents by organization; defaults to **"All companies"** |
| **Archived agents** | Toggle switch to show or hide archived agents in the list (hidden by default) |
| **Phone health** | Toggle switch to show only agents whose numbers currently have spam/deliverability issues |
| **Clear filters** | Appears only when at least one filter is active, resetting search, company, archived visibility, and the phone health filter |
The company filter dropdown includes its own search box, making it easy to jump straight to a specific organization when you manage dozens of companies.
### Sorting the List
A compact sort selector sits above the agent list, next to the agent count, and lets you reorder the list without affecting any of the active filters:
| Sort option | Order |
| -------------------------- | -------------------------------------------------------------------------------------- |
| **Newest first** (default) | Most recently created agents at the top |
| **Most calls** | Agents ranked by call volume in the same 14-day window used for the latency sparklines |
| **Name (A-Z)** | Alphabetical, ascending |
| **Name (Z-A)** | Alphabetical, descending |
Your sort preference persists across visits, so you don't need to reselect it every time you open the Agents page.
### Selecting an Agent
Click any row in the list to open it in the detail panel. The selected row is highlighted with a colored left border, and archived agents display a small **Archived** badge next to their name.
### Phone Health Indicator and Latency Mini-Chart
Every row in the agent list now includes two at-a-glance signals, so you no longer need to open an agent to spot a problem:
* **Phone health beacon**: a small colored dot next to the agent's phone number reflecting the spam/deliverability status of its assigned numbers (green = healthy, red = spam issues detected, gray = status unknown or still loading). Click it to jump straight into the [Phone Health](/agents/phone-numbers) report for that agent.
* **Latency sparkline**: a compact 14-day mini-chart of average AI response latency, rendered inline in the row. It uses the same underlying data as the Overview tab's latency history chart, letting you compare agents' recent performance without opening each one individually.
**Latency history** is fetched in bulk (in small chunks) right after the list loads, so sparklines populate for every visible row a moment after the initial render.
**Phone health**, however, is loaded **lazily** and per agent — it's a slower check that isn't practical to run for hundreds of agents at once. The beacon shows a neutral "Check" state until you either select that agent (which triggers its individual health check) or turn on the **Phone health** spam-only filter, which loads the status for every currently visible agent so the filter can work correctly.
### Collapsible Demo Agents
Sample and demo agents are grouped separately from your production agents, in a dedicated **Demo agents** section below the main list. This section is **collapsed by default** to keep the primary list focused on the agents you actually manage — click its header to expand or collapse it. Demo agents can still be selected, previewed, and called for testing purposes like any other agent, but they're excluded from the main list's filters and sort order.
## Agent Detail Panel
Selecting an agent from the list opens the detail panel on the right, with a header showing the agent's name, ID badge, and company, followed by a set of quick action buttons and three tabs: **Overview**, **Calls**, and **Settings**.
On mobile and narrow screens, the header actions collapse into a single kebab (**⋮**) menu to save space, exposing the same options in a dropdown.
### Header Actions
A row of buttons at the top of the panel gives you one-click access to the most common agent workflows, without needing to scroll into the Overview tab:
| Action | Availability | What it does |
| ----------- | ---------------------------------------------- | -------------------------------------------------------------------------------- |
| **Editor** | Advanced agents only | Opens the [Advanced Editor](/agents/advanced-editor) for this agent in a new tab |
| **Trends** | Advanced agents only | Opens the evaluation trends view for this agent in a new tab |
| **Clone** | Admins and users/members with clone permission | Launches the two-step clone assistant described below |
| **Archive** | Users with agent create/edit permission | Launches the archive confirmation flow described below |
**Performance dashboard** for the agent, including:
* **Summary cards**: total calls, average call duration, and average AI latency (with a trend arrow comparing recent vs. previous performance, plus a P90 latency reading)
* **Latency history chart**: a 14-day time series of average AI response latency, helping you spot regressions or improvements over time
* **Call volume chart**: a 30-day time series of daily call counts
* **Phone health**: a clickable card linking to the spam/deliverability report for the agent's assigned numbers
A sortable table of the agent's calls from the **last 90 days**, including date, origin number, status, duration, and latency. Click any column header to reorder the table by that field. Admin users additionally see quick links per call out to **Twilio** and **ElevenLabs** for deeper debugging. Recordings can be played directly from this tab using the same player used across the Calls section, letting you inspect a specific call without leaving the panel. A **"View all calls"** shortcut opens the main Calls section in a new tab, already filtered down to this agent, for whenever the 90-day snapshot isn't enough.
The full configuration form for standard (non-Advanced) agents — the same settings previously available on the classic page, including save/discard change detection and an editing timeout safeguard. Advanced agents don't show this tab since their configuration is managed from the [Advanced Editor](/agents/advanced-editor).
The **Avg AI latency** trend arrow compares the average of the most recent half of the visible days against the earlier half — an upward red arrow means latency is increasing, a downward green arrow means it's improving. It only appears once enough daily data points are available.
### Summary Cards
The three cards at the top of the Overview tab give you an instant read on agent health:
| Card | What it shows |
| ------------------ | -------------------------------------------------------------------------------------------------- |
| **Total calls** | Total number of calls handled by the agent |
| **Avg duration** | Average call length, formatted as minutes:seconds |
| **Avg AI latency** | Average AI response latency in milliseconds, its trend arrow, and the P90 latency value underneath |
### Latency History and Call Volume Charts
Below the summary cards, two charts plot the agent's daily behavior over time:
* **Latency history (14 days)**: average AI latency per day, plotted chronologically to make regressions easy to spot.
* **Call volume (30 days)**: number of calls handled per day, useful for spotting usage spikes or drop-offs.
Both charts share the same rendering component and gracefully show an empty state message when there isn't enough data yet.
### Phone Health Shortcut
The **Phone health** card sits below the charts and links directly to the spam/deliverability report for the numbers assigned to the selected agent — the same report reachable from the row-level beacon in the agent list. Selecting an agent from the list is exactly what triggers its individual phone health check, so this card should always have fresh data by the time you view it.
### Calls Tab in Detail
The Calls tab gives you a focused, agent-scoped view of call history without needing to jump to the main Calls section and filter manually:
* **90-day window**: the table loads calls from the last 90 days by default, sorted by most recent first.
* **Sortable columns**: click any column header (date, status, duration, latency, etc.) to toggle its sort order.
* **Admin-only debugging links**: admin users see extra per-call links out to the underlying **Twilio** call log and the **ElevenLabs** conversation, useful when troubleshooting a specific problem call.
* **Inline recording playback**: click a call to open its recording in the same player component used in the main Calls section, so you can listen to (or download) the audio without leaving the agent's detail panel.
* **View all calls**: opens the full [Calls](/calls) section in a new tab, pre-filtered to this agent's ID, for whenever you need to look further back than 90 days or apply additional filters.
This shortcut mirrors an option that existed on the classic Agents page — it opens the general Calls list scoped to the agent instead of duplicating advanced filtering inside the detail panel.
### Settings Tab in Detail
For standard (non-Advanced) agents, the Settings tab reproduces the full classic configuration form inside the detail panel:
* **Agent name** and core identification fields
* **Prompts**: the agent's system/behavior prompts, editable inline or via a fullscreen textarea for longer content
* **Outbound options**: call behavior settings applied to outbound calls
* **Evaluations**: manage the list of post-call evaluations run against this agent's conversations, including creating, editing, and deleting evaluation criteria
* **Webhook**: configure the webhook endpoint that receives call events and data for this agent
* **NPS survey**: enable and configure a post-call satisfaction survey
* **Danger zone**: a collapsed, opt-in section exposing sensitive, rarely-touched settings — raw instructions, assigned phone numbers, and call transfer configuration
The **Danger zone** fields directly affect how the agent behaves in production calls. Double-check raw instruction changes, phone number assignments, and transfer settings before saving.
Settings changes are tracked with a **dirty-check**: the Save button only activates once you've actually modified something, and an **editing timeout** automatically locks the form after **10 minutes of inactivity**, requiring you to reload the latest data before making further changes. This prevents two people from silently overwriting each other's edits.
### Quick Actions
The same **Editor**, **Trends**, **Clone**, and **Archive** actions available in the panel header are the primary entry points for the workflows below — use whichever one matches what you need to do with the selected agent.
## Clone Agents
Agent cloning now uses a guided **two-step assistant** instead of a single form, making it clear exactly what will be duplicated before anything is created.
Open **Clone** from the agent detail panel's header actions to fill in the base configuration:
* **Agent Name**: defaults to ` (Copy)`, fully editable
* **Target Company**: shown only to admin users on the Meetzy domain with access to multiple companies; regular users automatically clone into their own company
* **Phone Number**: select an available number from the same Twilio account as the original agent — the list loads automatically once a company is chosen
* **Number Usage**: choose whether the assigned number is used for **Outbound & Inbound**, **Outbound only**, or **Inbound only**
* **Agent Tools**: choose between **Duplicate tools** (independent copies, safe to edit separately) or **Reuse existing tools** (both agents share the same tools, and edits to one affect the other)
Clicking **Continue** moves to a summary screen listing the target company, the phone number and its usage mode, and the tools strategy in plain language before you confirm. Use **Back** to return and adjust any setting.
Confirming triggers the clone request; the button switches to a disabled **"Cloning..."** state to prevent duplicate submissions. On success, the new agent appears in the list; on failure, an inline error message explains what went wrong so you can retry without losing your inputs.
If the original agent's Twilio account has no available numbers, the modal shows a warning explaining that a free number from the **same account as the original agent** is required — release a number or purchase a new one before cloning.
The list of tools on the original agent is loaded and shown in the modal so you know exactly what will be duplicated or shared before confirming.
## Archive Agents
Archiving is the recommended way to retire an agent you no longer need while keeping its configuration, call history, and analytics intact for future reference.
Archiving deactivates an agent without deleting its data. The **Archive Agent** modal, available from the detail panel's header actions, guides you through the process:
The modal explains that this will hide the agent from the agents list without deleting any of its data.
A dedicated checkbox lets you **"Release its phone number for other agents"**:
* **Checked**: resets the Twilio configuration and frees the number so it can be assigned to another agent
* **Unchecked (default)**: the number stays reserved with this agent
Click **Archive** to proceed. The button shows an **"Archiving..."** loading state while the request completes. Any error is displayed inline in the modal so you can retry safely.
Releasing the phone number is **irreversible** — once released, the number may be reassigned to a different agent or company. Leave the checkbox disabled if you plan to reactivate this agent later with the same number.
### Restoring an Archived Agent
Toggle **Archived agents** to **Shown** in the filters bar to locate an archived agent, select it, and restore it from its detail panel. If its phone number was released during archiving, assign a new one from the [Phone Numbers](/agents/phone-numbers) section before it can resume handling calls.
## Swap Phone Number
The **Swap Phone Number** modal lets you replace an agent's current number with a new one from the same Twilio account — useful when a number develops deliverability issues or needs to be freed up.
From the "Call" modal next to any phone number, or from the agent's Settings tab, click the swap icon next to the number you want to replace.
The modal displays the **current number** (marked for release) and automatically loads the **next available number** from the same Twilio account to assign in its place.
Click **Confirm Swap** to apply the change. The button enters a **"Swapping..."** state while the request is processed against both the database and Twilio. If no available numbers are found, an inline message tells you so, including the Twilio account label.
A swap updates both your database and Twilio configuration immediately, and the old number is marked for release. This action cannot be undone from the modal.
## Custom Call Form Fields
Every agent that accepts outbound test/init calls has a configurable form. The **Configure Form Fields** editor lets you manage the custom fields shown in that form, beyond the built-in system fields.
System fields — **phone**, **voice**, and **language** — are always required and cannot be edited or removed from this editor.
Click **Edit Form** in the "Call" modal of any agent to open the **Configure Form Fields** modal.
For each custom field, configure:
* **Field Label**: the text shown to users filling out the form
* **Field Type**: Text, Email, Number, Phone, or Dropdown
* **Parameter ID**: the identifier referenced in your agent's prompt as `{{id}}` — auto-generated from the label but fully editable
* **Placeholder Text**: optional hint text shown inside the input
* **Required field**: whether the field must be filled before a call can be started
Click the trash icon on any field card to delete it (with a confirmation prompt).
Click **Save** to persist the field configuration. Parameter IDs are validated for uniqueness and checked against system field names before saving; any conflict is reported inline so you can fix it without losing your changes.
Custom Parameter IDs are automatically slugified from the field label (lowercase, no accents, underscores instead of spaces) unless you manually override them.
## Test Calling from the "Call" Modal
Each agent row includes a **Call** modal with everything needed to place a quick test call — inbound or outbound — without leaving the Agents page.
The modal lists the agent's assigned phone number(s) as clickable `tel:` links, plus a one-click **copy without country code** button for each number. If the agent only has verified caller IDs (no inbound number), a note clarifies it only supports outbound calls.
A dynamic form built from the agent's configured fields (including any custom fields added via the field editor), plus:
* **Country prefix selector**: choose from a long list of country codes (with flags) next to the phone input — your last choice is remembered for next time via local storage
* **Agent Version selector**: for Advanced agents only, choose a specific saved version to test against, or leave it blank to use the production version
* **Edit Form** shortcut to open the custom fields editor directly from the modal
The **Call** button opens this flow as a standalone modal rather than an inline panel, so opening it never shifts the rows below it in the agent list — only one agent's Call modal can be open at a time.
Test calls consume billable minutes from your plan. Monitor usage in the billing dashboard.
## Permissions and Access Control
* Full access to clone, archive, restore, and swap phone numbers on any agent
* Company filter available in both the agent list and the clone modal's target company selector
* Cross-company agent management
* Only role that sees the Twilio/ElevenLabs debugging links in the Calls tab
* Create and edit Advanced agents via the [Advanced Editor](/agents/advanced-editor)
* Clone, archive, and manage phone numbers for their own agents
* Access to the Settings tab for standard agents
* View assigned agents and their Overview/Calls tabs
* Place test calls using the Call modal
* Limited or no access to Archive, Clone, and Settings depending on role
## Next Steps
Assign, release, and manage phone numbers for your agents.
Learn to use the Advanced Editor for full agent configuration.
Manage agent knowledge and information sources.
Monitor agent performance and call metrics in depth.
# Phone Health
Source: https://docs.meetzy.es/agents/phone-health
Monitor your phone numbers health and avoid being marked as spam
## What is Phone Health?
**Phone Health** is a monitoring system that analyzes the reputation of phone numbers assigned to your agents. It helps you identify numbers being marked as spam and take preventive action.
Numbers marked as spam have significantly lower answer rates. Keeping numbers "healthy" is crucial for campaign success.
The Phone Health report can now be accessed from two places in the new agents view: directly from the **agents list** via the status icon with the spam counter, and from the **Overview** tab of the new agent detail panel. Both entry points open the same report described below.
## Understanding Number Types
Your agents can use two types of phone numbers for outbound calls:
### Twilio Numbers
* **Owned by Meetzy**: Numbers from our Twilio inventory
* **Badge**: Show "Twilio" badge in the health report
* **Management**: Can be swapped automatically for new numbers
* **Billing**: Included in your Meetzy subscription
### Caller IDs (Verified Numbers)
* **Client-owned**: Your own phone numbers verified through Twilio
* **Badge**: Show "Caller ID" badge in the health report
* **Management**: Can be disconnected but not automatically swapped
* **Purpose**: Use your existing business numbers for outbound calls
Some agents may operate exclusively with Caller IDs and have no Twilio numbers assigned. These agents can only make outbound calls using verified client numbers.
## Phone Health Indicator
In the agents list, each agent with assigned numbers shows an indicator:
### Indicator Colors
| Color | Meaning | Affected Numbers |
| --------- | --------- | -------------------- |
| 🟢 Green | Healthy | 0 numbers affected |
| 🟡 Yellow | Attention | 1-2 numbers affected |
| 🟠 Orange | Warning | 3-5 numbers affected |
| 🔴 Red | Critical | 6+ numbers affected |
The number on the badge indicates how many numbers have spam issues.
## View Phone Health Report
You can now open the detailed report from two different places, whichever is more convenient in your workflow:
Find the agent in the list
Click the **signal/antenna icon** with the spam counter, shown next to the agent name
The **Phone Health Report** modal opens with detailed analysis
Click an agent in the list to open its detail panel
The **Overview** tab is selected by default and shows a **Phone health** card
Click the **Phone health** card to open the same **Phone Health Report** modal
Both entry points show the exact same data — pick whichever is faster depending on whether you're scanning the whole list or already reviewing a single agent's details.
## Report Content
### Summary Dashboard
The report shows three main metrics:
| Metric | Description |
| ------------------- | ------------------------------------------------------- |
| **Total Numbers** | All numbers assigned to the agent (Twilio + Caller IDs) |
| **Healthy Numbers** | Numbers without spam issues |
| **Spam Numbers** | Numbers with high spam ratio |
### Spam Threshold
```
Spam Threshold: Numbers with ≥50% spam ratio are considered problematic
```
A number is considered "spam" when more than 50% of its calls are marked or reported as spam.
### Detailed Analysis Table
Each number in the table shows:
| Column | Description |
| ------------------- | --------------------------------- |
| **Phone Number** | The phone number with type badge |
| **Type Badge** | "Twilio" or "Caller ID" indicator |
| **Status** | Healthy, Warning, or Spam |
| **Total Calls** | Total calls made from this number |
| **Spam Calls** | Calls marked as spam |
| **Completed Calls** | Successfully completed calls |
| **Spam Ratio** | Spam percentage with visual bar |
| **Actions** | Available management options |
### Number Status Types
| Status | Spam Ratio | Description |
| -------------- | ------------- | ------------------------- |
| 🟢 **Healthy** | Less than 50% | Number is performing well |
| 🟡 **Warning** | 50% - 70% | Take preventive action |
| 🔴 **Spam** | Above 70% | Number should be replaced |
## Available Actions
### For Twilio Numbers
#### Swap Number
Replace a problematic Twilio number with a fresh one:
Find a number with **Warning** or **Spam** status
Click the **Swap** button next to the number
The system automatically finds and assigns a new number
The old number is marked as "RETURN" and unlinked
The old number will no longer be used by this agent after swapping.
#### Disconnect Number
Remove a Twilio number without replacing it:
Click the **Disconnect** button next to the number
Confirm the disconnection
The number becomes available for other agents
### For Caller IDs (Verified Numbers)
#### Disconnect Only
Caller IDs can only be disconnected (not swapped):
Click the **Disconnect** button next to the Caller ID
Confirm the disconnection
To replace, manually verify a new Caller ID in agent settings
Caller IDs are client-owned numbers and cannot be automatically replaced. You must verify new numbers manually if needed.
## Best Practices
### Preventing Spam
Check Phone Health at least once a week
Swap Twilio numbers when they reach "Warning" (50%), don't wait for "Spam" (70%)
Use multiple numbers for high-volume campaigns
Avoid calling at inappropriate times that generate more spam reports
Monitor verified numbers and disconnect problematic ones promptly
### Warning Signs
Watch for these indicators:
* Declining answer rates across campaigns
* Calls ending very quickly (under 3 seconds)
* Sudden increase in spam ratio
* Customer complaints about blocked numbers
* Poor performance from newly verified Caller IDs
## Mixed Number Strategy
For optimal performance, consider using both number types:
**Best for:**
* High-volume calling
* Testing campaigns
* Automated number rotation
* Quick replacement when marked as spam
**Best for:**
* Brand recognition
* Important client calls
* Local presence
* Regulatory compliance
## How Spam Ratio is Calculated
```
Spam Ratio = (Spam Calls / Total Calls) × 100
```
Calls are classified as "spam" based on:
* Direct user reports to carriers
* Public spam databases
* Extremely short duration (\< 3 seconds)
* Systematic rejection patterns
* Carrier-level blocking
## Top Performer Number
In the report, the best-performing number is marked with:
```
🏆 Top Performer
```
This number has the best completion history and should be prioritized for important calls.
## FAQ
No, Caller IDs are client-owned and cannot be automatically swapped. You can only disconnect them and manually verify new ones if needed.
Some agents are configured to use only verified client numbers for outbound calls. This is common for compliance or branding requirements.
Data is updated every hour. The indicator in the agents list reflects the latest available analysis.
Not automatically. Once swapped, the number is unlinked. Contact support if you need to recover it.
Active calls are not interrupted. Changes apply only to new calls.
Verified numbers may inherit reputation from previous usage. Monitor new Caller IDs closely and disconnect if problematic.
The report is now reachable both from the status icon in the agents list and from the Overview tab of the agent detail panel, so you can check it whether you're browsing the full list or already inspecting a specific agent. It's the same report in both cases.
## Next Steps
Learn to assign and manage phone numbers and Caller IDs.
View and organize your agents.
# Configure Phone Numbers
Source: https://docs.meetzy.es/agents/phone-numbers
Learn how to assign, manage, and swap phone numbers for your Meetzy agents
## Phone Numbers in Meetzy
Each Meetzy agent needs at least one phone number to:
* **Receive inbound calls**
* **Make outbound calls**
* **Identify itself** (caller ID)
Phone numbers are exclusive resources. Each number can only be assigned to one agent at a time.
## Phone Number Types
Meetzy supports two types of phone numbers for your agents:
### Twilio Phone Numbers
Standard phone numbers managed through your Twilio account:
* Automatically provisioned and configured
* Support both inbound and outbound calls
* Can be swapped and reassigned automatically
* Managed through Meetzy's interface
### Verified Caller IDs
Client-owned phone numbers verified for outbound calling:
* Numbers you already own and want to use as caller ID
* Must be verified through Twilio's verification process
* Appear with a special verification badge in the interface
* Cannot be swapped automatically (manual process required)
Caller IDs are for outbound calling only and cannot be automatically rotated like Twilio numbers. They require manual management for spam protection.
## Visual Identification
In the Meetzy interface, you can distinguish between phone number types:
| Type | Visual Indicator | Description |
| ---------------------- | ------------------------------------ | ---------------------------- |
| **Twilio Number** | Standard format with swap controls | Fully managed by Meetzy |
| **Verified Caller ID** | 🔒 Lock icon with verification badge | Client-owned verified number |
Verified Caller IDs show verification status badges (pending, verified, disabled) to help you track their state.
## Multi-Subaccount Phone Number Management
Meetzy now supports managing phone numbers across multiple Twilio subaccounts with enhanced assignment states and improved management features.
### Assignment States
Phone numbers can have three distinct assignment states:
| State | Description | Visual Indicator |
| -------------- | ------------------------------------------- | ---------------- |
| **Assigned** | Fully assigned to an agent and active | 🟢 Green badge |
| **Partial** | Partially assigned or pending configuration | 🟡 Yellow badge |
| **Unassigned** | Available for assignment | ⚪ Gray badge |
### Subaccount Credentials Management
Each Twilio subaccount can have its own set of credentials configured independently:
Your primary Twilio account with full management capabilities
Subaccounts with proper credentials - full management available
Subaccounts without credentials - view-only access
To fully manage phone numbers in a subaccount, you need to configure the subaccount credentials in your settings.
## Twilio Subaccount Navigation
The phone numbers interface includes a tabbed navigation system to manage numbers across different Twilio subaccounts:
### How to Navigate Between Subaccounts
Look for the tab interface at the top of the phone numbers page.
Click on any tab to switch to that subaccount's phone numbers.
The system will load numbers for the selected subaccount automatically.
Look for the credential status badge on each subaccount tab.
Phone numbers are cached per subaccount to improve performance when switching between tabs.
## Enhanced Phone Number Filtering
The interface provides several filtering options to help you manage large numbers of phone numbers:
### Filter Options
| Filter | Description | Use Case |
| -------------- | -------------------------------------------- | ------------------------- |
| **All** | Shows all phone numbers regardless of status | Complete overview |
| **Assigned** | Shows only numbers assigned to agents | Review active assignments |
| **Unassigned** | Shows only unassigned numbers | Find available numbers |
### Visual Status Indicators
Each phone number displays color-coded status indicators based on the new assignment states:
* 🟢 **Green**: Fully assigned and active
* 🟡 **Yellow**: Partially assigned or pending
* ⚪ **Gray**: Unassigned and available
## Direct Agent Assignment System
The new assignment system allows you to directly assign phone numbers to agents with improved feedback:
Find an unassigned number in the list.
Click the "Assign" button next to the phone number.
Choose an agent from the dropdown list of available agents.
Click confirm to complete the assignment with automatic state updates.
### Assignment Process
When you assign a number:
1. The number's status changes to **assigned**
2. The agent's configuration is updated
3. The cache is refreshed for real-time updates
4. Assignment status is reflected across all relevant interfaces
Once assigned directly, the number will become unavailable for other agents until reassigned, reset, or returned.
## Advanced Number Management Operations
### Reset Numbers
The reset function allows you to clear a number's configuration while keeping it in your account:
Find the phone number you want to reset.
Use the reset option in the number's actions menu.
Confirm the reset operation - this will clear webhooks and assignments.
The number will return to **unassigned** status and be available for new assignments.
### Return Numbers
The return function removes numbers from your account completely:
Find the phone number you want to return to Twilio's pool.
Use the return option in the number's actions menu.
Confirm the return operation - this action cannot be undone.
The number is returned to Twilio and removed from your account.
Returned numbers cannot be recovered. They may be assigned to other customers.
## Assign a Number When Creating an Agent
When creating a new agent in the Advanced Editor:
1. Go to the **Settings** section (Cog icon)
2. Find the **Phone Number** field
3. Select an available number from the dropdown
### If No Numbers Are Available
If the dropdown is empty, you'll see a message:
```
No available phone numbers for the selected account.
All numbers are assigned or configured.
```
**Options:**
* Release a number from another agent
* Reset unused numbers
* Request new numbers via the "Request more numbers" link
## View Assigned Numbers
Once assigned, the number appears in read-only mode:
```
Phone Number: +1 555 123 4567 (Sales Team) 🔒
Phone number assigned to this agent
```
The phone number cannot be changed directly once assigned. To change it, use the Swap function from Phone Health.
## Caller ID Management
Verified Caller IDs provide additional flexibility for outbound calling with your own phone numbers.
### Adding a Caller ID
Open the agent configuration in the Advanced Editor.
In the Caller IDs section, enter your phone number.
Twilio will initiate the verification process.
Follow the verification steps provided by Twilio.
### Caller ID Limitations
Verified Caller IDs have specific limitations compared to Twilio numbers:
* Cannot be automatically swapped for spam protection
* Require manual management if flagged
* Only support outbound calls as caller ID
* Must be verified through Twilio's process
### Managing Caller ID Status
Caller IDs can have different verification states:
| Status | Description | Actions Available |
| ------------ | ------------------------------ | ----------------------------- |
| **Pending** | Verification in progress | Complete verification process |
| **Verified** | Ready for use | Use for outbound calls |
| **Disabled** | Verification failed or revoked | Re-verify or remove |
## Multiple Numbers per Agent
An agent can have multiple assigned numbers. This is useful for:
* **Volume distribution**: Reduce spam risk
* **Regional segmentation**: Different numbers for different areas
* **Redundancy**: Backup if a number has issues
### How Multiple Numbers Are Used
| Call Type | Behavior |
| ------------ | ------------------------------------------------------ |
| **Inbound** | Customer can call any of the numbers |
| **Outbound** | System automatically selects the best available number |
The number with the best **Phone Health** has priority for outbound calls.
## Swap Numbers
You can swap a problematic number for a new one from the Phone Health report:
Click the health indicator on the agent.
Find the number with Warning or Spam status.
Click the **Swap** button next to the number.
The system shows the proposed new number. Confirm the swap.
### What Happens During a Swap
1. **Old number** is unlinked and marked for return
2. **New number** is assigned with **assigned** status
3. Assignment states are updated in real-time
Only Twilio numbers can be swapped automatically. Verified Caller IDs must be managed manually.
## Disconnect a Number
To remove a number without replacing it:
1. Open the **Phone Health** report
2. Click **Disconnect** next to the number
3. Confirm the disconnection
If you disconnect the agent's only number, it won't be able to make or receive calls until you assign another.
## Request New Numbers
To request additional numbers:
1. In the Advanced Editor, Settings section
2. Click **"Request more numbers"**
3. You'll be redirected to the request portal
New numbers are typically available within 24-48 hours.
## Supported Country Prefixes
Meetzy supports phone numbers in multiple countries:
| Country | Prefix | Availability |
| -------------- | ------ | ------------ |
| United States | +1 | Available |
| Spain | +34 | Available |
| Mexico | +52 | Available |
| Argentina | +54 | Available |
| Colombia | +57 | Available |
| United Kingdom | +44 | Available |
Use local numbers from your customers' country to increase answer rates. Customers are more likely to answer calls from local numbers.
## Best Practices
### Number Management Workflow
For efficient number management:
Check assignment states regularly across all subaccounts.
Ensure all subaccounts have proper credentials configured.
Use the new assignment states to track number utilization.
Use reset and return functions to manage unused numbers.
### Number Rotation
For high-volume campaigns:
1. Assign multiple numbers to the agent
2. The system rotates automatically based on assignment status
3. Monitor Phone Health regularly
4. Swap numbers before they reach "Spam" status
### Caller ID Strategy
For verified Caller IDs:
1. Use for brand recognition and customer trust
2. Monitor spam reports manually
3. Have backup Twilio numbers ready
4. Keep verification status current
### Subaccount Organization
* Use the main account for primary business numbers
* Organize specialized campaigns in separate subaccounts
* Apply consistent naming conventions across subaccounts
* Configure credentials for full management capabilities
* Regularly review and clean up unused numbers using reset/return functions
## FAQ
**Twilio numbers** are fully managed by Meetzy and can be automatically swapped. **Verified Caller IDs** are your own phone numbers that require verification and manual management.
No, verified Caller IDs cannot be swapped automatically like Twilio numbers. They require manual management if they become flagged for spam.
Caller IDs appear with a 🔒 lock icon and verification status badge, while Twilio numbers show standard management controls.
**Reset** clears a number's configuration but keeps it in your account as unassigned. **Return** completely removes the number from your account and returns it to Twilio's pool.
No, returned numbers cannot be recovered. They become available to other Twilio customers.
You can view phone numbers in unconfigured subaccounts but cannot perform management operations like assign, reset, or return.
Assignment states provide clear visibility into number utilization and help identify numbers that need attention or can be reset/returned.
Each number is exclusive to your account. It's not shared between different Meetzy customers.
Yes, you can assign numbers from multiple countries to the same agent.
No, each subaccount maintains its own pool of phone numbers that cannot be shared with other subaccounts.
Numbers cannot be moved between subaccounts. You would need to return the number and request a new one in the target subaccount.
## Next Steps
Monitor the health and reputation of your numbers.
Learn to test your agent with real calls.
# Create a campaign
Source: https://docs.meetzy.es/api-reference/endpoint/campaign
POST /campaign
Create outbound call campaigns from a contact list (immediate or scheduled)
## Overview
This endpoint creates outbound call campaigns using a playbook (assistant) and a list of contacts. Campaigns can run **immediately** or be **scheduled** for a specific date and time. Contacts are created or updated in the system and calls are launched according to the campaign configuration.
***
## 1. Summary
* **Endpoint:** `POST /campaign`
* **Authentication:** Bearer token (same as for the rest of the API).
* **Usage:** Send a playbook ID, a list of contacts (with at least `phone`), and optionally a launch date and recall policy. The system creates or updates contacts and launches the calls.
***
## 2. Authentication
Include your token in the request headers:
```http theme={null}
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
```
The same token is used for **POST /call** and **GET /call/:id**.
***
## 3. Request body
### 3.1 Required fields
| Field | Type | Description |
| ------------- | ------ | --------------------------------------------------------------------------------- |
| `playbook_id` | string | UUID of the playbook (assistant) used for the calls. Must belong to your account. |
| `contacts` | array | List of contacts to call. Each item must have at least the `phone` field. |
### 3.2 Optional fields (campaign level)
| Field | Type | Description |
| ----------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `launch_at` | string | Launch date/time in ISO format (e.g. `"2025-03-01T10:00:00"`). If provided, the campaign is scheduled for that time; otherwise it runs immediately. |
| `recall` | string or array | Retry policy in minutes. See section 4. |
### 3.3 Optional fields per contact
Each item in `contacts` may include, in addition to `phone`, any of these fields (for call personalization or CRM):
| Field | Type | Description |
| --------------- | ------ | ------------------------------- |
| `first_name` | string | First name |
| `last_name` | string | Last name |
| `email` | string | Email |
| `company` | string | Company |
| `job_title` | string | Job title |
| `address` | string | Address |
| `city` | string | City |
| `state` | string | State / province |
| `country` | string | Country |
| `postal_code` | string | Postal code |
| `timezone` | string | Timezone (e.g. `Europe/Madrid`) |
| `utm_source` | string | UTM source |
| `utm_medium` | string | UTM medium |
| `utm_campaign` | string | UTM campaign |
| `utm_term` | string | UTM term |
| `utm_content` | string | UTM content |
| `custom_fields` | object | Custom key-value fields |
***
## 4. Using the `recall` field
The `recall` field defines **retry delays in minutes** from the time of the call (or from launch time for scheduled campaigns). It is stored per call and used to automatically reschedule calls (e.g. if the contact does not answer).
**String with array of minutes:**
`"recall": "[30,120]"` — retry at 30 and 120 minutes.
Example in the body:
```json theme={null}
{
"playbook_id": "550e8400-e29b-41d4-a716-446655440000",
"contacts": [ { "phone": "+34600123456", "first_name": "Juan" } ],
"recall": "[30,120]"
}
```
***
## 5. Request examples
### 5.1 Immediate campaign (minimal)
Only playbook and list of phones:
```json theme={null}
{
"playbook_id": "550e8400-e29b-41d4-a716-446655440000",
"contacts": [
{ "phone": "+34600123456" },
{ "phone": "+34600987654" }
]
}
```
### 5.2 Immediate campaign with contact data and recall
```json theme={null}
{
"playbook_id": "550e8400-e29b-41d4-a716-446655440000",
"contacts": [
{
"phone": "+34600123456",
"first_name": "Juan",
"last_name": "García",
"email": "juan@example.com",
"company": "Acme SL"
},
{
"phone": "+34600987654",
"first_name": "María",
"email": "maria@example.com"
}
],
"recall": "[30,120]"
}
```
### 5.3 Immediate campaign with custom fields
```json theme={null}
{
"playbook_id": "550e8400-e29b-41d4-a716-446655440000",
"contacts": [
{
"phone": "+34600123456",
"first_name": "Juan",
"last_name": "García",
"custom_fields": {
"lead_id": "ext-12345",
"producto_interes": "Premium",
"origen": "web"
}
}
],
"recall": [30, 60, 120]
}
```
### 5.4 Scheduled campaign
Use `launch_at` to schedule the launch:
```json theme={null}
{
"playbook_id": "550e8400-e29b-41d4-a716-446655440000",
"contacts": [
{ "phone": "+34600123456", "first_name": "Juan" },
{ "phone": "+34600987654", "first_name": "María" }
],
"launch_at": "2025-03-01T10:00:00",
"recall": "[30,120]"
}
```
Calls are created at the given date/time (with a small stagger between contacts). `recall` works the same as for immediate campaigns.
***
## 6. Server responses
### 6.1 Campaign accepted (immediate)
* **Status:** `202 Accepted`
* **Example body:**
```json theme={null}
{
"success": true,
"message": "Campaign started successfully",
"campaign_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"scheduled": false,
"total_contacts": 2
}
```
### 6.2 Scheduled campaign accepted
* **Status:** `202 Accepted`
* **Example body:**
```json theme={null}
{
"success": true,
"message": "Scheduled 2 calls for 01/03/2025 10:00",
"campaign_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"scheduled": true,
"launch_at": "2025-03-01T10:00:00.000Z",
"total_contacts": 2,
"scheduled_calls": 2,
"error_calls": 0
}
```
***
## 7. Error codes
| Code | Meaning |
| ------- | -------------------------------------------------------------------------------------------- |
| **400** | Invalid data: missing `playbook_id`, empty `contacts`, or a contact without a valid `phone`. |
| **401** | Not authenticated: missing or invalid token. |
| **403** | Playbook not found or not owned by your account. |
| **500** | Internal server error. |
Example 400 response:
```json theme={null}
{
"error": "Each contact must have a non-empty phone field"
}
```
***
## 8. Quick reference
1. **Authentication:** `Authorization: Bearer YOUR_TOKEN` header.
2. **Required:** `playbook_id` (UUID) and `contacts` (array of objects with at least `phone`).
3. **Optional:** `launch_at` to schedule; `recall` (e.g. `"[30,120]"`) for retries in minutes.
4. **Response:** `202` with `campaign_id`.
# Init a call
Source: https://docs.meetzy.es/api-reference/endpoint/create
POST /call
API that start a call using a pre-trained playbook.
## Overview
This endpoint initiates an outbound call using a pre-trained playbook. The call will be made using your configured phone number and the AI will follow the playbook's instructions.
## Version Control
By default, this endpoint uses the **production version** of your playbook. This ensures that all API calls use the same configuration you've designated as production-ready in the dashboard.
You can optionally specify a `version_id` parameter to use a specific version of your playbook. This is useful for testing new versions before marking them as production. See [Agent Versioning](/api-reference/endpoint/versioning) for more details.
### Default Behavior
When you call this endpoint without a `version_id`:
1. The system looks for the playbook's **production version**
2. If found, it uses that version's configuration (prompt, voice, settings, etc.)
3. If no versions exist, it falls back to the current playbook configuration
### Using a Specific Version
```json theme={null}
{
"phone": "+34600000000",
"playbook_id": "your-playbook-id",
"version_id": "optional-version-uuid"
}
```
## Response
A successful response includes the call ID which you can use to track the call status:
```json theme={null}
{
"success": true,
"id": "call-uuid",
"message": "Call processing started"
}
```
# Get a call
Source: https://docs.meetzy.es/api-reference/endpoint/get
GET /call/{callId}
Returns data about a specific call.
# List Calls
Source: https://docs.meetzy.es/api-reference/endpoint/list
GET /calls
Retrieve a list of calls with filtering options
## Overview
This endpoint retrieves a list of calls associated with the authenticated user's assistants. You can filter calls by date range, status, and playbook.
## Authentication
This endpoint requires authentication using a Bearer token in the Authorization header.
```bash theme={null}
Authorization: Bearer YOUR_API_TOKEN
```
## Query Parameters
Start date for filtering calls. Format: `YYYY-MM-DD` or `YYYY-MM-DD HH:mm:ss`
If not provided, it will be calculated based on `daysFromNow` parameter.
End date for filtering calls. Format: `YYYY-MM-DD` or `YYYY-MM-DD HH:mm:ss`
If not provided, it will default to the current date/time.
Number of days to look back from today. Only used if `startDate` and `endDate` are not provided.
* Minimum: 1
* Maximum: 90
* Default: 15
Filter calls by status. Valid values:
* `open` - Call is in progress or pending
* `closed` - Call has been completed successfully
* `rong-phone-forno-answer` - Wrong phone number or no answer
* `wmat` - Waiting for manual action
* `failed` - Call failed
* `recall-scheduled` - A recall has been scheduled
* `voicemail` - Call went to voicemail
Filter calls by a specific playbook (assistant) ID. Must be a valid UUID.
## Response
Array of call objects, ordered by `created_time` descending (most recent first).
Unique identifier for the call (UUID)
When the call was created. Format: `YYYY-MM-DD HH:mm:ss` (UTC)
Unix timestamp in milliseconds of when the call was created
ID of the assistant (playbook) that handled the call
Phone number that initiated the call. Empty if not available or invalid.
Phone number that received the call
Current status of the call. See status parameter for possible values.
Duration of the call in seconds
URL to the call recording (if available)
HTML-formatted transcript of the call. Includes speaker labels formatted as `[Speaker]`.
Whether the call was successful
AI-generated summary of the call
Structured output data from the call. Format depends on the playbook configuration.
Additional call data and parameters. Sensitive fields like voice\_id, voice\_model, text\_model, and assistant\_id are removed for security.
Custom parameters passed to the call
## Example Requests
### Get calls from the last 30 days
```bash theme={null}
GET https://api.meetzy.io/calls?daysFromNow=30
```
### Get calls within a specific date range
```bash theme={null}
GET https://api.meetzy.io/calls?startDate=2024-01-01&endDate=2024-01-31
```
### Get only closed calls
```bash theme={null}
GET https://api.meetzy.io/calls?status=closed
```
### Get calls for a specific playbook
```bash theme={null}
GET https://api.meetzy.io/calls?playbook_id=550e8400-e29b-41d4-a716-446655440000
```
### Combine filters
```bash theme={null}
GET https://api.meetzy.io/calls?daysFromNow=7&status=closed&playbook_id=550e8400-e29b-41d4-a716-446655440000
```
## Example Response
```json theme={null}
[
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"created_time": "2024-11-12 10:30:00",
"timestamp": 1731407400000,
"assistant_id": "550e8400-e29b-41d4-a716-446655440000",
"from": "+34612345678",
"to": "+34987654321",
"status": "closed",
"duration": 180,
"recording": "https://recordings.meetzy.io/call-123.mp3",
"transcript": "[Agent] Hello, this is Sarah from Meetzy...
[Customer] Hi Sarah...",
"success": true,
"summary": "Customer was interested in the premium plan...",
"output": {
"appointment_scheduled": true,
"date": "2024-11-15",
"time": "14:00"
},
"data": {
"params": {
"campaign_id": "summer-2024",
"lead_source": "website"
}
}
}
]
```
## Error Responses
Authentication failed or token is invalid
```json theme={null}
{
"error": "Unauthorized"
}
```
User does not have permission to access this resource
```json theme={null}
"Unauthorized"
```
An error occurred on the server
```json theme={null}
"Internal Server Error"
```
## Notes
* All dates are handled in Europe/Madrid timezone and converted to UTC in the response
* The `from` field is automatically sanitized to remove invalid entries like "phoneNumber.phoneNumber"
* Transcripts are formatted with HTML tags for better readability in UI applications
* The endpoint automatically filters calls to only show those belonging to assistants owned by the authenticated user
* Maximum date range when using `daysFromNow` is 90 days
# Agent Versioning
Source: https://docs.meetzy.es/api-reference/endpoint/versioning
Understand how version control works for your playbooks and how to use specific versions in API calls.
## Overview
Meetzy supports version control for playbooks, allowing you to:
* Keep a history of all changes made to your playbook
* Designate a specific version as "production"
* Test specific versions before deploying to production
* Use historical versions for specific API calls
## How Versioning Works
### Production Version
Every playbook has one version marked as **production**. This is the version that will be used for:
* **Inbound calls**: All incoming calls to your Meetzy number
* **Outbound calls via API**: When you don't specify a `version_id`
* **Queued/scheduled calls**: Uses the version that was marked as production when the call was scheduled
### Version Selection Priority
When a call is initiated, the system follows this priority:
1. **Specific version requested**: If you provide `version_id` in the API call, that exact version is used
2. **Production version**: If no `version_id` is provided, the production version is used
3. **Current configuration (fallback)**: If no versions exist for the playbook, the current playbook configuration is used
## Using Versions in API Calls
### Default Behavior (Recommended)
Simply call the API without specifying a version. The production version will be used automatically:
```bash theme={null}
curl -X POST https://api.meetzy.io/call \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone": "+34600000000",
"playbook_id": "your-playbook-id",
"firstname": "John",
"lastname": "Doe"
}'
```
### Using a Specific Version
To use a specific version (e.g., for testing), include the `version_id` parameter:
```bash theme={null}
curl -X POST https://api.meetzy.io/call \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone": "+34600000000",
"playbook_id": "your-playbook-id",
"version_id": "abc123-version-uuid",
"firstname": "John",
"lastname": "Doe"
}'
```
The `version_id` must belong to the specified `playbook_id`. If the version doesn't exist or belongs to a different playbook, the API will fall back to the production version.
## Response
When you retrieve call details, the response includes the `version_id` that was used:
```json theme={null}
{
"id": "call-uuid",
"playbook_id": "your-playbook-id",
"version_id": "abc123-version-uuid",
"status": "completed",
"duration": 120,
"...": "..."
}
```
If `version_id` is empty or null, it means either:
* No version control was active for this playbook at the time
* The call used the legacy system (before version control was implemented)
## Managing Versions in the Dashboard
You can manage playbook versions in the Advanced Editor:
1. **View History**: See all committed versions with their timestamps and commit messages
2. **Mark as Production**: Designate any version as the production version
3. **Restore Version**: Revert to a previous version's configuration
4. **Compare Changes**: View differences between versions
Changing the production version takes effect immediately for all new inbound calls and API calls that don't specify a version.
## Best Practices
1. **Always commit changes before going live**: Use the commit system to create a snapshot before major changes
2. **Test before marking as production**: Use the `version_id` parameter to test new versions with specific calls before making them production
3. **Use descriptive commit messages**: This helps track what changed in each version
4. **Keep production stable**: Only mark thoroughly tested versions as production
## Use Cases
### A/B Testing
Test a new greeting or prompt with specific leads before rolling out to everyone:
```bash theme={null}
# Test call with new version
curl -X POST https://api.meetzy.io/call \
-d '{
"phone": "+34600000000",
"playbook_id": "your-playbook-id",
"version_id": "new-greeting-version-id"
}'
```
### Rollback
If you notice issues with a new production version, you can:
1. Go to the Advanced Editor → History tab
2. Find a known-good version
3. Click "Mark as Prod" to instantly roll back
### Scheduled Campaigns
When scheduling bulk calls, you can specify a version to ensure consistency even if you update the playbook later:
```bash theme={null}
# Schedule calls with a locked version
curl -X POST https://api.meetzy.io/call \
-d '{
"phone": "+34600000000",
"playbook_id": "your-playbook-id",
"version_id": "campaign-v1-version-id"
}'
```
## FAQ
The system falls back to using the current playbook configuration. This ensures backwards compatibility with playbooks created before version control was implemented.
Currently, versions cannot be deleted to maintain audit trail integrity. You can always mark a different version as production.
There is no hard limit on the number of versions. However, we recommend keeping meaningful commits rather than committing every small change.
Yes! Inbound calls always use the production version. This ensures your customers always experience the configuration you've designated as production-ready.
# Introduction
Source: https://docs.meetzy.es/api-reference/introduction
Explore our API Reference to integrate Meetzy with your systems.
## Welcome to the Meetzy API
The Meetzy API allows you to programmatically trigger calls, retrieve call data, and integrate AI-powered voice agents with your existing systems.
## Base URL
All API requests are made to:
```
https://api.meetzy.io
```
## Authentication
All API requests require authentication using a Bearer token.
### Getting Your API Token
1. Log in to your [Meetzy Dashboard](https://dashboard.meetzy.io)
2. Navigate to **Account** → **API Tokens**
3. Copy your API token
### Using Your Token
Include the token in the `Authorization` header:
```bash theme={null}
curl -X GET https://api.meetzy.io/calls \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
Keep your API token secret. Never expose it in client-side code or public repositories.
## Request Format
All requests should include the `Content-Type: application/json` header when sending data.
```json theme={null}
{
"phone": "+1234567890",
"playbook_id": "pb_abc123",
"params": {
"customer_name": "John Doe"
}
}
```
## Response Format
All responses are returned in JSON format:
```json theme={null}
{
"success": true,
"data": {
"call_id": "call_xyz789",
"status": "initiated"
}
}
```
### Error Responses
Errors include an error code and message:
```json theme={null}
{
"success": false,
"error": {
"code": "invalid_phone",
"message": "The provided phone number is invalid"
}
}
```
## HTTP Status Codes
| Code | Description |
| ---- | --------------------------------------- |
| 200 | Success |
| 201 | Created |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limited |
| 500 | Internal Server Error |
## Rate Limiting
API requests are rate limited to ensure fair usage:
* **Standard**: 100 requests per minute
* **Burst**: 10 requests per second
When rate limited, you'll receive a `429` response with retry information.
## SDKs and Libraries
Official SDKs coming soon. In the meantime, use any HTTP client:
```javascript Node.js (axios) theme={null}
const axios = require('axios');
const client = axios.create({
baseURL: 'https://api.meetzy.io',
headers: {
'Authorization': `Bearer ${process.env.MEETZY_API_TOKEN}`,
'Content-Type': 'application/json'
}
});
```
```python Python (requests) theme={null}
import requests
headers = {
'Authorization': f'Bearer {API_TOKEN}',
'Content-Type': 'application/json'
}
response = requests.get(
'https://api.meetzy.io/calls',
headers=headers
)
```
## Need Help?
Learn how to initiate calls via API.
Launch outbound call campaigns from a contact list.
Retrieve detailed call information.
Retrieve your call history.
Contact our support team.
# Advanced Calls View
Source: https://docs.meetzy.es/calls/advanced-view
Explore the new Calls page with a pinnable column manager, predefined and custom saved views, date/agent/company/tag/evaluation/status filters with chips, suspicious-call detection, an OK/KO review verdict filter, summary cards with inbound/outbound transfer time and real AI latency, inline tag editing, per-call audit notes, per-turn latency detail, admin links to Twilio/ElevenLabs, deep links with pre-applied filters, and Excel exports.
The **Advanced Calls View** (`/calls-v2`) is the new version of the Calls page, built for teams that need deeper control over how call data is displayed, filtered, and audited. It introduces a fully configurable column manager (including dynamic input/output columns discovered per agent, right-edge pinning, and a recovered **Evaluations** column), a **Views** menu with both predefined and custom saved views, a two-row filter bar covering date range, agents, company, tags, evaluations, call ID, and status, along with a dedicated suspicious-call filter and an OK/KO verdict filter, a set of summary cards covering volume, latency, review progress, and inbound/outbound transfer time, a manual refresh control, an OK/KO review workflow with per-call audit notes, inline tag editing, per-turn latency detail, admin-only links to Twilio and ElevenLabs, shareable deep links that pre-apply filters via query parameters, full or selective Excel exports, pagination controls at both the top and bottom of the table, and a built-in recording player with a real waveform and previous/next navigation between calls.
The Advanced Calls View is rolling out alongside the classic Calls page. You can switch between the two at any time using the banner at the top of the page.
## Switching between views
When you open the Advanced Calls View, you'll see a migration banner at the top of the page confirming you're on the new experience.
* The banner reads **"You're viewing the new Calls page."**, with a **Switch back to the classic view** link right next to it — click it to return to the original Calls page (`/calls-old`) at any time.
* The banner is always visible at the top of the page, so you're never in doubt about which version of the Calls page you're looking at.
* Your filters, column layout, and saved views on the Advanced Calls View are stored independently, so switching back and forth won't affect either page.
The Advanced Calls View is under active development. If something doesn't behave as expected, use the classic view as a fallback while we continue improving it.
## Configurable and pinnable columns
Unlike the classic Calls page, the Advanced Calls View lets you fully customize which columns appear in the table, in what order, and which ones stay anchored in place. It also includes a dedicated discovery experience for turning any input or output field captured by your agents into a real column.
Click the **⚙️ Columns** button in the top-right corner of the page to open the column manager.
Use the search box at the top of the panel to look up a specific input or output field by name — for example, typing "lead qualification" filters the discovery panels down to any field whose label or path matches, across every agent, instead of making you scroll through every field manually.
Click **Input columns** or **Output columns** to open the corresponding discovery panel — each shows a running count of how many fields were found. Fields are grouped by the **agent** that produced them, with each agent's group collapsed by default; click a group's header to expand or collapse it and reveal the individual fields inside. Opening the input panel automatically closes the output panel (and vice versa), keeping the manager focused on one discovery list at a time.
Inside an expanded agent group, click **Add** next to any field to turn it into a column immediately. Once added, the button switches to a disabled **Added** state, so you always know at a glance which fields from that agent are already on the table.
In the **Columns** list below the discovery panels, toggle any column on or off. This includes standard fields (status, duration, agent, company, tags, evaluations) as well as any dynamic input/output columns you've added.
Drag any row in the **Columns** list — using the ⠿ handle — up or down to drop it into the position that makes the most sense for your workflow. The reordering works the same for standard and dynamic columns alike.
Dynamic columns (labeled `input` or `output`) show a small **✕** next to them in the **Columns** list. Click it to remove that column from your layout entirely — this only removes it from view, it doesn't affect the underlying call data, and the field remains available to add again later from the discovery panel.
Click the **pin** icon next to any column to anchor it. Pinned columns are grouped together and stuck to the **right edge** of the table, so they stay visible no matter how many other columns you add or how far you scroll horizontally. **Reviewed** and **Actions** are pinned by default, and you can pin any additional column — such as **Tags** or a dynamic output field you check on every call — the same way. Pinned columns are stacked in order from the right edge inward, and the table automatically measures each one's rendered width so neighboring pinned columns never overlap, even when a pinned column's content varies in length between rows.
If you want to start over, click **Reset to default** inside the column manager to discard your custom visibility, order, and pinning, restoring the platform's original column layout.
Both discovery panels scroll independently of the field search box and the toggle buttons above them, so you can search or switch between input and output while keeping your place in a long list of agent groups.
### Evaluations column
The **Evaluations** column shows which evaluation criteria a call met, mirroring the column that already existed on the classic Calls page.
Evaluations previously existed in the classic view but hadn't been migrated to the Advanced Calls View, so it was missing here and couldn't even be turned on from the column manager. It's now available like any other column and, since it's information many teams audit daily, it's **enabled by default** — including for anyone who already had a saved column layout from before this fix, which is automatically upgraded to include it.
### Dynamic columns from inputs and outputs
The Advanced Calls View scans a batch of your loaded calls and automatically discovers structured fields captured on each call's **input parameters** and **agent output**, surfacing them inside the **Input columns** and **Output columns** discovery panels described above, grouped by the agent they came from.
* Every dynamic column is clearly labeled with its **source** — `input` or `output` — so you always know where the value comes from, and which agent it belongs to when relevant.
* Fields are grouped **per agent** in the discovery panel, with each group showing a field count and collapsing by default — handy when several agents each expose dozens of fields and you only need to browse one at a time.
* Use the field search box to jump straight to a known field name without expanding every agent group manually; the search matches against both the field's label and its underlying path.
* Clicking **Add** on a field immediately creates the column and switches the button to **Added**; clicking the **✕** next to that column later removes it from your layout, and it becomes addable again from the discovery panel.
* A handful of internal input fields (like `playbook_id`, `voice_id`, `temperature`, or `record`) are excluded automatically, since they're configuration details rather than meaningful call data.
* Nested objects and arrays are inspected up to a couple of levels deep, so fields buried inside a JSON output (for example inside a `metadata` object) can still surface as their own columns.
* If the same field appears at different paths across calls — for example an agent update that moved a field from the root of the output into a `metadata` object — the column still resolves and displays the value correctly for both older and newer calls, so you don't end up with the value silently missing or duplicated near-identical columns for what's really the same field.
Dynamic fields are re-discovered as new calls load, so new fields introduced by an updated agent version show up as selectable columns automatically, without needing a page refresh or manual configuration.
Resetting columns cannot be undone. If you rely on a custom layout, consider saving it as a view first (see below) before resetting.
## Views
The **👁️ Views** menu in the top-right corner is where you switch between different column-and-filter layouts. It's split into two sections: a set of **predefined views** maintained by Meetzy, and **My views** — the layouts you save yourself. The name of whichever view is currently active is always shown next to the **Views** button, so you know at a glance which layout you're on.
### Predefined views
Predefined views are ready-made layouts covering common review tasks, so you don't have to build a configuration from scratch for everyday use cases:
* **Call audit** — a review-focused layout showing the call date, agent, caller, status, duration, tags, and recording, sorted by most recent first. Ideal for day-to-day quality checks.
* **Latency monitoring** — surfaces the average and maximum AI response latency alongside a latency sparkline, sorted by average latency descending, so the slowest calls float to the top.
* **Compact overview** — a stripped-down layout with just the date, agent, caller, status, and duration, for quickly scanning volume without the extra detail.
* **Transfers & escalations** — highlights transferred and ended calls together with tags and the call summary, useful for reviewing how escalations were handled.
Click any predefined view's name to apply it instantly.
Predefined views can be applied as many times as you like, but they can't be renamed or deleted — they're shared starting points, not personal views. If you want to tweak one, apply it first and then save your adjusted version under a new name in **My views**.
### Custom saved views
Once you've configured your columns, pins, and filters the way you like, you can save that configuration as a **named view** and switch back to it whenever you need.
Set up your columns, pinning, filters, and sorting exactly how you want them — starting from scratch or from a predefined view.
Click **👁️ Views** in the top-right corner.
Type a name for your view in the input field and click **Save current**. Give it something memorable, like "Suspicious calls this week" or "My agent's calls".
Open the Views menu at any time and click a view's name — predefined or your own — to instantly apply it. The active view is highlighted in green with a checkmark next to it, and its name appears next to the **Views** button. Use the **✕** icon next to one of your own views to delete it.
Saved views are stored per user, so each teammate can build their own set of named views — on top of the same shared predefined views — without affecting anyone else's setup. If you don't have any saved views yet, the **My views** section simply shows a short note letting you know the list is empty.
## Filtering calls
The filter bar is organized into two clearly separated rows: a top row holding **Date range**, **Company** (administrator accounts only), **Agents**, **Tags**, **Evaluations**, and **Call ID**, all given equal width so the row stays evenly balanced — and a second, full-width row dedicated entirely to the **Status** chips (plus the **Suspicious calls** and **Review verdict** controls described below). Splitting status onto its own row keeps the chips from wrapping awkwardly next to the other inputs and gives them room to breathe as more statuses (like **Silence**) are added.
### Date range
Choose from common presets (Today, Yesterday, Last 7 days, This month, etc.) or define a fully custom start and end date and time.
Day-based presets here (such as "Today" or "Last 7 days") end at 23:59:59 of the last day, instead of rolling into 00:00 of the following day.
### Company
For administrator accounts, a **Company** filter narrows the table down to calls belonging to one or more specific companies — useful when reviewing calls across several accounts at once instead of switching between them one by one.
* Start typing a company name to search, then click it to add it as a chip — you can select several companies at once, the same way the Agents and Tags filters work.
* Remove a chip by clicking the **✕** on it, or clear the whole selection at once using the **✕** at the end of the field.
* Combine it with **Agents**, **Tags**, or **Evaluations** to zero in on, for example, a single agent that belongs to a specific company.
* This filter is only visible to administrator accounts; regular accounts already see calls scoped to their own company and don't need it.
The Company filter reads from the same `playbook_company` data already shown by the optional **Company** column, so the two stay consistent with each other. Selecting a company also narrows the calls available to the **Agents** and **Evaluations** filters accordingly.
### Agents
The agent filter uses a chip-based multi-select:
* Start typing an agent's name to search.
* Click an agent from the dropdown to add it as a chip.
* Remove a chip by clicking the **✕** on it, or clear all selected agents at once.
* Leaving the filter empty shows calls from all agents.
### Tags
Tags work the same way as agents — search, select, and manage them as chips. This makes it easy to combine multiple tags to narrow down a specific segment of calls.
* The tag suggestions dropdown is populated from every tag currently used across your calls, so it stays in sync as new tags are created.
* You can combine several tags at once — a call matching **any** of the selected tags is included, making it easy to group related segments (for example, several campaign tags) into a single filtered view.
* Tags added, renamed, or removed through the inline tag editor (see below) are reflected in this filter's suggestions right away.
### Evaluations
The **Evaluations** filter lets you narrow the table down using the same evaluation criteria surfaced in the **Evaluations** column, without having to scan every row manually.
* Filter **by name** to isolate calls that were checked against a specific evaluation criterion — for example, only calls evaluated for "asked for consent" or "confirmed appointment date".
* Filter **by result** to further narrow those calls down to only the ones that **passed**, only the ones that **failed**, or the ones where that evaluation wasn't applicable to the call.
* Combining a criterion name with a result is the fastest way to answer questions like "which calls failed the identity-verification check this week", instead of opening each call individually to check its evaluations.
Like Tags, the list of evaluation names offered in this filter is drawn from the evaluations actually recorded across your calls, so it stays in sync as agents' evaluation criteria evolve.
### Call ID
The **Call ID** field lets you jump straight to a single call when you already know its identifier — for example, one referenced in a support ticket or shared by a teammate.
* Paste or type a full or partial call ID to narrow the table down to matching calls.
* This filter combines with the others, so you can also use it to double-check that a specific call falls within a given agent, tag, or date range.
* Clear the field to remove the filter and go back to your broader result set.
### Status
Filter by one or more call statuses, including Open, Closed, No answer, Voicemail, **Silence**, Busy, Failed, Transferred, and Blocked. These chips now sit on their own dedicated row below the other filters, so selecting several statuses at once never crowds the row above.
**Silence** identifies calls where the line connected but no real conversation took place — the call ended without a transcript worth reviewing. It's surfaced as its own selectable status chip, separate from Failed or No answer, so you can isolate these calls specifically instead of digging for them inside a broader status group.
### Suspicious calls
The **Suspicious calls** filter is a one-click way to surface calls that are worth a closer look. It's a client-side filter that flags a call as suspicious if **any** of the following are true:
* The AI response latency was unusually high.
* The call ended with a problematic status (`no-answer`, `failed`, or `blocked`).
* The call has no transcript at all.
This is intentionally an **OR** condition rather than an **AND** condition. Combining several individual filters (like status) would only show calls matching *all* conditions, which tends to under-match what auditors actually want to review first. The Suspicious calls filter is designed to catch anything that looks off, from any angle.
Because calls with the **Silence** status have no meaningful transcript by definition, they're naturally caught by the "no transcript at all" condition above — so turning on **Suspicious calls** is also a quick way to spot silent calls without setting up a status filter first.
The suspicious filter is a single toggle placed alongside the rest of the filter bar — it doesn't require selecting a status or configuring anything else first. Turn it on to instantly narrow the table down to calls worth a closer look, and turn it off to go back to your regular filtered view. It also combines cleanly with the other filters: for example, enabling **Suspicious calls** together with an **Agent** filter shows you only that agent's calls that need attention, without having to build a multi-condition filter manually. A small badge on the toggle reflects how many currently loaded calls match, giving you an immediate sense of scale before you even open the table.
### Review verdict (OK/KO)
A dedicated verdict filter lets you narrow the table down to only the calls your team has already reviewed and marked with an outcome:
* Select **OK** to see everything approved during review.
* Select **KO** to pull up everything flagged as problematic.
* Leave it unset to show calls regardless of verdict, including calls that haven't been reviewed at all.
This is especially handy at the end of a review session — quickly pull up every call marked **KO** to make sure each one has a follow-up note, or check every **OK** call before sharing a "clean" batch with a manager or client. It also combines with the other filters, for example to check the **KO** calls for a single agent, tag, or evaluation result.
## Summary cards
Above the table, a row of summary cards shows aggregate statistics computed **server-side** across **every call matching your current filters and date range** — not just the calls currently loaded on screen. This makes it a reliable, at-a-glance health check even before you scroll through a single row.
The cards include:
* **Volume** — the total number of calls matching your current filters, giving you an immediate sense of scale before diving into the table.
* **Average latency** — the real AI response latency averaged across matching calls, computed from actual turn-by-turn response times rather than an estimate, useful for spotting whether your agents are responding promptly overall.
* **Average duration** — how long matching calls last on average, handy for comparing campaigns or agents against each other.
* **Reviewed** — how many of the matching calls already have a review recorded, so you can track audit progress for a given segment at a glance.
* **Transfer time** — a dedicated card that splits total transfer time into **inbound** and **outbound** totals side by side, so you can see how much time each direction is costing you at a glance, without adding two separate cards to the row.
Because these cards respect your active filters, you can combine them with the **Agents**, **Company**, **Tags**, **Evaluations**, or **Status** filters to check, for example, the average latency for a single agent, or the reviewed count for only the calls tagged as escalations.
The transfer time card only accounts for time spent in the transferred portion of a call, and reports inbound and outbound totals separately since the two typically have very different transfer patterns and costs. It's calculated server-side across the full filtered date range, so the numbers stay accurate even when you're only looking at a page of 50 or 100 loaded calls.
## Refreshing the table
The table is refreshed **manually**, using a dedicated **↻ Refresh** button near the top of the table.
* Click **Refresh** whenever you want to pull in the newest calls matching your current filters, date range, and sort order.
* Newly arrived calls that weren't in the table before are briefly highlighted, so they're easy to spot right after a refresh.
* Refreshing respects your current filters, sort order, and scroll position — it won't reset or jump you back to the top of the table.
This replaces the previous automatic **Live** polling toggle. Rather than the table quietly refreshing itself in the background at adaptive intervals, you're now fully in control of when the table updates — click **Refresh** whenever you want the latest calls, and the table stays perfectly still in between clicks. This also removes any risk of a background refresh interrupting an in-progress edit, like a review note or tag you're in the middle of typing.
Click **Refresh** right before starting a review session to make sure you're looking at the latest calls, or periodically while monitoring an ongoing campaign to check for new activity — especially combined with the **Suspicious calls** filter to catch anything that needs attention as soon as it shows up.
A manual refresh keeps the table predictable while you work: your scroll position, open editors, and in-progress filters are never disturbed by a refresh you didn't ask for. You decide exactly when new data comes in.
## Pagination
To avoid forcing you to scroll all the way down just to move to the next page (and then back up to reach the filters again), pagination controls are shown **twice**: once directly above the table, right next to the refresh control, and again below the table after the last row.
* Both pagination bars stay in sync — changing the page size or moving to another page from either one updates the table and both bars together.
* The top bar is convenient when you've just adjusted a filter and want to immediately move through pages without scrolling.
* The bottom bar is convenient after scanning a full page of results top to bottom, letting you jump to the next page right where you left off.
Both pagination bars always reflect the same total-row count for your current filters, so there's no risk of the top and bottom controls disagreeing on how many pages are available.
## Deep links with pre-applied filters
The Advanced Calls View can be opened with filters already applied, using standard URL query parameters. This makes it easy to share a specific, filtered slice of the table with a teammate, or to link out to it from another part of the platform — a dashboard widget, an alert email, or an external report — without asking the recipient to rebuild the filters by hand.
* Supported query params mirror the filter bar itself, including **date range**, **agent**, **company** (for administrators), **tag**, **evaluation** (name and/or result), **status**, **suspicious calls**, and **review verdict**.
* Multiple values for a repeatable filter (such as agents or tags) can be passed together, and are applied as if you had added each one as a chip yourself.
* Opening a deep link populates the filter bar visibly, so you can see exactly which filters were pre-applied and adjust or clear any of them afterward — a deep link is just a starting point, not a locked-down view.
* Deep links combine cleanly with your saved views and column layout: the query-param filters are layered on top of whatever columns and pinning you already have configured, rather than replacing them.
Deep links are especially handy for recurring workflows — for example, bookmarking a link that always opens the table filtered to **Suspicious calls** for a specific agent, or sharing a link to a company's **KO**-verdict calls from the last 7 days directly with that company's account manager.
Query params that reference an agent, company, or tag you don't have access to are simply ignored rather than causing an error, so a mistyped or stale deep link degrades gracefully back to an unfiltered (or partially filtered) view instead of failing to load.
## Review and audit workflow
Each row in the table includes a **Reviewed** control that lets your team track which calls have already been checked, an **OK/KO verdict**, and an optional per-call audit note — all editable directly inline, without opening a separate modal. This column is pinned to the right edge of the table by default, so it stays visible no matter how many columns you've added.
Click the review indicator on a call's row to toggle its reviewed status inline.
Once you've listened to or read through a call, click **OK** or **KO** to record your audit verdict. Clicking the same verdict again clears it. Setting a verdict automatically marks the call as reviewed; clearing the reviewed toggle also clears the verdict.
Click the note icon to open a small inline editor and write context about why the call was flagged, resolved, or worth revisiting — for example, explaining why a call was marked KO. The note is stored per call, so it stays attached to that specific call for anyone reviewing the history later.
The reviewed toggle, the verdict, and the note text are all saved automatically a moment after you stop interacting — no need to click a separate save button.
Only one review note editor can be open at a time. Clicking outside the editor, or opening a note on another row, will close the current one.
Use the **Review verdict (OK/KO)** filter described above to pull up everything you've already flagged during a session, or to double-check a batch of approvals before sharing them. The **Reviewed** summary card also gives you a quick sense of how much of your current filtered segment still needs attention.
This review workflow is especially useful when combined with the **Suspicious calls** filter: click **Refresh** to catch new calls as they come in, flag the suspicious ones, review them one by one, record an OK/KO verdict with a note explaining the outcome, and mark them as reviewed once resolved. Save that exact combination of filters and columns as a custom view under **My views** — or share it as a deep link — so your team can jump straight back into it later.
This same reviewed toggle, OK/KO verdict, and note editor are also available directly inside the recording player modal, so you can record your audit verdict right after listening to a call without switching back to the table.
## Inline tag editing
The **Tags** column lets you manage a call's tags directly from the table, without opening the call's detail view.
Click into the Tags cell on any row to reveal the inline tag editor.
Start typing to search existing tags — an autocomplete dropdown suggests matching tags already used across your calls, so you can stay consistent instead of creating near-duplicate tags. Press **Enter** or select a suggestion to add it.
Renaming isn't a separate action — remove the old tag chip and add the new one in its place. Since tag suggestions are shared across calls, the new name immediately becomes available as a suggestion for every other call going forward.
Click the **✕** on any tag chip to remove it from the call.
Tag changes are saved as soon as you add or remove a chip — there's nothing else to confirm.
Tags added or removed inline are immediately reflected in the **Tags** filter's suggestions, so newly created or renamed tags become searchable right away. The same add/remove tag editor is also available inside the recording player modal.
## Per-turn latency detail
Beyond the aggregate latency numbers shown in the summary cards, you can drill into a single call to see exactly how its real AI response latency evolved turn by turn.
* Opening a call's latency detail breaks down the response time for each individual agent turn in the conversation, rather than just showing a single average for the whole call.
* This makes it easy to spot whether a high average latency came from one slow turn — for example, a moment where the agent had to call an external tool — or from consistently sluggish responses throughout the call.
* Turn-by-turn latency pairs naturally with the transcript, so you can line up a slow response with exactly what was being discussed at that point in the call.
Use per-turn latency detail together with the **Latency monitoring** predefined view: sort by average latency to find the slowest calls first, then open each one to see precisely which turn is dragging the average up.
## Admin links
For users with administrator access, each call includes quick links out to the underlying infrastructure providers, so you don't have to leave the page to cross-reference a call.
* A **Twilio** link opens the corresponding call record directly in the Twilio console, useful for checking carrier-level details like call routing or SIP diagnostics.
* An **ElevenLabs** link opens the corresponding conversation directly in the ElevenLabs dashboard, useful for checking voice generation details or debugging the underlying AI conversation.
These links, along with the **Company** filter, are only visible to administrator accounts. If you don't see them, your role doesn't currently have access to the underlying provider dashboards or cross-company data.
## Recording player
Clicking a call's recording opens a dedicated player modal built specifically for reviewing audio quickly, with a real waveform rendered from the decoded audio rather than a generic progress bar.
The waveform is built client-side from the actual audio data using the Web Audio API, so its shape reflects the real volume of the call rather than a placeholder animation. Click anywhere on the waveform to seek directly to that point in the recording.
Use the skip-back and skip-forward controls to jump exactly 10 seconds backward or forward — handy for re-listening to a specific exchange without scrubbing manually.
Choose a playback speed — 0.5×, 0.75×, 1×, 1.25×, 1.5×, or 2× — to slow down a tricky passage or speed through a long, uneventful call.
### Navigating between calls
Instead of closing the modal to move to another row, the player lets you step through calls directly from within it.
Click the **‹** and **›** icons in the modal header to jump to the previous or next call in your current filtered and sorted list.
Press the **←** and **→** arrow keys to move between calls without touching the mouse — handy for quickly moving through a batch of flagged calls.
The **‹** and **›** buttons are automatically disabled once you reach the first or last call in the list, so you always know when you've reviewed everything currently loaded.
Moving to the next or previous call keeps the same modal open — the recording, transcript, and review controls all update in place, with a short slide transition indicating which direction you moved.
Keyboard shortcuts for navigating between calls are disabled automatically while you're typing in the note or tag input, so arrow keys behave normally while you're writing.
The player modal also includes the same **Reviewed**/**OK**/**KO** review controls, per-call audit note, and per-turn latency detail found in the table, plus inline tag management — so you can complete most of a review session, including moving on to the next call, without ever leaving the recording view.
## Exporting to Excel
The Advanced Calls View supports two export modes:
Click **Export to Excel** to export every call currently matching your active filters, respecting your selected columns.
Select one or more rows using the row checkboxes, then click **Export selection (N)**. This exports only the calls you've selected, and always includes the **Reviewed** status, the **OK/KO verdict**, and the **audit note**, regardless of whether those columns are currently visible in the table.
Selective export is ideal for sharing a curated set of reviewed or suspicious calls with a manager or client, without exposing your entire filtered dataset. Because the review status, verdict, and audit note are always included in this export, it doubles as a ready-made audit trail you can hand off as-is.
The **Export selection (N)** button only appears once you've selected at least one row, with the count updating live as you check or uncheck rows — so you always know exactly how many calls will be included before you export.
Both export modes generate the file client-side based on the calls currently loaded in the table. If you're exporting all filtered calls, make sure you've loaded as many pages as you need before exporting, since the export won't reach beyond what's already been fetched into the table.
# Call Details
Source: https://docs.meetzy.es/calls/call-details
View transcription, recording, input/output data, and more for each call
# Call Details
Every call generates detailed data that helps you understand what happened during the conversation. The Call Details modal provides access to all information captured during the call.
## Opening Call Details
Click on any call row in the Call History table, or click the **View** button to open the details modal.
The recording player described below (waveform, navigation, review, and tags) is a single shared component. It now also powers the recording modal in the **advanced Calls view**, so whichever screen you review calls from, the behavior and shortcuts documented here are identical.
## Modal Layout
The Call Details modal is organized in a three-column layout:
| Panel | Content |
| --------- | ----------------------- |
| ⬅️ Left | Input Parameters (JSON) |
| 📊 Center | Call Information |
| ➡️ Right | Output Response (JSON) |
## Input Parameters
The left panel displays the input JSON that was sent to initiate the call:
```json theme={null}
{
"phone": "+1234567890",
"customer_name": "John Smith",
"appointment_date": "2024-02-15",
"custom_fields": {
"order_id": "ORD-12345"
}
}
```
### Features
* **Copy Button** - Copy the entire JSON to clipboard
* **Syntax Highlighting** - Color-coded JSON for readability
* **Expandable** - Scroll through large input payloads
## Call Information
The center panel shows key metadata about the call:
| Field | Description |
| ------------ | --------------------------------------- |
| Call ID | Unique identifier (monospace, copyable) |
| Status | Current status with colored badge |
| Success | ✓ Yes or ✗ No indicator |
| Playbook | Agent name that handled the call |
| Duration | Call length in human-readable format |
| From | Origin phone number |
| To | Destination phone number |
| Email | Contact email (if provided) |
| Created Time | Timestamp when call was initiated |
| Tags | Labels applied to this call |
### Status Badges
| Status | Color | Description |
| ----------- | --------- | ------------------------- |
| completed | 🟢 Green | Call finished normally |
| in-progress | 🔵 Blue | Call is currently active |
| failed | 🔴 Red | Call encountered an error |
| transferred | 🟣 Purple | Call was transferred |
| no-answer | ⚪ Gray | Recipient didn't answer |
### Analyze with Copilot
A new **Analyze with Copilot** button is available in the call information section that allows you to dive deeper into the conversation:
Click the "Analyze with Copilot" button to navigate to the agent editor with this call's context pre-loaded
The system automatically loads the call's transcription and metadata into Copilot for immediate analysis
You can now ask Copilot questions about this specific call, such as:
* "What were the key topics discussed in this call?"
* "How could the agent's response be improved?"
* "What patterns do you see in the customer's behavior?"
The Copilot analysis maintains full context of the call, including transcript, input parameters, and output data for comprehensive insights.
## LLM Model Usage
Meetzy runs on ElevenLabs' LLM cascade, which can automatically fall back to a different model mid-call if the primary model is slow or unavailable. The **LLM** block in the Call Information panel gives you visibility into exactly which models handled the conversation.
### Models Used
At the top of the block, you'll see a list of every distinct model that participated in the call, in the order they were first used:
```
gpt-4o-mini → gpt-4o → claude-3-5-sonnet
```
If only one model appears, the cascade never needed to fall back — the primary model handled the entire call. If more than one model appears, ElevenLabs degraded to a secondary model at some point during the conversation.
For calls made before **July 29, 2026**, this list falls back to the single `model_used` field, since per-turn tracking wasn't available yet. In that case, you'll only see one model, even though a cascade may still have been active behind the scenes.
### Per-Turn Breakdown (Cascade Detail)
Below the model list, click **Show Detail** to expand a collapsible, second-by-second breakdown of the cascade. This detail is collapsed by default to keep the modal compact.
Each row in the expanded view represents one conversational turn and shows:
| Column | Description |
| -------- | ------------------------------------------------- |
| Time | Elapsed seconds (`t`) since the call started |
| Model(s) | Which model(s) generated output for that turn |
| Tokens | Output tokens produced by each model at that turn |
If a turn used more than one model — for example, the primary model started responding but was interrupted by a fallback — both models are listed together, joined with `+`.
Open any completed call's details and find the **LLM** section in the center panel, below the core call metadata.
Check the summary list to quickly spot whether the cascade degraded during the call.
Click **Show Detail** to reveal the per-turn table and identify exactly when the switch happened.
Click **Hide Detail** to collapse the breakdown again and keep the modal easy to scan.
Cascade degradation is not necessarily an error — it means ElevenLabs automatically routed the conversation to keep latency low. Use this data to spot patterns (e.g., a model that degrades frequently) and adjust your agent configuration if needed.
## Output Response
The right panel displays the output JSON containing all data captured during the call:
```json theme={null}
{
"transcription": "Agent: Hello, this is Sarah from...",
"summary": "Customer confirmed appointment for...",
"sentiment": "positive",
"output_params": {
"appointment_confirmed": true,
"preferred_time": "morning",
"callback_requested": false
},
"evaluations": {
"successful_greeting": true,
"collected_requirements": true
}
}
```
### Output Contents
Full conversation transcript between the agent and the caller, with speaker labels.
AI-generated summary of the call's key points and outcomes.
Structured data extracted from the conversation based on your Output Settings configuration.
Results of automated evaluations defined in your agent configuration.
If the agent invoked any tools or webhooks, their requests and responses are included.
## Webhook Information
If your agent has a webhook configured, the bottom of the right panel shows:
| Field | Value |
| ------ | ----------------------------- |
| Method | POST, GET, etc. |
| URL | Webhook endpoint |
| Auth | Authorization header (masked) |
The webhook section only appears if a webhook was configured and triggered for this call.
## Recording Playback
If call recording is enabled, clicking the recording icon opens a dedicated **Call Recording** modal with a full-featured player on one side and a rich, per-turn transcript on the other.
This is the same recording modal used across Meetzy — including the **advanced Calls view** — so the waveform player, keyboard navigation, and review/tag editing described below all work identically no matter which list you opened it from.
### Navigating Between Calls
The recording modal no longer traps you on a single call. When you open a recording from a filtered list (for example, from Call History), the modal knows about the calls immediately before and after the one you're viewing, and lets you move between them without closing the modal and reopening a different row.
Two chevron buttons sit in the modal header, right next to the close button, so they're always visible and never overlap the waveform or transcript below. Click **‹** to load the previous call's recording and transcript, or **›** to load the next one, all without leaving the modal.
Press **←** to go to the previous call and **→** to go to the next call, without touching the mouse. Hovering the header buttons also shows these shortcuts as tooltips ("Previous call (←)" / "Next call (→)").
The previous/next buttons are automatically disabled (dimmed, non-clickable) at either end of the list — for example, if you're already viewing the first call, the "previous" button (and the ← shortcut) has no effect. The buttons only render at all when at least one adjacent call is available.
Arrow key navigation is automatically disabled while you're typing in the review note or tag input fields inside the modal, so pressing ← or → to move the cursor in a text field never accidentally jumps to another call.
Switching calls triggers a short slide transition (the content pane animates left or right depending on the direction you navigated) so it's clear a new recording has loaded, and reloads the waveform, audio, transcript, review status, and tags for the newly selected call.
### Call ID Badge Next to the Transcript
To make it easy to reference a specific call while reviewing recordings — for example, when filing a bug report or pasting the ID into a support ticket — the **Call ID** is now shown as a small badge right above the transcript panel, next to the "Transcript" heading.
You no longer need to scroll back up to the Call Information panel or return to the table to find the ID of the call you're currently listening to — it's shown directly next to the transcript.
Click the badge to copy the Call ID to your clipboard, exactly like the copy buttons elsewhere in the modal.
Because the badge reloads together with the rest of the panel, navigating to the previous/next call with the header buttons or arrow keys automatically updates it to the new call's ID — you'll never accidentally copy the wrong one.
### Quick Verdict (Pending / OK / KO)
Reviewing a batch of recordings usually ends with the same decision for each call: was this a good call or not? Instead of closing the modal and marking the call from the table, you can now record that verdict right from the recording player.
The verdict control is **tri-state**, not a simple on/off toggle:
| State | Meaning |
| ------- | ------------------------------------------------------------------------------ |
| Pending | Default state — the call has not been reviewed yet, or the verdict was cleared |
| OK | The call was handled correctly by the agent |
| KO | The call needs attention (bad handling, missed data, wrong tone, etc.) |
A three-way control in the modal, next to the review checkbox, lets you mark the call currently loaded as **OK** or **KO**, with the active option visually highlighted.
Clicking the currently active option a second time clears it, returning the call to **Pending** — there's no need to hunt for a separate "clear" or "undo" action.
The verdict is saved against the call you're viewing and travels with it — navigating to the previous/next call loads that call's own verdict state (Pending, OK, or KO); it never carries over from the call you just left.
Open any call's recording from Call History or another filtered list. Its verdict starts at whatever state was last saved for it — commonly **Pending** if it hasn't been reviewed yet.
Listen to the audio and read the transcript to judge whether the agent handled the call well.
Click **OK** or **KO** in the modal to record your judgment for this call. Click the same button again to reset the verdict back to **Pending** if you change your mind.
Use the **›** button or the **→** key to jump straight to the next call in the list and repeat the process — no need to reopen the modal.
Combining the tri-state verdict with previous/next navigation and the arrow-key shortcuts turns batch call review into a fast, keyboard-friendly workflow: listen, judge, move on. The **Pending** state also makes it easy to filter for calls that still need a human decision.
Setting a verdict updates the call's review status immediately. If you need to also leave a written explanation, use the review note field alongside the verdict control — the two are independent and both persist with the call.
### Reviewed Status, Notes, and Tags — Right From the Modal
Full review editing now lives inside the recording modal itself, so you don't need to go back to the table row to finish reviewing a call.
A **Reviewed** checkbox marks the call as looked-at, independent of the OK/KO verdict. Unchecking it also clears the verdict back to Pending, keeping the two fields consistent — the same behavior as the checkbox in the calls table.
A text field lets you type a free-form note explaining your verdict (e.g. "Agent missed the callback time"). It saves automatically a moment after you stop typing, so there's no separate save button to remember.
Add or remove tags for the call directly in the modal footer — press **Enter** after typing a tag to add it, or click the **✕** on an existing tag chip to remove it. Changes apply immediately and are reflected back in the calls table.
Just like the verdict, the Reviewed checkbox, note, and tags all reload for whichever call you navigate to with the previous/next controls — nothing is carried over between calls.
Because tags and review fields are edited on the same object the table row displays, updates made in the modal show up in the calls list the moment you close it — no manual refresh needed.
### Waveform Player
Unlike a plain `