Before You Start
Have these ready:Open the Studio
Go to your TalkifAI Studio dashboard and navigate to Agents, then click Create Agent.
Decide on a use case
What should this agent do? Customer support? Appointments? Sales? Decide first — everything else follows from this.
Step 1: Choose an Architecture
The most important decision — it determines whether your agent can handle voice, text, or both.- 🔧 Pipeline (Recommended for Voice)
- ⚡ Live (Realtime)
- 💬 Chat (Text Only)
Best when: You need voice calls with full provider flexibility.How it works:Each component uses a separate provider — you choose which:
- STT: Deepgram, OpenAI Whisper, Cartesia, Gemini
- LLM: GPT-4o, GPT-4o-mini, Gemini models, etc.
- TTS: Cartesia, OpenAI TTS, Gemini, Deepgram
- Voice selection
- LLM model
- STT provider
First time building? If you need voice → choose Pipeline. If you only need a website chatbot → choose Chat.
Step 2: Basic Information
| Field | Required | Tips |
|---|---|---|
| Name | ✅ | Keep it clear — e.g., “Customer Support Bot”, “Sales Agent” (max 50 characters) |
| Description | ✅ | Internal notes — not visible to end users (max 200 characters) |
| Languages | ✅ | The language(s) the agent will understand and speak. Supported: English, Urdu, Sindhi |
| Agent Mode | ✅ | Defaults to Public. Switch to Private for testing before sharing with your team |
Agent Modes:
- Private: Only visible to you and organization admins
- Public: Visible to all members of your organization (default)
- Commercial: Listed in the marketplace (requires owner/admin permissions)
Step 3: System Prompt — The Most Important Part
The system prompt is the agent’s soul. It defines:
- Who the agent is
- What it should do
- How it should speak
- What it should never do
Starter Template
Ready-Made Examples
🛒 E-Commerce Customer Support
🛒 E-Commerce Customer Support
📅 Appointment Booking
📅 Appointment Booking
📞 Sales / Lead Qualification
📞 Sales / Lead Qualification
🏥 Medical / Healthcare Triage
🏥 Medical / Healthcare Triage
System Prompt Best Practices
Keep it Short
Under 5000 characters. Long prompts confuse the agent and produce inconsistent responses.
Be Specific
“Be friendly” is vague. “Start every response with the customer’s name” is actionable.
Cover Edge Cases
What happens when the agent doesn’t know? When the user is angry? Define it explicitly.
Test and Iterate
Write → Test → Fix → Repeat. 3–5 iterations is completely normal.
Step 4: Configure Agent Behavior
Temperature
Controls the randomness and creativity of the agent’s responses.| Value | Effect | Use When |
|---|---|---|
0.1 – 0.3 | Precise, consistent | Support, factual queries |
0.4 – 0.7 | Balanced | General use (default: 0.7) |
0.8 – 1.0 | Creative, varied | Sales, casual conversation |
Inactivity Timeout
How long the agent waits before ending a call due to silence.| Value | Range | Default |
|---|---|---|
| Timeout | 10–60 seconds | 30 seconds |
Greeting Configuration
Choose who speaks first when the call starts:| Option | Description |
|---|---|
| Agent speaks first | The agent greets the user with a custom message |
| User speaks first | The agent waits for the user to initiate |
If you choose “Agent speaks first”, you’ll need to select a voice for the greeting (for Realtime architecture) or configure a greeting message.
Last Message (Optional)
A farewell message played when the conversation ends gracefully. Example: “Thank you for chatting! Have a great day.”Step 5: Choose an LLM Model (Pipeline & Text Only)
Available models are fetched from your organization’s configured providers.| Model Family | Best For | Speed | Cost |
|---|---|---|---|
| GPT-4o | Complex conversations, reasoning | Fast | $$$ |
| GPT-4o-mini | Simple tasks, high volume | Very fast | $ |
| Gemini 1.5 Pro | Long context, multilingual | Fast | $$ |
| Gemini Flash | Fast responses, cost-saving | Very fast | $ |
Step 6: Choose a Voice (Pipeline & Realtime Only)
The right voice makes your agent sound trustworthy and professional. Full guide: Voice Selection → Quick picks:| Use Case | Recommended |
|---|---|
| Customer Support | Cartesia — warm, clear |
| Sales | OpenAI TTS — confident, engaging |
| Medical / Legal | Cartesia — calm, professional |
| Casual / Friendly | OpenAI TTS — natural |
Supported voice providers: Cartesia, OpenAI TTS, Gemini, Deepgram. Availability depends on your organization’s API keys and configured providers.
Step 7: Choose STT Provider (Pipeline Only)

