Reference
Every tool your AI can call.
Your AI has 44 tools scoped to your organisation. You never need to name one — describe what you want and it picks. This page is here for when you want to know exactly what it can reach.
This page is generated from the live server, so it cannot drift from what your AI actually has.
Events
Create an event, answer its setup questions, change its details, take it live, archive, delete or cancel it.
archive_event
Archive an event: hides its page and stops sales.
Takes: eventId, restore
cancel_event
Cancel an event that is not going ahead: stops all sales, refunds every paid ticket in full to the card used, cancels free tickets and emails every ticket holder once.
Takes: eventId, confirm
create_event
Start a new event for this organiser, as a private draft that is NOT sellable yet.
Takes: name, startsAt, endsAt, timezone, venue, tagline, description
delete_event
Delete a DRAFT event that never had a ticket issued - a duplicate or a false start.
Takes: eventId, confirm
list_events
Your events.
Takes: eventId
publish_event
Publish an event, moving it from 'draft' to 'published' so its ticket links and attendee app go live.
Takes: eventId, confirm
record_event_setup
Record what the organiser has TOLD you about an event: venue, refund policy, expected attendance, on-sale dates.
Takes: eventId, venue, refundPolicy, expectedAttendance, onSale, declineExpectedAttendance, declineOnSale
update_event_config
Update an event's presentation: tagline, description, branding (colours, logo), which optional sections the attendee app shows (agenda, speakers, venue, sponsors, faq), and their content.
Takes: eventId, tagline, description, canonicalUrl, imageUrl, branding, sections, curfew, content, setup
update_event_details
Change an event's name, dates, times, timezone or venue, on a draft or a live event.
Takes: eventId, name, startsAt, endsAt, timezone, venue, confirm
Tickets and money
Ticket types, checkout links, sales and revenue.
check_in_ticket
Check in an attendee at the door using the check-in code on their ticket (six characters, shown as 7HK-2M9 - hyphen, spaces and case are ignored, and I/L are read as 1 and O as 0).
Takes: code, eventId
generate_checkout
Create a hosted Stripe Checkout link for a PAID ticket type on one of your published events, for ONE buyer's purchase.
Takes: eventId, ticketTypeId, quantity, requestId
get_revenue
What you have sold, one entry per currency: gross, platform fee, net, orders, refunds and disputes.
Takes: eventId, days, includeOrders
issue_free_ticket
Issue a FREE ticket to an attendee by email (for a pricePence-0 ticket type).
Takes: eventId, ticketTypeId, email, name
tick_off_ticket
Called by the door screen itself when the operator ticks a guest on its list of valid tickets for an event: checks that guest in and records it as ticked off the list.
Takes: eventId, ticketId, doorToken
ticket_types
What one of your events sells, and how to change it.
Takes: action, eventId, name, pricePounds, pricePence, free, currency, quantity, unlimited, ticketTypeId, salesStartAt, salesEndAt
Agenda and speakers
The schedule attendees see in the event app, and the images that go on it.
add_session
Add ONE session to an event's agenda.
Takes: eventId, ref, title, description, startsAt, endsAt, track, room, status
add_speaker
Add ONE speaker to an event.
Takes: eventId, ref, name, headline, company, bio, photoUrl, links
assign_session_stage
Put one session on a stage, by their refs.
Takes: eventId, sessionRef, stageRef
get_agenda
Read an event's whole agenda: sessions grouped by day (in the event's OWN timezone, not UTC), each with its speakers and their roles, plus the full speaker list.
Takes: eventId
remove_session
Remove ONE session by its 'ref'.
Takes: eventId, ref
remove_speaker
Remove ONE speaker by their 'ref'.
Takes: eventId, ref
request_image_upload
Get a private link the organiser opens to upload ONE image - a speaker photo, the event's own photograph, an event logo, a sponsor's logo, or the organiser logo.
Takes: purpose, eventId, speakerRef, sponsorRef
set_agenda
Write an event's WHOLE agenda in one call.
Takes: eventId, speakers, sessions, expectRemovals, dryRun
update_session
Update ONE session by its 'ref'.
Takes: eventId, ref, title, description, startsAt, endsAt, track, room, status
update_speaker
Update ONE speaker by their 'ref'.
Takes: eventId, ref, name, headline, company, bio, photoUrl, links
People
Your team, your attendees, and the door.
check_in_without_code
Admit an attendee who cannot produce their check-in code, using a ticketId that find_attendee returned.
Takes: ticketId
find_attendee
Find one person at the door by name when their ticket will not scan - a flat battery, a lost email, a phone that will not load.
Takes: eventId, query, limit
get_attendees
Who holds a ticket, and moving one to somebody else.
Takes: action, kind, fromEventId, fromImportId, csv, editionName, editionDate, columns, marketingBasis, confirm, importId, attendedOnly, minPeople, eventId, format, limit, offset, ticketId, email
update_organiser
Set the organisation's PUBLIC identity: display name, description, location, website, logo and brand colours, plus whether the public profile page is visible.
Takes: name, description, location, websiteUrl, logoUrl, brandColours, publicProfile
Everything else
add_stage
Add ONE stage to an event.
Takes: eventId, ref, name, capacity, kind, colour, note, position
buy_links
Permanent links you put on YOUR OWN website's buy button.
Takes: action, eventId, ticketTypeId, label, singleUse, buyLinkId
connect_status
Whether the organiser can take money yet, and what is outstanding if not.
download_guest_list
Called by the door screen itself when the operator presses Download list: a 15-minute private link to one event's guest list as Excel, CSV or an A4 tick sheet, delivered to the screen only.
Takes: eventId, format
get_analytics
Ticket volume across every event you own: valid tickets issued per day for the last N days (default 30), broken down by ticket type and by event.
Takes: days
get_door_board
Opens the door screen for one event: the guest list to tick people off, a box to type a ticket's check-in code, and the live count.
Takes: eventId
list_stages
List the stages on one of your events, in timetable column order.
Takes: eventId
refund_order
Refund an order, in full or in part.
Takes: paymentIntentId, amountPounds, amountPence, confirmAmountPounds
remove_stage
Remove ONE stage by its 'ref'.
Takes: eventId, ref
send_feedback
Send the Presso Events team feedback from this organiser: a bug, an idea, something confusing, or something that worked well.
Takes: message, category, tool
set_door_policy
The two door decisions only an owner can make, per event.
Takes: eventId, allowCheckInWithoutCode, recentNamesInFull
set_event_capacity
Set how many people an event's venue holds, as a hard limit across ALL ticket types together.
Takes: eventId, capacity, uncapped
sponsors
The sponsors of one event: name, tier, website, logo and display order.
Takes: action, eventId, ref, name, tier, websiteUrl, logoUrl, position
team
Your team: who can sign in to this organiser and what they can do.
Takes: action, email, role, workosUserId
update_stage
Update ONE stage by its 'ref'.
Takes: eventId, ref, name, capacity, kind, colour, note, position
What it cannot do
Some limits are enforced on our servers rather than asked for in a prompt: it cannot invent a ticket price, and it cannot publish an event without submitting the full price list back for checking. More on how that works.