Ingestion
Bulk-load data into the platform from CSV files — create assets, systems, parts, contacts, quotes, dealers, and more in a single upload instead of entering records one by one.
📐 How It Works — The 5-Step Wizard
Every ingestion follows the same five-step wizard. Completed steps show a ✅ blue checkmark. The current step is highlighted in blue.
1 — Ingestion Type → 2 — Select File → 3 — Map Columns → 4 — Validate Data → 5 — Submit
📋 Supported Ingestion Types
The Ingestion Type dropdown is organized into two groups: Create (net-new records) and Update (modify existing records).
Create
| Ingestion Type | What It Creates |
|---|---|
| Create Assets | Equipment records with serial number, make, model, address, and metadata |
| Create Systems | System records to group assets |
| Create Asset Parts | Parts associated with assets |
| Create Asset Custom Properties | Custom property fields for assets |
| Create Asset Models | Asset model definitions |
| Create Asset Sensor | Sensor definitions linked to assets |
| Create Asset Contracts | Contracts associated with assets |
| Create Asset Manuals | Manuals linked to assets |
| Add Asset Timeline Events | Lifecycle events on the asset timeline |
| Create Dealers | Dealer records for the dealer locator |
| Create Products | Products available in the ecommerce store |
| Insert Sensors Timeseries Data | Historical sensor readings |
| Insert Maintenance Historical Data | Historical maintenance records |
| Create Asset QR Codes | QR code entries for assets |
| Create Assets Hierarchy | Parent-child relationships between assets |
| Create Organizations | Organization records |
| Create Contacts | Contact records |
| Create Quotes | Quote records |
| Create Quote Items | Individual line items within quotes |
Update
| Ingestion Type | What It Updates |
|---|---|
| Update Asset Models | Modify existing asset model records |
| Update Parts | Modify existing parts records |
| Update Assets | Modify existing asset records |
| Update Asset Images | Replace or add images on existing assets |
| Map Assets with System | Associate existing assets to systems |
| Update Systems | Modify existing system records |
| Update Organizations | Modify existing organization records |
| Update Product Prices | Change prices on existing products |
| Update Product Images | Replace or add images on existing products |
| Update Asset Models Image | Replace or add images on existing asset models |
| Update Quotes | Modify existing quote records |
| Update Quote Items | Modify line items on existing quotes |
⚠️ Non-obvious: When Create Assets is selected, the page shows a recommended sequence: Create Organization → Create System → Create Asset Model → Create Asset → Create Parts. This is the dependency order — assets need an asset model; parts need an asset. If upstream records don't exist yet, create them first via their own ingestion type before running Create Assets.
🔄 Step-by-Step Guide
Step 1 — Ingestion Type
- Open the Ingestion Type dropdown and select either Create or Update to expand that group
- Select the specific ingestion type you need
- A description of the selected type appears below the dropdown — read it to confirm the right type is selected
- Click ⬇ DOWNLOAD TEMPLATE to get the CSV template for this ingestion type
- Fill in the template with your data, keeping the column headers exactly as they are
- Click → NEXT
⚠️ Non-obvious: Always use the downloaded template for the specific ingestion type you selected. Column names must match exactly — the system maps your CSV columns to destination fields in Step 3, and mismatched headers will show as unmapped.
Step 2 — Select File
Upload the completed CSV file. The system accepts the file and passes it to the column mapping step.
Step 3 — Map Columns
The Map Columns step shows your CSV column names on the left (Imported Column) and the required destination fields on the right (Destination Column). Columns that match the template exactly are auto-mapped with a → arrow.
Fields marked with * are required. Review all mappings before proceeding.
Click → NEXT to proceed to validation.
⚠️ Non-obvious: If you used the downloaded template without renaming columns, all mappings should be pre-filled automatically. If any destination column shows blank or mismatched, use the dropdown on the right side to manually assign the correct destination field.
Step 4 — Validate Data
The Validate Data step shows a preview of all records parsed from your CSV, with tabs for All, Valid, and Invalid records.
| Tab | Description |
|---|---|
| All | All records from the CSV |
| Valid | Records that passed validation — ready to upload |
| Invalid | Records with validation errors — must be corrected before uploading |
Toolbar actions on this step:
| Control | Function |
|---|---|
| 🔍 Search | Search records within the preview |
| 🗑️ Delete | Remove selected rows before uploading |
| ➕ Add | Add a new row inline |
| ⬇️ Download | Download the current data as CSV |
| Filter by error | Filter the list to show only rows with specific error types |
You can edit cell values inline to fix validation errors directly in the browser without re-uploading the file.
When all required records are Valid, click ☁ UPLOAD to submit.
⚠️ Non-obvious: You do not need all records to be valid to upload — you can delete invalid rows and upload only the valid ones. Fix the deleted rows separately and run a second ingestion for the remaining records.
Step 5 — Submit (Processing & Results)
After uploading, the page shows a processing indicator while the file is handled. The system updates automatically — you do not need to refresh the page.
On success: A green ✅ checkmark appears with a success count.
On failure or partial failure: A summary appears showing:
| Field | Description |
|---|---|
| Success count | Number of records created or updated successfully |
| Failed count | Number of records that failed |
| Total Records | Total records in the submission |
Below the summary, a per-record error table shows:
| Column | Description |
|---|---|
| Row Number | Row number from the submission |
| Reference Field | The record identifier (e.g., asset name) |
| Error Message | Why the record failed (e.g., "Serial number already exists") |
Buttons on the result screen:
| Button | Function |
|---|---|
| ⬇ DOWNLOAD LOGS | Download the full processing log file for this request |
| ☁ RE-UPLOAD FILE | Go back and upload a corrected version of the file |
⚠️ Non-obvious: A partial success is possible — some records may succeed while others fail. The Success count and Failed count show the split. Only fix and re-upload the failed records — the error table tells you exactly which ones and why.
⚠️ Non-obvious: Request history and logs are also accessible from Settings → Requests, so you can review past ingestion results without re-running the wizard.
🔄 Workflows
Workflow 1 — Bulk Create Assets for a New Customer
- Open Settings → Ingestion from the top navigation
- Select Create → Create Organizations — download the template, fill it, and complete the wizard. Wait for success confirmation.
- Repeat for Create Systems (if needed)
- Repeat for Create Asset Models (if needed)
- Select Create → Create Assets — download the template, fill it with asset data including the organization and model references
- Upload, map columns, validate, and submit
- Verify the new assets appear in the platform
✅ Result: All assets are created in bulk in the correct dependency order — organizations and models exist before assets reference them.
Workflow 2 — Fix and Re-Upload a Failed Ingestion
- On the Step 5 result screen, review the error table
- Note the Reference Field and Error Message for each failed row
- Open your original CSV file
- Correct the rows identified in the error table (e.g., remove duplicate identifiers, fix missing required fields)
- Save the corrected CSV
- Click RE-UPLOAD FILE to return to Step 2
- Upload the corrected file and proceed through the wizard again
✅ Result: Only the previously failed records are re-submitted. Successfully ingested records from the first run are not duplicated.
Workflow 3 — Update Existing Product Prices in Bulk
- Open Settings → Ingestion from the top navigation
- Select Update → Update Product Prices
- Download the template — it includes the fields needed to identify products and set new prices
- Fill in the product identifiers and new prices
- Upload, map columns, validate, and submit
- Confirm updated prices in the Ecommerce app
✅ Result: All product prices are updated in a single operation without editing each product individually.
✅ Best Practices
- Always start with the downloaded template. Do not create your own CSV headers or reuse templates from a different ingestion type. Download fresh each time to avoid mapping errors.
- Follow the dependency order for new account setup. Run ingestion types in this sequence: Organizations → Systems → Asset Models → Assets → Parts. Creating assets before their model exists will cause failures.
- Fix errors in the original file, not just the inline editor. The inline editor in Step 4 is useful for fixing a few cells quickly, but for large batches of errors it is faster to correct the source CSV and re-upload. Keep your source files so you have a correctable copy.
- Use partial uploads strategically. If a CSV has a mix of valid and invalid rows, delete the invalid rows in Step 4 and upload the valid ones immediately. Fix and re-upload the failed rows separately.
- Check Settings → Requests for ingestion history. Every ingestion request is logged with its status and a downloadable log file. Use this to audit what was loaded, when, and by whom — without needing to re-run the wizard.
💡 Tips & Shortcuts
| Tip | How |
|---|---|
| Access ingestion | ⚙️ Settings icon (top right) → Ingestion |
| Review past ingestion jobs | ⚙️ Settings → Requests |
| Download logs for a past run | Settings → Requests → find the request → download log |
| Fix a few bad rows without re-uploading | Edit cells inline in Step 4 — Validate Data |
| Find which records failed | Step 5 error table shows Reference Field + Error Message per row |
| Re-upload after fixing errors | Click RE-UPLOAD FILE on the Step 5 result screen |