# Transcript Retention

Every two-way conversation your agents and team have — a chat session, a call,
a text thread, an email thread, an imported meeting — is stored with its full
content. **Transcript retention** lets a workspace admin set how long that
content is kept. After the window passes, the content is removed and the
conversation record is left behind: who, when, how long, the outcome, the
counts, and (unless you choose otherwise) the AI summary.

**Nothing is removed until you set a window — and nothing is removed
automatically until you say so.** Retention is **Off** for every workspace
until an admin turns it on; turning it on lands in **Report only**, which lists
what the policy would remove and removes nothing until you review the list and
choose what to remove. **Automatic** removal — daily, without asking — is a
separate step that can only be taken from Report only, after at least one
report exists, and with a typed confirmation. A blank window — at the account
level, on a channel, or on an agent — means *kept indefinitely* in every mode.
The page never fills a blank in with a default number.

The same page carries a second, separate policy for the events your Web Analytics
sites collect — see **Web analytics events** below.

## What you'll need

- **Tenant admin** rights. The setting lives under the gear icon and is not
  delegated through roles, because it deletes.
- To exempt or tighten one agent: **Manage** on that agent's type
  (`agents:chat:manage`, `agents:sms:manage`, `agents:voice:manage` or
  `agents:mail:manage`), since the override is saved on the agent's own form.

## What a window removes — and what it keeps

Two depths are available. The account default sets one; a channel or an agent
can choose the other.

| | **Content only** | **Content, summaries and quotes** |
|---|---|---|
| Message text, chat logs, call transcripts | Removed | Removed |
| Call and meeting recordings | Removed (switchable) | Removed (switchable) |
| Inbound attachments and MMS media | Removed | Removed |
| Search-index copies of the transcript | Removed | Removed |
| The full agent message a training thread was raised on | Removed | Removed |
| AI summary, title, topic and analysis prose | Kept | Removed |
| Quotes extracted into CRM signals, mentions, commitments and training threads | Kept | Replaced with *[removed by retention policy]* |
| The conversation record: dates, participants, direction, outcome codes, counts, sentiment and score values | Kept | Kept |

What the sweep does **not** touch: agent memories, Tenant Brain knowledge,
contact intelligence narratives, insight reports, helpdesk ticket messages,
Google Local Services lead records, and the nightly database backups — which
age out on their own schedule, so a short window still leaves content in
backup archives until that schedule catches up.

Removal is permanent. It is not covered by **CRM → Setup → Recently Deleted**
and cannot be undone from the settings page.

## The three modes

The **Mode** card at the top of the page has three choices, and they form a
ladder:

| Mode | What runs | What is removed |
|---|---|---|
| **Off** | Nothing. | Nothing — every transcript is kept indefinitely. |
| **Report only** | Once a day, a report lists every conversation the saved windows would remove. | Nothing, until an admin reviews the report and removes some or all of it by hand (below). |
| **Automatic** | The daily report, then removal of everything past its window. | Everything the report lists, daily, without asking. |

Turning retention on lands in **Report only**. **Automatic** can only be chosen
from Report only, after a report has been generated for the windows as saved,
and by typing `AUTOMATIC` to confirm; the card is greyed out with *Turn on
Report only first* while the saved mode is Off, and saving is refused while no
report exists for the saved windows or while the windows on screen differ from
the saved ones. Automatic is a decision about one set of windows: **changing
any window while in Automatic returns the workspace to Report only**, so the
new windows get a report and a review before anything is removed under them.
Stepping down — Automatic to Report only, or anything to Off — never needs a
confirmation.

Deploying the feature changes nothing on its own: a workspace that has never
opened the page is Off, and a workspace that has never saved a mode is Off.

## Set the workspace policy

Path: **Settings (the gear icon) → Access & security → Transcript Retention**.

1. Under **Mode**, choose **Report only**. (Until a mode other than Off is
   saved, every window on the page is inert and the hub row reads *Off · kept
   forever*.)
2. In **Default window (days)**, enter how many days to keep content. Leave it
   blank to keep transcripts indefinitely for anything without its own window.
3. Under **What removal means**, pick **Content only** or **Content, summaries
   and quotes** (the table above).
4. Leave **Also delete call and meeting recordings** ticked unless you want
   audio kept after the text is removed.
5. In **Per-channel overrides**, give any channel its own **Window (days)** or
   **Depth**. A blank cell inherits the default above. The **Effective** column
   updates as you type and reads *kept indefinitely* wherever no window applies.
