Skip to content

Create a meeting

meeting.create(MeetingCreateParams**kwargs) -> MeetingCreateResponse
POST/v1/meetings

Creates a new meeting record. This endpoint only supports creation of meetings in the past. The $title, $startDate, and $endDate fields are required. Only the $transcript relationship is writable on create; all other meeting relationships are system-managed. The response is privacy-aware and includes a read-only accessLevel. See Uploading meeting transcripts for the full file upload and transcript attachment flow.

Supports idempotency via the Idempotency-Key header.

Required scope: meetings:create

Rate limit category: Write

ParametersExpand Collapse
fields: Fields

Field values for the new MANUAL meeting. System fields use a $ prefix (for example $title, $startDate, $endDate). Required: $title, $startDate, and $endDate. $organizerEmail accepts a single email address when provided; $attendeeEmails accepts an array of email addresses. See Fields and relationships for value type details.

end_date: str

The end time of the meeting in ISO 8601 format. Must be in the past.

start_date: str

The start time of the meeting in ISO 8601 format. Must be in the past.

title: str

The title of the meeting.

attendee_emails: Optional[Sequence[str]]

A list of attendee email addresses.

description: Optional[str]

A description of the meeting.

meeting_url: Optional[str]

The URL for the meeting.

organizer_email: Optional[str]

The email address of the meeting organizer. This field accepts a single email address.

privacy_setting: Optional[Literal["FULL", "METADATA"]]

The privacy setting for the meeting (FULL or METADATA).

One of the following:
"FULL"
"METADATA"
auto_create_records: Optional[bool]

When true, the initial post-create meeting sync may auto-create account and contact records for external attendees.

relationships: Optional[Relationships]

Relationships to set on the new meeting. Only $transcript is writable on create; all other meeting relationships are system-managed.

transcript: Union[str, Sequence[str]]

The ID of the file to attach as the meeting transcript when creating the meeting. Only one transcript can be attached to a meeting.

One of the following:
str
Sequence[str]
ReturnsExpand Collapse
class MeetingCreateResponse:
id: str

Unique identifier for the entity.

access_level: Literal["FULL", "METADATA"]

The caller’s resolved access level for this meeting.

One of the following:
"FULL"
"METADATA"
created_at: str

ISO 8601 timestamp of when the entity was created.

fields: Dict[str, Fields]

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

value: Optional[FieldsValue]

The field value, or null if unset.

One of the following:
str
float
bool
List[str]
class FieldsValueAddress:
city: Optional[str]

City name.

country: Optional[str]

2-letter ISO 3166-1 alpha-2 country code.

latitude: Optional[float]

Latitude coordinate.

longitude: Optional[float]

Longitude coordinate.

postal_code: Optional[str]

Postal or ZIP code.

state: Optional[str]

State or province.

street: Optional[str]

Street address line 1.

street2: Optional[str]

Street address line 2.

class FieldsValueFullName:
first_name: Optional[str]

The contact’s first name.

last_name: Optional[str]

The contact’s last name.

value_type: Literal["ADDRESS", "CHECKBOX", "CURRENCY", 11 more]

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
object_type: Literal["meeting"]

Always meeting.

relationships: Dict[str, Relationships]

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

cardinality: str

Whether the relationship is has_one or has_many.

object_type: str

The type of the related object (e.g. account, contact).

values: List[str]

IDs of the related entities.

updated_at: Optional[str]

ISO 8601 timestamp of when the entity was last updated, or null.

external_id: Optional[str]

External identifier for the entity, or null if unset.

Create a meeting

from lightfield import Lightfield

client = Lightfield(
    api_key="My API Key",
)
meeting_create_response = client.meeting.create(
    fields={
        "end_date": "$endDate",
        "start_date": "$startDate",
        "title": "$title",
    },
)
print(meeting_create_response.id)
{
  "id": "id",
  "accessLevel": "FULL",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "objectType": "meeting",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ]
    }
  },
  "updatedAt": "updatedAt",
  "externalId": "externalId"
}
Returns Examples
{
  "id": "id",
  "accessLevel": "FULL",
  "createdAt": "createdAt",
  "fields": {
    "foo": {
      "value": "string",
      "valueType": "ADDRESS"
    }
  },
  "httpLink": "httpLink",
  "objectType": "meeting",
  "relationships": {
    "foo": {
      "cardinality": "cardinality",
      "objectType": "objectType",
      "values": [
        "string"
      ]
    }
  },
  "updatedAt": "updatedAt",
  "externalId": "externalId"
}