Apply to Present at the Member Demo Showcase
submit_demo_application
Submit an application for the member to present at an upcoming Foundations Member Demo Showcase. Use when a member says they want to demo, present, share what they're building, or sign up to present at the next member demo event. Each presenter gets ~15 minutes (about 10 minutes of presentation plus 5 minutes of Q&A). Confirm with the member what they want to share before submitting if it's not already clear from the conversation. Do NOT use this for other event types — only for member demo presentations.
Inputs
description
text
required
What the member will be sharing during their ~10 minute demo. Should be a clear, specific summary in the member's own voice — not a one-word topic.
project_link
text
optional
Optional link to a project, demo video, website, or anything reviewers should look at
notes
text
optional
Optional extra notes for the reviewers, like AV needs, scheduling constraints, or context
full_name
text
optional
Optional override for the presenter's full name. Defaults to the current member's name. Only set if the member explicitly says someone else should be listed as the presenter.
Book the Conference Room (Huddle 1)
submit_conference_room_booking
Book the Foundations conference room (Huddle 1, the same room used for office hours) for the current member. Use this for general meetings, 1:1s, interviews, brainstorm sessions, calls, and small workshops in the conference room. Conference room bookings are AUTO-CONFIRMED — there is no admin approval step. Do NOT use this tool for the studio (podcast room) — use submit_studio_booking instead. Do NOT use for office hours (use the office-hours tools). The booking will fail with a clear error if it overlaps with another conference room booking OR an existing office hour in that same room. Confirm the date and start/end times with the member before submitting if anything is unclear.
Inputs
name
text
required
Short title for the booking, e.g. 'Founder 1:1 with Sara' or 'Customer interview'.
booking_date
text
required
Date of the booking in YYYY-MM-DD format. If the member only mentioned a relative date, confirm the specific date with them first.
start_time
text
required
Start time in 24-hour HH:MM format (e.g. 13:00 for 1pm). If the member did not specify a time, ask before submitting.
end_time
text
required
End time in 24-hour HH:MM format (e.g. 14:00 for 2pm). If the member did not specify a time, ask before submitting.
purpose
one of: meeting, interview, brainstorm, call, workshop, other
optional
Optional category. Pick the closest match: meeting (focused team or 1:1 meeting), interview (candidate or customer interview), brainstorm, call, workshop, or other.
attendees_count
number
optional
Optional number of attendees joining in person, between 1 and 8. Defaults to 1 if the member doesn't say.
external_guests
text
optional
Optional names of external (non-member) guests who'll be in the room.
description
text
optional
Optional extra context for the booking.
Book the Studio Room
submit_studio_booking
Submit a request to book the Foundations studio room (also called the podcast room). Use this when a member wants to record, host an interview, run a workshop, take a private call, or otherwise reserve the studio. The booking is created in pending status and the Foundations team is notified to review and approve. NEVER use create_fulfillment_request or submit_event_request for studio bookings — use this tool. Confirm date and start/end time before submitting if not already clear. Do NOT use for events at Foundations that don't need the studio room (use submit_event_request) or for office hours (use the office-hours tools).
Inputs
name
text
required
Short title for the booking, e.g. 'Podcast recording with Jane' or 'Sales discovery call'.
booking_date
text
required
Date of the booking in YYYY-MM-DD format. If the user only mentioned a relative date, confirm the specific date with them first.
start_time
text
required
Start time in 24-hour HH:MM format (e.g. 13:00 for 1pm). If the member did not specify a time, ask before submitting.
end_time
text
required
End time in 24-hour HH:MM format (e.g. 14:00 for 2pm). If the member did not specify a time, ask before submitting.
purpose
one of: recording, meeting, workshop, call, other
optional
Optional category for the booking. Pick the closest match to what the member described: recording (podcast / video / audio recording), meeting (focused team or 1:1 meeting), workshop, call (private call), or other.
attendees_count
number
optional
Optional number of attendees joining in person, between 1 and 8. Defaults to 1 if the member doesn't say.
external_guests
text
optional
Optional names of external (non-member) guests who'll be in the room.
description
text
optional
Optional extra context for the admin team — gear needs, scheduling caveats, or anything else worth noting.
Cancel Conference Room Booking
cancel_conference_room_booking
Cancel one of the current member's confirmed conference room (Huddle 1) bookings. Cancelling also cancels the calendar invite that was sent. Already-cancelled bookings can't be cancelled again, and past bookings are read-only. If the member doesn't clearly identify which booking, run list_my_conference_room_bookings first.
Inputs
booking_id
text
required
The ID of the conference room booking to cancel.
Cancel Pending Event Request
cancel_event_request
Cancel one of the current member's PENDING Foundations event requests. Only pending requests can be cancelled here; once a request is approved or denied, the member should reach out to the team. If the member doesn't clearly identify which request, run list_my_event_requests first.
Inputs
request_id
text
required
The ID of the pending event request to cancel.
Cancel Studio Booking
cancel_studio_booking
Cancel one of the current member's studio bookings. Works on PENDING and APPROVED bookings (approved bookings will also have their calendar invite cancelled). Already denied or cancelled bookings can't be cancelled again. If the member doesn't clearly identify which booking, run list_my_studio_bookings first.
Inputs
booking_id
text
required
The ID of the studio booking to cancel.
Check Event RSVPs
check_event_rsvps
Check who has RSVP'd or signed up for a Foundations calendar event. Works for BOTH event types: (1) Members-only one-off events and recurring event instances use Google Calendar invite responses (accepted/tentative/declined). (2) Public events don't get a mass calendar invite, so 'RSVPs' there are the email addresses people entered through the public Add to Calendar button on the event's /event/<token> page — treat those as RSVPs/sign-ups when answering the member. With an event_id or event_name, returns the attendee list and counts for that event along with whether the current user is signed up. With no arguments, returns all upcoming members-only events the current user has an RSVP record for. For public events, only the event's organizer (the member who requested it) and admins see individual attendee emails; everyone else gets just the count. Use this when someone asks who is attending an event, whether they (or someone) are signed up, what events they're registered for, or how their own hosted public event is doing.
Inputs
event_id
text
optional
If provided, returns the RSVP/attendee list for this specific event.
event_name
text
optional
If provided (and no event_id), searches upcoming events by name first, then returns RSVPs for the matched event.
Get Calendar Event Details
get_calendar_event_details
Get detailed information about a specific calendar event.
Inputs
event_id
text
optional
No additional parameter description provided in the tool definition.
event_name
text
optional
No additional parameter description provided in the tool definition.
Get Founder Circle Info
get_founder_circle_info
Get information about founder circles - either the user's current circle or available circles to join. Use this when users ask about founder-circle groups, private Slack channels, or whether there is a Slack channel for a founder segment, since founder circles map to private Slack channels.
No explicit inputs required. Root can use this capability directly when the conversation provides enough context.
Join Founder Circle
join_founder_circle
Join a founder circle by name.
Inputs
founder_circle_name
text
required
No additional parameter description provided in the tool definition.
Leave Founder Circle
leave_founder_circle
Leave the user's current founder circle.
Inputs
founder_circle_name
text
optional
No additional parameter description provided in the tool definition.
List Calendar Events
list_calendar_events
List upcoming or future calendar events at Foundations. Supports natural-language queries over upcoming events, not historical or past-event searches.
Inputs
query
text
optional
No additional parameter description provided in the tool definition.
event_name
text
optional
No additional parameter description provided in the tool definition.
event_date_range
text
optional
No additional parameter description provided in the tool definition.
include_private_events
true/false
optional
No additional parameter description provided in the tool definition.
List Community Events
list_community_events
List upcoming community events in Seattle that are NOT hosted at Foundations. These include member-submitted events and events auto-synced from Luma and AI Tinkerers Seattle.
No explicit inputs required. Root can use this capability directly when the conversation provides enough context.
List My Conference Room Bookings
list_my_conference_room_bookings
List the current member's conference room (Huddle 1) bookings — confirmed or cancelled — with status and details. Use when the member asks about a conference room booking they previously made, wants to know what they have on the schedule, or needs the booking ID before editing or cancelling. Do NOT use this for studio bookings (use list_my_studio_bookings) or office hours.
No explicit inputs required. Root can use this capability directly when the conversation provides enough context.
List My Event Requests
list_my_event_requests
List the current member's Foundations event requests (pending, approved, and denied) with status and details, plus — for approved public events — how many people have RSVP'd by clicking 'Add to Calendar' on the public event page. Use when the member asks about a request they previously submitted, asks for the status of a pending event, wants to know what they have on the calendar awaiting approval, or asks how their hosted public event is doing (e.g. 'how many people are coming to my talk?'). For a per-attendee breakdown of who RSVP'd to a specific event, follow up with check_event_rsvps using the event_id from this tool. Do NOT use this for community events (those go through submit_community_event / list_community_events) or for bookings (office hours, studio room, conference room).
No explicit inputs required. Root can use this capability directly when the conversation provides enough context.
List My Studio Bookings
list_my_studio_bookings
List the current member's studio (podcast room) bookings — pending, approved, denied, or cancelled — with status and details. Use when the member asks about a booking they previously requested, asks for the status of a pending studio request, or wants to know what they have on the studio calendar awaiting approval. Do NOT use this for Foundations event requests (use list_my_event_requests) or for community events.
No explicit inputs required. Root can use this capability directly when the conversation provides enough context.
Request a Foundations Event
submit_event_request
Submit a request to host a new event AT A FOUNDATIONS OFFICE — either Seattle (1605 Boylston Ave) or San Francisco (142 Minna St). Use this when a member wants to host, organize, or run an event in a Foundations space — talks, fireside chats, demos, dinners, mixers, workshops, partner events, etc. Default to the Seattle office unless the member clearly says the event is at the SF office. The request is created in the calendar in pending status and the Foundations team is notified to review and approve it. NEVER use create_fulfillment_request for hosting an event at Foundations — use this tool instead. Do NOT use this tool for events happening elsewhere (use submit_community_event for those), for booking the studio room (that has its own /root/studio flow), for office-hours coordination, or for member demo presentations at the Member Demo Showcase (use submit_demo_application). Confirm date and start/end time with the member before submitting if not already clear.
Inputs
name
text
required
Short, descriptive event name as it should appear on the calendar.
event_date
text
required
Event date in YYYY-MM-DD format. If the user only mentioned a relative date or week, confirm the specific date with them first.
start_time
text
required
Start time in 24-hour HH:MM format (e.g. 18:00 for 6pm). If the member did not specify a time, ask before submitting.
end_time
text
required
End time in 24-hour HH:MM format (e.g. 20:00 for 8pm). If the member did not specify a time, ask before submitting.
description
text
optional
Optional description of the event — what it's about, who is invited, agenda, partner orgs, special requests, A/V or room-setup needs, anything the admin team should know.
link
text
optional
Optional registration, RSVP, or event-details URL.
visibility
one of: public, foundations_only
optional
Who the event is visible to once approved. 'public' means anyone with the link can see and RSVP (default). 'foundations_only' means only Foundations members can see it.
office
one of: seattle, sf
optional
Which Foundations office will host the event: 'seattle' (1605 Boylston Ave, Seattle — the default) or 'sf' (142 Minna St, San Francisco). Only set 'sf' if the member clearly indicates the event is at the SF office; otherwise omit it and it defaults to Seattle.
RSVP to an Event
rsvp_to_event
Record the current member's RSVP / attendance response for a Foundations calendar event (or recurring event instance). Use this whenever a member tells you whether they're going to an event — e.g. replying 'yes'/'no'/'maybe' to an RSVP request email, saying 'count me in', 'sign me up', 'put me down as attending', or 'I can't make it'. Map natural language to a response: yes / attending / coming → accepted, no / can't make it / not coming → declined, maybe / might / tentatively → tentative (defaults to accepted). For members-only events this writes the member's calendar RSVP record; for public events it records them through the same 'Add to Calendar' sign-up signal the event page uses (public events have no decline option, so declines can't be recorded there). ALWAYS call this tool before telling a member you've marked their RSVP — never claim to have signed them up without it. Confirm the event and the resulting status back to the member afterward.
Inputs
event_id
text
optional
The event's ID, if known. Prefer this when you already have it (e.g. from a prior list_calendar_events / get_calendar_event_details / check_event_rsvps result). Also accepts a recurring event instance ID.
event_name
text
optional
The event name to look up when event_id isn't known. Resolves upcoming one-off events by name.
response
one of: accepted, declined, tentative
optional
The member's attendance response. Defaults to 'accepted'. yes/attending → accepted, no/can't make it → declined, maybe → tentative.
Search Past Calendar Events
search_past_calendar_events
Search previous calendar events that have already happened. Supports natural-language queries over historical events such as 'what events happened last month?' or follow-up searches by name/date range.
Inputs
query
text
optional
No additional parameter description provided in the tool definition.
event_name
text
optional
No additional parameter description provided in the tool definition.
event_date_range
text
optional
No additional parameter description provided in the tool definition.
limit
number
optional
No additional parameter description provided in the tool definition.
Submit Community Event
submit_community_event
Submit a community event happening in Seattle that is NOT hosted at Foundations. Any member can submit without approval. Use when someone wants to share an event, meetup, or gathering they know about or are hosting outside of Foundations.
Inputs
title
text
required
Name of the event
event_date
text
required
Date of the event in YYYY-MM-DD format
start_time
text
optional
Start time in HH:MM 24-hour format, e.g. 18:00
end_time
text
optional
End time in HH:MM 24-hour format, e.g. 21:00
description
text
optional
Description of the event
location
text
optional
Venue or address
url
text
optional
Link to the event page or RSVP
Update Conference Room Booking
update_conference_room_booking
Update one of the current member's confirmed conference room (Huddle 1) bookings. Any field can change — title (name), date, start/end time, purpose, attendees, external guests, description. Cancelled or past bookings are read-only. Time changes are checked for conflicts with other conference room bookings AND existing office hours, and the calendar invite is automatically refreshed when the booking has been emailed already. Only pass the fields the member wants to change. If unsure which booking, run list_my_conference_room_bookings first.
Inputs
booking_id
text
required
The ID of the conference room booking to update.
name
text
optional
New booking title, if changing it.
booking_date
text
optional
New booking date in YYYY-MM-DD format.
start_time
text
optional
New start time in 24-hour HH:MM format.
end_time
text
optional
New end time in 24-hour HH:MM format.
purpose
one of: meeting, interview, brainstorm, call, workshop, other
optional
New purpose category. Pass a value to update.
attendees_count
number
optional
New attendee count, between 1 and 8.
external_guests
text
optional
New external guest list. Pass an empty string to clear it.
description
text
optional
New description. Pass an empty string to clear the description.
Update Pending Event Request
update_event_request
Update one of the current member's Foundations event requests in place. Pending requests can have any field changed — name, date, start/end time, description, link, visibility, or office (Seattle vs SF). Once a request has been approved or denied, the name, description, link, and office can still be changed (date, time, and visibility are locked at that point — for those, the member needs to reach out to the team). Only pass the fields the member wants to change; omitted fields stay as-is. If the member doesn't clearly identify which request, run list_my_event_requests first.
Inputs
request_id
text
required
The ID of the event request to update.
name
text
optional
New event name, if changing it.
event_date
text
optional
New event date in YYYY-MM-DD format. Only allowed while the request is still pending.
start_time
text
optional
New start time in 24-hour HH:MM format. Only allowed while the request is still pending.
end_time
text
optional
New end time in 24-hour HH:MM format. Only allowed while the request is still pending.
description
text
optional
New description, if changing it. Pass an empty string to clear the description.
link
text
optional
New event link, if changing it. Pass an empty string to clear the link.
visibility
one of: public, foundations_only
optional
New visibility. Only allowed while the request is still pending.
office
one of: seattle, sf
optional
Move the event to a different Foundations office: 'seattle' (1605 Boylston Ave) or 'sf' (142 Minna St, San Francisco). Allowed at any status.
Update Studio Booking
update_studio_booking
Update one of the current member's studio (podcast room) bookings in place. While the request is still PENDING, any field can change — title (name), date, start/end time, purpose, attendees, external guests, description. Once the booking has been APPROVED, only title, purpose, attendees, external guests, and description can be changed; date and time are locked at that point and the member needs to reach out to the Foundations team if those need to move (or cancel and re-book). Denied or cancelled bookings can't be edited. Past bookings are read-only. Only pass the fields the member wants to change. If you're not sure which booking they mean, run list_my_studio_bookings first.
Inputs
booking_id
text
required
The ID of the studio booking to update.
name
text
optional
New booking title, if changing it.
booking_date
text
optional
New booking date in YYYY-MM-DD format. Only allowed while the booking is still pending.
start_time
text
optional
New start time in 24-hour HH:MM format. Only allowed while the booking is still pending.
end_time
text
optional
New end time in 24-hour HH:MM format. Only allowed while the booking is still pending.
purpose
one of: recording, meeting, workshop, call, other
optional
New purpose category. Pass a value to update; cannot be cleared.
attendees_count
number
optional
New attendee count, between 1 and 8.
external_guests
text
optional
New external guest list. Pass an empty string to clear it.
description
text
optional
New description. Pass an empty string to clear the description.