6. Click **Preview**. The card counts what the settings on screen would flag —
   nothing is changed by previewing. With every window blank it reads *Nothing
   will be removed — no retention window is set on any layer.*
7. Click **Save policy**. The first report is generated within a minute; after
   that one is generated once a day, and every save regenerates it. In Report
   only, nothing is removed by any of this.

<!-- SCREENSHOT: workspace-administration/transcript-retention-policy.png — the Transcript Retention page on the Demo tenant, Report only selected, a 365-day default, the per-channel table with one override and the Effective column visible -->

## Review the report and remove by hand

The **Latest report** card shows when the report was generated, how many
conversations are past their window, and the count for each window (account
default, channel, or agent override). **Regenerate now** rebuilds it from the
saved settings on the spot.

Under **Review and remove**, the page lists the conversations in the latest
report that are still past their window and intact. The report is the ceiling:
**Remove all** never removes more than the report lists, and a conversation
that aged past its window after the report was generated waits for the next
report (or **Regenerate now**).

1. Pick a window in the **Window** selector. For the email account default,
   **Show** switches between **Mail-agent threads** and **Group-inbox and other
   threads**.
2. Each row shows the conversation, its agent and its last activity. Tick the
   rows to remove, then click **Remove selected (n)** — or click **Remove all N
   in this report** to take everything the report lists.
3. Type `REMOVE` in the confirmation panel and click **Remove n**.

Every removal is re-checked against its window at the moment it runs: a
conversation that is no longer past the window, or whose content was already
removed, is skipped and counted as skipped in the result. The removal is
recorded on the **Audit Trail** with your name, and on the report itself. The
review you are acting on expires after ten minutes; if it has, the page asks
you to reload the report and try again. Up to 500 selected conversations can be
removed per request; **Remove all** processes the report in bounded runs and
says when a run hit its cap.

<!-- SCREENSHOT: workspace-administration/transcript-retention-review.png — the Review and remove section on the Demo tenant with two rows ticked and the REMOVE confirmation panel open -->

**Report history** lists the last ten reports with what each flagged and what
was removed from it, and whether that removal was after review or by the daily
run.

## Switch to Automatic

Once you are happy with what the reports flag:

1. Under **Mode**, choose **Automatic**. The confirmation panel states how many
   conversations the latest report lists — that is the set the next daily run
   will remove. Nothing is removed at the moment you save: the first automatic
   removal is the next daily run.
2. Type `AUTOMATIC` and click **Save policy**.

From then on the daily run generates the report and removes everything in it.
The **Last automatic run** card shows when it ran, what it removed, and any
errors — a storage delete that failed is retried on the next run, and the
settings hub row turns amber until it succeeds. Each run leaves a row on the
**Audit Trail** naming how many conversations were cleaned up per channel.

To change a window while in Automatic, change it and save: the page warns that
the workspace returns to **Report only**, a report for the new windows is
generated within a minute, and you switch back to Automatic once you have
reviewed it. To pause, choose **Report only** or **Off** and save; no
confirmation is asked.

## Give one agent its own window

Each agent can keep its conversations longer, shorter, or forever.

1. Open the agent: **Agents → Agent Types → Chat Agents**, **SMS Agents**,
   **Voice Agents** or **Mail Agents** (each opens the Agents list filtered
   to that type), then **Edit** on the agent's row.
2. Find the **Transcript Retention** section: on the **Advanced** tab of a chat
   agent, the **Tools** tab of an SMS agent, the **Telephony** tab of a voice
   agent, the **Email** tab of a mail agent.
3. The banner states the workspace window this agent currently inherits, or
   that retention is off, and names the workspace mode — in Report only it says
   that nothing is removed automatically. Under **Retention for this agent**,
   choose:
   - **Inherit the workspace setting** — the default. You may still pick a
     **Depth** here to change what removal means for this agent only.
   - **Custom window for this agent** — enter **Window (days)** and, optionally,
     a **Depth**. A custom mode with a blank window simply inherits; a mode
     never implies a number.
   - **Keep forever — exempt this agent** — its conversations are never swept,
     whatever the workspace sets.
4. Save the agent as usual. The line under the controls states the outcome in
   words (*kept indefinitely*, *30 days*, and in Report only *30 days (flagged
   for review; removed only by an admin)*). Like every other agent
   setting, a change on a promoted agent takes effect when you promote it; an
   agent that has never been promoted uses its draft.

