Reference
Every tool your AI can call.
Your AI has 34 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, and take it live.
create_event
Start a new event for this organiser.
Takes: name, startsAt, endsAt, timezone, tagline, description
get_event_status
Get live status for one of your events: its publish status, how many valid tickets have been issued, and how many attendees have checked in.
Takes: eventId
get_organiser_events
Your Events kanban: every event you own with its stage (draft, on sale, live, closed), valid tickets issued and total capacity.
list_events
List all of your events (newest first) with their publish status and dates.
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, branding, sections, content, setup
Tickets and money
Ticket types, checkout links, sales and revenue.
add_ticket_type
Add a ticket type to an event, e.g.
Takes: eventId, name, pricePence, free, currency, quantity, unlimited
archive_ticket_type
Retire a ticket type so it can no longer be bought.
Takes: ticketTypeId
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
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_organiser_orders
Every order (one row per Stripe payment) across all of your events - buyer, event, status, ticket quantity and total.
get_organiser_revenue
Revenue summary across all of your events, one entry per currency - gross, Presso's 1% fee, net of fee, orders, refunds and disputes, plus a daily series.
Takes: days
get_sales
Sales and platform-fee summary for one of your events, one entry per currency - gross, Presso's 1% fee, net of that fee, orders, refunds and disputes, plus a count of tickets still valid.
Takes: eventId
get_ticket_links
Get the public page URL for one of your events plus its live ticket types.
Takes: eventId
issue_free_ticket
Issue a FREE ticket to an attendee by email (for a pricePence-0 ticket type).
Takes: eventId, ticketTypeId, email, name
list_ticket_types
List all ticket types for one of your events, with prices (in pence) and remaining-quantity rules.
Takes: eventId
Agenda and speakers
The schedule attendees see in the event app.
add_session
Add ONE session to an event's agenda.
Takes: eventId, ref, title, description, startsAt, endsAt, track, room
add_speaker
Add ONE speaker to an event.
Takes: eventId, ref, name, headline, company, bio, photoUrl, links
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
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
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.
export_attendees
Export the attendee roster for one of your events as CSV (name, email, ticket type, status, checked-in).
Takes: eventId
get_organiser_analytics
Real ticket-volume analytics across every event you own: daily valid-ticket counts for the last N days (default 30) and a breakdown by ticket type and event.
Takes: days
get_organiser_attendees
Your org-wide attendees/CRM list: one row per ticket across every event you own (optionally narrowed to one event by eventId).
Takes: eventId, limit, offset
get_organiser_overview
Your dashboard at a glance: how many events you have, how many are published, total valid tickets issued and checked in, and your next on-sale event.
invite_member
Invite a team member to your organiser by email with a role (owner, editor or viewer).
Takes: email, role
list_members
List your team members and their roles (owner, editor, viewer).
query_attendees
List the attendees who hold tickets to your events (optionally one event by eventId).
Takes: eventId
remove_member
Remove a team member's access to your organiser.
Takes: workosUserId
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
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.