> ## Documentation Index
> Fetch the complete documentation index at: https://sofiedocs.usetransfer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage Surface data and sources

> Work with Surface records, fields, activity, permissions, imports, CoSheets, and connected update sources.

The **Data** view shows the information behind a Surface and how it changes. Use it to review records, maintain fields, inspect activity, set collection access, and trace updates back to files, chat, integrations, or Orchestrations.

Managers can use all Data tabs. Viewers and Participants can use **Records** and **Activity** for the data they are allowed to see.

## Open the Data view

Open a Surface and choose **Data** in the header or bottom toolbar.

| Tab           | Use it for                                                                                |
| ------------- | ----------------------------------------------------------------------------------------- |
| **Records**   | Search, filter, edit, import, export, assign, remove, restore, and review record history. |
| **Structure** | Review collections and add, edit, rename, or remove fields on a draft.                    |
| **Activity**  | See record, version, access, sharing, structure, source, and app events.                  |
| **Access**    | Control what each role can see, add, edit, or remove.                                     |
| **Sources**   | Trace file, chat, integration, Orchestration, and feed updates.                           |

## Work with records

Choose a collection when the Surface contains more than one. You can then:

* Search records and filter by status.
* Sort by a visible field.
* Choose which columns appear.
* Save the current filters, sort, status, and columns as a named view.
* Add or edit a record when your role allows it.
* Assign an owner from people who have access.
* Remove a record without erasing its history, then restore it later.
* Open **Record history** to see what changed, who changed it, when it changed, and the source.

The Records tab labels the active data environment. The label depends on whether the Surface has ever had a live version:

| Surface state                              | Data badge    | Record behavior                                                                                                                |
| ------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Before the first version is live           | **Live data** | Records added or imported in the first draft are the future live records. They remain available after the first **Make live**. |
| A later draft, after a live version exists | **Test data** | The draft uses an isolated copy. Changes do not affect live records and are not promoted when you make the design live.        |

<Warning>
  Always check the badge before adding, importing, or removing records. Test records are disposable. First-draft records marked **Live data** are not.
</Warning>

## Import records

Managers can import a CSV, TSV, XLSX file, or an existing CoSheet.

<Steps>
  <Step title="Choose the collection">
    Open **Data** > **Records** and select the collection that should receive the data.
  </Step>

  <Step title="Start the import">
    Open **Import** and choose **Import file** or **Import from CoSheet**.
  </Step>

  <Step title="Review the field match">
    Sofie uses the first row as column headings. Review which source columns match Surface fields and which columns will be ignored.
  </Step>

  <Step title="Confirm the records">
    Review the preview, then confirm the import. A single import supports up to 5,000 rows.
  </Step>
</Steps>

Check the **Live data** or **Test data** badge before confirming. An import into a later draft creates test records. An import into the first draft creates records that remain after the first version is live.

If some rows need attention, Sofie keeps the rows that imported successfully. Fix the failed rows and import only those rows again. Check the Records tab before retrying the entire file so you do not duplicate successful rows.

## Export or open in CoSheet

Use **Export** in the Records tab to:

* **Open in CoSheet** for spreadsheet analysis and collaboration.
* **Export CSV** for a filtered tabular download.

The CSV export uses the active collection, filters, and sort. It includes all fields in the collection, including fields hidden from the current view. Sofie exports up to 25,000 records at a time. If the export reaches that limit, narrow the filters and export again.

## Manage structure

Use **Structure** to maintain the fields in each collection.

Available field types include:

* Text and long text.
* Number and yes/no.
* Date and date/time.
* Email and link.
* Single-choice and multi-select.
* Person.
* Link to another collection.
* File attachment.

When you add a field, define the label people see, the field type, whether a value is required, and the name the Surface uses. Choice fields need a list of allowed values. Linked-record fields need a destination collection.

Renaming a field keeps its stored identity and existing values. Removing a field from a draft stops it from appearing after that draft goes live.

An existing field keeps its field type. If you need a different type, create a replacement field, verify the transferred values, and remove the old field only after review.

<Note>
  Structural changes stay on a draft and go through the normal **Make live** review. This keeps field and access changes together with the Surface version that uses them.
</Note>

## Review activity

The **Activity** tab groups events by day. Filter by:

* Record changes, versions, access, sharing, structure, sources, or app events.
* Your actions, Sofie actions, Orchestrations, integrations, or system activity.
* Collection.
* Search text.

Where available, open the source chat or use the run reference to trace an automated update.

## Set collection access

The **Access** tab controls four actions for every collection:

* See records.
* Add records.
* Edit records.
* Remove records.

| Role        | Typical access behavior                                                                                            |
| ----------- | ------------------------------------------------------------------------------------------------------------------ |
| Owner       | Always manages the Surface and its records.                                                                        |
| Manager     | Always manages the Surface and its records.                                                                        |
| Participant | Can add or update records where collection rules allow. The Surface sends only the fields permitted for that role. |
| Viewer      | Can see only the records and fields you allow.                                                                     |
| Guest       | Can use only the explicit collection, record, and field access included in the invitation.                         |

For Participants and Viewers, choose **No access**, **Own items**, or **Allowed**. Guest record visibility can be **No access**, **Own records**, **Invited records**, or **All records**.

Use **Guest field limits** when external guests may see, add, or edit only selected fields. Field limits are enforced even if a generated form accidentally shows more information.

<Warning>
  Hiding a field in the visual layout is not the same as restricting access. Use the **Access** tab or guest sharing controls for information that must not be sent to a role.
</Warning>

## Trace sources and feeds

Use these terms when you trace an update:

| Term   | Meaning                                                                                                        |
| ------ | -------------------------------------------------------------------------------------------------------------- |
| Source | The person or system that supplied the update, such as chat, a file, an integration, or an Orchestration.      |
| Feed   | A named stream of structured payloads that a Surface reads. Each event keeps provenance and validation status. |
| Part   | The named Surface section an Orchestration updates. A part maps to the feed the Surface reads.                 |

The **Sources** tab shows where Surface updates came from. Source cards can include:

* The initiating person and the system that executed the update.
* The last update time.
* Records created or updated.
* Affected collections and fields.
* Field mappings.
* A link to the original file or source chat.
* The Orchestration run reference.

The **Feed into this Surface** section lists configured feed parts, their most recent update, provenance, and any validation issue that needs attention.

Use this tab when a value changed unexpectedly or when you need to confirm whether chat, an integration, a file, or an Orchestration supplied the current data.

For the difference between record collections and feeds, see [Understand Surfaces](/surfaces/understand-surfaces#separate-records-from-feeds).

## Use attachments in records

Attachment fields support files up to 25 MB. Supported categories include images, PDFs, Office files, CSV, and text files. People can add or replace a file only when their role has permission to edit that field.

Review attachments before using them as evidence or sharing them with external guests.