<!-- SCREENSHOT: workspace-administration/transcript-retention-agent.png — the Transcript Retention section on a chat agent's Advanced tab on the Demo tenant, set to Custom with a 30-day window -->

The **Agent overrides** table on the settings page lists every agent with its
override and effective window, with an **Edit on the agent** link — the table
is an overview; the override itself is always saved on the agent.

## What a removed conversation looks like

The conversation stays in every list, report and timeline. Opening it shows
*This transcript was removed under your workspace's transcript retention
policy*, with the date and the window, in place of the messages; the recording
card on a call reads *Recording removed under your workspace's transcript
retention policy*; **Copy** and **Export** disappear because there is nothing
to copy. Agents and AI tools that read past conversations see the same notice
rather than an empty transcript, so nothing is summarised or re-analysed from
content that is gone.

## Web analytics events

At the bottom of the same page is a second, separate policy: **Web analytics
events**, for the page views, clicks and other events your Web Analytics sites
collect. It follows the same rule — a blank window means *kept indefinitely*,
and nothing is removed until **Remove automatically** is on — but it is
simpler: there is no report to review, because analytics events are rows, not
conversations. Instead, **Preview these settings** counts what would go, per
site, without changing anything.

1. In **Default window (days)**, enter how long to keep events for every site
   without its own window. Leave it blank to keep them indefinitely.
2. To give one site its own window, open **Data → Web Analytics**, pick the
   site, then **Configure → Settings → Retention → Keep events for (days)**.
   The card lists every site with its own window and its effective one;
   **Edit on the site** opens that page.
3. Click **Preview these settings** to see how many events each site would
   lose right now. Nothing is changed by previewing.
4. Tick **Remove automatically**, type `AUTOMATIC` in the panel that opens and
   click **Save web analytics retention**. From the next daily run, events,
   dead-letter rows, identity rows and daily rollups past their window are
   deleted permanently; **Last automatic run** shows each run's counts.

Turning **Remove automatically** off stops the daily run at once and keeps
everything from then on. Every save is on the Audit Trail. What exactly a run
removes is in [Privacy, Consent & Retention](/help/web-analytics/privacy-and-retention).

## Troubleshooting

**The hub row says *Report only · no window set · kept forever*** (or the same
with *Automatic*). Retention is on but every window is blank, so there is
nothing to flag or remove. Enter a default window, a channel window, or a
custom window on an agent.

**The hub row says *Report only · 12 conversations flagged · nothing
removed*.** That is Report only doing its job: the report is waiting for
review, and nothing is removed until an admin removes it or switches to
Automatic.

**Automatic is greyed out, or saving it is refused.** Automatic can only be
chosen while the saved mode is Report only, after a report has been generated
for the windows as saved, with no unsaved window changes on the page, and with
`AUTOMATIC` typed in the confirmation panel. Save the windows with Report only
first, wait for the report (within a minute, or **Regenerate now**), then
switch.

**The workspace went back to Report only on its own.** A window was changed
while the mode was Automatic. That is deliberate: review the report the new
windows produce, then switch back.

**Remove was refused with "This review has expired or does not match".** The
review is valid for ten minutes and is tied to the report on screen and to
you. Reload the page, review the report again, and remove.

**Some selected conversations were skipped.** Each one is re-checked against
its window as the removal runs; a conversation that received a new message
since the report, or one already removed, is left alone and counted as
skipped. Regenerate the report to see what is left.

**A conversation past its window is not in the review table.** The table shows
the latest report's set, not today's: a conversation that aged past its window
after the report was generated appears in the next report. Click **Regenerate
now** to bring it in.

**A conversation past the window still shows its transcript.** In Report only
that is expected — nothing is removed until an admin removes it. In Automatic,
check the agent: an agent set to **Keep forever** is exempt, and one with a
custom window follows that window, not the account default. The daily run also
processes a bounded number of conversations per run and continues within the
hour when it hits that cap — a large backlog drains over a day or two.

**The Last automatic run card shows errors.** Usually a recording or
attachment could not be deleted from storage. The affected conversations are
retried on every run; the transcript text is already gone.

## Related

- [Spend Limits](/help/workspace-administration/spend-limits) — the other
  account-wide control under Workspace Administration.
- [Recently Deleted](/help/crm/recently-deleted) — soft-deleted CRM records,
  which this feature does not cover.
- [Security & Trust](/help/helpdesk/security-and-trust) — access control and
  the audit trail that records every retention save, every hand removal and
  every automatic run.
