Skip to main content

What Are Agents?

Agents are the core of the Ipster platform - AI-powered voice assistants that can handle conversations with customers. Each agent has its own personality, knowledge base, and conversation flow.

TODO: Agent Data Model

Team Input Needed: We need to document the actual agent structure in our database
Questions for the team:
  1. What fields does an agent have? (name, prompt, voice_id, etc.)
  2. What’s required vs optional when creating an agent?
  3. How do we handle agent versioning/updates?
  4. What are the data types and constraints for each field?
Example structure we need to document:
// TODO: Replace with actual agent schema
{
  id: "string",
  name: "string",
  description: "string",
  prompt: "string",
  // TODO: Add all actual fields
}

TODO: Agent Types and Capabilities

Questions for the team:
  1. Do we have different types of agents? (Simple, Complex, Multi-step, etc.)
  2. What capabilities can agents have? (Transfer calls, book appointments, etc.)
  3. How do we configure different voice providers? (ElevenLabs, others)
  4. Do agents support custom functions/tools?

TODO: Agent Lifecycle

Questions for the team:
  1. What are the different agent states? (Draft, Active, Paused, etc.)
  2. How do we test agents before going live?
  3. Can agents be duplicated or templated?
  4. How do we handle agent updates without breaking active calls?

TODO: Available Endpoints

Once we confirm what endpoints exist, we’ll document:
  • GET /v1/agents - List agents
  • POST /v1/agents - Create agent
  • GET /v1/agents/{id} - Get agent details
  • PUT /v1/agents/{id} - Update agent
  • DELETE /v1/agents/{id} - Delete agent
  • POST /v1/agents/{id}/test - Test agent (if this exists)

TODO: Integration with Voice Providers

Questions for the team:
  1. How do we configure ElevenLabs integration per agent?
  2. Do agents have different voice settings? (speed, pitch, etc.)
  3. How do we handle provider failover?
  4. What about Retell.ai integration for complex flows?