- Brand
- Gomry
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
Gomry is an event platform for organizers. Connect your Gomry account to run your events from ChatGPT: see what's coming up, create and edit events, change ticket prices and limits, check who registered, look up contacts, invite and message attendees, and compare sales and page views across events. Use it when you want an answer about your events or a quick change without opening the dashboard. It works on your own Gomry data and respects your team role, and ChatGPT asks you before running anything that changes your data or emails people.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Gomry
- Access
- Account required
- First tracked
- 2026-11-13
- Tool count
- 111
- Market
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Not discoverable in ChatGPT yet
ChatGPT now suggests Plugins on its own when they match a user's request, but not every Plugin is being surfaced yet.We haven’t seen Gomry suggested yet. Sign up and we’ll track it, and your Discoverability Score will appear here once ChatGPT starts surfacing it.
What discovery looks like

Get alerts for Gomry
Get updates when Gomry’s Discoverability Score or category rank changes.
Competitive lineup
111 tools agents can invoke
Add one or more contacts to a list.
add_contacts_to_list
Add an event, experience or external event to a calendar so it appears on that public page. `type` says which kind of entry the id refers to — the three do not share an id space, so a wrong type is a not-found rather than a silent mismatch. Optionally feature it to pin it to the top.
add_to_calendar
Archive an EXPERIENCE ticket class so it stops accepting new bookings. Existing bookings keep working and the tier name is preserved on receipts. Blocked while active bookings still target the tier on FUTURE sessions — the tool returns that count so the organizer can cancel them first. Hard-delete is deliberately not available (booking history needs the class doc).
archive_experience_ticket_class
PERMANENTLY DESTROYS A QUEUED SEND. Calls off a scheduled experience blast so it never goes out. There is no un-cancel. Confirm with the user before calling. Only works while the status is "scheduled", and only for the organizer who created it.
cancel_scheduled_experience_message
PERMANENTLY DESTROYS A QUEUED SEND. Calls off a blast that is still scheduled so the emails never go out, and removes it from the event's message list. There is no un-cancel: the message and its schedule are gone, and restoring it means composing and scheduling a new one. Confirm with the user before calling. Only works while the status is "scheduled" — a message that has already been sent cannot be recalled — and only the organizer who created it can cancel it.
cancel_scheduled_message
Compare a CURRENT date range against a baseline range across all the organization's events — the tool for "how does this period compare to the same period last year", year-over-year, or any two windows. Returns a summary for each window (net & gross revenue, refunds, tickets sold, events held, unique attendees, new attendees) plus per-metric deltas and % change. By default the baseline is the SAME-LENGTH window exactly `years_back` years before the current one (default 1) — the server computes it, so never hand-compute last year's dates. Pass `baseline_from`/`baseline_to` only for an arbitrary comparison window. Amounts are per native currency (never converted); deltas are computed per currency. Defaults the current window to the last 6 months.
compare_periods
EMAILS THE ATTENDEE when `send_email` is true (a ticket CONFIRMATION email, "Your ticket: …", which is the wrong email for an invitation) — it defaults to false, so nothing is sent unless you ask for it. Use this tool ONLY to create confirmed/already-attending tickets ("attendees") for a contact. To INVITE someone, send an invitation, add to the guest list, or handle an RSVP, use `send_invite` instead — NOT this tool. Delegates to the canonical service so capacity guards, invited-ticket upgrades, contact upsert, and shared paymentID all behave exactly as the dashboard.
create_attendee
Create a new contact in the organization. At least one of `email` or `phone_number` is required. If a contact with this email already exists, returns a 409-equivalent error with the existing record.
create_contact
Create a new contact list (segment). Rejects a name that already exists rather than creating a duplicate, because two lists sharing a name make name-based resolution ambiguous for every later call.
create_contact_list
GOES LIVE IMMEDIATELY — there is no draft state. The event is reachable at its public URL and its default "General Admission" ticket class is on sale the moment this returns, and unless `is_private` is true the event is also queued for an automatic review that can list it in Gomry's public discovery feed. Other side effects (calendar fanout, Mixpanel tracking) match the dashboard creation flow exactly. Requires `name`, `start`, and `location`. `end` is OPTIONAL — omit it and the event ends 2 hours after the start, exactly as the create page does (it has no end-date input); only send it when the caller gave an explicit end time. Returns the persisted event.
create_event
GOES LIVE IMMEDIATELY at its public URL — there is no draft state — but it has NO BOOKABLE SESSIONS until you call create_recurrence, so a visitor arriving before then finds an empty calendar rather than a purchase. Creates a recurring EXPERIENCE (a class, tour, or repeating session series) — the experience counterpart of create_event. Requires `name`, `duration_minutes`, `default_capacity`, `location`, `price` and `currency`. A default "General admission" ticket class is created at that price.
create_experience
GOES LIVE IMMEDIATELY — there is no draft state: the tier is bookable on the public experience page the moment this returns, and creating the FIRST class also switches that page for every visitor, from a single price to a tier picker. Creates a ticket class (pricing tier) on an EXPERIENCE — e.g. "Early Bird", "VIP", "Member". Required: name, price, capacity. The tier always uses the experience's currency. Use for "add a VIP tier at $50 with 10 seats to my yoga class". This is also how you set a per-tier approval requirement on an experience (`require_approval`), which is not reachable via update_experience.
create_experience_ticket_class
GOES LIVE IMMEDIATELY — there is no draft state: the add-on is on sale to buyers at that host's checkout the moment this returns. Put a catalog add-on on sale at one event or experience (`hostId` = event id OR experience service id). Give it a per-host `price`, and stock: `stocks` for precise per-option counts, or `stock` for one count across every option, or omit both for unlimited. Get the productId from list_merch_products first. One offering per product per host — offering the same product twice is rejected.
create_merch_offering
NOT ON SALE ANYWHERE — this only adds a reusable add-on product template to the organizer's private catalog; no buyer can see or purchase it until create_merch_offering puts it on sale at a specific event or experience. Pass `options` (e.g. ["S","M","L"]) for an add-on with variants like a t-shirt; omit it for a simple add-on like parking (stored with one implicit "General" option).
create_merch_product
GOES LIVE IMMEDIATELY — there is no draft state: the code is redeemable at checkout the moment this returns, and creating the event's FIRST code also turns on the promo-code field in that event's checkout for every buyer. Use `valid_from` to hold it until a later date. Provide exactly one of discount_amount (fixed, in the event currency) or percent_off (1-100) — passing both or neither is an error. Leave applied_to_tickets empty to discount every ticket class, or list ticket-class ids to restrict it; call list_ticket_classes first to get those ids. Codes are uppercased on save and must be unique within the event.
create_promo_code
GOES LIVE IMMEDIATELY — there is no draft state: the sessions this schedule generates are bookable on the experience's public page as soon as they materialise. Creates a recurring schedule from a REPEATING RULE the caller stated as a rule ("every Friday at 18:00", "weekdays at 9am", "last Friday of every month"). One call per rule — never one per date. A list of specific dates ("the 3rd, 10th and 17th") is NOT a recurrence: add each one with create_session instead, and do not create a schedule alongside them. Weekly cadence REQUIRES days_of_week. Sessions are materialised lazily, so they appear as the window rolls forward rather than all at once.
create_recurrence
Create a custom role for the organization with a specific set of privileges. Distinct from the 5 built-in system roles (admin, editor, operations_manager, events_manager, check-in_only), which always exist and cannot be created/edited/deleted.
create_role
GOES LIVE IMMEDIATELY — there is no draft state: the session is bookable on the experience's public page the moment this returns. Adds ONE session on ONE specific date, independent of any recurring schedule — a one-off class, a make-up session, a special date. When the caller names a LIST of dates, call this once per date and create NO recurrence: individual dates are not a repeating rule, and a schedule added alongside them would generate extra sessions nobody asked for. Reach for create_recurrence only for a stated rule ("every Tuesday"). Works on an experience with no schedule at all; provider_id and timezone default to the experience's existing schedule when it has one, so omit them unless the caller named a different provider or timezone.
create_session
Set up an email that goes out automatically before EVERY session of an experience, e.g. "15 minutes before each class" (offsetMinutes 15). Each session gets it once, sent to the people booked at that moment, so late bookings are included; sessions with no bookings are skipped. Starts active. Confirm the timing and copy with the user before calling.
create_session_message_automation
Create a new space in the organization: a sub-division with its own calendar, team and permissions (a city, a brand, a team). Pass `name`; `identifier` is derived from it when omitted. Nothing public is created: the space is empty until events are moved into it with `move_event`. Refused when the name or identifier is already used by an active space (the response lists the existing ones), and "GENERAL" is reserved for the General space every organization has. Not idempotent: retrying a successful call is refused as a duplicate.
create_space
GOES LIVE IMMEDIATELY — there is no draft state: the tier appears on the public event page and is purchasable in checkout the moment this returns. Pass `hide_on_event_page`: true to create it without showing it to buyers, or a future `sales_start` to hold sales until then. Delegates to the same service the dashboard uses. Pass cost=0 for a free ticket. For pay-what-you-want donations, set flexible_pricing_enabled=true, cost=0, minimum_price=0; suggested_price is optional.
create_ticket_class
Remove a bundle. It comes off sale and disappears from the list and the public page. This is a soft delete: people who already bought keep their sessions, and their bookings, refunds and history still resolve — existing holders are NOT refunded. If the bundle has sales and the organizer only wants to stop new ones, prefer update_bundle with status "archived". Confirm with the organizer first when quantity_sold is above zero.
delete_bundle
Archive a contact list and detach it from every contact on it. The CONTACTS are not deleted — only their membership of this list. Soft delete, matching the dashboard.
delete_contact_list
Bulk-delete sessions of an experience that have NO bookings. Pass `experience_id`; optionally `session_ids` to limit the sweep, and `delete_recurrences: true` to also remove every recurrence rule (active and paused) so the experience ends up with zero sessions and zero rules. Sessions with bookings are NEVER deleted — they are skipped and listed in the result; cancel those individually instead. Only experiences owned by this organization can be modified. This is destructive and cannot be undone through the API: confirm with the user before calling. Returns the deleted/skipped ids and the remaining session and recurrence counts.
delete_empty_experience_sessions
Delete an event (soft delete: the event is hidden from the dashboard and its public page). Pass `event_id`. Only the primary host organization can delete; an event co-hosted by this organization is refused. An event that has not ended and has paid orders is refunded in full first, the organization covering the fees: the first call changes nothing and returns `confirmation_required` with the refunds and a `confirmation_token`; call again with the same `event_id` and that token only after the user confirms. Then sales close, the refunds run in the background (`refunds_in_progress: true`) and the event is deleted when they are done. A short balance answers `refused` with an `add_funds_url` (deposits cannot be made through MCP). This is destructive and cannot be undone through the API: confirm with the user before calling. Deleting an already-deleted event succeeds with `already_deleted: true`.
delete_event
Delete an experience (soft delete: the experience is hidden from the dashboard and its public page). Pass `experience_id`. Only experiences owned by this organization can be deleted. Sessions and bookings are NOT cancelled or refunded and attendees are NOT notified. This is destructive and cannot be undone through the API: confirm with the user before calling. An unknown or already-deleted experience is reported as not found.
delete_experience
Stop selling an add-on at one event or experience (soft delete of the offering). The catalog template and past orders are untouched — this only takes it off sale at that host.
delete_merch_offering
Remove an add-on template from the catalog (soft delete). Existing offerings and past orders still resolve. To stop selling it at one event without deleting the template, use delete_merch_offering instead.
delete_merch_product
Deactivate a discount code so it can no longer be redeemed. This is a soft delete: orders that already used the code keep their discount and remain auditable.
delete_promo_code
Delete a "before each session" message so it stops sending. Messages it already sent stay in the history. To stop it temporarily, pause it instead. Confirm with the user before calling.
delete_session_message_automation
GOES LIVE IMMEDIATELY — there is no draft state: the copy is bookable at its own public URL the moment this returns, because the copied recurrence re-anchors to start TODAY with no end date and all sold/booking counters reset to zero. Confirm the resulting dates with the organizer rather than assuming them. Copies the definition (name, description, pricing, location, duration, capacity, booking questions, theme), its ticket classes, its recurrence schedule, and its promo codes + group discounts. Sessions, bookings, and invites are NOT copied. The copy stays in the same space as the source. Returns the new experience.
duplicate_experience
Get a single form submission by ID, including all answers. Pass `fields` to receive only the parts of the submission the question needs.
get_application
Get a single attendee (ticket) by ID, scoped to an event you own. Pass `fields` to receive only the parts of the record the question needs.
get_attendee
Get one bundle by id: which experiences its sessions cover, how many have sold, its price, expiry and public URL. Call list_bundles first if you do not have the id.
get_bundle
Fetch contacts with pagination and sorting. Returns contact details including name, email, phone, lists, tags, and metadata — pass `fields` to narrow that to only what the question needs, so a count or a segment size returns no personal data at all. organizationId is auto-resolved from your token.
get_contacts
Conversion rates for up to 10 events in ONE call — the tool for "which of my events converts best" or "conversion for my top 3 upcoming events". Call `list_events` first to get the ids. Each event reports the same figures as `get_event_conversion_rate`. Ids that are not in your organization are returned under `meta.rejected` and the rest still compute, so one bad id does not fail the call. If `page_views_available` is false for an event, do NOT report 0 views for it.
get_conversion_rates_for_events
Get a single custom field definition by ID.
get_custom_field
What event-page visitors browsed with, grouped by `devices` (default), `browsers` or `os`. Useful for "is my page mostly being opened on mobile". Counts page views, not registrations. `event_id` is required.
get_device_breakdown
Generate copy-ready HTML an organizer can paste into their OWN website to embed a Gomry EVENT. Use this whenever they ask about embedding, iframes, widgets, adding Gomry to their site, or Wix/Squarespace/Webflow/WordPress. Four modes: "button" (overlay trigger), "eventPage" (full page in an iframe), "compactCheckout" (minimal widget), "calendar" (every upcoming event in the space). Returns the snippet plus the public URL and the dashboard path where the same code lives. `event_id` is required for every mode EXCEPT "calendar", which embeds a whole space. Return the snippet to the organizer verbatim — it is meant to be pasted, so do not reformat or summarise it. For embedding an experience (a class, workshop or bookable session) use get_experience_embed_snippet instead.
get_embed_snippet
Get a single event by ID. Returns 404 if the event belongs to an organization you do not have access to.
get_event
ONE event's conversion: total page views, unique page views (deduplicated by IP), registrations, how many visitors opened the page without registering, and both conversion percentages. Use it for "how many saw it but did not buy" or "what percentage of visitors registered". Registrations are counted ALL-TIME regardless of `interval`, which only bounds the page views — the response says so. CRITICAL: when `page_views_available` is false the Tinybird query failed; report the registration count and say view/conversion data is unavailable, never that the event got 0 views. For several events at once use `get_conversion_rates_for_events`. `event_id` is required.
get_event_conversion_rate
Get a single experience by ID. Includes pricing, location, scheduling rules, and capacity. For the attached schedules, use `list_recurrences`.
get_experience
Get the full detail of ONE experience booking: per-seat names and check-in state, the status history (who changed it, when, and why), the answers the attendee gave on the booking form, the payment breakdown with every refund, the promo code applied, and cancellation detail including any fee charged. Needs both `session_id` and `booking_id` — bookings are stored per session, so call list_experience_bookings first to get them.
get_experience_booking
Generate copy-ready HTML an organizer can paste into their OWN website to embed a Gomry EXPERIENCE — a recurring offering such as a yoga class, workshop, tour or coaching slot. Use this for "booking widget for my class", "embed my workshop", or iframes for a bookable service. Three modes: "button" (overlay trigger), "experiencePage" (full marketing card in an iframe), "compactCheckout" (minimal booking widget). `experience_id` is required — call list_experiences first if you do not have it. Return the snippet verbatim; it is meant to be pasted. For an EVENT rather than an experience, use get_embed_snippet.
get_experience_embed_snippet
Get the full content and status of one experience blast message by its id.
get_experience_message_content
Get a single form by ID, including its `questions` array. Use the `id` of each question to map to the `question_id` field on application answers.
get_form
Where an event page's visitors are located, grouped by `countries` (default), `cities`, `regions` or `continents`. Derived from visitor IP on page views, NOT from attendee addresses — a visitor who never registered still counts. `event_id` is required.
get_geographic_breakdown
Get all contact lists for your organization. Returns list names, IDs, colors, and privacy settings.
get_lists
Read one blast message in full — subject, body as plain text, recipient filters, status, scheduled instant and recipient count.
get_message_content
List an event's blast messages, most recent first — including ones still SCHEDULED, with the instant each will fire (`scheduled_for`) and its `status` ("scheduled", "sent", "draft", "failed"). Use it to show an organizer what is queued, and to get the message id for get_message_content or cancel_scheduled_message.
get_message_history
Gomry ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Gomry's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.