| Provider | Best For |
|---|---|
| Deepgram | Fast, accurate transcription |
| OpenAI Whisper | High accuracy, multilingual |
| Cartesia | Low-latency streaming |
| Gemini | Integrated with Gemini LLM |
Step 8: Add Functions (Optional)
Give your agent the ability to take real actions during calls.
| Function | What it does |
|---|---|
web_search | Searches the internet in real time |
end_call | Programmatically ends the conversation |
- Check order status
- Fetch data from your database
- Book a calendar slot
- Update your CRM
Step 9: Test Before Going Live
Always test before activating!- Click Test Agent in the Studio
- Talk to it directly in the browser — no phone number needed
- Try different scenarios:
- Normal conversation
- Edge cases (unknown info, angry user)
- All functions working correctly?
Step 10: Save and Activate
Click Create Agent (or Update Agent when editing). Your agent is now live. You can:Browser Test
Talk to your agent live in the Studio.
Connect a Phone Number
Receive real phone calls on your agent.
Call via API
Programmatically trigger outbound calls.
Embed on Website
Add a voice widget to your website.
Common Mistakes to Avoid
❌ System prompt is too long
❌ System prompt is too long
Problem: Agent becomes inconsistent and confused.
Fix: Keep it under 5000 characters. Include only essential instructions.
❌ Skipping tests
❌ Skipping tests
Problem: Agent behaves unexpectedly in production.
Fix: Run at least 20 test conversations across different scenarios.
❌ No edge cases defined
❌ No edge cases defined
Problem: Agent doesn’t know what to do when it’s confused.
Fix: Add explicit instructions: “If X happens, do Y.”
❌ Temperature too high
❌ Temperature too high
Problem: Support agent gives “creative” but incorrect answers.
Fix: For factual/support tasks, keep temperature at 0.2–0.4.
❌ Missing required fields
❌ Missing required fields
Problem: Agent creation fails with validation errors.
Fix: Ensure Name, Description, Languages, and System Prompt are filled. For Pipeline: also select Voice, LLM, and STT.
❌ Inactivity timeout too short
❌ Inactivity timeout too short
Problem: Calls end prematurely during natural pauses.
Fix: Set timeout between 20–40 seconds for most use cases.
API Reference
Create Agent
- Requires session authentication (Better Auth)
- Automatically scoped to your active organization
- Only Owners/Admins can create commercial agents
- Default mode is “public” if not specified
List Agents (Current Organization)
- Owners/Admins: See all agents (public + private)
- Members: See public agents + their own private agents
List All Agents (All Organizations)
Get Agent
- Returns 403 if agent is private and you’re not the creator or an admin
Update Agent
- Only send fields you want to change
- Architecture cannot be changed after creation
- Only creators or Owners/Admins can update agents
- Commercial agents can only be modified by Owners/Admins
Delete Agent
- Deletes agent and all related data (subagents, functions, etc.)
- Call logs and transcripts are preserved
- Only creators or Owners/Admins can delete
- Commercial agents can only be deleted by Owners/Admins
Error Responses
| Status | Error | Description |
|---|---|---|
401 | Unauthorized | Not authenticated |
403 | Forbidden | No permission for this action |
400 | Bad Request | Invalid parameters or validation failed |
404 | Not Found | Agent doesn’t exist |
500 | Server Error | Internal server error |
Related API Documentation
- Function Calling API — Manage agent functions
- Subagents API — Manage subagent hierarchies
- Webhook API — Configure agent webhooks