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

# Create meeting

> Create and manage meetings imported from external sources like meeting recorders and note-taking apps.

This endpoint is designed to integrate with external meeting platforms and note-taking applications,
allowing you to import meeting data into Concrete for portfolio intelligence analysis.

**Key Features:**
- Import from various providers (Fireflies, Granola, Notion, etc.)
- Update existing meetings using meetingNoteId
- Flexible content requirements (need at least one of: title, notes, or transcript)
- Automatic workspace member matching via creatorEmail
- Support for both meeting notes and calendar event data




## OpenAPI

````yaml /openapi.yaml post /meetings
openapi: 3.1.0
info:
  title: Concrete API
  description: >
    The Concrete API provides programmatic access to view and create select data
    in Concrete.  The API is primarily intended to facilitate data pipeline
    automations for portfolio management.
  version: 1.0.0
  license:
    name: MIT
  contact:
    name: Concrete Support
    email: support@concretehq.com
    url: https://concretehq.com
servers:
  - url: https://app.concretehq.com/api/v1
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Authentication and member information
  - name: Companies
    description: Portfolio company management
  - name: Funds
    description: Fund and portfolio management
  - name: Meetings
    description: External meeting imports
  - name: Notes
    description: Notes attached to companies and people
  - name: Connections
    description: Data connections and message uploads
  - name: Trackers
    description: Tracked metrics and their per-company value history
paths:
  /meetings:
    post:
      tags:
        - Meetings
      summary: Create meeting
      description: >
        Create and manage meetings imported from external sources like meeting
        recorders and note-taking apps.


        This endpoint is designed to integrate with external meeting platforms
        and note-taking applications,

        allowing you to import meeting data into Concrete for portfolio
        intelligence analysis.


        **Key Features:**

        - Import from various providers (Fireflies, Granola, Notion, etc.)

        - Update existing meetings using meetingNoteId

        - Flexible content requirements (need at least one of: title, notes, or
        transcript)

        - Automatic workspace member matching via creatorEmail

        - Support for both meeting notes and calendar event data
      operationId: createMeeting
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MeetingInput'
      responses:
        '201':
          description: Meeting created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingCreateResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    MeetingInput:
      type: object
      description: >
        Meeting data for import from external sources. At least one of the
        following fields must be provided: 

        `meetingNoteTitle`, `calendarEventTitle`, `notes`, or `transcript`.
      anyOf:
        - required:
            - meetingNoteTitle
        - required:
            - calendarEventTitle
        - required:
            - notes
        - required:
            - transcript
      properties:
        provider:
          type: string
          description: >
            External source (e.g., "fireflies", "granola"). Used to facilitate
            link backs using the meetingNoteId.

            Common providers include meeting recording services and note-taking
            applications.
          example: fireflies
        meetingNoteId:
          type: string
          description: >
            External system's meeting note identifier. Updates existing meeting
            if matched.

            This allows you to update the same meeting multiple times from your
            external system.
          example: external_note_123
        meetingNoteTitle:
          type: string
          description: >
            Title from the external meeting note. This is one of the four fields
            that can satisfy 

            the minimum content requirement.
          example: Q4 Board Meeting Notes
        creatorName:
          type: string
          description: Name of meeting creator
          example: John Doe
        creatorEmail:
          type: string
          format: email
          description: >
            Email of meeting creator. Matches on workspace members to take
            ownership of the meeting 

            from the API key holder. If this email matches a workspace member,
            they will become the 

            owner of the imported meeting.
          example: john@example.com
        attendees:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Optional name of the attendee
                example: Alice Jones
              email:
                type: string
                format: email
                description: Optional email address of the attendee
                example: alice@acmecorp.com
          description: >
            Array of attendee objects. Each object may contain an optional name
            and/or email.

            At least one of name or email should be provided for each attendee.
          example:
            - name: Alice Jones
              email: alice@acmecorp.com
            - email: carmen@sandiego.com
        calendarEventId:
          type: string
          description: >-
            Calendar system's event identifier for linking to original calendar
            event
          example: cal_event_456
        calendarEventTitle:
          type: string
          description: >
            Title from calendar event. This is one of the four fields that can
            satisfy 

            the minimum content requirement.
          example: Q4 Board Meeting
        calendarEventTime:
          type: string
          format: date-time
          description: >
            Meeting date/time (ISO 8601 format). Defaults to current time if not
            provided.

            Used for chronological organization of meetings.
          example: '2024-12-15T14:00:00Z'
        notes:
          type: string
          description: >
            Meeting notes content in markdown format. This is one of the four
            fields that can 

            satisfy the minimum content requirement. Supports rich formatting
            for detailed meeting records.
          example: Meeting notes markdown content here...
        transcript:
          type: string
          description: >
            Meeting transcript content in markdown format. This is one of the
            four fields that can 

            satisfy the minimum content requirement. Full transcript for
            comprehensive meeting analysis.
          example: Full meeting transcript markdown content here...
    MeetingCreateResponse:
      type: object
      required:
        - publicId
      properties:
        publicId:
          type: string
          description: Created meeting public ID
          example: abc123def456
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message
          example: Not found
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication using Bearer token format

````