# What sam can do

> Everything sam can read, build and change, grouped by what it does, and which parts depend on your role, your workspace's switches and your edition.

sam's abilities come in families. Three things decide which of them you get in a given conversation: your role, the switches your workspace has set under **Settings · sam**, and your edition.

## The short version

- **Everyone who can open the console** can ask sam questions, have it search text, have it answer how-to questions from these docs, have it take them to a page, and have it remember things.
- **Owners, admins and members** can also have sam change the semantic fluid, create and change reports, and run learn from my data.
- **Owners and admins** can also have sam build in the warehouse, start syncs, load rows, schedule report emails and build pulls.
- **Viewers** get answers and nothing else. sam changes nothing for a viewer whatever the switches say.

## Reading and answering

These are what a chat is, so they are always on.

| What sam does | Who |
|---|---|
| Looks things up on your semantic fluid by name: metrics, dimensions, named filters, tables | Everyone |
| Describes a table: its columns, key, and the joins it can reach | Everyone |
| Runs a query composed from your definitions and returns rows (at most 50 at a time) | Everyone |
| Searches the text in your records, when the workspace has an index | Everyone, on Standard, Enterprise and trials |
| Searches sanda's own documentation for how something works, and links the page | Everyone, on every edition |
| Runs read-only SQL of its own when the fluid cannot express the question | Owners, admins and members, if the **sql** switch is on |
| Looks at your connections, their last sync and your warehouses' capacity | Everyone, if the **data** switch is on |

The documentation search has no switch. It is how sam answers "how do I…", "what does this feature do" and "what does my plan include" from these pages rather than from memory, and it is not used for questions about your own data. It makes no AI call of its own, so it adds nothing to your daily AI limit beyond the reply that quotes it.

sam prefers a query composed from your definitions over SQL it writes itself. It uses SQL of its own only for things like window functions and cohorts, says why, and shows you the statement.

## Defining things on the semantic fluid

Switch: **semantics**. Owners, admins and members.

- Put landed tables on the map, and mark a table as a fact or a dimension.
- Define a metric, dimension, filter, relationship, alias, category or dataset.
- Accept or reject what learn from my data proposed, singly or in bulk.
- Take tables off the map, and delete a definition. These always ask first.

See [semantic fluid](https://docs.sanda-os.com.au/semantic-fluid) for what each of these is.

## Building in the warehouse

Switch: **modelling**. Owners and admins.

- Write a view or procedure, replace one, rebuild a materialized view, or drop one (drops always ask first).
- Schedule a task, run it now, pause or resume it, and read its history.
- Read tuning advice for a warehouse and apply the findings you choose.

Every build runs on your compute and is billed to your workspace. See [modelling](https://docs.sanda-os.com.au/modelling).

## Reports

Switch: **reports**.

| What sam does | Who |
|---|---|
| Creates a report, places tiles, charts, tables and written analysis, and changes a report's filters and blocks | Owners, admins and members, on reports they can edit |
| Reads a report, and lists the reports you can open | Everyone |
| Schedules a report to be emailed, changes or pauses a delivery, sends one now, removes one | Owners and admins |

A report shared with you to read cannot be changed by sam for you. Every change sam makes to a report is kept as a version you can restore from the report's history. Anything that emails a report always asks first. See [build reports with sam](https://docs.sanda-os.com.au/reports/build-with-sam).

## Data

Switch: **data**.

| What sam does | Who |
|---|---|
| Starts a sync on a connection | Owners and admins |
| Runs learn from my data, which proposes tables, metrics, dimensions and relationships | Owners, admins and members |
| Loads a small table of rows you give it into the warehouse | Owners and admins |

Learn from my data files proposals, and nothing goes live until you accept them. It uses AI, so it counts towards your daily AI limit. sam runs it only when you ask. See [learn from your data](https://docs.sanda-os.com.au/semantic-fluid/learn).

## Pulls

Switch: **streams**. Owners and admins, on Standard, Enterprise and trials, once pulls and the connectors they run are switched on for your console.

- Read an app's API documentation, from the sites you named in the conversation and the pages they link to on the same site.
- Write a connector for a pull, and fix one that stopped working. A fix is a new version of the connector.
- Try a connector with a credential you connected: the first pages of each thing it reads, landing nothing.
- Open the form where you connect a credential. The key goes into the form, never through the chat.
- Read your pulls, their runs, and the requests a failed run made.
- Approve a connector, and start a stream. These always ask first.

Nothing sam writes runs until an owner or admin approves it. See [build a pull with sam](https://docs.sanda-os.com.au/streams/build-a-stream-in).

A Postgres database needs no connector, so sam doesn't write one: it sends you to **New pull** and its **Postgres** card, where you connect the database and choose its tables yourself. See [stream a Postgres database](https://docs.sanda-os.com.au/streams/postgres). Bite needs none either: sam sends you to the **Bite** card, where a store admin connects the store through Bite's own sign-in. See [stream a Bite store](https://docs.sanda-os.com.au/streams/bite).

## Setting up a workspace

sam reads how far your workspace is set up and draws a checklist under its reply: a warehouse, a source, learn from my data, the review of what it proposed, and a first report. Every step is a button you press, and sam takes no step you did not ask for. Where a step needs an owner or admin, the checklist says so. See [set up with sam](https://docs.sanda-os.com.au/get-started/setup-with-sam).

## Moving you around

sam can open any console page you ask for, and the conversation goes with you. It can offer next steps as buttons, and hand an unclear ask back to you as a choice.

## Remembering

sam can keep a fact for later conversations, and search your earlier conversations when you refer back to them. See [memory and conversations](https://docs.sanda-os.com.au/sam/memory-and-history).

## What decides what you get

**Your role.** sam acts with your own permissions. It cannot do for you what you could not do yourself in the console.

**The switches.** Owners and admins can turn each family off for the whole workspace under **Settings · sam**: **semantics**, **modelling**, **reports**, **data**, **sql** and, where sam can build a pull, **streams**. A family that is off is not offered to sam at all. All of them are on by default.

**Your edition.** sam is on every edition. The parts that depend on edition are text search and streams, which are on Standard, Enterprise and trials. On Basic, sam has neither to offer.

**Your workspace's state.** In a closed workspace, sam answers questions and changes nothing.

## What sam cannot do

sam has no way to change your plan, billing, team, security settings or integrations, to create or manage search services, to add a connection (credentials go in the wizard), to see or type a stream's credential (it goes in a form beside the conversation), or to run SQL that changes your data. Some of that is available to connected AI assistants under separate permissions. See [MCP permissions](https://docs.sanda-os.com.au/mcp/permissions).

:::links
- [Actions and approvals](https://docs.sanda-os.com.au/sam/actions-and-approvals): Which of these ask first.
- [Workspace roles](https://docs.sanda-os.com.au/workspace/members-and-roles): What owners, admins, members and viewers can do.
:::
