Data Module
This section provides detailed instructions and insights on managing data within the Cargo workspace through data models and segments.
Managing Data Models in Storage
Create and manage data models to structure and store data effectively. A data model represents a type of object or database table, where individual fields are defined as columns.

- Name
Create a connector
- Description
Integrate data loaders to bring external data into the workspace. Connectors allow importing data from external APIs, connected data warehouses, or through generic file uploads and HTTP endpoints. You can create multiple instances of the same connector and define multiple data models for each connector.
- Name
Add model
- Description
Define a new data model based on the connector's capabilities. For external APIs, the model maps to an object type available in the source system (e.g., contacts or deals). Generic connectors like SQL, HTTP, or File uploads allow more customization of data models.
Options for API connectors:
- Name - human readable name of the data model
- Slug - unique key of the data model
- Object type - list of built-in data types provided by the connector
- Column selection mode - you can decide to bring all properties or select a subset
- Name
Edit model
- Description
Modify a model's settings to update its name or configuration based on the connector's capabilities.
- Name
Refresh model
- Description
Trigger a manual refresh of your model. By default, your model is refreshed daily or according to your play sync schedule.
- Name
Full refresh
- Description
This model uses incremental sync, meaning it refreshes data from the last sync point. Enable this option if you prefer to perform a full refresh.
- Name
Preview Button
- Description
Review a model's data output before finalizing its creation or changes.
- Name
Columns
- Description
Edit data model column configurations. Columns represent properties of records in a data model. Columns can be mapped from a connected service (e.g., CRM) or created within Cargo.
- Name
Create a Computed Column
- Description
Define and compute values dynamically from existing columns in the model. Computed values can be of the following data types:
- String
- Number
- Boolean (yes or no)
- Date
- Array
- Object
- Any
Each computed value is evaluated using a provided expression. This expression is javascript code that can reference other columns in the data model to produce the output.
Example: concatenate first and last name of a record
{{ record.firstName }} {{ record.lastName }}
- Name
Create a Custom Column
- Description
Add specialized data fields to enhance the model's data structure. Custom columns create dedicated properties that store additional data for a model. These columns can be updated using the model's custom columns node in any workflow.
Example: adding new
tag
column that can accept extra information about the record that can be written in a workflow
- Name
Create a Metrics Column
- Description
Establish columns that calculate and display aggregated data metrics. It means running calculations such as sum or average across related data models. For instance we can define metric columns on company level to surface key information about employees. Such as number of employees, average tenure etc.
Example: Leads count metric that counts all leads from a single company, so that information can be used for scoring.
Interacting with storage using nodes
Store or access structured data.

- Name
Memory
- Description
Use storage to save, modify and retrieve any data as in a key/value store. Options:
- Scope: whether the key/value should be stored on workspace or workflow level
- Key: the unique indentifier of the stored value
Actions:
- Get - read value from the storage
- Set - write value to the storage
- Get or set - read the value from the storage if available if not set the provided value for the future use
- Increment - increase value of a counter
- Decrement - decrease value of a counter
- Remove - remove key and its value
- Name
Model custom column
- Description
Update custom columns on a selected data model. This node allow writing data to custom columns created on a particular data model. It allows extending the data model that is synchronized from an external system with additional data points. For instance we may want to add extra metadata about particular records or flag them.
Options:
- Model: data model to work with
- Action: upsert
- ID: unique identifier of the data model record to update
- Mappings: list of pairs of column name and value (e.g. indstry: automotive)
- Name
Model record
- Description
Add record to the compatible data model. Some data model, such as HTTP, allow creating new records from within Cargo's workflows. It can be useful to store new data and trigger other workflows.
Data models coming from external serivces such as CRM doesn't support writing records using this node. In order to create new objects use dedicated write node for the service in question (e.g. HubSpot write node).
Options:
- Model: data model to add a new record to (must be a compatible data record)
- Action: insert
- Data: JSON object with data for the new record
{{ JSON.parse(`{ "_id": "${nodes.start._id}", "email": "${nodes.start.email}", "is_business_email": "TRUE", }`) }}
- Name
Model search
- Description
Search and retrieve model or dataset records.
Options:
- Model: data model to work with
- Filter: filter to match records to return
- Sort: define how records will be sorted
- Limit: number of the records to return, default: 1