# Channel and endpoint memory

Channel memory holds what is true of a medium — email, whatsapp, sms or voice — and endpoint memory holds what is true of one mailbox or one phone number. They sit between the business and the person, and they exist because a business rarely wants the same tone, the same signature and the same purpose on a sales line as on an accounts mailbox.

- **Status:** Available
- **Audience:** both
- **Channels:** email, phone, whatsapp, sms
- **In the app:** #/mailboxes, #/calls
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/memory/channel-context/

## Channel memory: what a medium changes

The four channels are `email`, `whatsapp`, `sms` and `voice` — the same four [autonomy](/docs/autonomy/) names, so a business configures permission and context against one list rather than two. Channel memory is the right home for anything that follows from the medium itself and not from who is writing or which address they reached.

- Length. A spoken reply that runs past two or three sentences is a worse reply; an email of the same length is normal.
- Formality. A WhatsApp message that reads like a letter is odd, and a letter that reads like WhatsApp is worse.
- What can be included at all. A voice reply cannot carry an attachment or a link the caller can click.
- How a conversation is closed. Email can end with a signature block; a call ends with a spoken line.

Two things that look like channel memory are not. The **autonomy mode** for a channel — off, draft only, ask before sending, autonomous — is a permission, set on the autonomy screen, and writing "never send email without asking" as memory does not create that gate. And the **language a voice line opens in** is a line setting rather than a remembered preference; on the realtime path the greeting is spoken in the language the call opens in, and a remembered language is what the replies use from the first one, until a whole sentence from the caller in another language overrides it.

## Endpoint memory: one mailbox, one number

An endpoint is a single address or line, and in Connect a line is a `channel_routes` row rather than a table of its own. That row already carries the provider, the assignment, the inbound and outbound permission, the hours, the routing and the limits; endpoint memory is what a person wants said and not said when work arrives there or leaves from it. A mailbox likewise has a role and a signature of its own, and its memory is the context that goes with that role.

| Endpoint | What it might remember | What would be wrong there |
|---|---|---|
| The accounts mailbox | Never discusses discounts; always names the invoice reference | A note about one customer's payment terms — that is contact memory |
| The after-hours number | Callers here expect a call-back, not a resolution | The opening hours themselves — those are a property of the line |
| A campaign line | The offer this number was published against | The campaign's target list, which is Knowledge or a prospect set |
| A person's softphone line | How this colleague introduces the business when they dial out | Anything about the people they call — that is contact memory |

> **Note** The Voice Lab resolves speaking style down its own ladder — workspace, then a default profile, then a profile by purpose, then one by line number, then one on the contact, then a Lab draft on a test call. That is not the memory hierarchy and does not read memory. Two ladders, both ending at the person, doing different jobs: one decides what Connect knows, the other decides how it sounds.

## Deciding between the two

1. Ask whether the line would still be true if the business added a second mailbox or a second number on the same channel tomorrow.
   - Result: If yes, it is channel memory. If the new endpoint would need the opposite instruction, it is endpoint memory.
2. Ask whether it would still be true if the channel were different.
   - Result: If yes, it is not channel memory at all — it is workspace policy, or it is about one person.
3. Write it, then look at a real piece of work through the memory viewer from the endpoint it arrived at.
   - Result: The viewer groups by owning tier, so you can see the line sitting where you meant to put it before you find out from a reply.

Getting this pair wrong is rarely dramatic. The failure is a slow one: a sensible instruction written at channel level starts producing slightly-wrong replies as soon as a second mailbox exists, and nobody connects the new mailbox to the old instruction. Reading the channel tier whenever an endpoint is added costs a minute and prevents that.

## Questions

### Is a softphone line an endpoint?

Yes. A person's browser line is a `channel_routes` row like any other, with `channel='softphone'`, so it can carry its own memory. In practice most of what you would write there is better placed at the workspace tier, because a colleague dialling out is representing the business rather than the line.

### Does SMS memory do anything if the carrier cannot send SMS?

It is stored and it resolves normally, but outbound SMS is foundation rather than available and the live carrier carries none, so there may be no outbound message for it to shape. Inbound handling and STOP do work, and the Phone screen states the limitation rather than presenting a thread that cannot send.

### Can one endpoint memory override the workspace tier?

Yes, that is the point of the hierarchy: narrower wins where the two speak to the same subject. A mailbox that must never mention delivery dates will not mention them, even if the business as a whole is happy to. The workspace line keeps governing every other endpoint.

## Related

- [The four memory tiers](https://connectbyjbrh.com/docs/memory/tiers/)
- [Business memory](https://connectbyjbrh.com/docs/memory/business-memory/)
- [How memory reaches a reply](https://connectbyjbrh.com/docs/memory/memory-in-channels/)
- [What Connect may do](https://connectbyjbrh.com/docs/autonomy/)
- [Phone and voice in Connect](https://connectbyjbrh.com/docs/phone/)
- [Email in Connect](https://connectbyjbrh.com/docs/email/)

## What this page is based on

- docs-source/sources/GENERAL.md §6 — the channel and endpoint tiers
- docs-source/sources/PHONE.md §1 — a line is `channel_routes`, softphone rows
- docs-source/sources/PHONE.md §6 — voice_style.resolve, the profile ladder
- `docs-source/facts.py` — CHANNELS.sms status and the live carrier
