First-party app
Eventbrite

Eventbrite

Create and run Eventbrite events end to end: events, tickets, inventory, discounts, orders, attendees, venues and webhooks, plus triggers on orders, check-ins and event changes.

stable Commerce & PaymentsCalendar & Scheduling

About

Eventbrite ships in the w6w first-party pack. It declares 93 actions, 2 health checks, and the host runs its code in a sandbox that never sees the credential.

App id
io.w6w.eventbrite
Version
0.4.4
Author
w6w
Licence
MIT
Categories
Commerce & Payments · Calendar & Scheduling

Overview

Eventbrite covers the whole event lifecycle from a workflow: create, update, copy, publish, unpublish, cancel and delete events, set their description and structured content, and add schedules to event series. Ticket classes, ticket groups, inventory tiers, capacity and seat maps can be read and changed, as can discounts, display settings and the checkout questions a buyer answers.

On the sales side it lists and fetches orders and attendees, refunds orders, and pulls sales and attendee reports. Venues, organizers, organization members and roles, event teams, categories, formats and media are available too, and organization webhooks can be created, listed and deleted.

Sixteen triggers start a workflow when something happens in Eventbrite: a new order, a refund, an attendee checking in or out, an event created, published, updated or unpublished, a ticket class, organizer or venue changing, or any chosen mix of these. Subscribing registers the webhook with Eventbrite and unsubscribing removes it, and each run receives the full order, attendee or event record, not just a notification.

A fit for publishing events from a CRM or content system, keeping attendee and order data in sync with a spreadsheet, opening a discount code when a campaign starts, or following up once an event’s attendee list is known. Uploading an image is the one step that needs outside help: Eventbrite sends the file to a separate storage host, which this app cannot reach.

Build with Eventbrite

Three routes to the same 93 actions. The Workflow tab is generated from Eventbrite's own manifest and carries its real ids, so it is copy-pasteable; the Code and CLI examples are the same call for any action on any app, so every app-specific value in them is a blank you fill in.

Add Ticket Class to Ticket Groups

add-ticket-class-to-ticket-groups

Set which of an organization's ticket groups contain a ticket class. Leave the group list empty to remove the ticket class from every ticket group of the organization.

Calculate Item Price

calculate-item-price

Calculate the fees, taxes and total price Eventbrite would charge for a hypothetical base price (POST, but read-only: nothing is created or changed).

Cancel Event

cancel-event

Cancel an event on Eventbrite. Fails if the event has pending or completed orders. Canceling a series parent cancels all occurrences.

Check Team Password

check-team-password

Verify a team's password; if correct, returns the team token. Makes no change on Eventbrite.

Copy Event

copy-event

Duplicate an event on Eventbrite, creating a new event with a new ID. Payment options, payout method, refund policy and tax settings are copied. Optionally override name, dates, timezone and summary on the copy.

Create Custom Question

create-custom-question

Creates a custom registration question on the event on Eventbrite.

Create Default Question

create-default-question

Creates a default (canned) registration question on the event on Eventbrite.

Create Discount

create-discount

Create a new Discount (coded, access, public or hold) for an Organization on Eventbrite.

Create Event

create-event

Create a new draft event in an organization on Eventbrite. Set Series parent to create a recurring-event parent, then add occurrences with Create Event Schedule. Publish it separately.

Create Event Schedule

create-event-schedule

Add occurrences to a series parent event on Eventbrite according to an iCalendar recurrence rule. Occurrences matching an existing date/time are skipped.

Create Event Team

create-event-team

Create a team for an event on Eventbrite.

Create Inventory Tier

create-inventory-tier

Create a new Inventory Tier on an Event on Eventbrite (use create-multiple-inventory-tiers for several at once).

Create Multiple Inventory Tiers

create-multiple-inventory-tiers

Create several Inventory Tiers on an Event on Eventbrite in one request.

Create Seat Map

create-seat-map

Create the Seat Map of a new reserved-seating Event on Eventbrite by copying an existing Seat Map. Errors if the event already has one.

Create Text Overrides

create-text-overrides

Set custom ticket-page text for an organization, venue or event. Each entry replaces a text code with a custom message or another default message code. If no locale is given, the event's locale is used when an event ID is set, otherwise the default locale. Changes the text shown to buyers on Eventbrite.

Create Ticket Class

create-ticket-class

