Presso Events - Guide

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.