Create a data object
Create your first table-like data object in a workspace, and optionally populate it from a CSV.
A data object is a structured collection of records, like a table with typed columns. It's the foundation everything else in SPARK builds on, so creating your first one is an early step. This page covers creating an object, optionally populating it from a CSV as you go, and keeping a growing list of objects organized.
Objects, records and attributes
If you've used a spreadsheet, the model is familiar: the data object is the sheet, its attributes are the columns, and its records are the rows, one per counterparty, position or document. The difference is that every attribute has a type, so SPARK knows a date is a date and a number is a number, and can filter, sort, chart and validate each one accordingly.
Open the Data page
- In the sidebar, open the Ecosystem tab (⌘⇧E) and click Data. If Workflows, Data and Files are folded away, click More first. The Data card on the Ecosystem page opens it too.
- The Data page lists every data object in the workspace, one row each, with its icon, name, description, labels and when it was last updated, and by whom.
The same list is also in Settings, under Features › Data Objects. The two lists are identical; the only difference is what a click on a row opens: on the Data page it opens the object's records, in Settings it opens the object's settings.
The list works like any other list in SPARK. View tabs run across the top (the first, All, is the default), and the Filter, Sort and Display icons beside them narrow, order and choose the columns of the list. The list has no header row, and it loads a page at a time, so a workspace with hundreds of objects stays quick to open.
Create a data object
- On the Data page, click New at the top right.
- Fill in the New data object dialog:
- Name: a clear, human-readable name (for example, Counterparties).
- Group: which section of the list the object appears under, defaulting to Main. See Organize objects into groups below.
- Attributes: optional. Build the object's columns from a CSV file (see the next section), or leave it empty and add attributes later.
- Click Create. It turns on once the object has a name.
The arrow beside New (More ways to create) offers the same two starting points by name: Create from scratch, which opens this dialog, and Create from template, which starts from a ready-made object (see Data object templates).
A new object starts with the database icon. You can change the icon, and add a description, from the object's General settings once it exists (see Configure the object). The machine-friendly slug used in APIs and references is derived from the name for you.
Populate it from a CSV as you create it
The dialog's Attributes section takes a CSV, which is the quickest way to go from a spreadsheet to a populated object:
- Under Upload a CSV, click Choose a file and pick your CSV.
- Click Extract attributes with AI. The AI reads your columns and suggests a name and a type for each, which you review before creating.
- Leave Import the file's rows after creating ticked to bring the rows in too: the new object opens with the file's import under way, for you to check and confirm (see Add, edit & import records).
- Click Create.
SPARK proposes one attribute per column, named after its header, with a type: string, number, date or boolean. Untick any column you don't want under Use, rename it, or change its type from the dropdown before you create the object. Cancel upload drops the file and starts the section again.
A file with a great many columns, or one the AI model takes too long on, still works: SPARK reads each type from the column's values instead and tells you so. To use AI on such a file, split it into files with fewer columns.
Every row you import becomes a record you can work with immediately.
Tidy the source before you import: one row per record, a header row with clear column names, and consistent date and number formats. A few minutes cleaning the CSV saves more time than fixing types afterward.
Configure the object
An object's settings have four tabs. Reach them any of three ways:
- On the Data page, open the object row's ⋯ menu and choose Edit settings.
- In the object's record grid, open the ⋯ (More) menu at the top right: under Settings it lists each tab by name.
- In Settings › Features › Data Objects, click the object's row.
The settings page has a Data Editor button at the top right that takes you back to the object's records. The tabs:
- General holds the object's Icon, Name, Description (shown beside the name on the Data page) and Group. A History row says who made the object and who changed it last, and an object made from a template has a Source row naming it. There's no save button: an icon applies as you pick it from the grid, a group as you choose it, and the name and description as you leave their field.
- Attributes is the object's columns. Click New attribute to add one, click a row to edit it, and use a row's ⋯ menu to Edit attribute, Copy slug, open Display configuration, or Archive it (archiving is a soft delete; the data stays safe). Adding a Select or Multi-select opens an Options section where you define the values it accepts and give each one a color, covered in Select and Multi-select. See Attribute types for what each type does.
- Reference display controls how a record of this object looks when another object links to it. Pick up to 5 text, number, or date attributes, drag them into the order you want, and set a Separator to join them; a live Preview shows the resulting label.
- Constraints sets uniqueness rules. Add a constraint with one attribute to make that column unique, or several attributes to require the combination to be unique. The system UUID primary key is always unique regardless of what you set here.
Records are named even before you choose
Until you set a reference display, SPARK names an object's records for you rather than falling back to raw ids. If the object has a text, number or date column stored as original_name, name or title (in that order of preference), such as a file's name or a Name column made from a CSV's header, records are named by that column alone. Otherwise they are named by the object's first two text, number or date columns, in the order they were created, joined by " - ". Link and archived columns don't count, and an object with none of these is named by the record's id. The default is applied when records are read, so it reaches objects created long ago, and it stops the moment you choose your own columns on the Reference display tab.
SPARK suggests a type for each attribute when it reads your CSV, but you can change any of them before creating the object, and add or adjust attributes later on the Attributes tab. The type is locked once an attribute exists, so it's worth getting right early.
Rename, label, archive or delete an object
Each row on the Data page has a ⋯ menu (also on right-click) with everything you can do to the object:
| Action | What it does |
|---|---|
| Open data | Opens the object's records |
| Open in new tab | Opens them in a new tab |
| Edit settings | Opens the object's General settings |
| Rename | Renames the object in place, without opening its settings |
| Labels | Tags the object with workspace labels, shown on its row |
| New thread | Starts a thread with the object already in the agent's context (for people who can use agents) |
| Move to group | Moves it into a group, or back to Main |
| Archive | Hides it from the list; all its records, attributes and views stay safe and can be restored |
| Delete | Removes it permanently, with all its records, attributes and views, after a confirmation |
An object other objects link to can't be deleted: remove those links first, or archive it instead. To see archived objects, click the archive icon at the top of the list (Show archived); an archived object's menu offers Restore and Delete. System objects that belong to the platform can only be opened.
Other ways to bring in data
Creating an object with a CSV is one path. Depending on where your data lives and how often it changes, you might use another:
- Into an object you already have: import a CSV from its record grid, with AI-assisted column mapping. See Add, edit & import records.
- On a recurring schedule: let a provider push files to the workspace with Managed SFTP.
- In response to an event: fetch and load data with a workflow.
Organize objects into groups
As a workspace fills with data objects, you can sort them into named, collapsible sections. Objects that aren't grouped sit in a section called Main, which always comes first.
- Manage groups: click the folder icon (Manage groups) at the top of the list. In the dialog, click New group to add one, drag groups into the order the list shows them in, and use the buttons a group shows when you point at it to rename or delete it. Deleting a group deletes no object: its objects move to Main.
- Put an object in a group: open the object's ⋯ menu, choose Move to group, then pick a group, or Main to take it out of any group. You can also set the group on the object's General settings.
- Fold groups: each group's row reads like a sidebar section label, for example Main (3). Click it to fold or unfold the group, or use the Collapse all groups / Expand all groups button at the top of the list.
Where to go next
- Add and update rows: Add, edit & import records
- Reuse a common shape: Data object templates
- Pin it to a use case: Create a Space