Create a new ticket class on an Eventbrite event.

Create Ticket Group

create-ticket-group

Create a ticket group in an organization on Eventbrite (max 300 live groups per organization).

Create Venue

create-venue

Creates a new venue under the organization on Eventbrite.

Create Webhook

create-webhook

Create a webhook on an organization. Eventbrite will POST to the endpoint URL whenever one of the chosen actions occurs (optionally limited to one event). Creates a new webhook on Eventbrite.

Delete Custom Question

delete-custom-question

Deletes a custom question from the event on Eventbrite.

Delete Default Question

delete-default-question

Deactivates a default (canned) question on the event on Eventbrite.

Delete Discount

delete-discount

Permanently delete an unused Discount on Eventbrite. A deleted Discount cannot be restored; used Discounts cannot be deleted.

Delete Event

delete-event

Permanently delete an event on Eventbrite. Fails if the event has pending or completed orders. Deleting a series parent deletes all occurrences.

Delete Inventory Tier

delete-inventory-tier

Mark an Inventory Tier as deleted on Eventbrite. Fails if attendees or seat assignments reference it.

Delete Ticket Group

delete-ticket-group

Delete a ticket group on Eventbrite (its status becomes `deleted`).

Delete Webhook

delete-webhook

Delete a webhook by ID. Permanently removes the webhook from Eventbrite.

Get Attendee

get-attendee

Retrieve a single attendee by ID.

Get Attendee Report

get-attendee-report

Retrieve an attendee report by event IDs or event status.

Get Capacity Tier

get-capacity-tier

Retrieve the capacity tier (total capacity and general admission holds) for an event.

Get Category

get-category

Retrieve a category by ID.

Get Custom Question

get-custom-question

Retrieve a custom question by event and question ID.

Get Default Question

get-default-question

Retrieve a default (canned) question of an event by its ID (e.g. `email`).

Get Discount

get-discount

Retrieve a Discount by ID.

Get Display Settings

get-display-settings

Retrieve the display settings (what the event listing shows) for an event.

Get Event

get-event

Retrieve a single event by ID.

Get Event Description

get-event-description

Retrieve the fully rendered HTML description of an event.

Get Event Series

get-event-series

Retrieve the parent event of an event series by its series ID.

Get Event Team

get-event-team

Retrieve a single team of an event.

Get Format

get-format

Retrieve an event format by ID.

Get Inventory Tier

get-inventory-tier

Retrieve an Inventory Tier by ID for an Event.

Get Media

get-media

Retrieve an uploaded media image by ID, optionally as a thumbnail of a given size.

Get Media Upload Instructions

get-media-upload

Step 1 of 3 of an Eventbrite image upload. Returns the upload instructions (storage URL, form fields and an upload token) for the chosen image type. Step 2, which this app does not perform, is uploading the file bytes to the returned storage URL. Step 3 is the Upload Media action, which finalizes the upload with the upload token and returns the media ID.

Get Order

get-order

Retrieve a single order by ID.

Get Organizer

get-organizer

Retrieve a single organizer by ID.

Get Refund Retention Policy

get-refund-retention-policy

Check whether the Eventbrite service fee is retained when refunding an order for a given reason. Call before Refund Order.

Get Sales Report

get-sales-report

Retrieve a sales report by event IDs or event status.

Get Structured Content

get-structured-content

Retrieve an event's structured content (description modules and widgets): the latest published version, or the latest working version (published or not).

Get Subcategory

get-subcategory

Retrieve a subcategory by ID.

Get Text Overrides

get-text-overrides

Retrieve the text overrides for an organization in a locale, optionally filtered to an event or venue.

Get Ticket Buyer Settings

get-ticket-buyer-settings

Retrieve the ticket buyer settings (confirmation message, instructions, registration survey, refund requests) for an event.

Get Ticket Class

get-ticket-class

Retrieve a single ticket class of an event by ID.

Get Ticket Group

get-ticket-group

Retrieve a ticket group by ID.

Get User

get-user

Retrieve a user account. Defaults to the connected user (`me`).

Get Venue

get-venue

Retrieve a venue by ID.

List Attendees

list-attendees

List attendees for an event or organization.

List Categories

list-categories

List all event categories, with subcategories nested. Paginated.

List Custom Questions

list-custom-questions

List the custom registration questions for an event.

List Default Questions

