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?
Think of webhooks as automatic messengers. When an event happens in meetergo (like someone books a meeting), we send a message with all the details to a web address you provide. Your system receives this message and can do whatever you need—update your CRM, send a Slack notification, trigger an email sequence, or anything else.
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.
Security considerations
Webhooks send data over the internet, so your receiving URL should be secure (using HTTPS). Each webhook payload includes a secret field you can use to verify the request actually came from meetergo. Never expose your webhook URLs publicly or share them in insecure locations.
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: 17/11/2025
Thank you!
