Connect meetergo with the IONOS AI Voice Receptionist
Let the IONOS AI Voice Receptionist check your availability and book appointments through meetergo over the phone
The IONOS AI Voice Receptionist ("KI-Telefonassistent") can answer your phone line, understand what the caller wants, and talk to external systems over REST APIs during the call. With a small amount of configuration you can connect it to meetergo so the assistant checks your availability in real time and books appointments — without asking for an email address.
API integrations are available on the IONOS KI-Telefonassistent L and KI-Telefonassistent All-Flat Advanced plans. On the meetergo side you need a Personal Access Token and at least one Meeting Type.
What you'll get
Once the integration is live, the assistant can:
- Tell callers which times are available for a specific Meeting Type over the next few days
- Collect the caller's name and phone number in natural dialogue
- Create a confirmed booking in meetergo directly from the call
- Trigger an SMS confirmation instead of an email (since callers rarely spell out their address)
Before you start
You'll need:
- An IONOS tariff that supports API integrations (KI-Telefonassistent L or All-Flat Advanced)
- A meetergo Personal Access Token — see Personal Access Token for how to generate one
- Your meetergo user ID, returned by
GET https://api.meetergo.com/v4/user/me - The Meeting Type ID the assistant should book against (visible in the URL when you edit a Meeting Type:
https://my.meetergo.com/meeting-types/{meetingTypeId}/edit) - Phone-only booking enabled on that Meeting Type, so the assistant can book without collecting an email
Our full developer recipe — including sample code and a detailed conversation flow — is available at developer.meetergo.com/developer-docs/recipes/voice-ai-bot. This article walks through the exact values you need to paste into the IONOS dialog.
Step 1 — Prepare your Meeting Type in meetergo
The voice assistant should book into a dedicated Meeting Type so it doesn't interfere with your normal booking links.
- Open Meeting Types in your meetergo dashboard
- Create a new Meeting Type (for example Phone Consultation) or pick an existing one
- Copy the Meeting Type ID from the URL — you'll need it in the IONOS request
- Open Advanced → Core Booking Settings and enable the phone-only booking option so the assistant can create bookings without an email address
- Add a Workflow with the trigger Booking Confirmation and the action Send SMS to attendee — this replaces the email confirmation callers would otherwise miss
Without phone-only booking enabled, meetergo will reject the request with a 400 Bad Request because the attendee object has no email.
Step 2 — Get your meetergo credentials
- Generate a Personal Access Token at Integrations & Apps and copy it somewhere safe — it's shown only once
- Call
GET https://api.meetergo.com/v4/user/mewith that token as a Bearer header and note theidfield — this is the value you'll use for thex-meetergo-api-user-idheader in every IONOS request
Step 3 — Create the integrations in IONOS
In the IONOS control panel open Menu → KI-Telefonassistent → API-Integrationen and click + Integration hinzufügen. You'll create two integrations: one to check availability and one to create bookings.
Each integration in IONOS consists of two JSON blocks:
- Parameters (JSON Schema) — the information the assistant has to collect from the caller before firing the request
- Request Definition (HAR JSON) — the HTTP call itself, where
{{ variableName }}placeholders are replaced by the collected parameters at runtime
We recommend using the Expert Mode (top-right of the integration dialog) so you can paste the snippets below directly.
Never paste your Personal Access Token or user ID into an external LLM when using the "LLM-assisted" option. Enter secrets only in the IONOS dialog.
Integration A — Check availability
Name: check_meetergo_availability
Description (tells the assistant when to call this tool):
Call this tool to look up available appointment slots in meetergo between two dates. Use it as soon as the caller asks for an appointment so you can offer real-time options. Always provide dates in the format YYYY-MM-DD and query at most 14 days ahead.
Parameters (JSON Schema):
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"description": "First day to check, in YYYY-MM-DD format (e.g. 2026-05-01)."
},
"endDate": {
"type": "string",
"description": "Last day to check, in YYYY-MM-DD format. Maximum 14 days after startDate."
}
},
"required": ["startDate", "endDate"]
}
Request Definition (HAR JSON):
{
"method": "GET",
"url": "https://api.meetergo.com/v4/booking-availability?meetingTypeId=YOUR_MEETING_TYPE_ID&start={{ startDate }}&end={{ endDate }}",
"headers": [
{ "name": "Authorization", "value": "Bearer YOUR_API_KEY" },
{ "name": "x-meetergo-api-user-id", "value": "YOUR_USER_ID" },
{ "name": "Content-Type", "value": "application/json" }
]
}
Replace the three placeholders with your actual values:
YOUR_MEETING_TYPE_ID— the Meeting Type from step 1YOUR_API_KEY— the Personal Access Token from step 2YOUR_USER_ID— theidreturned by/v4/user/me
Integration B — Book an appointment
Name: book_meetergo_appointment
Description:
Call this tool once the caller has chosen one of the times returned by check_meetergo_availability. Always confirm the selected time with the caller before calling this tool. The phone number must be in international E.164 format (for example +491701234567).
Parameters (JSON Schema):
{
"type": "object",
"properties": {
"startTime": {
"type": "string",
"description": "ISO 8601 timestamp of the chosen slot, e.g. 2026-05-02T09:30:00.000Z. Must be one of the slots returned by check_meetergo_availability."
},
"callerName": {
"type": "string",
"description": "Full name of the caller."
},
"callerPhone": {
"type": "string",
"description": "Phone number of the caller in E.164 format, e.g. +491701234567."
}
},
"required": ["startTime", "callerName", "callerPhone"]
}
Request Definition (HAR JSON):
{
"method": "POST",
"url": "https://api.meetergo.com/v4/booking",
"headers": [
{ "name": "Authorization", "value": "Bearer YOUR_API_KEY" },
{ "name": "x-meetergo-api-user-id", "value": "YOUR_USER_ID" },
{ "name": "Content-Type", "value": "application/json" }
],
"postData": {
"mimeType": "application/json",
"text": "{\"meetingTypeId\":\"YOUR_MEETING_TYPE_ID\",\"start\":\"{{ startTime }}\",\"phoneOnlyBooking\":true,\"attendees\":[{\"fullname\":\"{{ callerName }}\",\"phone\":\"{{ callerPhone }}\"}]}"
}
}
Click Übernehmen and then Änderungen speichern at the top of the dialog for each integration.
Step 4 — Test the end-to-end flow
- Call your IONOS number and ask for an appointment on a specific day
- The assistant should read back real slots — those are coming live from meetergo
- Confirm one of the slots; the assistant will collect your name and phone number
- Hang up and open the Appointments overview — the new booking should appear immediately
- Check your phone for the SMS confirmation from the workflow you set up in step 1
Troubleshooting
The assistant says "No appointments available"
- Check that the Meeting Type has availability configured for the days you queried
- Make sure the date range is in the future and not longer than 14 days
- Verify that the
meetingTypeIdin the request URL matches the Meeting Type
meetergo returns 400 Bad Request
- Phone-only booking must be enabled on the Meeting Type
- The phone number must be in E.164 format (starts with
+and the country code) - The chosen
starttime must be one of the slots returned by the availability endpoint
meetergo returns 401 Unauthorized
- The Personal Access Token is missing, expired, or revoked
- The
x-meetergo-api-user-idheader doesn't match the token owner
The assistant ends the call abruptly
IONOS hangs up when an API endpoint errors out. Re-run the test, check the IONOS call log for the HTTP response, and fix the underlying cause in meetergo (usually missing phone-only booking or a bad Meeting Type ID).
FAQ
Can the assistant cancel or reschedule existing bookings?
The recipe above only covers checking availability and creating new bookings. Cancellation and rescheduling use different meetergo endpoints — reach out to support if you'd like us to help you extend the integration.
Can one assistant book into multiple Meeting Types?
Yes. Create one IONOS integration per Meeting Type (for example consultation vs. support call), give each a distinct name and description, and the LLM will pick the right one based on the caller's intent.
Does meetergo charge extra for voice bookings?
No. Bookings created through the API count the same as bookings made through your normal booking link. Your IONOS plan and any SMS charges from your workflow apply separately.
Was this article helpful?
Let us know if this article answered your questions.