list-default-questions

List the default (canned) registration questions for an event.

List Event Teams

list-event-teams

List the teams of an event.

List Events

list-events

List events for an organization (default), a venue, or an event series. Walks one page; pass back `continuation` to get the next.

List Fee Rates

list-fee-rates

List Eventbrite pricing fee rates for a country and currency, optionally narrowed by plan, payment type, channel and item type.

List Formats

list-formats

List all available event formats.

List Inventory Tiers

list-inventory-tiers

List the Inventory Tiers of an Event, optionally filtered by seat map number or event-capacity counting.

List Orders

list-orders

List orders for an event, an organization, or a user.

List Organization Members

list-organization-members

List an organization's members.

List Organization Roles

list-organization-roles

List an organization's roles.

List Organizations

list-organizations

List the organizations a user belongs to (the connected user by default).

List Organizers

list-organizers

List organizers belonging to an organization. Organizers are the public-facing event hosts (logo, bio, social links) — distinct from Organizations.

List Seat Maps

list-seat-maps

List the Seat Maps of an Organization, optionally filtered by venue. The response is not paginated yet.

List Subcategories

list-subcategories

List all available subcategories. Paginated.

List Team Attendees

list-team-attendees

List the attendees of a single event team.

List Ticket Classes

list-ticket-classes

List ticket classes for an event.

List Ticket Groups

list-ticket-groups

List an organization's ticket groups. Paginated.

List Venues

list-venues

List venues belonging to an organization.

List Webhooks

list-webhooks

List the webhooks configured for an organization.

Publish Event

publish-event

Publish a draft event on Eventbrite, making it live. Requires a name, description, organizer, at least one ticket and valid payment options. Publishing a series parent publishes all occurrences.

Refund Order

refund-order

Fully refund an order on Eventbrite. This issues a refund (money moves) and cannot be undone. Limited availability: only for organizations Eventbrite has granted access.

Search Discounts

search-discounts

List Discounts of an Organization by scope, with optional code, type, event and ordering filters.

Search Event Teams

search-event-teams

Search an event's teams by name.

Set Structured Content

set-structured-content

Create or replace the structured content (description modules) of an event for a given page version on Eventbrite. Send the full current module set; enable Publish to make it visible on the public event page.

Unpublish Event

unpublish-event

Unpublish a live event on Eventbrite. Fails if the event has pending or completed orders (with limited exceptions for completed paid events). Unpublishing a series parent unpublishes all occurrences.

Update Capacity Tier

update-capacity-tier

Update an event's capacity tier on Eventbrite: total capacity and/or create, update or delete general admission capacity holds. Partial updates are supported.

Update Default Question

update-default-question

Modifies a default (canned) question of the event on Eventbrite. The blueprint path uses singular /event/; we use /events/.

Update Discount

update-discount

Update a Discount by ID on Eventbrite. Supplied fields are sent as the discount object.

Update Display Settings

update-display-settings

Update the display settings of an event on Eventbrite (changes what the public event listing shows).

Update Event

update-event

Update an event on Eventbrite. Only the fields you set are changed. On a series parent, name, description, currency, capacity and similar fields cascade to every occurrence. Start/end require a timezone.

Update Inventory Tier

update-inventory-tier

Partially update an existing Inventory Tier on Eventbrite; only the fields you supply change.

Update Multiple Inventory Tiers

update-multiple-inventory-tiers

Partially update several existing Inventory Tiers on an Event on Eventbrite in one request.

Update Ticket Buyer Settings

update-ticket-buyer-settings

Update the ticket buyer settings of an event on Eventbrite (post-purchase messages, registration survey, refund requests).

Update Ticket Class

update-ticket-class

Update a ticket class of an Eventbrite event. Only fields you supply are sent.

Update Ticket Group

update-ticket-group

Update a ticket group on Eventbrite.

Update Venue

update-venue

Updates the venue on Eventbrite.

Upload Media

upload-media

Step 3 of 3 of an Eventbrite image upload: finalizes the upload and creates the media record, returning its ID. Before calling it, run Get Media Upload Instructions, then upload the file to the storage URL it returns (a step this app does not perform), and pass the same upload token here. An optional crop window can be applied. Creates a media item on Eventbrite.

A workflow step names the app and the action, and the editor fills in the connection when you pick one. This is the Step shape from the workflow spec, carrying Eventbrite's real ids.

