# Account & organization settings

**Write tools (mutate state).** Cosmetic ad-account settings and Slack digest delivery.

:::warning{title="Write tool — mutates state"}

New tokens are read-only by default: the console defaults a new endpoint to the read-only tools, so a fresh token cannot call these until someone deliberately grants a write tool. See [Tool scoping](/tool-scoping) and [Write tools are human-in-the-loop](/tools/overview#write-tools-are-human-in-the-loop).

:::

| Tool | Purpose |
|---|---|
| [`account_update`](#account_update) | Rename or hide an ad account |
| [`org_update_digest_settings`](#org_update_digest_settings) | Update Slack digest settings |

## `account_update`

**Rename or hide an ad account**

Set an ad account's display name and/or hide it from the app's pickers and tables. These are the only two account fields this API can touch — both are cosmetic. Product and KPI MAPPINGS are deliberately not exposed: changing one rebuilds the organization's warehouse models and re-cuts every reported number, which is a decision for a person in the Bellaso app.

**Posture:** mutates state · **Module gate:** none (needs only the agent entitlement) · **REST:** `POST /api/v1/tools/account_update`

| Argument | Type | Required | Notes |
|---|---|---|---|
| `account_id` | string | **yes** | The ad account to update, as its warehouse id (e.g. "facebook_ads_123456"). Get ids from get_accounts_performance. (length 1–128) |
| `display_name` | string | no | A friendlier label for this account across the app. Cosmetic only: it never changes any metric. (length 1–200) |
| `hidden` | boolean | no | Hide (true) or unhide (false) the account in the app's account pickers and tables. Cosmetic only: hiding does not delete data or stop syncing. |

## `org_update_digest_settings`

**Update Slack digest settings**

Set how often this organization's Slack performance digest posts, and optionally which channel it posts to. Setting the frequency to 'off' also stops proactive KPI-change alerts. This changes notification delivery only — it touches no data, no billing and no ad platform.

**Posture:** mutates state · **Module gate:** none (needs only the agent entitlement) · **REST:** `POST /api/v1/tools/org_update_digest_settings`

| Argument | Type | Required | Notes |
|---|---|---|---|
| `digest_frequency` | `daily` \| `weekly` \| `off` | **yes** | How often the Slack performance digest posts: daily, weekly, or off. 'off' is the master switch — it also silences proactive KPI-change alerts. |
| `digest_channel_id` | string \| null | no | Slack channel id to post into (e.g. "C08ABCDEF"), or null to clear it. Omit to leave the current channel unchanged. This is the raw channel id, not the #name — an id that is not in the workspace simply means nothing posts. |
