Overview

This example demonstrates how to:

  • Process a call transcript
  • Extract key information
  • Generate structured documents
  • Apply custom templates
  • Handle multiple speakers

Basic Example

Input Transcript

{
  "call_id": "call_123",
  "participants": [
    {"id": "user_1", "name": "John (Sales)"},
    {"id": "user_2", "name": "Sarah (Customer)"}
  ],
  "transcript": [
    {
      "speaker": "user_1",
      "timestamp": "00:00:05",
      "text": "Hi Sarah, thanks for joining today. We'll discuss the new features you requested."
    },
    {
      "speaker": "user_2",
      "timestamp": "00:00:12",
      "text": "Yes, specifically I'm interested in the API integration capabilities."
    }
  ]
}

Generate Summary Document

curl -X POST https://api.buildbetter.app/v1/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "meeting_summary",
    "source": {
      "call_id": "call_123"
    },
    "options": {
      "format": "markdown",
      "template": "customer_meeting",
      "include_action_items": true
    }
  }'

Output Document

# Customer Meeting Summary
Date: January 15, 2024
Duration: 45 minutes
Participants: John (Sales), Sarah (Customer)

## Key Points
- Discussed new feature requests
- Focus on API integration capabilities
- Customer interested in Salesforce connection

## Action Items
1. [ ] Send API documentation to Sarah
2. [ ] Schedule technical review for integration
3. [ ] Provide pricing for API access tier

## Next Steps
- Follow-up meeting scheduled for next week
- Technical team to review requirements

Advanced Processing

Processing Options

Content Selection

processing_options:
  content_filters:
    include:
      - key_points
      - action_items
      - decisions
      - follow_ups
    
    exclude:
      - small_talk
      - technical_issues
      - interruptions

Format Options

format_settings:
  markdown:
    headers:
      style: "atx"  # Use # headers
      max_level: 3
    
    lists:
      style: "hyphen"
      indent: 2
    
    emphasis:
      bold: "**"
      italic: "_"

Customize processing options to match your document requirements and organizational standards.

Real-World Example

Sales Call to PRD

1

Record Sales Call

# Start recording
curl -X POST https://api.buildbetter.app/v1/calls/record \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "meeting_url": "https://zoom.us/j/123456789",
    "title": "Feature Discussion with Enterprise Customer"
  }'
2

Process Transcript

# Generate transcript with speaker detection
curl -X POST https://api.buildbetter.app/v1/calls/{call_id}/process \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "options": {
      "speaker_detection": true,
      "sentiment_analysis": true,
      "key_topics": true
    }
  }'
3

Generate PRD

# Create PRD from call
curl -X POST https://api.buildbetter.app/v1/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "type": "product_requirements",
    "source": {
      "call_id": "{call_id}"
    },
    "template": "enterprise_prd",
    "options": {
      "include_market_context": true,
      "include_user_stories": true
    }
  }'

Example PRD Output

# Product Requirements: Enterprise API Integration

## Overview
Based on customer discussion on January 15, 2024

## Market Context
Enterprise customer seeking API integration capabilities for:
- Salesforce data synchronization
- Custom webhook support
- Batch processing capabilities

## User Stories
As an enterprise customer, I want to:
1. Sync customer data with Salesforce
2. Process data in batches of 1000+ records
3. Receive webhook notifications for updates

## Technical Requirements
- REST API endpoints for CRUD operations
- OAuth 2.0 authentication
- Rate limiting: 10,000 requests/hour
- 99.9% uptime SLA

## Implementation Timeline
- Phase 1: Basic API endpoints (Q1 2024)
- Phase 2: Batch processing (Q2 2024)
- Phase 3: Webhook system (Q3 2024)

Best Practices

Transcript Quality

  • Ensure clear audio quality
  • Use speaker identification
  • Mark important segments
  • Note key decisions

Document Generation

  • Choose appropriate templates
  • Set clear extraction rules
  • Review and refine output
  • Maintain consistency

Always review automatically generated documents before sharing with stakeholders.

Template Customization

Custom Fields

template_fields:
  customer_context:
    type: "text"
    source: "participant_info"
    required: true
  
  business_value:
    type: "list"
    source: "signal_analysis"
    min_items: 2
  
  technical_scope:
    type: "structured"
    format: "requirements"
    required: true

Document Structure

document_structure:
  sections:
    - title: "Executive Summary"
      content: ["context", "objectives"]
      max_length: 500
    
    - title: "Detailed Requirements"
      content: ["user_stories", "technical_specs"]
      format: "nested_list"
    
    - title: "Next Steps"
      content: ["action_items", "timeline"]
      required: true

Create templates that match your organization’s documentation standards and workflows.

Integration Example

Jira Integration

// After document generation, create Jira tickets
const response = await buildbetter.documents.create({
  type: 'technical_specs',
  source: { call_id: 'call_123' },
  integrations: {
    jira: {
      project_key: 'PROD',
      issue_type: 'Story',
      auto_create: true
    }
  }
});

BuildBetter can automatically create tickets and tasks in connected systems based on generated documents.