> ## Documentation Index
> Fetch the complete documentation index at: https://docs.octavehq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Prep Agent

> Generate call prep content including discovery questions, call scripts, and objection handling



## OpenAPI

````yaml post /api/v2/agents/call-prep/run
openapi: 3.0.0
info:
  version: 1.0.0
  title: Octave API
  description: API for Octave workspace management and AI-powered content generation
servers:
  - url: https://app.octavehq.com
security:
  - ApiKeyAuth: []
paths:
  /api/v2/agents/call-prep/run:
    post:
      tags:
        - Agents
      summary: Call Prep Agent
      description: >-
        Generate call prep content including discovery questions, call scripts,
        and objection handling
      operationId: runCallPrepAgent
      requestBody:
        description: Call prep input
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  nullable: true
                  description: Email of the person to build sales call prep materials for
                  example: john@example.com
                firstName:
                  type: string
                  nullable: true
                  description: >-
                    First name of the person to build sales call prep materials
                    for
                lastName:
                  type: string
                  nullable: true
                jobTitle:
                  type: string
                  nullable: true
                  description: >-
                    Job title of the person to build sales call prep materials
                    for
                companyDomain:
                  type: string
                  nullable: true
                  description: The domain of the company to build call prep materials for
                  example: example.com
                companyName:
                  type: string
                  nullable: true
                  description: The name of the company to build call prep materials for
                linkedInProfile:
                  type: string
                  nullable: true
                  description: >-
                    LinkedIn profile URL of the person to build sales call prep
                    materials for
                crmContactId:
                  type: string
                  nullable: true
                crmLeadId:
                  type: string
                  nullable: true
                crmAccountId:
                  type: string
                  nullable: true
                runtimeContext:
                  nullable: true
                  description: Runtime context for sales call prep materials
                agentOId:
                  type: string
                  description: >-
                    AgentOId is required when creating an agent in the
                    application. You can find it in the Agents section of your
                    dashboard.
                  example: agent_123
                includeFullAnnotation:
                  type: boolean
                  description: >-
                    If true, returns full annotation data including metadata. If
                    false or omitted (default), returns minimal annotations to
                    reduce response size.
              required:
                - agentOId
      responses:
        '200':
          description: Call prep successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  found:
                    type: boolean
                    description: Whether the operation was successful
                    example: true
                  message:
                    type: string
                    nullable: true
                    description: Message
                    example: Additional information
                  data:
                    $ref: '#/components/schemas/CallPrepAgentData'
                required:
                  - _metadata
                  - found
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
      deprecated: false
components:
  schemas:
    Metadata:
      type: object
      properties:
        usage:
          type: number
          default: 0
          example: 0
          description: API usage
        requestId:
          type: string
          example: requestId
          description: Request ID
        message:
          type: string
          example: message
          description: Message
        timestamp:
          type: string
          example: '2021-01-01T00:00:00.000Z'
          description: Timestamp
      required:
        - requestId
        - timestamp
    CallPrepAgentData:
      type: object
      nullable: true
      properties:
        discoveryQuestions:
          type: array
          nullable: true
          items:
            type: string
          default: []
        callScript:
          type: string
          nullable: true
        personBrief:
          type: string
          nullable: true
        companyBrief:
          type: string
          nullable: true
        objectionHandling:
          type: string
          nullable: true
        relevantCaseStudies:
          type: array
          nullable: true
          items:
            type: object
            properties:
              whyIsThisRelevant:
                type: array
                items:
                  type: string
              keyPointsToFocusOn:
                type: array
                items:
                  type: string
              keyDifferences:
                type: array
                items:
                  type: string
              snippet:
                type: string
              referenceCustomerName:
                type: string
                nullable: true
              matchConfidence:
                type: string
                nullable: true
                enum:
                  - LOW
                  - MEDIUM
                  - HIGH
                  - null
              matchAnalysis:
                type: string
                nullable: true
            required:
              - whyIsThisRelevant
              - keyPointsToFocusOn
              - keyDifferences
              - snippet
        product:
          $ref: '#/components/schemas/LibraryEntitySlot'
        service:
          $ref: '#/components/schemas/LibraryEntitySlot'
        solution:
          $ref: '#/components/schemas/LibraryEntitySlot'
        playbook:
          $ref: '#/components/schemas/LibraryEntitySlot'
        persona:
          $ref: '#/components/schemas/LibraryEntitySlot'
        useCases:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/LibraryEntitySlot'
        referenceCustomers:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/LibraryEntitySlot'
        alternatives:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/LibraryEntitySlot'
        buyingTriggers:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/LibraryEntitySlot'
        coreFeatures:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/LibraryEntitySlot'
        objections:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/LibraryEntitySlot'
        resultUrl:
          type: string
          nullable: true
        annotations:
          type: object
          nullable: true
          properties:
            annotations:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  type:
                    type: string
                  meta:
                    nullable: true
                  title:
                    type: string
                  description:
                    type: string
                    nullable: true
                  url:
                    type: string
                    nullable: true
                required:
                  - type
                  - title
            metadata:
              nullable: true
        customTask:
          type: object
          nullable: true
          properties:
            content:
              nullable: true
              description: Structured JSON output from the custom task
            error:
              type: string
              nullable: true
              description: Error message if the custom task failed
    LibraryEntitySlot:
      type: object
      nullable: true
      properties:
        oId:
          type: string
        name:
          type: string
        description:
          type: string
          nullable: true
        matchConfidence:
          type: string
          nullable: true
          enum:
            - LOW
            - MEDIUM
            - HIGH
            - null
        matchAnalysis:
          type: string
          nullable: true
      required:
        - oId
        - name
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key

````