Skip to content

Tools · VisitorsComing soon

MCP tools for the Visitors module (coworking): register, list, read, edit and cancel guests, today's expected guests, finding the host and marking or undoing the arrival at the front desk.

This feature is not available to every community yet. The article describes how it will work and will change when it ships.

The Visitors module through the assistant: registering the guest ahead of time, editing and canceling, seeing who is expected today at the front desk and marking the arrival with a notice to the host. The guest kiosk is an iPad screen; the assistant does not run it.

Coming soon Coming to communities: these 9 tools will exist on the server when the update goes live. Until then, the assistant doesn't offer them.

Each tool carries a badge: Read-only changes nothing, Changes creates or changes something right away, and Asks to confirm only acts after your yes to a summary. See Money and confirmation.

In short

ToolWhat it doesMinimum roleType
create_visitor_invitationRegisters a guestAny with access to the space (the settings can restrict); team, on behalf of another hostChanges
list_visitor_invitationsLists and searches guestsAny (a member sees their own)Read-only
get_visitor_invitationOne registrationOwner of the registration or teamRead-only
update_visitor_invitationEdits before the arrivalOwner of the registration or teamChanges
cancel_visitor_invitationCancels a registrationOwner of the registration or teamAsks to confirm
list_visitors_todayToday's expected and arrived guestsModerator or financeRead-only
search_visitor_hostsFinds the hostModerator or financeRead-only
mark_visitor_arrivedMarks the arrivalModerator or financeChanges
undo_visitor_arrivalUndoes an arrivalModerator or financeChanges

The roles are those of the routes: the assistant never does more than the connected person would do on screen. The team, here, is the owner, the admin, the moderator and finance; the moderator and finance handle only today's guests. The space is created with create_space and module: "visitors"; update_space changes only what you send.

The space settings

The visitors argument of create_space and update_space accepts:

FieldTypeDescription
attendance_space_ididThe Attendance space where arrivals are recorded. Required on creation (list_spaces)
who_can_invitemembers, staff or groupWho registers: any member with access, only the team, or the group in inviter_group_id plus the team
inviter_group_idid or nullThe group of whoever registers (list_groups); required with group
fields{company, email, phone}, each off, optional or requiredWhat the form asks about the guest
notify_host_on_registertrue or falseConfirms the registration to the host by email (default: yes)
email_guestoff, optional or alwaysThe email to the guest (default: off)
arrival_instructionstext up to 500 characters, or nullWhere to go and who to ask for
max_expected_per_host_per_day1 to 1000, or nullLimit of guests per host per day

create_visitor_invitation

Changes

Register a guest. It doesn't create an account for the guest. Whoever the settings allow registers for themselves; the team passes host_profile_id to register on behalf of someone else. Company, email and phone follow the settings (a turned-off field is ignored; a missing required one is refused). The host may receive a confirmation email and the guest another, depending on notify_guest and the settings; the assistant tells the person. This is a third party's personal data. Role: any with access to the space.

ParameterTypeRequiredDescription
spaceid or linkYesThe Visitors space
guest_nametextYesUp to 100 characters
expected_dateYYYY-MM-DDYesIn the community time zone; can't be in the past
start_timeHH:mmYesStart time, in the community time zone
end_timeHH:mmNoAfter the start
guest_company, guest_email, guest_phonetextPer the settings
notify_guesttrue or falseNoNotifies the guest by email; only works with an email and per email_guest
host_profile_ididNoTeam only: the host (search_visitor_hosts). Without it, it's you

Ask like this: "Register Maria Souza ([email protected]) as my guest tomorrow, from 2 pm to 3 pm."

list_visitor_invitations

Read-only

List the guests. By expected time. A member sees only their own (as host or as whoever registered), for any date; moderator and finance also see all of today's; admin and owner see any date. Each item says what you can do (canEdit, canCancel, canArrive, canUndoArrival). Role: any with access to the space.

ParameterTypeRequiredDescription
spaceid or linkYes
statusEXPECTED, ARRIVED, CANCELED or NO_SHOWNoEXPECTED covers today onward; NO_SHOW is expected for a day that has passed
from, toYYYY-MM-DDNoPeriod, inclusive, in the community time zone
qtextNoPart of the name or company
page, limitnumbersNoPagination (up to 100)

Ask like this: "Which guests do I have registered for this week?"

get_visitor_invitation

Read-only

One registration. The host and whoever registered read their own; the team reads today's; owner and admin, any. Another registration, another community or an unknown id: 404. Role: any.

ParameterTypeRequiredDescription
invitation_ididYesFrom list_visitor_invitations or list_visitors_today

update_visitor_invitation

Changes

Edit before the arrival. After the arrival, or once canceled, the answer is 409. Send only what changes; host_profile_id is for the team. Changing the day, the time or the host sends a new confirmation to the host, once per change. The registration's owner and the team edit (moderator and finance, today's only). Role: any, depending on who can edit.

ParameterTypeRequiredDescription
invitation_ididYes
guest_name, guest_company, guest_email, guest_phonetextNo
expected_date, start_time, end_timedate and timesNoSame formats as create_visitor_invitation
notify_guesttrue or falseNo
host_profile_ididNoTeam only

Ask like this: "Change Maria's visit to 3 pm."

cancel_visitor_invitation

Asks to confirm

Cancel a registration. It becomes Canceled; nothing is deleted. Whoever registered, the host or the team (moderator and finance, today's only). Already canceled: nothing changes. Already arrived: 409, undo the arrival first. Role: any, depending on who can cancel.

ParameterTypeRequiredDescription
invitation_ididYes

Returns: on the first call, the summary (guest, host, day and time) and the confirmation code.

list_visitors_today

Read-only

The front desk view. Today's expected and arrived guests (community time zone), from all hosts, with the counts. Canceled and "did not show up" don't appear. alreadyMember indicates the guest's email belongs to a member. Minimum role: moderator (or finance).

ParameterTypeRequiredDescription
spaceid or linkYes
qtextNoName or company, ignoring accents and case

Ask like this: "Who am I expecting today at the front desk?"

search_visitor_hosts

Read-only

Find the host. Members of the space whose name (or a word of it) starts with q, with 3 letters or more. It returns only id, name, photo and initials; the id is the host_profile_id for create_visitor_invitation. Minimum role: moderator (or finance).

ParameterTypeRequiredDescription
spaceid or linkYes
qtextYesFrom 3 to 100 characters

mark_visitor_arrived

Changes

Mark the arrival. It creates the visit in the linked Attendance space (front desk method, with the registration's name) or links the one the team had already recorded. The host is notified by email when Attendance is set up for it; hostNotified says whether the notice went to the queue, and the assistant tells the person. It's idempotent: the second call returns alreadyArrived: true. Only on the registration's day (another day: 409); outside the time window is fine; canceled: 409. Minimum role: moderator (or finance).

ParameterTypeRequiredDescription
invitation_ididYesFrom list_visitors_today

Returns: invitation, visit, hostNotified and alreadyArrived.

Ask like this: "Maria Souza has arrived."

undo_visitor_arrival

Changes

Undo an arrival marked by mistake. On the same day and before the guest's departure. The visit leaves the lists and the occupancy (it stays in Attendance's record) and the registration goes back to Expected. No arrival, another day or already left: 409. Minimum role: moderator (or finance).

ParameterTypeRequiredDescription
invitation_ididYes