---
title: "meeting | GraphQL API | Rolebase"
description: "Meeting, represents a scheduled meeting within a circle. Meetings support structured steps, attendee tracking, and video conferencing integration, and can be one-time or part of a recurring series."
url: "https://rolebase.io/en/developers/graphql-api/meeting"
---

[Rolebase](/) ⟩[Developers](/en/developers) ⟩[GraphQL API](/en/developers/graphql-api)

# meeting

Meeting, represents a scheduled meeting within a circle. Meetings support structured steps, attendee tracking, and video conferencing integration, and can be one-time or part of a recurring series.

## Fields

Field

Type

Description

`id`

`uuid`

Unique identifier for the meeting

`orgId`

`uuid`

Reference to the organization

`circleId`

`uuid`

Reference to the circle

`title`

`String`

Title of the meeting

`summary`

`String`

Summary or notes from the meeting

`startDate`

`Timestamp`

When the meeting starts

`endDate`

`Timestamp`

When the meeting ends

`createdAt`

`Timestamp`

When the meeting was created

`ended`

`Boolean`

Whether the meeting has ended (default: false)

`archivedAt`

`Timestamp`

When the meeting was archived; null if active

`private`

`Boolean`

Whether the meeting is private (default: false)

`invitedReadonly`

`Boolean`

Whether invited members are read-only (default: false)

`currentStepId`

`uuid`

ID of the current active step (optional)

`stepsConfig`

`[meeting_step_config]`

Configuration array defining the meeting structure

`videoConf`

`videoconf`

Video conferencing details (optional)

`recurringId`

`uuid`

Reference to the recurring meeting configuration (optional)

`recurringDate`

`Timestamp`

Date in the recurring series (optional)

## Relationships

**Object Relationships:**

*   `org` — The organization this meeting belongs to
*   `circle` — The circle this meeting is associated with
*   `recurring` — The recurring meeting configuration (if part of a series)

**Array Relationships:**

*   `meeting_attendees` — Members attending the meeting
*   `steps` — Steps or agenda items in the meeting

## Query Examples

### List Meetings for an Organization

```
query GetMeetings($orgId: uuid!) {  meeting(where: { archivedAt: { _is_null: true }, orgId: { _eq: $orgId } }) {    id    title    startDate    endDate    ended    circle {      role {        name      }    }    meeting_attendees {      member {        name      }      present    }    steps {      id      data    }    videoConf  }}
```

### Get a Specific Meeting

```
query GetMeeting($id: uuid!) {  meeting_by_pk(id: $id) {    id    title    startDate    endDate    circle {      role {        name      }    }  }}
```

## Mutation Examples

### Create a Meeting

```
mutation CreateMeeting {  insert_meeting_one(    object: {      orgId: "your-org-id"      circleId: "circle-id"      title: "Weekly Team Sync"      startDate: "2024-01-15T10:00:00Z"      endDate: "2024-01-15T11:00:00Z"      summary: "Team sync meeting"      stepsConfig: [        { id: "step-1", type: Tour, title: "Notes" }        { id: "step-2", type: Threads, title: "Discussions" }        { id: "step-3", type: Checklist, title: "Checklist" }        { id: "step-4", type: Indicators, title: "Indicators" }        { id: "step-5", type: Tasks, title: "Tasks" }      ]      private: false      invitedReadonly: false      meeting_attendees: {        data: [{ memberId: "member-id-1" }, { memberId: "member-id-2" }]      }    }  ) {    id    title    startDate  }}
```

### Update Meeting Status

```
mutation UpdateMeeting {  update_meeting_by_pk(    pk_columns: { id: "meeting-id" }    _set: { ended: true, summary: "Meeting notes and outcomes..." }  ) {    id    ended    summary  }}
```

## Permissions

Meeting access is controlled by multiple factors:

*   **Circle participants:** Can access and manage their circle's meetings
*   **Private meetings:** Only visible to circle participants and invited attendees
*   **Organization members:** Can access non-private meetings
*   **Invited attendees:** Can participate based on the `invitedReadonly` setting

** Notes**

Meetings support structured agendas through the `stepsConfig` array. Video conferencing can be integrated with various providers. Recurring meetings are managed via the `meeting_recurring` entity. The combination of `private` and `invitedReadonly` settings enables flexible access control.
