Presso Events - Guide

Reference

Every tool your AI can call.

Your AI has 22 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

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, branding, sections, content, setup

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

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, Presso's 1% fee, net of that fee, 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

ticket_types

What one of your events sells, and how to change it.

Takes: action, eventId, name, pricePence, free, currency, quantity, unlimited, ticketTypeId

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.

get_attendees

Who holds a ticket: one row per ticket with name, email, event, ticket type, status (valid, refunded, cancelled) and whether they have checked in.

Takes: eventId, format, limit, offset

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

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

team

Your team: who can sign in to this organiser and what they can do.

Takes: action, email, role, workosUserId

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.