Help / AI assistants (MCP)
What your assistant can do
A connected assistant works with 42min through a fixed set of 43 tools.
You don't call these yourself. The assistant picks the right one from your
request ("find me a slot tomorrow" becomes a find_available_slots call). This
page lists them all in plain language, so you know exactly what an assistant
can and cannot do with your account.
Which tools an assistant actually gets depends on the access it was granted:
an assistant connected with a read-only
personal access token
sees only the reading tools, so none of the ones marked (write) below. And
every tool respects your dashboard role. See
Permissions and security.
Availability and slots
| Tool | What it does |
|---|
find_available_slots | Lists open booking slots for an event type over a date range (up to 31 days at a time). |
check_slot | Checks whether one specific start time is bookable. |
get_schedules | Reads your own availability schedules: weekly hours, date overrides, and your out of office periods. |
add_schedule_override (write) | Adds or replaces a date-specific override on one of your schedules. |
add_out_of_office (write) | Adds an out of office period, whole days with no bookable slots anywhere. Existing meetings aren't canceled; the assistant reports how many fall inside the dates. |
delete_out_of_office (write) | Deletes one of your out of office periods, making those days bookable again. |
Bookings and meetings
| Tool | What it does |
|---|
list_bookings | Lists bookings, filtered by status, date range, event type, attendee, or host. |
get_booking | Full detail for one booking: form responses, location or conferencing link, no-show status. |
create_booking (write) | Books a meeting for an attendee on any active event type in your organization, the same thing the public booking page allows. |
cancel_booking (write) | Cancels a booking. The attendee is notified and the calendar event is removed. |
reschedule_booking (write) | Moves a booking to a new time. |
list_meetings | Your host-side meetings view: upcoming, past, or a date range. |
set_meeting_no_show (write) | Marks (or unmarks) a past meeting as a no-show. |
Recurring meetings
| Tool | What it does |
|---|
list_recurring | Lists recurring series you can see, with the next meeting and how many remain. |
get_recurring | Reads one series with its next four meetings. |
create_recurring (write) | Creates a series for a contact: host, event type, weekdays, time, start date, number of meetings, optional fixed link. |
pause_recurring (write) | Holds the remaining meetings; nothing is emailed to the attendee. |
resume_recurring (write) | Re-creates the held meetings from the next pattern date. |
end_recurring (write) | Cancels the remaining meetings and closes the series. |
update_recurring (write) | Changes the pattern, the fixed link or whether the attendee is emailed. |
change_recurring_host (write) | Moves every remaining meeting to another host. |
A series' occurrences are ordinary bookings: find them with list_bookings
and its series_id filter, and act on any one of them (a single reschedule
or cancellation) with the regular booking tools.
Event types
| Tool | What it does |
|---|
list_event_types | Lists event types, optionally filtered by status, host, or slug. |
get_event_type | Full detail for one event type: duration, location, booking questions, limits. |
set_event_type_status (write) | Turns an event type on or off. Turning it off immediately stops new public bookings. |
| Tool | What it does |
|---|
search_contacts | Searches contacts by name or email, with meeting counts and tags. |
get_contact | One contact plus their meeting history. |
Single-use links
| Tool | What it does |
|---|
create_single_use_links (write) | Generates one-time booking links (1–10 at a time) for an event type you manage. |
list_single_use_links | Lists your one-time links with created / booked / expired status. |
delete_single_use_link (write) | Deletes an unused one-time link so it can no longer be used. |
Roundtables (group scheduling polls)
| Tool | What it does |
|---|
list_roundtables | Lists your roundtables with status, vote counts, and the confirmed time. |
get_roundtable | Full poll state: candidate slots, participants, vote tallies. |
create_roundtable (write) | Creates a draft poll with candidate time slots and participants. Drafts send no emails and place no calendar holds. |
publish_roundtable (write) | Publishes a draft: opens voting, emails every invited participant, and places tentative calendar holds. Assistants are instructed to confirm with you before calling this, because it can't be undone through MCP. |
| Tool | What it does |
|---|
list_routing_forms | Lists the routing forms you can access, with each form's public URL, status, and question, rule, and response counts. |
get_routing_form | One form's questions and its routing rules, in the order they are evaluated. |
get_routing_form_stats | How a form is converting and where its leads land, rule by rule. |
list_routing_responses | Submissions to one form: what each lead answered, which rule matched, where they were sent, and the booking they made, if any. |
get_routing_response | The full record for one response, including every stored answer, the UTM and tracking parameters, and the linked booking. |
evaluate_routing_form | Runs a set of answers through a form's rules and reports which rule would match, without saving anything. |
set_routing_form_status (write) | Turns a form on or off. Turning it off takes the public form page down and stops new submissions immediately. |
duplicate_routing_form (write) | Copies a form with its questions and rules. The copy starts switched off, is owned by you, gets its own link, and counts toward the organization's routing-form limit. |
Two of these surprise people. evaluate_routing_form is a dry run: nothing
is stored, and no notification, webhook, or CRM sync fires, so it is safe to
explore with, and it works on a form that is switched off. set_routing_form_status
is the opposite. Turning a form off makes its public page a 404
immediately, and any form that
chains into it sends its leads to that
dead page until the form is switched back on.
Your profile and organization
| Tool | What it does |
|---|
get_me | Your own profile (name, username, time zone, language) plus your organization and role. |
list_users | Lists the organization members you can see: name, email, username, role, and time zone, so the assistant can filter bookings and meetings by host. Deactivated members are hidden unless asked for. |
What it can't do
There are deliberately no tools for some things, no matter what access was
granted:
- Create or delete event types. The assistant can list, inspect, and
toggle them, but building an event type stays in the
dashboard.
- Build, edit, or delete routing forms. The assistant can inspect, test,
duplicate, and switch them on or off, but the questions, rules, and
destinations themselves are edited in the dashboard.
- Change org settings, users, teams, or branding: no admin-center tools.
- Manage webhooks or workflows.
- Act for your invitees. Attendees book, reschedule, and cancel through
your booking page and their emailed
links, not through an assistant.
Common pitfalls
- Booked a colleague's event type, now the assistant can't cancel it. A
booking created on someone else's event type behaves like one made through
their public page: the attendee manages it via the emailed reschedule and
cancel links, and only people with
access to that host's bookings
can touch it in 42min.
- "Publish" is permanent. Publishing a roundtable emails all participants
immediately, and that can't be recalled. Keep polls as drafts until they're
ready.
- Safety on retries. Booking-creating tools are idempotent: if the
assistant retries after a timeout, 42min recognizes the repeat and won't
double-book. In rare cases a duplicate notification email can go out even
though the booking itself was created exactly once.
- A recurring action can report only half finishing. If something else
changes a series while
pause_recurring, resume_recurring,
end_recurring, update_recurring, or change_recurring_host is running,
that call stops where it is and reports what it actually did, not what was
asked. Have the assistant read the series again with get_recurring and
repeat the same call; it picks up where it left off.
Last updated September 9, 2026.