Skip to main content
Meeting Types are templates that define the rules for a specific type of meeting. Each meeting type has its own booking URL and settings.

Meeting Type Properties

PropertyDescription
nameDisplay name shown on booking pages
durationLength in minutes
slugURL-friendly identifier
bufferTime blocked before/after meetings
channelVideo conferencing platform

Create a Meeting Type

curl -X POST "https://api.meetergo.com/v4/meeting-type" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-meetergo-api-user-id: {userId}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Discovery Call",
    "duration": 30,
    "slug": "discovery-call"
  }'

Request Body

FieldTypeRequiredDescription
namestringYesDisplay name (e.g., “30 Minute Call”)
durationnumberYesDuration in minutes
slugstringNoURL slug (auto-generated if not provided)
descriptionstringNoDescription shown on booking page
bufferBeforenumberNoMinutes blocked before meeting
bufferAfternumberNoMinutes blocked after meeting

Response

{
  "id": "770e8400-e29b-41d4-a716-446655440002",
  "name": "Discovery Call",
  "slug": "discovery-call",
  "duration": 30,
  "bookingUrl": "https://cal.meetergo.com/john-smith/discovery-call"
}

List Meeting Types

Get all meeting types for a user:
curl -X GET "https://api.meetergo.com/v4/meeting-type" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-meetergo-api-user-id: {userId}"

Response

[
  {
    "id": "770e8400-e29b-41d4-a716-446655440002",
    "name": "Discovery Call",
    "slug": "discovery-call",
    "duration": 30,
    "description": "Let's discuss your needs",
    "bookingUrl": "https://cal.meetergo.com/john-smith/discovery-call"
  },
  {
    "id": "770e8400-e29b-41d4-a716-446655440003",
    "name": "Demo Session",
    "slug": "demo",
    "duration": 60,
    "bookingUrl": "https://cal.meetergo.com/john-smith/demo"
  }
]

Update a Meeting Type

curl -X PATCH "https://api.meetergo.com/v4/meeting-type/{meetingTypeId}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-meetergo-api-user-id: {userId}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Quick Chat",
    "duration": 15
  }'

Video Conferencing

Specify the video conferencing channel when booking:
ChannelDescription
google_meetGoogle Meet link (requires integration)
zoomZoom meeting (requires integration)
teamsMicrosoft Teams (requires integration)
wherebyWhereby room
phonePhone call
in_personIn-person meeting
When creating a booking, specify the channel:
{
  "meetingTypeId": "770e8400-e29b-41d4-a716-446655440002",
  "start": "2024-01-15T09:00:00+01:00",
  "hostIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "channel": "zoom",
  "attendee": {
    "email": "[email protected]",
    "firstname": "Jane"
  }
}

Buffer Times

Buffer times prevent back-to-back meetings:
{
  "name": "Strategy Session",
  "duration": 60,
  "bufferBefore": 15,
  "bufferAfter": 15
}
This creates a 60-minute meeting with 15 minutes blocked before and after. Example schedule impact:
Actual TimeAvailability
9:00-9:15Blocked (buffer before)
9:15-10:15Meeting
10:15-10:30Blocked (buffer after)
10:30+Available

Multiple Durations

Some meeting types support multiple durations. The attendee chooses when booking:
{
  "name": "Consultation",
  "durations": [15, 30, 60],
  "defaultDuration": 30
}
When booking, specify the duration:
{
  "meetingTypeId": "770e8400-e29b-41d4-a716-446655440002",
  "start": "2024-01-15T09:00:00+01:00",
  "duration": 60,
  "hostIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "attendee": { "email": "[email protected]" }
}

Common Patterns

Sales Discovery

{
  "name": "Discovery Call",
  "duration": 30,
  "description": "Let's learn about your business and goals",
  "bufferAfter": 10
}

Technical Demo

{
  "name": "Product Demo",
  "duration": 45,
  "description": "See our product in action",
  "bufferBefore": 15,
  "bufferAfter": 15
}

Quick Support

{
  "name": "Quick Support",
  "duration": 15,
  "description": "Fast help for simple questions"
}

Strategy Session

{
  "name": "Strategy Session",
  "duration": 90,
  "description": "Deep dive into your strategy",
  "bufferBefore": 30,
  "bufferAfter": 15
}

Best Practices

Use descriptive names - “30 Minute Discovery Call” is clearer than “Call”
Add buffer times - Give yourself time to prepare and wrap up
Keep slugs short - discovery is better than 30-minute-discovery-call-with-sales
Slug uniqueness - Each meeting type slug must be unique per user