> ## 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.

# Proposal package tools

> Bundle an event's venue proposals into named packages, rename them, and change what is in them.

A proposal package is a named bundle of venue proposals on one event. It shows
on the event's proposals page, and everyone on the event sees it.

Each tool takes a required `event_id`: the event's UUID from `list_events`.
An event you cannot read in your selected organization returns the same
not-found error as one that does not exist.

`list_proposal_packages` reads. The other three tools prepare a change. Each
returns a preview and an approval handoff, and nothing is saved until
[`confirm_change`](https://docs.nowadays.ai/mcp/making-changes#confirm_change) runs after the person
said yes. See [Making changes](https://docs.nowadays.ai/mcp/making-changes.md).

Packages cannot be deleted over MCP. Do that in Nowadays.

## `list_proposal_packages`

Lists the event's packages, oldest first.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | The event's UUID. Required. |

Returns `event` (the event's name) and `packages`. Each package has its
`packageId`, its `name` and `venues`, the names of the venues in it in the
order they were added. Use `packageId` as `package_id` with
`rename_proposal_package` and `update_proposal_package_items`.

## `create_proposal_package`

Prepares a new, empty package on the event.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | The event's UUID. Required. |
| `name` | string | 1 to 60 characters after trimming. Required. |

A name another package on the event already has, ignoring case, is refused.
The confirm's result names the new `package_id`. `list_proposal_packages` also
shows it.

## `rename_proposal_package`

Prepares a new name for a package. The preview shows the name before and
after.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | The event's UUID. Required. |
| `package_id` | number | The package. Required. |
| `name` | string | The new name, 1 to 60 characters after trimming. Required. |

A package that already has the name returns a sentence that says so, and
nothing is prepared. If the package is renamed by someone else before the
confirm, the confirm changes nothing and asks you to prepare again.

## `update_proposal_package_items`

Prepares adding venues to a package and taking others out.

| Argument | Type | Description |
| - | - | - |
| `event_id` | string | The event's UUID. Required. |
| `package_id` | number | The package. Required. |
| `add_venues` | string\[] | Venues to add, by name as `get_proposals` shows them. At most 50. |
| `remove_venues` | string\[] | Venues to take out, by name. At most 50. |

Send at least one venue. Names match ignoring case and spacing. A name that
matches no venue on the event is refused, and the error lists the venues that
are on it. The same venue cannot be on both lists.

The preview has one line per venue. A venue you declined, or one with no live
quote yet, can still be added, and its line says so. A venue that is already
where you asked is skipped. If every venue is already where you asked, nothing
is prepared. If the package changes before the confirm, the confirm changes
nothing and asks you to prepare again.


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