# Feature support by surface

Domino shares product objects and safety rules across surfaces, but the mechanics and availability are not identical. Use this table to answer “Can I do this here?” before giving instructions.

## Support levels

- **Full:** primary supported flow exists on that surface.
- **Capability:** supported when the authenticated token exposes the current capability.
- **Explain or hand off:** the surface can explain or return a web management link, but does not perform the setting itself.
- **No:** do not promise the behavior.

## Outcome matrix

| Outcome | Web | SMS | MCP | Capability API | Assistant API |
| --- | --- | --- | --- | --- | --- |
| Read public Domino documentation | Full | Explain | Explain | Explain | Explain |
| Register, sign in, recover password, edit profile, delete account | Full | Explain or hand off | No | No | Explain or hand off |
| Create or revoke Agent Access tokens | Full | No | No | No | No |
| Browse and filter recommendation cards | Full | Conversational equivalent | Capability | Capability | Conversational capability |
| Search known places, events, ideas, lists, or plans | Full | Full conversationally | Capability | Capability | Conversational capability |
| Create and manage Ideas Lists | Full | Full conversationally | Capability | Capability | Conversational capability |
| Like or unlike ideas | Full | Supported capability behavior | Capability | Capability | Conversational capability |
| Create or archive user-created ideas | Full | Supported capability behavior | Capability | Capability | Conversational capability |
| Create or archive private places | Full | Text fields; media management hands off to web | Capability for supported fields | Capability for supported fields | Conversational capability with web handoff for media |
| Add or edit a Friend in Mind | Full | Full conversationally | Capability | Capability | Conversational capability |
| Create a mutual connection invitation | Full link/QR flow | Prepared external action when supported | Prepared capability | Prepared capability | Prepared capability |
| Share an Ideas List | Full link flow | Link or prepared direct share, depending on recipient | Prepared capability | Prepared capability | Prepared capability |
| Open and copy a shared Ideas List | Full recipient flow | Link opens web | No direct copy flow unless capability is exposed | No direct copy flow unless capability is exposed | Explain or hand off |
| Connect, pause, reconnect, or remove a calendar | Full | Web handoff | Web handoff | Web handoff | Web handoff |
| Check calendar connection status | Full | Full conversationally | Capability | Capability | Conversational capability |
| Find free/busy availability | Full planning use | Full conversationally | Capability | Capability | Conversational capability |
| Capture text or a URL | Full | Full conversationally | Capability | Capability | Conversational capability |
| Capture protected media | Full where offered | Supported MMS path | Only current media references | Only current media references | Current supported references |
| Review a capture or roundup | Full review link | Status and review link | Capability/status | Capability/status | Conversational status and link |
| Create or edit a private plan draft | Full | Full conversationally | Capability | Capability | Conversational capability |
| Publish or send invitations | Explicit web review/send | Prepare then exact uppercase `SEND` | Prepare, later approval, `actions.commit` | Prepare, later approval, `actions.commit` | Prepare, later approval, explicit Assistant API commit endpoint |
| Inspect plans and invitation delivery | Full | Full conversationally | Capability | Capability | Conversational capability |
| Edit or cancel an active plan | Full host controls | Prepared consequential action | Prepared capability | Prepared capability | Prepared capability |
| Manage plan-progress or logistics items | Full | Supported Domino progress items | Capability | Capability | Conversational capability |
| Make a reservation, purchase tickets, or submit payment | No | No | No | No | No |
| List and answer invitations | Full | Full conversationally | Capability | Capability | Conversational capability |
| Add one accepted plan to an external calendar | Full | Link/web handoff | Link/resource when returned | Link/resource when returned | Link/resource when returned |

## Confirmation matrix

| Surface | Private write | External effect |
| --- | --- | --- |
| Web | User chooses the visible save control. | User reviews and chooses the current publish/send control. |
| SMS | Domino can make authorized private changes conversationally. | Domino prepares; a later entire trimmed message equal to uppercase `SEND` commits the current eligible action. |
| MCP | Caller supplies a stable idempotency key. | Caller prepares, presents disclosures, stops for later explicit approval, then calls `actions.commit` from the same principal. |
| Capability API | Caller supplies a stable `Idempotency-Key` header. | Caller prepares, presents disclosures, stops for later explicit approval, then calls `actions.commit` from the same token/principal. |
| Assistant API | Each turn uses a unique request key and stable conversation identity. | Caller prepares, presents disclosures, stops for later explicit approval, then uses the returned Assistant API commit endpoint. `SEND` is ordinary text here. |

## Outcome parity does not mean UI parity

For example, “create an Ideas List” can be a web form, an SMS conversation, an MCP tool call, a Capability API request, or an Assistant API turn. The resulting Domino object follows shared rules, but button labels, confirmation, error recovery, and authorization remain surface-specific.

## How to answer availability questions

If a cell says **Capability**, verify that the authenticated tool or schema actually exposes the operation. Token abilities and account eligibility can reduce the available set.

If a cell says **Explain or hand off**, give the shortest web route and state that the current surface cannot complete the setting.

If a behavior is absent from this table or the current generated catalog, use [Limits, unsupported behavior, and current boundaries](/docs/reference/limits-and-current-behavior.md) and do not infer support from an internal route or data model.

## LLM answering guidance

- Start with the user's current surface and desired outcome.
- Verify authenticated capability availability before offering to act.
- Never import the confirmation syntax from one surface into another.
- When the surface cannot perform a task, explain the handoff without pretending the action occurred.
