Add, edit & import records
Get records into a data object and keep them up to date.
Once a data object exists, you fill it with records (its rows). You can add and edit them by hand, change many at once, or import them from a CSV. This page covers each.
Add a record
- Open the data object to see its record grid. Data is in the Ecosystem panel (⌘⇧E), under More.
- Click + Record at the right of the grid's header. On a narrow window it shows as a + alone, with Record in its tooltip.
- Fill in the fields, then click the button named after the object, for example Create Fund.
The dialog is titled New followed by the object's name (New Fund) and shows one field per attribute, each with the input that fits its type: a text box for text, a number box for numbers, a date box with a calendar for dates, a Yes / No / None picker for booleans, a searchable picker for options, people and related records, and a file picker for files. Formula attributes aren't shown, since they're computed, and the record's own fields (its id and the created and updated stamps) are filled in for you.
Click Cancel or press Esc to leave without saving. When the record saves, the dialog closes and the new row appears in the grid. If a value breaks one of the attribute's rules, the dialog keeps what you entered and says why under the field.
Edit records in the grid
The record grid opens read-only. You can scan it, filter it and reorder its columns without any risk of changing a value: editing is a mode you enter on purpose.
- Click the pencil (Edit records) in the grid's header, or choose Edit records in the ⋯ menu. The pencil reads as pressed while the mode is on, and a checkbox appears at the start of each row.
- Make your changes in the grid.
- Click Save changes, then click the pencil again (Leave edit mode) when you are done.
While edit mode is off, every cell is inert: clicking one selects it and nothing else. Right-click a cell that holds a value to Copy it, in either mode. Numbers are right-aligned so their digits line up, and the row's label stays pinned at the left as you scroll sideways (see Keep each row's label in view).
Editing cells
- Start editing with a single click on a cell. The editor matches the attribute type: type into text and number cells, pick a day from the calendar on date cells, choose Yes, No or None on booleans (in edit mode a boolean shows its word beside its bullet), and search the picker on option, person and relationship cells. File cells open a file picker.
- Move around with the usual grid keys. Enter keeps the value, Tab keeps it and moves to the next cell, Esc cancels the edit you're in, and Ctrl+Z / Ctrl+Y undo and redo your edits.
- Some cells stay read-only even in edit mode: formula columns (computed for you), the record's own columns (the id and the created and updated stamps, shown in grey), columns borrowed from another object with Merge, and every cell of an archived row, whose text is greyed.
Saving and discarding
Inline edits are not saved as you go. Your changes are held in the page: each edited cell is tinted, and Discard changes and Save changes appear at the right of the results count while any edit is pending. Click Save changes (or press ⌘S / Ctrl+S; the tooltip shows the shortcut) to write them all at once, or Discard changes to roll them back.
Nothing is lost quietly: leaving edit mode with pending changes asks you to confirm first (Discard changes?, with Cancel and Discard), and so does opening another object, view or page, or closing or reloading the tab. If a save is refused, your edits are kept: a value that breaks one of its attribute's validators is outlined in red, with the reason when you hover it, and a clash with a uniqueness constraint is explained in a message. Correct them and save again.
What edit mode does not gate
Reading the data is never restricted. Filters, sorting, column order and width, hiding a column, renaming a column header, aggregations and formula columns are all available while the grid is read-only, because they change how you look at the records rather than the records themselves. See Reading and editing and Manage data views.
Work with records in bulk
Selecting records is part of edit mode: turn on the pencil first, and checkboxes appear at the left of the grid. The header checkbox selects every record loaded so far (the grid loads them 100 at a time as you scroll); if more match your filters, a prompt offers to Select all N matching your filters.
While records are selected, a bar takes the place of the count with N selected and actions on the right:
- Edit records sets one attribute on all of them (see below).
- Archive hides the records from active views. Restore, shown when the selection holds archived records, brings them back; archived records show once Show archived is ticked in the ⋯ menu.
- Delete removes them permanently. Before you confirm, the dialog previews the impact, including how many related records will be detached or also deleted. Deleting cannot be undone.
Click × (Clear selection) on the bar to clear the selection.
Edit one field on many records
To change the same field on many records, for example to set a Review status on a batch, or to assign an owner to every position of one fund:
- In edit mode, select the records (or Select all N matching your filters).
- Click Edit records on the selection bar. The Edit field dialog opens: Set one attribute to the same value on N records.
- Under Attribute, pick the attribute (Search attributes narrows a long list).
- Enter the value with the same editor the field has everywhere else: a text box, a calendar, an option or record picker, and so on.
- Click Apply. The value replaces whatever each record held.
Leave the value empty to clear the field on every selected record. The dialog says so before you confirm (Domicile will be cleared on 2 records. This cannot be undone.), and the button reads Clear field, in red, instead of Apply, because a bulk clear is easy to reach and hard to undo.
What you can't bulk edit: formula columns (computed), file attributes, the record's own columns (id, created and updated), archived attributes, and the reverse side of a one-to-many relationship. One bulk edit changes up to 100,000 records; past that, the dialog says so and asks you to narrow the selection with filters and apply the change in smaller batches.
Validators and uniqueness constraints still apply. Setting one value on several records of a unique column is refused with the reason, since the records would then share it. Archived records don't count toward uniqueness, so an archived record never blocks an active one from taking its value.
The same Edit records is on a canvas table whose Record editing is on: see Table.
Import a CSV into an existing object
To add many records at once, import a CSV from the object's record grid. This flow adds new records; it does not update existing ones by matching a key column.
Open the importer
- Open the data object to see its record grid.
- Open the ⋯ (More) menu at the right of the grid's header and choose Import data. The export and import open together, on the Import tab.
- Under Import with schema matching, click Select file and choose a
.csvfile. Files are read as comma-separated, and the first row is always treated as the header.
SPARK reads the file and opens the Import data preview, a three-step wizard: Map, Validate, then Import. As it opens, SPARK takes a first pass at matching your columns to the object's attributes by name, and sets the columns named after a record's own fields (such as id or created_at) to Skip.
Step 1: Map columns to attributes
Each CSV column has a picker where you choose the attribute it should fill, or Skip to leave it out of the import.
- Columns SPARK matched by name are filled in and badged (Mapped automatically on hover); the rest start blank and need a choice. Badges in the header count the columns mapped and those matched automatically (3/4 Mapped, 3 Auto), and an icon on each column shows whether it's mapped, skipped, or still undecided.
- Text, number, date, datetime, boolean, select and multi-select attributes can receive a column. Option columns are matched by name, whatever the case, so the file can carry
EMEArather than an id; in a multi-select cell, separate the options with commas. A name that matches no option is reported on its cell, with the options the attribute accepts, rather than quietly added to the set. Relationship, user, file and formula attributes are listed but disabled, with the reason beside them (relationship fields not supported, and so on): skip their columns. - To resolve the remaining columns quickly, click Map with AI (offered while any column is still undecided). It proposes an attribute for each leftover column and skips the ones it can't place; you can then change any of them.
You can't continue until every column is either mapped or skipped. Click Next, and SPARK runs validation automatically.
Step 2: Validate and fix
SPARK checks every row against the object's attributes: value types (dates, numbers, booleans), option names, required values and the attribute's validators. Text longer than its attribute holds is cut to fit rather than refused. This runs on the server against the whole file, not just the rows shown in the preview.
Problems are surfaced in place:
- A value that can't be imported is outlined in red; hover it to read why, for example Expected a numeric value. on a number. Each row gets a tick or a cross, and header badges count how many rows are Validated and how many are still Unvalidated.
- If the file can't be imported at all, because no column is mapped to an attribute or a required attribute has no column, a This file cannot be imported box lists the reasons instead.
To fix issues without leaving the wizard:
- Click a cell, change the value, and press Enter (a date cell opens a calendar). An edited value shows in amber until you validate again.
- When you've made your edits, click Validate to run the checks again. Edited values that now pass turn green.
- If the real fix is a different mapping, click Back to return to Map, change the column, and validate again.
Use Show invalid rows only to focus on the rows that still need attention, and Show all columns to bring back the columns you skipped, which this step and the next hide. Every row must be valid to move on; there's no option to skip bad rows, so keep fixing and re-validating until nothing is red and no edits are pending. Then click Next.
Step 3: Import
Review the final data, then click Import N Records (the button names the row count). SPARK imports the file and, on success, closes the wizard, refreshes the grid, and reports how many records were imported (and how many were skipped, if any).
Large files are handled fully: the preview shows up to the first 5,000 rows and 100 columns for speed, and says so (Large file: preview limited for performance), but every row in the file is validated and imported, and a column past the first 100 is imported when its header matches an attribute's name. If you close the wizard mid-import (with its × or Esc) while you have mapping or edits in progress, SPARK asks Discard this import? (with Keep editing and Discard) so you don't lose the work by accident.
Other ways to get data in
- Creating a brand-new object from a CSV: see Create a data object, where Extract attributes with AI builds the schema for you.
- On a recurring schedule: let a provider push files to the workspace with Managed SFTP.
- From email: the Mailbox gives the workspace an address of its own, and a workflow saves each email as a record.
- In response to an event: fetch and load data with a workflow.
Where to go next
- Shape how records display, and export them: Manage data views
- Reuse a common shape: Data object templates
- Understand the two modes: Reading and editing