Skip to main content
POST
/
meetings
Create meeting
curl --request POST \
  --url https://app.concretehq.com/api/v1/meetings \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "provider": "fireflies",
  "meetingNoteId": "external_note_123",
  "meetingNoteTitle": "Q4 Board Meeting Notes",
  "creatorName": "John Doe",
  "creatorEmail": "john@example.com",
  "attendees": [
    {
      "name": "Alice Jones",
      "email": "alice@acmecorp.com"
    },
    {
      "email": "carmen@sandiego.com"
    }
  ],
  "calendarEventId": "cal_event_456",
  "calendarEventTitle": "Q4 Board Meeting",
  "calendarEventTime": "2024-12-15T14:00:00Z",
  "notes": "Meeting notes markdown content here...",
  "transcript": "Full meeting transcript markdown content here..."
}'
{
  "publicId": "abc123def456"
}

Authorizations

Authorization
string
header
required

API key authentication using Bearer token format

Body

application/json
  • Option 1
  • Option 2
  • Option 3
  • Option 4

Meeting data for import from external sources. At least one of the following fields must be provided: meetingNoteTitle, calendarEventTitle, notes, or transcript.

meetingNoteTitle
string
required

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"

provider
string

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
string

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"

creatorName
string

Name of meeting creator

Example:

"John Doe"

creatorEmail
string<email>

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
object[]

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
string

Calendar system's event identifier for linking to original calendar event

Example:

"cal_event_456"

calendarEventTitle
string

Title from calendar event. This is one of the four fields that can satisfy the minimum content requirement.

Example:

"Q4 Board Meeting"

calendarEventTime
string<date-time>

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
string

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
string

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..."

Response

Meeting created successfully

publicId
string
required

Created meeting public ID

Example:

"abc123def456"

I