Whispey Documentation

Examples

Customer Support Agent

Track and analyze customer support conversations to improve response quality and resolution rates.

from whispey import LivekitObserve

# Initialize Whispey
whispey = LivekitObserve(
    agent_id="support-agent-001",
    apikey="your-api-key"
)

# Start session with customer info
session_id = whispey.start_session(
    session=your_livekit_session,
    customer_name="Sarah Johnson",
    conversation_type="customer_support",
    metadata={
        "department": "technical_support",
        "priority": "medium",
        "product": "mobile_app"
    }
)

# Export on shutdown via callback
async def whispey_shutdown():
    await whispey.export(session_id)

ctx.add_shutdown_callback(whispey_shutdown)

# Start your LiveKit session
await session.start(...)

Sales Assistant

Monitor sales conversations to track conversion rates and optimize sales strategies.

# Initialize for sales tracking
whispey = LivekitObserve(
    agent_id="sales-agent-002",
    apikey="your-api-key"
)

session_id = whispey.start_session(
    session=your_livekit_session,
    customer_name="Mike Chen",
    conversation_type="sales_call",
    metadata={
        "product": "enterprise_plan",
        "lead_source": "website",
        "budget_range": "5000-10000"
    }
)

# Export on shutdown via callback
async def whispey_shutdown():
    await whispey.export(session_id)

ctx.add_shutdown_callback(whispey_shutdown)

# Start your LiveKit session
await session.start(...)

Appointment Scheduler

Optimize appointment booking conversations for better user experience.

# Initialize for appointment tracking
whispey = LivekitObserve(
    agent_id="scheduler-003",
    apikey="your-api-key"
)

session_id = whispey.start_session(
    session=your_livekit_session,
    conversation_type="appointment_booking",
    metadata={
        "service_type": "consultation",
        "location": "downtown_office"
    }
)

# Export on shutdown via callback
async def whispey_shutdown():
    await whispey.export(session_id)

ctx.add_shutdown_callback(whispey_shutdown)

# Start your LiveKit session
await session.start(...)

Multi-Agent Analytics

Compare performance across multiple agents and identify best practices.

# Track multiple agents
agents = {
    "agent_1": LivekitObserve(agent_id="agent-001", apikey="your-api-key"),
    "agent_2": LivekitObserve(agent_id="agent-002", apikey="your-api-key"),
    "agent_3": LivekitObserve(agent_id="agent-003", apikey="your-api-key")
}

# Start sessions for comparison
sessions = {}
for name, agent in agents.items():
    sessions[name] = agent.start_session(
        session=your_livekit_session,
        metadata={"agent_name": name, "test_scenario": "customer_inquiry"}
    )

# Track consistent metrics across agents
for name, session_id in sessions.items():
    async def whispey_shutdown():
        await agents[name].export(session_id)
    ctx.add_shutdown_callback(whispey_shutdown)
    await your_livekit_session.start(...)

# Export all sessions for comparison
for name, session_id in sessions.items():
    await agents[name].export(session_id)

Bug Reporting Integration

Enable automatic bug detection and reporting in your conversations.

# Initialize with bug reporting
whispey = LivekitObserve(
    agent_id="bug-reporting-004",
    apikey="your-api-key",
    bug_reports_enable=True,
    bug_reports_config={
        "bug_start_command": ["report issue", "there's a problem", "bug report"],
        "bug_end_command": ["issue resolved", "problem fixed", "bug resolved"],
        "response": "Please describe the issue.",
        "collection_prompt": "Got it, anything else?"
    }
)

session_id = whispey.start_session(session=your_livekit_session)

async def whispey_shutdown():
    await whispey.export(session_id)
ctx.add_shutdown_callback(whispey_shutdown)
await session.start(...)

OpenTelemetry Integration

Enable detailed telemetry collection for advanced monitoring.

# Initialize with OpenTelemetry
whispey = LivekitObserve(
    agent_id="otel-enabled-005",
    apikey="your-api-key",
    enable_otel=True
)

session_id = whispey.start_session(session=your_livekit_session)

async def whispey_shutdown():
    await whispey.export(session_id)
ctx.add_shutdown_callback(whispey_shutdown)
await session.start(...)

Dashboard Integration

Integrate Whispey analytics with your existing dashboard and reporting systems.

# Initialize for dashboard integration
whispey = LivekitObserve(
    agent_id="dashboard-integration-006",
    apikey="your-api-key"
)

session_id = whispey.start_session(
    session=your_livekit_session,
    metadata={
        "dashboard_id": "main_dashboard",
        "reporting_frequency": "real_time"
    }
)

async def whispey_shutdown():
    await whispey.export(session_id)
ctx.add_shutdown_callback(whispey_shutdown)
result = await session.start(...)

# Send to dashboard API
if result.get("success"):
    dashboard_data = {
        "session_id": session_id,
        "metrics": result.get("data", {}),
        "timestamp": datetime.now().isoformat()
    }
    # Send to your dashboard API
    await send_to_dashboard(dashboard_data)

Best Practices

Event Tracking

  • Use consistent event names across all agents
  • Include relevant metadata with each event
  • Track both user actions and system responses
  • Monitor error rates and failure points

Metrics Collection

  • Focus on actionable metrics that drive improvements
  • Track both quantitative (time, cost) and qualitative (satisfaction) metrics
  • Set up alerts for performance thresholds
  • Regular analysis of trends and patterns

Privacy and Compliance

  • Ensure customer data is handled according to privacy regulations
  • Implement data retention policies
  • Use anonymized data for analytics where possible
  • Regular security audits of data handling

Performance Optimization

  • Monitor response times and optimize slow operations
  • Track token usage to manage costs effectively
  • Analyze conversation patterns to improve agent responses
  • Regular review of analytics to identify improvement opportunities

More Examples

For additional examples and advanced use cases, visit our GitHub Examples Repository.