Webhooks in meetergo
Webhooks let meetergo automatically notify your other systems when something important happens—like a new booking, a cancellation, or a reschedule. Instead of constantly checking for updates, your systems receive instant notifications, so you can keep everything in sync without lifting a finger.
What are webhooks?
Webhooks are meetergo's way of keeping your other tools in the loop. When something happens—someone books a meeting, cancels, or reschedules—we instantly send all the details to a web address you choose. From there, your system can do its thing: update your CRM, ping your team in Slack, kick off an email campaign, you name it. It's hands-off automation that just works.
Setting up webhooks in meetergo
- Navigate to Integrations & Apps and find the webhooks section
- Click "Add webhook"
- Enter the URL where you want to receive notifications (this is an address provided by your system or integration platform)
- Select which events you want to be notified about
- Click "Create Webhook"
Once saved, meetergo will start sending notifications to your URL whenever those events occur. Each notification includes complete information about what happened, so your system has everything it needs to take action.
Available webhook events
meetergo sends webhooks for three main types of events. Each event delivers specific information your system can use.
- New appointments— Triggered when someone books a new meeting. You'll receive all the booking details including attendee information, meeting time, hosts, and the Meeting Type.
- Cancelled appointments — Triggered when a booking is cancelled. The payload includes the same information as a created booking, plus cancellation details.
- Rescheduled appointments— Triggered when someone moves a meeting to a different time. This includes both the original start time and all the details of the newly scheduled meeting.
Understanding webhook payloads
When meetergo sends a webhook, it includes a "payload"—the package of information about what happened. The payload is structured data your system can easily read and use.
For created and cancelled bookings, the information comes at the top level. For rescheduled bookings, you'll find the original start time at the top and all the new booking details nested inside. This structure makes it easy to compare what changed.
Testing your webhooks
After setting up a webhook, book a test meeting or trigger the event manually to make sure everything works. Check your receiving system to confirm the notification arrived with all the expected information. If something isn't working, verify your URL is correct and publicly accessible.
Webhook data reference
Below you'll find the exact structure of data meetergo sends for each event type. Your developers can use this to build integrations.
Booking Events Payload (booking_created, booking_cancelled)
{
"id": "uuid",
"secret": "string",
"start": "2024-01-15T10:00:00.000Z",
"end": "2024-01-15T11:00:00.000Z",
"location": "string | null",
"isCancelled": false,
"rescheduledAt": "2024-01-14T12:00:00.000Z | null",
"meetingInfo": { },
"cancel": { },
"ics": "string",
"note": "string | null",
"hostingInfo": { },
"attendees": [
{
"id": "uuid",
"email": "attendee@example.com",
"phone": "+1234567890",
"firstname": "John",
"lastname": "Doe",
"fullname": "John Doe",
"timezone": "Europe/Berlin",
"language": "en",
"notes": "string | null",
"attendeeEnrichment": { }
}
],
"hosts": [
{
"id": "uuid",
"email": "host@example.com",
"givenName": "Jane",
"familyName": "Smith",
"fullName": "Jane Smith",
"slug": "jane-smith",
"picture": "https://..."
}
],
"hostIds": ["uuid"],
"meetingType": {
"id": "uuid",
"slug": "30-min-call",
"meetingInfo": { },
"meetingOptions": { },
"crmOptions": { }
},
"meetingTypeId": "uuid",
"paymentId": "string | null",
"companyId": "uuid",
"createdAt": "2024-01-14T09:00:00.000Z",
"updatedAt": "2024-01-15T08:00:00.000Z"
}
New Employee Payload (new_employee)
{
"id": "uuid",
"email": "user@example.com",
"givenName": "John",
"familyName": "Doe",
"fullName": "John Doe",
"companyId": "uuid",
"userType": "USER | ADMIN | COMPANY_ADMIN",
"createdAt": "2024-01-15T10:00:00.000Z"
}
Booking Rescheduled Payload (booking_rescheduled)
{
"oldStartDate": "2024-01-15T10:00:00.000Z",
"rescheduledAppointment": {
"id": "uuid",
"secret": "string",
"start": "2024-01-16T14:00:00.000Z",
"end": "2024-01-16T15:00:00.000Z",
"location": "string | null",
"isCancelled": false,
"rescheduledAt": "2024-01-15T12:00:00.000Z",
"meetingInfo": { },
"cancel": { },
"ics": "string",
"note": "string | null",
"hostingInfo": { },
"attendees": [
{
"id": "uuid",
"email": "attendee@example.com",
"phone": "+1234567890",
"firstname": "John",
"lastname": "Doe",
"fullname": "John Doe",
"timezone": "Europe/Berlin",
"language": "en",
"notes": "string | null",
"attendeeEnrichment": { }
}
],
"hosts": [
{
"id": "uuid",
"email": "host@example.com",
"givenName": "Jane",
"familyName": "Smith",
"fullName": "Jane Smith",
"slug": "jane-smith",
"picture": "https://..."
}
],
"hostIds": ["uuid"],
"meetingType": {
"id": "uuid",
"slug": "30-min-call",
"meetingInfo": { },
"meetingOptions": { },
"crmOptions": { }
},
"meetingTypeId": "uuid",
"paymentId": "string | null",
"companyId": "uuid",
"createdAt": "2024-01-14T09:00:00.000Z",
"updatedAt": "2024-01-15T12:00:00.000Z"
}
}
Key difference: booking_rescheduled includes oldStartDate at the top level and nests the appointment data under rescheduledAppointment, while booking_created and booking_cancelled send the appointment data directly at the root level.
FAQ
Can I filter webhooks for specific Meeting Types?
Webhooks are triggered for all Meeting Types in your account. If you only want to process specific meetings, you can filter them in your system using the meetingType.id information in the payload.
How quickly are webhooks sent after an event?
Webhooks are sent immediately when the event occurs. In most cases, your system will receive the notification within seconds.
Do I need a developer to set up webhooks?
Setting up the webhook in meetergo is straightforward, but you'll need technical help to build the receiving endpoint that processes the notifications. If you're using an integration platform like Zapier or Make, they often provide ready-made webhook receivers.
Updated on: 20/11/2025
Thank you!
