Planned
Plan and manage events
- Category
- Operations
- Primary Subcategory
- Event Organizer & Box-Office Tools
Integration details
Description
Planned helps teams create and manage business events, coordinate attendees and agendas, research and shortlist suppliers, review contracts and invoices, and prepare payment-facilitation requests through ChatGPT.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Event Organizer & Box-Office Tools
- Secondary Subcategories
- None listed
- Brand
- Planned
- Access
- Account required
- First tracked
- 2026-09-26
- Tool count
- 50
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Planned
Get updates when Planned’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Event Organizer & Box-Office Tools
View Category50 tools agents can invoke
Reconstruct what happened on an event and in what order: who or what acted, when, and the client-safe fields each act changed. Reach for this to explain how an event reached its current state, or what led up to a change someone is asking about. Items come back newest first; an item's `causedBy` names the `id` of the act that set it off, so a chain can be followed back to its trigger, and is null when the act had none. Narrow by free text, actor kind, action, category, acting user, source, and time range; each item carries the `category` id and `action` key its filters accept, so a first unfiltered call shows what is worth narrowing to. Bursts of one action by one actor collapse into a single item carrying its occurrences under `group`. For the version-by-version lifecycle of one contract, use `contract_activity_list` instead. Event collaborators from the event's company, Client Admins from that company, and Planned Full Admins can read this feed.
Create one agenda item on an accessible event with a title, day, start and end time, and optional description, link, color, categories, or related suppliers. This immediately changes the event agenda.
Permanently delete an agenda item from an accessible event. Call only after explicit user confirmation.
List all agenda items for an accessible event, including schedule, display fields, related categories, related supplier IDs, and last-update metadata.
Update an agenda item that belongs to an accessible event. Omitted fields remain unchanged. This tool can update agenda fields and related categories, but it does not expose related-supplier changes.
Add one attendee to an accessible event. Creates the attendee and, when the company supports RSVP, an initial pending RSVP record. Use attendee_create_batch for multiple attendees. Fails when the email already exists on the event.
Add 1–100 attendees to an accessible event. Existing event emails and repeated emails within the batch are skipped rather than updated and are returned in skippedEmails; report those partial results to the user.
Permanently remove one attendee from an accessible event. This also deletes related RSVP and room-reservation records and closes related workflow items. Call only after explicit user confirmation.
List the master attendee list for an accessible event, including contact details, RSVP status, and check-in state. Use to resolve attendee and RSVP IDs before attendee writes. Results are paginated.
List attendee special requests and room-booking change requests for an accessible event, including their triage status and related attendee, supplier, room-block, and RSVP references. This does not apply the requested changes.
Update only the triage status of an attendee request on an accessible event, with an optional reason. Apply any real booking or reservation change first; this tool records whether the request is in progress, completed, denied, or no longer needed.
Update one attendee's core information on an accessible event. Requires at least one changed field; omitted fields remain unchanged, while supported nullable fields can be cleared. This may propagate contact changes to related reservations.
List checklist items (the planning tasks on an event, also called to-dos) with event names, assignees and due dates for events the authenticated caller can access. Omit eventId to list items across all accessible events, or provide it to filter to one event. Results are ordered by the soonest due date first, and dueDateRange combined with the status filter answers questions like what is due this week or already overdue; assignedToMe narrows that to the caller. This covers planning work owned by the event team — use invoices_list for payment deadlines and event_approval_list for pending approval decisions.
List lifecycle activity across all versions of a contract group on an accessible event. Supply either a contract ID or version-group ID. Returns uploads, approval events, change requests, signatures, voids, actors, and timestamps. Scoped to one contract group; for what happened on the event as a whole, use `activity_ledger_list` instead.
Resolve a logical contract group to its current non-voided contract row. Returns lightweight identity, status, signing state, supplier, and version information—not full contract content.
List the current non-voided contract for each logical contract group on an accessible event. Returns version, signing, provenance, and pricing metadata.
Attach an already-uploaded signed PDF to a specific non-voided contract row on an accessible event. The file path must belong to that contract. This records the signature immediately, emits contract-signed effects, and may mark the supplier booked, message the supplier, and add the client to the supplier chat; use only after confirmation. It does not upload file bytes.
List every version of a contract group on an accessible event, newest first. Supply either any contract ID in the group or its version-group ID. Use a contract ID when the entire group may be voided.
Get one approval request by ID and verify that it belongs to the supplied accessible event. Use event_approval_list to discover approval IDs; use event_approval_get_by_event when only the event is known.
Get the approval state for an accessible event when its event ID is known. Returns the overall status, reapproval and override information, approval requirements, approver decisions, and pending approvers; returns null when no approval exists.
List approval requests the authenticated caller can access, optionally filtered by status. Use to discover approval IDs or review approval states in bulk; use an approval-get tool for the full per-approver breakdown. Returns paginated results with the caller's personal decision (myDecision) and whether the approval still requires their action (isActionableByMe). Filter by assignedToMe, myDecision, or actionableOnly to scope to approvals assigned to the caller — for example, pass actionableOnly: true to see pending approvals you need to action on. Each result includes a link to the approval review page in Planned.
Get the current v2 sourcing brief data for an event the caller can access. Do not use for core event details or company-specific intake answers. Returns brief null when no brief has been created yet.
Return a link to Planned where the user can complete or save the v2 sourcing brief for an event they can manage. Use when the user wants to add or change sourcing needs. This tool does not modify the event or brief; direct the user to the returned URL. Use event_brief_get instead to inspect current brief data.
Assign an existing event collaborator as the lead collaborator by work email. The authenticated caller must manage the event within their company. The person must already have a Planned account and access to the event; this tool does not invite or grant access. Changing the lead may send an update notification to Planned operations. Returns unchanged when they are already the lead.
List every event in a company that overlaps an inclusive date window — the whole company, not just the caller's own events — so a new event can be scheduled without competing for the same attendees. The calendar read is the caller's own company's, except when `excludeEventId` names an event and the caller reads every company's events: the question is then answered against the company running that event. Use when the user asks what is happening across the company during a date range. Confidential events are omitted entirely, dates included, unless the caller is a company admin, a collaborator on that event, or one of its approvers; the calendar therefore never reveals that a confidential event exists. Returns an error when the caller's company does not have the company calendar enabled; report that rather than retrying. Cancelled events and unpublished drafts are excluded. Optionally filter by status, exact location, organizer email, budget currency, and inclusive minimum/maximum budget. A budget filter compares an event's effective total — a per-person budget times the attendee count, a budget range at its upper limit — requires a currency, converts nothing, and excludes events with no usable budget. Filters combine with AND. Read without filters first to discover the values in `filterOptions`, and do not guess organizer emails or locations. Returns each entry's name, description, attendee count, budget, location, dates, status, and organizer, plus `filterOptions`.
Get the intake questions for the event's company when eventId is provided, or for the authenticated caller's company otherwise. Most companies ask nothing, which returns an empty list. Use event_company_details_get for the answers already on record. A host that renders MCP Apps mounts the form itself; otherwise work the questions in conversation: 1) read the returned fields, 2) ask every `required` one that is not already answered, 3) offer a question's `options` as the only accepted answers and a `yesOrNo` question as yes or no, 4) keep each answer under that question's `name`, 5) for a directory-backed question whose answer is not listed, call this tool again with `search: { name, query }` and have the planner choose one returned option, 6) read the full set back and get an explicit yes before saving, 7) call event_company_details_save with the eventId and the answers. Workflow handoff: If no accessible event matches a request to read or change company details, ask whether the user wants to create it. After they explicitly agree, call load_skill({ name: "event_creation_workflow" }) before continuing.
Get what an event's company intake form already says: the answers on record, keyed by the same `name` the questions use, and which required questions are still unanswered. Call it before asking the planner anything, so answered questions are not asked again — event_company_details_fields is the tool for the questions themselves. Workflow handoff: If no accessible event matches a request to read or change company details, ask whether the user wants to create it. After they explicitly agree, call load_skill({ name: "event_creation_workflow" }) before continuing.
Answer the company intake questions on an accessible event. Send only the questions being answered; saved answers are kept. An answer that is not one of a question's accepted values returns confirmation_required with candidates and saves nothing — put those to the planner and call again with the exact value they choose. Missing or malformed answers return validation_failed. Completing the answers publishes an event still in draft. Saving or publishing may trigger company notification policies, including emails to configured recipients. Workflow handoff: If no accessible event matches a request to read or change company details, ask whether the user wants to create it. After they explicitly agree, call load_skill({ name: "event_creation_workflow" }) before continuing.
Create one event for the authenticated caller from a natural-language request. After a duplicate check finds no exact accessible match, an explicit creation request is enough to start: call with the supplied name and any other known details, without asking for creation approval again. Include only details the user supplied. Missing required information returns clarification_required and creates nothing; ask the returned questions, then continue with previousState. A successful call immediately creates either a published event or an intake-form draft and returns its URL, resolved location, and dates. An intake-form draft queues a reminder email for the event creator to complete it. Workflow handoff: For an end-to-end event creation or draft-publication request, call load_skill({ name: "event_creation_workflow" }) before continuing.
Get key details for one event the authenticated caller can access. Use when an event ID is already known; use event_list to discover IDs. Returns its publication status, name, thumbnail, guest count, dates, budget, location, and collaborators.
List events associated with the authenticated caller as creator, lead collaborator, or collaborator, newest first. All callers may refine those events by query, name, referenceCode, or uuid. Client Admins and Full Admins may also filter by createdBy, or use collaborator to list events associated with another person in the caller's company. The collaborator filter accepts a name, email, or auth ID; use a more specific name or email when it is ambiguous. Filters combine when more than one is provided. Returns paginated event summaries and total count. When checking for duplicates for an explicit creation request, if no exact accessible match exists, continue with event_create using all supplied details, even just a name; do not stop at no results. A lookup-only request does not authorize creation. Workflow handoff: When checking for duplicates for an explicit event-creation request, including when no match is found, call load_skill({ name: "event_creation_workflow" }) before continuing.
List saved supplier recommendations for an event, including saved AI picks. This tool reads existing recommendations; it does not generate new ones. To retrieve hotel prices, set includeHotelPricing=true. Prices come from the same service used by marketplace cards and depend on the requested dates and currency. When the user refers to "these recommendations" or a filtered set, pass the current recommendation scope unchanged. Omit scope to list shared event-brief recommendations plus the authenticated requester’s chat recommendations, excluding other users’ chat recommendations. Before comparing the full set, retrieve every page by following nextOffset until it is null, keeping the same scope and filters. Treat missing rates as unavailable, not loading. If scopeComplete=false, the retrieved set is incomplete and comparisons must be labeled as partial.
List suppliers in one funnel stage for an accessible event: shortlisted, inquired, available, booked, or unavailable. Use when downstream work needs supplier IDs from a specific stage.
Update an accessible event's name, description, guest count, dates, times, city, or budget. Requires at least one changed field; omitted fields remain unchanged. A city change is geocoded and refreshes the event timezone. A time applies to every day of the event. A budget states its own amount and type, so send both. Changes may notify Planned operations, and date, time, or timezone changes may resend calendar invitations to attending guests. When suppliers have already been inquired, a change to the dates, times, location or guest count returns confirmation_required without changing the event; ask the returned question and set confirmed only after the user agrees. Do not use for approval or questionnaire changes.
List sent inquiries and supplier responses for an accessible event, optionally filtered to one supplier or inquiry. Use to check contact and response state before sending or following up.
Get payment and billing details for an invoice whose event the authenticated caller can access. Returns amounts, line items, payment schedule, billing addresses, document information, supplier name, and basic event context while excluding internal payout and workflow fields.
List invoice summaries with event names, reference codes and payment deadlines for events the authenticated caller can access. Omit eventId to list invoices across all accessible events, or provide it to filter to one event. Each summary carries dueDate and paymentStatus, results are ordered by the soonest deadline first, and dueDateRange combined with the status filter answers questions like what is due next or already overdue. Use invoice_get when full billing or document details are needed.
Load an authoritative Planned multi-tool workflow. Use before an end-to-end payment facilitation, event creation, or Where to Meet workflow. Accepts only a published workflow name and returns its current version, instructions, required tools, tool entry points, related workflows, approval points, and completion condition. Does not read or change event data and does not execute the workflow.
Recommend or compare meeting cities without reading or changing an event. Use this primitive for standalone location ideation, comparison of up to five named candidates, or refinement using prior planning state. Include all known origins and counts, exact dates, constraints, and preferences; never invent missing inputs. Returns targeted clarification, up to three ranked recommendations with evidence, or reasons no candidate qualifies. Workflow handoff: For an end-to-end recommendation or optional event-creation request, call load_skill({ name: "where_to_meet_workflow" }) before continuing.
Prepare or confirm a payment facilitation request for one existing, published Planned event. Requests phrased as "PF" (case-insensitive) mean payment facilitation when they concern an event contract or payment request. Requires the exact accessible event ID and one contract attachment. This tool does not search for, create, complete, or publish events. ChatGPT supplies document; local agents such as Codex read the file bytes and supply inlineDocument instead of a local path. Prepare returns the exact CSM message with Planned as signing entity. Pass message to override the generated draft, then copy preview.message and previewHash on confirm. If the user explicitly instructed sending, submitting, or proceeding in the same request, treat that as prior approval and confirm the exact prepared preview without asking again; if they asked only to prepare or preview, wait for approval. Workflow handoff: For an end-to-end payment facilitation request, call load_skill({ name: "payment_facilitation_workflow" }) before continuing.
Health check — returns "pong"
Get the cell map for one proposal comparison on an accessible event. Cell values default to omitted to limit large payloads; request them only when the detailed comparison is needed.
List proposal comparison groups for an accessible event. Returns visible suppliers, comparison rows, and whether each visible cell has a value; use proposal_group_get when actual cell values are needed.
Add or update a supplier on an accessible event's shortlist under one or more event-relevant categories. This does not send an inquiry. For recommendation-source IDs, the candidate must still be valid and the category must match the recommendation. Adding a new external supplier queues website scraping for enrichment; admin callers start that scraping immediately.
Get the shortlist for an accessible event, grouped by the categories under which each supplier was shortlisted, with uncategorized suppliers returned separately.
Remove a supplier from an accessible event's shortlist using its shortlist ID. This is destructive and is rejected after an inquiry has been sent. Call only after explicit user confirmation.
Get marketplace details for one supplier when its supplier ID is known. Use supplier_list for an exact-name or Google Place lookup and supplier_search for fuzzy discovery.
Find marketplace suppliers by exactly one deterministic identifier: a case-sensitive exact name or Google Place ID. Use supplier_search for fuzzy name or keyword matching. Returns an empty array when nothing matches.
Generate AI-ranked supplier recommendations for an accessible event when no specific supplier has been chosen. Supply a scope for one sourcing need or omit it for event-wide needs. This may query external sources and store external candidates, but it does not shortlist or contact suppliers.
Search the marketplace for a named supplier or keyword. Use when an approximate name is known; use supplier_recommend for open-ended sourcing. An optional accessible event supplies a location-ranking signal, and category is only a soft boost. Verify the returned name before using a supplier ID.
How do I improve a ChatGPT Plugin's 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.
What are Planned alternatives on ChatGPT?
As of 2026-09-26, Planned competes with A Seat Awaits, Artist Growth, Checkin, ClubMeister: Team Manager, EventHex, FareHarbor, Funlet, Luma, Made In Show, Qflow, RaidTrainExpress, SAIRYŌ, Skylar, Sweescape, TheSignup, Ticketgrid, Tour Buddy in ChatGPT Event Organizer & Box-Office Tools, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.