AI Voice Agents conduct automated telephone conversations using a configured artificial-intelligence model, synthesized voice, behavioral instructions, and optional business Knowledge Base.
An AI Voice Agent can be configured to:
The normal AI Voice Agent workflow is:
The current application includes browser pages and API routes for Agents, Knowledge Bases, test Calls, live monitoring, Call transcripts, recordings, exports, Webhook configuration, archiving, and restoration.
A human Agent is a User account operated by a person.
Human Agents can use:
An AI Voice Agent is an automated conversation configuration.
It contains:
Human Agents are managed under:
AI Voice Agents are managed under:
Do not confuse an AI Voice Agent with a human Agent User account.
The current AI Voice Agent Call path combines:
The reviewed TwiML conversation handler uses Twilio’s:
with:
The application includes a Deepgram service and an AI-agent test endpoint that can check Deepgram configuration.
However, the current standard TwiML AI conversation route uses Twilio speech gathering rather than Deepgram streaming for the live speech-recognition step.
A successful Deepgram test does not by itself prove that the current Twilio Gather conversation path is configured correctly.
Caller speech is sent to an OpenRouter-supported model.
The response is:
The AI request includes approximately the latest:
This normally represents about:
Older conversation turns remain stored but are not all sent back to the AI model for every response.
The application always prepends a shared instruction file:
before the Agent’s custom System Prompt.
The final behavioral context is assembled approximately as:
From the Sidebar:
The page address is:
The section also includes:
The installed API provides Agent creation, updating, testing, archiving, restoration, Webhook configuration, Calls, transcripts, recordings, and exports.
The normal browser pages for:
require:
when KYC enforcement is enabled.
Basic KYC alone is not sufficient for these browser pages.
The corresponding AI Agent and Knowledge Base API routes are protected by authenticated API access, but they do not apply the same Business KYC middleware used by the browser pages.
This is a current access-control inconsistency.
The API should enforce the same tier, role, permission, and ownership requirements as the browser interface.
The normal AI Agent API scopes Agents to:
A Customer normally sees only its own AI Voice Agents.
A human Agent User does not automatically inherit the parent Customer’s AI Voice Agents through the primary AI Agent API.
AI Voice Agents are directly owned by the User account that created them.
Each AI Agent Card can display:
The page provides client-side Search across fields such as:
The Agent API returns approximately:
The current page does not render pagination controls.
Search therefore applies only to the first loaded set of approximately fifteen Agents.
An Agent beyond the first page can be absent from both the visible list and Search results.
The index loads additional statistics for each visible Agent.
This can produce one extra API request per Agent and make the page slower as the visible Agent count increases.
An Inbound Agent is intended to:
The Agent Details page does not offer a normal outbound Make Call action for an Inbound-only Agent.
An Outbound Agent is intended to:
It should not be treated as an inbound answering Agent unless its Type is changed.
A Both Agent supports:
Selecting Inbound or Both does not automatically make a Phone Number ring the Agent.
The Agent also requires:
Select:
or open:
The form contains:
A newly opened form starts approximately with:
The current Create form does not assign a Phone Number.
The required sequence is:
Agent Name is required.
Maximum length:
Examples:
Description is optional.
Use it to explain:
Select:
according to the approved operating purpose.
The Create form offers prompt starters for uses such as:
Selecting a template fills the System Prompt with a starting instruction.
It does not configure:
The backend configuration exposes a separate Template API with Customer Support, Sales Agent, Survey Bot, and Lead Qualification templates.
The current Create page instead uses its own hard-coded prompt starters.
The text and branding in the visible templates can therefore differ from the templates returned by:
The System Prompt is required.
It defines how the Agent should behave.
A useful System Prompt should define:
The Agent’s System Prompt is not the only instruction.
The platform’s shared Voice AI instruction file is prepended before it.
A System Prompt should not attempt to override security, compliance, or platform-level constraints.
When a manually initiated AI Call is correctly linked to a Contact or Campaign, the AI can receive context such as:
The current Make Call dialog submits only a destination Phone Number.
It does not provide a Contact or Campaign selector.
Manually initiated AI Calls normally lack the Contact and Campaign context described above.
The First Message is the greeting spoken when the AI Call begins.
Maximum length:
AI Agent Campaign greetings support single-brace placeholders:
This differs from static Campaign TTS variables:
A normal inbound AI Call does not perform the same Campaign Contact variable replacement.
Use a general inbound greeting unless the incoming Call has an independently linked Contact context.
When First Message is blank, the system uses a fallback based on the Agent Type.
For example:
The Goodbye Message is used when caller language indicates that the conversation should end.
Maximum length:
The current conversation engine can end when caller speech contains phrases such as:
Normal conversation responses use the selected Agent Voice.
The current transfer and goodbye TwiML functions use:
instead of the Agent’s selected Voice.
The end of a Call can therefore suddenly switch to a different Voice.
The model controls how the Agent interprets caller speech and generates responses.
The current configured model list is returned by:
The current source configuration includes:
These entries are currently labeled Free in the application configuration.
The current build describes the options approximately as:
These are application labels rather than guaranteed response times.
External model availability can change.
The conversation engine attempts:
when the preferred model fails.
A Call can begin using the selected model and later receive a response from a fallback model after a provider failure.
The interface does not prominently announce this model change to the caller.
The Maximum Tokens field limits AI response generation.
The Create and Edit interface allows approximately:
However, the live conversation service applies an additional voice-response cap and uses no more than approximately:
per response.
Entering a value above 250 does not cause the current voice path to produce a response beyond that internal cap.
After generation, spoken AI content is limited by the configured character cap, currently approximately:
The system attempts to stop at a sentence or word boundary.
Temperature controls response variation.
Accepted range:
General interpretation:
For business telephone operations, a conservative value is usually safer.
The Voice determines how normal AI responses are synthesized through Twilio <Say>.
The current Voice API returns Amazon Polly and Google Chirp3-HD options.
The configuration describes the Polly choices as Generative.
The current Voice mapper normally sends the short names to Twilio’s faster:
variants.
Explicit -generative values are supported internally but are not the standard choices displayed by the form.
The Voice description and actual Twilio Voice engine can therefore differ.
When a stored Voice cannot be mapped, the application falls back to:
The current Create form does not provide a built-in Voice preview.
Use one internal test Call before activating the Agent for production.
The Agent can select an existing Knowledge Base record.
When no saved Knowledge Base is selected, the form allows custom Knowledge Base text directly on the Agent.
The Agent uses:
when that relationship exists and contains text.
Otherwise, it falls back to:
Selecting a saved Knowledge Base clears the inline Knowledge Base from the current form state.
Review the Agent carefully before saving.
A saved Knowledge Base can store up to approximately:
However, the conversation engine currently inserts only approximately:
into the AI System Prompt.
The remaining saved content is not available to that conversation turn through the current implementation. A unit test in the source confirms the prompt cap.
The reviewed AI Agent Knowledge Base path does not show:
It places the beginning of the Knowledge Base directly into the prompt up to the configured character limit.
Place the most important information first.
Use this sequence:
From the Sidebar:
The page address is:
The page provides:
The current page requests up to approximately:
and does not provide pagination controls.
Records beyond the loaded set are not normally accessible through the visible page.
Search applies to the loaded Knowledge Base names and content excerpts.
It does not search records that were not loaded from later API pages.
The Knowledge Base model currently stores:
It does not store:
The Knowledge Base API returns, edits, and deletes Knowledge Bases without Customer ownership filtering.
Knowledge Bases are effectively shared global records across authenticated accounts in the current database design.
Until tenant ownership is added, do not place confidential Customer-specific information in a saved Knowledge Base.
Examples include:
This multitenant isolation defect should be corrected before production use.
Select:
or open:
The current form supports:
Name is required.
Maximum length:
Use a descriptive Name such as:
Enter approved information directly into the Content field.
The stored maximum is approximately:
Supported file types are:
Maximum file size:
The server reads the file as text.
It does not preserve:
Only flattened text is stored.
The browser displays the selected file’s text for preview and allows the user to edit that preview.
When the form is submitted in File mode, the original file is uploaded and read again by the server.
Changes made only to the preview field are not applied.
To edit file content before saving:
Enter an http:// or https:// address and select Fetch.
The server:
The server permits approximately:
for the URL request.
A webpage can contain navigation, cookie text, footer information, and unrelated content.
Review and clean the extracted text before saving.
The URL-fetch endpoint accepts general HTTP and HTTPS addresses and does not show restrictions against private network or internal service addresses.
Untrusted users should not be allowed to submit arbitrary URLs.
The endpoint should be protected with:
The backend permits a Knowledge Base with a Name and no Content.
Such a record does not provide useful context to the Agent.
Knowledge Base Names are not required to be unique.
Use clear versioning and dates to avoid selecting the wrong record.
Select Edit on a Knowledge Base Card.
The address is:
The Edit form offers the same:
input methods.
The same File preview issue applies during Edit.
Changes typed into the preview are ignored when the original file is submitted.
The current Knowledge Base system does not store:
Export or copy critical content before replacing it.
An Agent reads the current saved Knowledge Base content during conversation prompt assembly.
Editing the Knowledge Base can affect every Agent using that record.
The assembled Agent System Prompt is cached for approximately:
The cache key includes the Agent’s update timestamp and the shared base-instruction file timestamp.
It does not clearly include the Knowledge Base’s update timestamp.
Changing a saved Knowledge Base without updating the Agent can therefore leave previous Knowledge Base content in the cached Agent prompt until the cache expires.
The page warns that deletion can affect Agents using the Knowledge Base.
The database relationship is configured so that deleting a Knowledge Base can set the Agent’s:
After deletion, the Agent can fall back to its inline Knowledge Base when one exists.
Otherwise, it operates without Knowledge Base context.
The current Knowledge Base page does not display:
Confirm assignments manually before deleting.
When Active is enabled, the Agent can be selected for normal AI calling.
When inactive:
Enable Recording instructs eligible outbound AI Calls to request provider recording.
The Agent Call record can later receive:
through the recording callback.
The technical option does not establish legal authority.
Confirm:
Accepted range:
The Call State Manager contains a method capable of checking this limit.
The reviewed TwiML conversation handler does not call that method during its normal turn-processing path.
Maximum Call Duration is therefore not confirmed as enforced for current standard AI Calls.
The configuration defines approximately:
The same unused Call-limit helper checks this value.
The current standard TwiML handler does not visibly invoke that helper.
Accepted range:
The Twilio Gather timeout uses this value.
After the first period without speech, the Agent says a prompt similar to:
After the second consecutive silence, the system ends the Call with a goodbye message.
Accepted range:
This value is used primarily as the OpenRouter HTTP response timeout, with the current service further constraining the primary-model request to a narrow range.
It is not the caller’s speech timeout; that is controlled separately by Silence Timeout.
Turn on:
Then provide:
Use complete E.164 format:
Examples:
The Agent checks whether caller speech contains any saved Trigger Keyword.
Matching is:
A keyword such as agent could match a larger phrase containing that text.
Use specific phrases to reduce false transfers.
When a Trigger Keyword matches, the Agent says a configured transfer message and dials the Transfer Number.
The transfer Dial allows approximately:
for the human destination to answer.
When the human destination does not answer, the caller hears a fallback message and the Call ends.
The Agent’s assigned Phone Number is passed as the transfer Caller ID when available.
The number must be accepted by the connected Twilio account.
The Create form correctly reads and writes:
The Edit and Agent Details interfaces use:
instead.
The database and API use:
After creation:
but the Edit page can:
Configure Trigger Keywords during initial Agent creation.
Afterward:
trigger_keywords through an approved administrative process.After reviewing all fields, select:
On success, the Agent is created under the signed-in User ID and the interface returns to the AI Agent section.
The Create form defaults to Active.
The Agent still lacks a Phone Number on initial creation, but its active state can make it eligible for certain internal selections.
A safer launch process is:
Open the Agent Details page and select:
The address is:
The Edit page can change:
The Phone Number selector exists on Edit rather than Create.
Select the number intended to receive or place AI Agent Calls.
When the same Phone Number is saved on another AI Agent, the update process removes that number from the previous AI Agent.
The operation can silently reassign the number rather than returning a duplicate-number error.
Create validates the AI Agent Phone Number as unique.
Update does not use the same uniqueness validation.
Instead, it programmatically clears the number from other Agents.
The Edit page loads the general all-numbers endpoint.
The source does not clearly show that the selector limits every displayed number to:
Select only a Phone Number confirmed to belong to the current Customer.
The Edit page submits the loaded Agent object rather than only a tightly constructed set of editable fields.
The backend validator ignores unsupported properties, but the request can include response-only or relationship data.
Some Edit defaults use JavaScript ||.
A valid numeric value of zero can be replaced visually by a default.
For example:
Saving without noticing can overwrite the intended zero value.
For an inbound Call to reach the AI Agent:
After saving an Agent with a Phone Number, the backend attempts to configure that number’s Twilio Webhooks automatically.
The Agent Configuration Test dialog can also provide:
This operation sets the Twilio number’s Voice URL to the AI Agent Call endpoint and adds a Call Status callback.
The configuration action uses the platform’s global active Twilio configuration.
It does not configure a number belonging only to an unrelated Customer-owned Twilio credential.
When the assigned Phone Number does not exist in the connected Twilio account, Webhook configuration fails.
Successful configuration stores:
along with the provider Phone Number SID.
Someone can later change the Webhook directly in Twilio.
The stored AIUNIFY flag can remain true even when the actual provider configuration no longer matches.
From Agent Details, select:
Then select:
The dialog checks areas such as:
The configuration test checks whether the OpenRouter API key is configured.
It does not necessarily generate a full live conversation during this test.
The test attempts to connect to the active Twilio account.
When an Agent has a Phone Number, the test checks whether that number exists in the Twilio account.
The Webhook accessibility test checks whether the application URL begins with:
It does not perform a real external request to confirm that Twilio can reach the endpoint.
A green HTTPS result does not prove:
The API also provides:
This test checks:
It does not test Twilio Webhooks.
The current Configuration Test dialog uses the broader configuration endpoint rather than exposing this separate test directly.
A complete production test requires:
Select an Agent Card.
The address is:
Depending on Agent Type and configuration, the page can display:
Make Call is displayed when:
It is disabled while the Agent is Inactive.
The Agent Details page displays:
The Agent’s Success Rate is:
It does not independently confirm a human conversation or successful business outcome.
Average Duration is based on completed AI Agent Calls.
Total Cost is the sum of the AI Agent Calls’ stored:
value.
It is not automatically the same as the Customer’s Credit statement or provider invoice.
The Details tab can display:
The current tab does not clearly display all saved configuration, including:
Open Edit to review those values.
The page loads approximately:
for the Agent.
It can display:
The Configuration tab displays items such as:
Because the page expects transfer_keywords instead of trigger_keywords, the displayed keyword list can be empty or incorrect.
From Agent Details, select:
Enter a Phone Number including country code.
Recommended format:
The backend requires a string but does not apply strict E.164 validation to the AI Call destination.
An improperly formatted number can reach Twilio and fail there.
The current dialog does not provide:
A manually initiated Call normally stores:
It normally lacks a linked Contact or Campaign because the dialog does not submit those IDs.
An inactive Agent cannot place the Call.
The backend rejects an outbound Call when the Agent Type is:
The source does not show a dedicated preflight error for an Agent with no Phone Number before the Twilio request.
The interface hides Make Call when no number is assigned, but direct API use can still reach provider failure.
The Call uses the active global Twilio configuration.
The initial provider Call permits approximately:
for the destination to answer.
When Agent Recording is enabled, the outbound Call requests recording and provides a Recording callback.
The AI Agent Call initiation controller does not show:
for the manually initiated AI Call.
Provider and LLM costs can still be incurred.
This billing path should be reconciled with the platform’s Credit system before production use.
For an inbound Call, the TwiML handler searches for an Active AI Agent using the called Phone Number.
It accepts:
Two international numbers can share the same final ten digits while having different country codes.
The current matching query selects the first matching Active Agent without an ownership filter.
This can route a Call to the wrong Agent in a collision scenario.
Exact normalized E.164 matching should be used instead.
When no Active Agent is found, the caller hears a message indicating that the number is not configured, and the Call ends.
A new inbound AI Call is created with values such as:
The first response uses:
The caller’s recognized speech is stored as a User conversation turn.
The AI response is stored as an Assistant conversation turn.
The Call tracks the number of conversation turns.
The current code increments Turn Count in more than one place during speech processing, so the displayed number should be treated as an approximate interaction count rather than a guaranteed count of caller statements.
The <Say> instruction is placed inside Twilio <Gather>.
This allows the caller to begin speaking while the prompt is playing and can stop the prompt.
Before speech playback, the service removes or reduces content such as:
After one failed model response, the Agent asks the caller to repeat.
After repeated failures:
Before treating a response as failed, the engine can attempt other configured models.
When the caller says an end phrase, the system uses the Agent’s configured Goodbye Message where available and ends the Call.
The current Twilio speech Gather uses:
The AI Agent Create and Edit forms do not provide a language setting for speech recognition.
A System Prompt can instruct the AI model to respond in another language, but caller speech is still recognized through the current en-US Twilio setting.
Non-English recognition and pronunciation are therefore not dependable through this standard route.
A Campaign can automatically select an AI Agent when its chosen Phone Number is assigned to an Active AI Agent.
The AI Agent’s First Message can use:
from the Campaign Contact.
The AI Agent Call record can include:
The Campaign AI Call creation path does not clearly populate the AI Call’s direct:
A Campaign Contact can therefore be linked while master Contact context remains unavailable to the Conversation Engine.
The Campaign AI path can update Campaign Contact Status when:
The Campaign On Demand Start action described in Chapter 7 does not use the Campaign AI Agent route.
It uses static TTS or Audio playback.
Use a normal controlled AI Campaign test to verify AI Agent behavior.
From the Sidebar:
The page address is:
The page can display:
Active AI Calls include:
with no Ended At timestamp.
The active Call list is loaded when the page opens.
The selected Call’s details are refreshed repeatedly.
The main active Call list itself is not continuously reloaded in the same way.
A new Call that begins after the page opens might not appear until the user selects:
The selected Call details are refreshed approximately every:
The active Call status Card can poll more frequently.
Loading Call details can also synchronize the record with Twilio.
This can update:
The transcript displays stored conversation turns such as:
with available confidence and timing information.
The live transcript is assembled from the speech text and AI response records stored during conversation.
It is not necessarily a later word-for-word transcription of the recording.
Duration can remain zero or stale until the database or Twilio synchronization provides an updated value.
Select:
to request provider completion.
The Live Calls page does not provide:
The current page has no full Search or filter controls for:
Several AI Agent Call API actions do not apply Customer ownership filtering, including the reviewed paths for:
An authenticated API user can potentially receive AI Call information belonging to another Customer through these unscoped endpoints.
Potentially exposed information includes:
The AI Agent Recording endpoint does check that the Call belongs to:
This protection is not consistently applied to the other AI Call endpoints.
Before multitenant production use, every AI Agent Call query should be scoped through:
The Live Calls, History, Statistics, Transcript, Synchronization, and Export endpoints must use the same policy.
From the Sidebar:
The page address is:
The page offers filters for:
Visible Status options include:
The interface submits:
The stored Call Status uses:
The In Progress filter can therefore return no matching Calls.
Direction options are:
The API applies dates to:
rather than the Call record’s creation time.
The backend supports filtering by AI Agent ID.
The current Call History page does not provide an Agent selector.
The page does not provide Search by:
The API returns approximately:
The current History page does not render page-navigation controls.
Calls beyond the first page cannot normally be reached through the visible page.
The table displays:
Duration is the AI Agent Call’s stored:
value in seconds.
This differs from the standard Call model, which uses duration_seconds.
The table can display:
The field named openai_cost is used as the LLM cost even though the current model provider is OpenRouter.
The AI Call model does not provide a separate visible currency code with each cost.
The page formats the value through the application currency formatter.
The current default estimate configuration includes rates approximately equivalent to:
These are application estimates and may not equal the provider invoice, Customer Credit debit, recording charge, model charge, or country-specific rate.
Select the Transcript action for a Call.
The dialog can display:
The Transcript button is displayed even when a Call has no stored conversation turns.
The dialog can therefore open with no conversation content.
Accuracy can be affected by:
Unlike the standard Call History page, the AI Agent recording endpoint proxies the recording through AIUNIFY after checking ownership.
The Transcript dialog can use the authenticated recording route for playback.
The endpoint supports a download option and streams an MP3 response.
A recording appears after the provider:
Possible causes include:
Select:
from AI Agent Call History.
The export uses the current:
filters.
The export returns up to approximately:
The filename follows:
The CSV contains:
The export does not contain:
The CSV contains the raw provider Recording URL.
Protect the file even though the normal interface uses an authenticated proxy for playback.
The export query currently lacks Customer ownership scoping.
This must be corrected before Customers are permitted to export data in a multitenant production environment.
Deactivation changes:
An inactive Agent should no longer:
Deactivation does not clearly terminate an AI Call that is already active.
End or monitor current Calls separately.
Select Activate to make the Agent eligible again.
Before reactivation, confirm its:
remain valid.
The backend blocks permanent deletion when the Agent has:
Permanent deletion is intended only for an Agent with no operational history or Campaign relationship.
The browser Delete dialog describes permanent deletion.
When Call history exists, its Delete button can be disabled and the backend recommends archiving instead.
Archive preserves historical Call data while removing the Agent from normal active use.
Archiving:
An Agent cannot be archived while it has active Calls.
Campaigns linked to the Agent have their AI Agent assignment cleared.
Review each affected Campaign before using it again.
Archived Agents are excluded from the normal Agent API list.
The backend provides:
The current browser interface has no:
Archiving is effectively one-way through the normal UI.
Restoration requires an approved API or administrative process.
Restoration does not automatically reactivate the Agent or reconnect it to Campaigns.
Review and reconfigure it before use.
Enter an approved System Prompt before saving.
Possible causes include:
The current page logs these loading failures to the browser console but does not always show a visible error.
The Knowledge Base API can have failed, or no records exist.
The Create page can silently continue with an empty list.
This is expected on Create.
Save the Agent, then open Edit.
Saving the same number on a new Agent clears it from the previous Agent.
Confirm:
Confirm:
The stored Webhook flag can be stale, and the test does not make a real public reachability request.
Review the number directly in Twilio and make an actual inbound Call.
Review:
Only approximately the first 4,000 characters are inserted into the prompt.
Move essential information to the beginning or implement semantic retrieval.
The Agent prompt can remain cached for up to approximately ten minutes.
Wait for expiration or clear the appropriate application cache through an approved process.
Possible causes include:
The model request is failing.
After repeated failures, the system can transfer or terminate depending on configuration.
The current service limits:
Shorten the desired answer through the System Prompt and Knowledge Base.
Transfer and Goodbye TwiML currently use Joanna Generative regardless of the Agent’s selected Voice.
The saved Voice ID is not recognized by the current mapper.
The standard short Voice IDs map to Polly Neural voices.
Check:
The Edit interface uses the incorrect transfer_keywords field.
Check:
Substring matching can match a keyword inside a longer phrase.
Use more specific Trigger Keywords.
Possible causes include:
The current fallback matches the last ten digits and selects the first result.
Review duplicate suffixes across international numbers.
Speech recognition is hard-coded to en-US.
Two consecutive Gather timeouts end the Call.
Increase Silence Timeout where appropriate, up to the permitted maximum.
The current standard handler does not visibly invoke the available duration-limit check.
The configured Maximum Duration is not confirmed as enforced.
The Agent is:
The Agent is Inactive.
Use complete E.164 format.
The backend does not strictly normalize or validate the destination before Twilio.
The Make Call dialog does not link a Contact.
The manual AI Agent Call controller does not show integration with the Customer Credit ledger.
Review provider and platform billing before assuming the Call was free.
Select Refresh.
The main active Call list does not continuously reload.
Confirm the selected Call is still active and refresh its details.
The stored duration may not update until provider synchronization or completion.
The Call can already be completed, or the provider Call SID can be unavailable.
Refresh the Call state.
The interface submits in_progress, while stored status is in-progress.
Only the first API page is displayed, and pagination controls are absent.
The API supports it, but the current page does not.
Possible causes include:
Possible causes include:
The displayed value is an AI Call cost estimate or provider cost field, not necessarily the platform Credit charge.
The current Knowledge Base table has no Customer owner field.
Do not open, edit, use, or delete another organization’s content.
Report the issue immediately.
The server reread the original uploaded file.
Use Plain Text mode for edited content.
Possible causes include:
The extractor removes HTML tags but does not identify the page’s main article or business section.
Clean the content manually.
Deleting the record set the Agent’s Knowledge Base relationship to null.
Assign another Knowledge Base or restore approved inline content.
Confirm:
Confirm:
Confirm:
Before broad production deployment, confirm ownership enforcement for:
Review:
Review:
The reviewed AI Voice Agent and Knowledge Base implementation currently includes these important limitations:
At the end of this chapter, the user should understand the difference between a human Agent and an AI Voice Agent and know how to open:
The user should understand how to create an Agent, select its Type, model, Voice, System Prompt, greeting, Goodbye Message, Knowledge Base, recording preference, timeouts, and transfer configuration.
The user should know that the current configured AI models are accessed through OpenRouter and that the live conversation service can attempt fallback models when the selected model fails.
The user should understand how the configured Voice maps to Twilio speech, why the final transfer or Goodbye Voice can differ, and why an internal telephone test is required.
The user should understand that the AI prompt contains:
The user should recognize that a Knowledge Base can store up to approximately 500,000 characters while only the first approximately 4,000 characters are inserted into the current Agent prompt.
The user should know how to create a Knowledge Base through Plain Text, File, or URL import and recognize the current file-preview, URL-fetch, versioning, and global-ownership limitations.
The user should understand how to save an Agent, open Edit, assign a Phone Number, configure Twilio Webhooks, run Configuration Test, and complete real inbound and outbound telephone tests.
The user should know how inbound AI Calls are routed, how the First Message begins the conversation, how caller speech and AI responses are stored, how silence is handled, how transfer is triggered, and how the Call ends.
The user should understand how to monitor Live Calls, open transcripts, end an active Call, review recordings, inspect cost estimates, and export AI Call History.
Most importantly, the user should follow this controlled deployment sequence: