> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nowadays.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Event tools

> Find, read, create, and change events, and choose the organization the tools work in.

Every tool on this page acts as the signed-in user, inside the organization
resolved automatically or chosen with
[`select_organization`](#select_organization).

An event has two ids: its public id, a UUID, and its numeric `eventId`.
`list_events` returns the UUID. `find_event` and `query_past_events` return
both, as `uuid` and `eventId`. A tool that takes `event_id` as "either id"
accepts both, passed as a string. `get_event` and `update_event` accept only
the UUID, so pass them the `uuid` from a search result.

## `list_events`

Lists your organization's events, newest first.

| Argument | Type | Description |
| - | - | - |
| `page` | number | 1-based page number (default `1`). |
| `limit` | number | Results per page, 1 to 100 (default `20`). |

Returns each event's `id`, `name`, `dates`, `locations`, `numPeople`, `status`
and `createdAt`, plus `page`, `limit` and `total`.

## `get_event`

Gets a single event's detail by its public id.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | The event's public id (UUID), as returned by `list_events`, `find_event` or `query_past_events`. Required. |

Returns the `list_events` fields plus `venueType`, `numHotelRoomsNeeded`,
`isMultiDay`, `otherNotes` and `currency`.

## `find_event`

Searches your events by free text. Use it when the person names an event
loosely, such as "the Chicago offsite". If more than one plausible match comes
back, ask the person which one they mean.

| Argument | Type | Description |
| - | - | - |
| `query` | string | Part of the event name, the client or organization name, a city, the name of a venue sourced for it, or an `ev-NNNN` id. Required. |

Returns `matches`, up to 8 events, each with `eventId`, `uuid`, `name`, `orgName`,
`dates`, `owner` and `status`. Every word in `query` must match the event
somewhere. A `note` says when nothing matched, so the agent retries with fewer
words, or when more than 8 matched and the list shows only the newest.

## `get_event_details`

Reads the event as the client specified it. This is the ask, not a venue's
answer, so check a quote's dates and headcount against it.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | Either id of the event. Required. |

Returns `event` with `name`, `venueFacingEventName`, `canceled`, `locations`,
`dates`, `headcount`, `roomNights` (the guestroom block, night by night),
`meetingRoomsNeeded`, `meetingRoomRequirements`, `agenda`,
`foodBeverageRequirements`, `flexibility`, `decisionDeadline`, `currency` and
`otherNotes`. When the event has no night-by-night block,
`declaredGuestroomTotal` replaces `roomNights` as the only room figure. Also
returns `keptNotes` (what the planners asked Nowadays to keep for this event,
such as goals, must-haves, and venues ruled out), `dashboardUrl`,
`proposalsUrl` and a `note` on how to read the figures. The `note` also says
which name hotels see. The venue-facing name is set in the Nowadays dashboard.

## `query_past_events`

Lists events your organization has run or is planning, most recent first. Use it
before you recommend cities or venues, so suggestions start from where the
organization has gone before.

| Argument | Type | Description |
| - | - | - |
| `limit` | number | Events to return, up to 25 (default `10`). |
| `city_contains` | string | Case-insensitive match on the event's location. |
| `min_num_people` | number | Only events with at least this many attendees. |
| `max_num_people` | number | Only events with at most this many attendees. |
| `since_year` | number | Only events whose first date is in this year or later. |

Returns `events`, each with `eventId`, `uuid`, `name`, `locations`, `dates`,
`numPeople` and `status`, plus `noHistory`, which is `true` when nothing
matched.

## `create_event`

Prepares a new event in your organization. You become its owner once it is
confirmed.

| Argument | Type | Description |
| - | - | - |
| `name` | string | Event title. Required. |
| `formattedLocations` | array | Candidate cities, for example `[{ "city": "Austin" }]`. |
| `eventDates` | array | Inclusive `YYYY-MM-DD` ranges, for example `[{ "startDate": "2027-03-15", "endDate": "2027-03-17" }]`. |
| `venueType` | string | Defaults to `hotel`. |
| `numPeople` | number | Total attendees. |
| `numHotelRoomsNeeded` | number | Guestrooms needed. |
| `meetingRooms` | string | Free-text meeting-room requirement. |
| `foodBeverageRequirements` | string | Free-text F\&B needs. |
| `currency` | string | Defaults to `USD`. |

Returns a preview of the event, naming the organization it will be created in,
and an approval handoff. The event is created only when the change is confirmed
with [`confirm_change`](https://docs.nowadays.ai/mcp/making-changes#confirm_change). The confirm
result names the new event's `id`.

## `update_event`

Prepares a change to an event's planning details: dates, headcount, budget,
guestrooms, agenda and notes. It returns a preview with each field's current
and new value, and any city the change removes with the hotels that would be
told. Nothing is saved until the change is confirmed.

Changing dates, headcount, rooms or other details hotels quote on emails every
hotel holding an RFP the new details. The preview names those hotels, and the
confirm result says which were emailed, so do not offer to tell them again.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | The event's public id (UUID). Required. |
| `changes` | object | Only the fields to change. Required. |

```json theme={null}
{
  "event_id": "3f2b…",
  "changes": {
    "numPeople": 320,
    "agendaOperations": [
      { "op": "update", "sessionId": "a1b2…", "session": { "startTime": "09:30" } }
    ]
  }
}
```

`changes` also takes `eventDates`, the full list of date options, best first.
Each option is a range, `{ "startDate", "endDate" }`, or a single day,
`{ "date", "startTime", "endTime" }`, with the times optional. And it takes
`venueFacingEventName`, the name hotels read when it differs from `name`.

Call `get_event` first so you edit current values. The rules for `changes`
(omitted versus `null`, all or nothing, agenda operations, and the two
refusals you can hit) are in
[Making changes](https://docs.nowadays.ai/mcp/making-changes.md#event-changes).

## `select_organization`

Chooses which organization every tool works in. You need it only if your
account belongs to more than one organization. The choice is remembered for
this client until you change it.

| Argument | Type | Description |
| - | - | - |
| `organizationId` | string | The id of the organization to use. The "organization required" error lists the ids you can choose from. Required. |

If you belong to a single organization, the tools resolve it automatically. The
choice takes effect at once, with no confirm step, because it changes only
which organization this client works in.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.