{
  "manifestVersion": "2",
  "name": "eventbrite-example",
  "steps": [
    {
      "id": "add-ticket-class-to-ticket-groups",
      "uses": {
        "app": "io.w6w.eventbrite",
        "action": "add-ticket-class-to-ticket-groups",
        "connection": "conn_YOUR_CONNECTION_ID"
      },
      "with": {
        "organizationId": "<organizationId>",
        "eventId": "<eventId>",
        "ticketClassId": "<ticketClassId>"
      }
    }
  ]
}

Here are some of the things you can do

  • Add Ticket Class to Ticket Groups

    perform
    add-ticket-class-to-ticket-groups
  • Calculate Item Price

    read
    calculate-item-price
  • Check Team Password

    perform
    check-team-password
  • Copy Event

    perform
    copy-event
  • Create Custom Question

    perform
    create-custom-question

+88 more actions available

Every app-specific value here is a blank you have to fill in. An app action is reached through the connection that authenticates it, so the address is a connection id, not the app id — and connections belong to your account, so a public page cannot know yours. Create one for Eventbrite, then fill in the three blanks: conn_YOUR_CONNECTION_ID, the action key, and the parameters that action declares. The call itself is real — the shape is transcribed from the studio's own snippet builder, which prints the same kind of blanks — but nothing in it is specific to Eventbrite. The Workflow tab is where this app's real ids are.

Install
npm install @w6w/sdk
yarn add @w6w/sdk
pnpm add @w6w/sdk
deno add npm:@w6w/sdk
Code
import { W6wClient, isActionRun } from "@w6w/sdk";

// Reads W6W_BASE_URL and W6W_TOKEN from the environment when omitted.
const client = new W6wClient();

const envelope = await client.run({
  urn: "conn_YOUR_CONNECTION_ID",
  action: "list-events",
  payload: {
    // scope: "<value>",
    // scopeId: "<value>",
    // organizationId: "<value>",
    // status: "<value>",
    // nameFilter: "<value>",
    // timeFilter: "<value>",
    // showSeriesParent: "<value>",
    // orderBy: "<value>",
    // onlyPublic: "<value>",
    // startDateRangeStart: "<value>",
    // startDateRangeEnd: "<value>",
    // pageSize: "<value>",
    // continuation: "<value>",
    // expand: "<value>",
  },
});

if (isActionRun(envelope)) console.log(envelope.value);
Install the CLI
npm install -g @w6w/cli
CLI
w6w run conn_YOUR_CONNECTION_ID --action list-events --payload '{}'

Give an AI agent Eventbrite — without giving it Eventbrite's credentials. One MCP endpoint exposes every app, function and workflow the caller is entitled to, as tools it can discover and run. Access is granted per team while we onboard.

One tool call
{
  "name": "w6w_invoke",
  "arguments": {
    "ref": "app:io.w6w.eventbrite#add-ticket-class-to-ticket-groups",
    "input": {
      "organizationId": "<organizationId>",
      "eventId": "<eventId>",
      "ticketClassId": "<ticketClassId>"
    }
  }
}

Every tool names its target with a single ref. The app: form above doesn't name a connection at all — the host resolves which of the caller's Eventbrite connections to sign with, and refuses rather than guesses when the answer is ambiguous.

What the agent gets

Credentials it can't read

The token is attached host-side, at the moment of the call. It is never a tool argument, never in the model's context, and never in a transcript — so a prompt injection has nothing to exfiltrate.

A tool surface scoped to the caller

Tools are derived per end user from what that person has actually connected and is entitled to — not one shared bot identity carrying the union of everyone's access.

A durable workflow in one call

Multi-step work runs on the workflow engine and returns a run handle the agent can poll — retries, branching and state survive the conversation that started them.

Health-aware discovery

Eventbrite's declared health checks are on the surface too, so an agent can tell "the vendor is down" from "your credential expired" before it burns a retry on either.

The MCP surface is part of the hosted platform. Eventbrite itself is MIT, and the runtime that executes it is source-available (FSL).

Request MCP access

Health checks

Eventbrite declares its own checks, so its health is a property of the app rather than something the host guesses at.

service

Eventbrite platform status

quota

API rate-limit headroom

Hourly allowance remaining on this token, read off the `X-Rate-Limit-*` headers.