Create Meeting

Input attributes

When you want to add or create data in your meetings component, you need to rely on the MeetingAttributes type, which has the following input fields:

• address               (optional) - String
• available_slots       (optional) - Int
• title                 (required) - String
• description           (required) - String
• end_time              (required) - DateTime
• latitude              (optional) - coordinate
• longitude             (optional) - coordinate
• location_hints        (optional) - String
• location              (optional) - String
• online_meeting_url    (optional) - String
• registration_terms    (optional) - String
• registration_type     (required) - RegistrationTypeType
• registration_url      (optional) - String
• registrations_enabled (optional) - Boolean
• start_time            (required) - DateTime
• taxonomies            (optional) - Taxonomy ids to assign to this meeting
• type_of_meeting       (required) - TypeOfMeeting

You may want to check the following input types:

Sample request

The CreateMeeting mutation allows authenticated users to create new meetings in a Decidim meetings component. This mutation uses the existing CreateMeeting command from the controller.

mutation createMeeting($componentId: ID!, $input: CreateMeetingInput!){
  component(id: $componentId) {
    ...on MeetingsMutation{
      createMeeting(input: $input) {
        id
        title {
          translation(locale: "en")
        }
        description {
          translation(locale: "en")
        }
        address
        taxonomies{
          name {
            translation(locale: "en")
          }
          children{
            name{
              translation(locale: "en")
            }
          }
        }
      }
    }
  }
}

Example of submitted variables

{
  "componentId": 670,
  "input": {
    "locale": "en",
    "attributes": {
      "address": "Carrer de la Pau, 1, Barcelona",
      "availableSlots": 10,
      "description": "Cities need more people, not more cars",
      "endTime": "2025-12-24T22:10:22Z",
      "iframeAccessLevel": "ALL",
      "iframeEmbedType": "NONE",
      "latitude": 40.1234,
      "location": "Somewhere",
      "locationHints": "Near the main square",
      "longitude": 2.1234,
      "onlineMeetingUrl": "https://meets.example.org/abc-def",
      "registrationTerms": "By registering you agree to the terms and conditions",
      "registrationType": "ON_THIS_PLATFORM",
      "registrationUrl": "https://example.org/register",
      "registrationsEnabled": true,
      "startTime": "2025-12-24T20:10:22Z",
      "taxonomies": [1072],
      "title": "More sidewalks and less roads",
      "typeOfMeeting": "ONLINE"
    }
  }
}