Skip to main content
Testing Lab is Feather’s structured environment for validating agent behavior before you send real traffic to a new version.

What It Helps You Catch

  • Prompt regressions
  • Weak objection handling
  • Missing tool coverage
  • Broken booking or transfer paths
  • Inconsistent qualification behavior

Core Objects

  • Scenario: the test case
  • Run: one execution over one or more scenarios
  • Expected outcome: the condition you want the agent to satisfy

Generate Scenarios

Use generated scenarios when you want a wide spread of realistic tests from a short brief.
curl -X POST "https://prod.featherhq.com/api/v1/testing-lab/scenarios/generate" \
  -H "X-API-Key: $FEATHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": 123,
    "num_scenarios": 5,
    "inbound_phone_number": 456,
    "first_message": "Hi, I wanted to learn more about your pricing.",
    "extra_instructions": "Include one confused prospect, one price-sensitive prospect, and one customer asking for a callback.",
    "generate_expected_outcomes": true,
    "tags": ["release-candidate"]
  }'

Run Scenarios

curl -X POST "https://prod.featherhq.com/api/v1/testing-lab/scenarios/run" \
  -H "X-API-Key: $FEATHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": 123,
    "scenarios": [1001, 1002, 1003],
    "frequency": 1,
    "name": "RC1 voice validation",
    "outbound_phone_number": "+14155550999",
    "tags": ["release-candidate"]
  }'

Suggested Testing Process

  1. Generate or hand-author scenarios for the core jobs the agent must complete.
  2. Include edge cases, objections, and failure paths.
  3. Run the candidate version.
  4. Fix prompts, tools, or settings.
  5. Re-run before deployment.

What Good Scenarios Look Like

Good scenarios are:
  • Specific about the caller or sender goal
  • Focused on one main success condition
  • Diverse in tone and objections
  • Tagged so release candidates can be compared over time