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

# Organization settings tools

> Read and change your organization's preferred and blacklisted venues, contract clauses, and chat instructions.

These tools read and change the settings an admin manages on the
organization settings pages of the Nowadays dashboard. They always act on the
organization you selected (see
[`select_organization`](https://docs.nowadays.ai/mcp/tools/events#select_organization)). No tool takes
an organization id.

Only an admin of that organization can use them. A member who is not an
admin, or an admin of another organization, gets this error and nothing is
prepared or changed:

```text theme={null}
You do not have permission to manage this organization
```

Chat instructions are stricter: only an admin who belongs to the organization
can read or change them.

The write tools only prepare a change. Show the person the preview word for
word, and call [`confirm_change`](https://docs.nowadays.ai/mcp/making-changes#confirm_change) only
after they say yes. At confirm, the server checks again that you are still an
admin of the same organization. If you lost admin rights, or selected another
organization, nothing changes.

## Venue rules

### `get_venue_rules`

Lists your organization's preferred and blacklisted hotels and chains, newest
change first. It takes no arguments.

Returns `preferredVenues`, `preferredChains`, `blacklistedVenues` and
`blacklistedChains`. Each has `rows` (at most 200) and `total`. A venue row has
`venueId`, `venueName`, `city` and its reason. A chain row has `chainId`,
`chainName` and `brandName`. Rep emails, negotiated rates and attachments are
not included. See them on the dashboard.

### `prefer_venues`

Prepares adding hotels, or a whole chain, to the preferred list.

| Argument | Type | Description |
| - | - | - |
| `venues` | array | Hotels, each `{ "venue_id": 123 }` or `{ "place_id": "..." }`. Up to 50. |
| `chain_id` | number | A chain's id, to prefer the whole chain. |
| `preference_type` | string | `great_location`, `quality_service`, `competitive_rates`, `preferred_chain`, `past_success` or `other`. Required. |
| `notes` | string | Notes your planners see. Up to 2,000 characters. |

Send at least one hotel or a chain. A `venue_id` is the catalog venue id. To
find a hotel's id by name, call
[`get_venue_facts`](https://docs.nowadays.ai/mcp/tools/venues#get_venue_facts) with `venue` set to
its name, and `city` when you know it. Each venue it returns has its `id`.
`get_venue_rules` also lists the ids of hotels already on a list. A
`place_id` is the hotel's Google place id.

The preview lists each hotel and what will happen to it: added, already
preferred (skipped), or no match (skipped). It also says when a hotel is on
your blacklist too. If nothing would be added, nothing is prepared.

### `blacklist_venues`

Prepares adding hotels, or a whole chain, to the blacklist, so your planners
are not offered them.

| Argument | Type | Description |
| - | - | - |
| `venues` | array | Hotels, each `{ "venue_id": 123 }` or `{ "place_id": "..." }`. Up to 50. |
| `chain_id` | number | A chain's id, to blacklist the whole chain. |
| `reason` | string | `poor_quality`, `policy_violation`, `negative_experience`, `cost_prohibitive`, `safety_concerns` or `other`. Required. |
| `explanation` | string | More detail. Up to 2,000 characters. |

If a hotel is already blacklisted for a different reason, the preview says the
reason changes. For a chain, the preview says how many hotels the chain covers
and how many of them are on your preferred list.

## Contract clauses

Nowadays checks hotel contracts for your organization against these clauses.

### `list_contract_clauses`

Lists your organization's clauses, oldest first. It takes no arguments.

Returns `organization` and `clauses`. Each clause has `clauseId`,
`clauseType`, `title` and `text`.

### `add_contract_clauses`

Prepares adding 1 to 20 clauses.

| Argument | Type | Description |
| - | - | - |
| `clauses` | array | Each `{ "clause_type": "...", "title": "...", "description": "..." }`. Required. |

`clause_type` is one of `cancellation`, `attrition`, `indemnification`,
`data_privacy`, `no_planner_points`, `payment_terms`,
`insurance_requirements`, `rate_cap`, `force_majeure`, `audit_rights` or
`other`. Send the clause's full text in `description`, not a summary.

A clause whose title and text match a saved clause is skipped. An add never
replaces a saved clause. If a saved clause has the same title with other text,
the preview says the new clause is added beside it.

The preview shows each clause in full, because the text the person approves is
the text that is saved. If the clauses pass 20,000 characters together, the
call is refused. Send fewer at a time.

### `update_contract_clause`

Prepares changing one saved clause.

| Argument | Type | Description |
| - | - | - |
| `clause_id` | number | The clause's `clauseId` from `list_contract_clauses`. Required. |
| `description` | string | The clause's full new text. Send the current text to keep it. Required. |
| `title` | string | A new title. Omit it to keep the title. |
| `clause_type` | string | A new type. Omit it to keep the type. |

The preview shows the text before and after. At confirm, the edit runs only if
the clause has not changed since the preview. Otherwise nothing changes, and
you call `list_contract_clauses` and prepare the edit again.

## Chat instructions

### `get_chat_instructions`

Reads your organization's shared chat instructions. It takes no arguments.

Returns `instructions` (an empty string when none are set), `updatedAt` and
`updatedBy`.

### `set_chat_instructions`

Prepares replacing the shared chat instructions. The preview names the
organization, so an admin of several organizations can check which one
changes.

| Argument | Type | Description |
| - | - | - |
| `instructions` | string | The full new text, up to 5,000 characters. An empty string clears them. Required. |

Call `get_chat_instructions` first and edit that text: the new text replaces
all of it. The preview shows the text now and after. At confirm, the change
runs only if the instructions have not changed since the preview.

## Only on the dashboard

These organization settings have no MCP tool. Change them on the organization
settings pages of the Nowadays dashboard:

* Removing a venue or chain from the preferred list or the blacklist.
* Editing a preferred venue or chain, its negotiated rates, and preferred
  vendors.
* Deleting a contract clause, and contract templates and addenda.
* Approval policies, offices, and branding.


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