Resources
A resource is a collection of records — the DashX equivalent of a database table or a model. Every resource has a name, a machine-readable identifier, and a set of attributes that describe the shape of its records.
Resources come from two places: you either create one from scratch inside DashX, or you sync one from a data source you already run.
Create a resource from scratch
Use this when the data should live in DashX.
- Open Data in your workspace and go to the Overview tab.
- Choose Create Resource.
- Enter a Name. The Identifier is filled in automatically from the name — it is the stable, machine-readable handle used in the API, so change it now if you need to. It cannot be changed as freely later.
- Save.
Once the resource exists, open it from the Resources tab to add attributes, relationships, and operations.
Record ordering
A resource controls the default order of its records:
| Order style | Behavior |
|---|---|
| Creation Time Descending | Newest records first. The default. |
| Specific Fields | Order by one or more attributes, each ascending or descending. |
| Linear Drag and Drop | Manual ordering — records are arranged by hand in a flat list. |
| Tree Drag and Drop | Manual ordering with nesting, for hierarchical records. |
Only attributes with an orderable data type can be used for Specific Fields ordering.
Environment behavior
Resources declare how their records relate to environments:
- None — records are shared across environments.
- Isolated — each environment keeps its own separate set of records.
Choose Isolated when development and production data must not mix.
Sync a resource from a database
Use this when the data already lives in an external database and you want to read it through DashX without migrating it.
- Install a database integration, so DashX has credentials to connect with.
- Open Data → Overview and choose Sync Database.
- Pick the installation and the target environment. DashX reads the schema and lists the tables it found.
- Select the tables you want and generate. Each table becomes a resource, with its columns mapped to attributes.
If tables are missing or the schema has changed since the last read, use re-sync to refresh it before selecting.
Syncing from an API is not available yet — the option appears in the UI but is disabled. Syncing from a file is likewise not yet available.
What a resource contains
Selecting a resource in the Resources tab opens its detail pane, which is organized into four lists.
Attributes
The fields of the resource. Each attribute has a name, an identifier, and a data type — either one of the built-in types or a custom data type you defined.
One attribute can act as the resource's title field, which is what DashX displays when it needs to refer to a single record in a list, a picker, or a related-record link. If you don't nominate one, the first attribute with a suitable type is used.
Attributes can also be marked translatable, in which case their values are stored per locale.
Relationships
How this resource connects to others. Three kinds are supported:
| Kind | Meaning |
|---|---|
| Belongs To | Each record points at one record of the target resource. |
| Has One | Each record has at most one matching record in the target resource. |
| Has Many | Each record has any number of matching records in the target resource. |
Relationships are what let a query walk from one resource to another in a single request.
Segments
Named, reusable filters over the resource's records — useful for slicing a large collection into the views your team actually works with.
Operations
The operations attached to this resource. See Operations.
Records
Open a resource to browse its records. From there you can create, edit, and delete records, import records in bulk, and open a record's detail pane to see its related records.
Records are versioned — a record's history is retained, so you can review earlier versions of it.
System resources
Installed apps ship their own resources. These behave like the ones you create, but they are owned by the app rather than the workspace, so they are managed from that app's page and appear in the workspace list only where relevant. You can extend a system resource by adding your own attributes to it.