> For the complete documentation index, see [llms.txt](https://docs.geodin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geodin.com/importing-data/import.md).

# Overview

Importing data into GeoDin from external files and databases

GeoDin imports data from a wide range of file formats and external databases. This page is the entry point for the Importing Data section: it covers the overall **batch import workflow** that applies to every import type, then links to the specific guides for each source.

## Batch import workflow (General -> Samples -> Measurements)

Most data lands in GeoDin in three sequential steps:

1. **Import General Data** to create the locations.
2. **Import Samples** into those locations.
3. **Import Measurement Data** for those samples.

Tests cannot be imported before their parent samples exist, and samples cannot be imported before their parent locations exist - the order matters.

The import wizard is launched from different starting points depending on the level:

* **General Data** - from the Objects branch via `Import General Data`.
* **Samples** - from `All Objects > Import Samples`.
* **Measurement Data** - from `Measurement Points > Samples (or Locations) > Import Measurement Data`.

Every wizard follows the same three steps:

1. **Data Source** - choose the file and worksheet.
2. **Parameter Links** - map source columns to GeoDin fields.
3. **Import** - preview and execute.

### Linking samples and measurements to their parents

When samples and measurements are imported, the source file must include a column GeoDin can use to match each row to the right parent:

* **Samples** - add a column (typically named `Location`) holding the borehole short name.
* **Measurements** - build a concatenated identifier (`borehole + sample reference + from + to recovery depth`), typically named `MeasID`, that uniquely points each row at the correct sample.

### Bulk vs. one-at-a-time

* **Main measurement data type** - bulk import across multiple samples in one run.
* **Complex (sub) data types** (e.g. UU curve, CU measurement data) - must be imported one measurement point at a time. There is no bulk path for nested data types.

Batch import is supported for general data, samples, data sequences, and sample-level measurement tests.

***

## Import guides by source

* [Data Sequences (CPT, free-format)](/importing-data/data-sequences.md) - depth-indexed series including CPT, GEF, and custom ASCII formats
* [CSV and Excel Import](/importing-data/csv-and-excel-import.md) - spreadsheet and delimited text imports for general/sample/measurement data
* [AGS Import](/importing-data/ags-import.md) - AGS 4.0.4 / 4.1 format
* [GeoDinML Import](/importing-data/geodin-ml-import.md) - field-to-office data exchange from GeoDin Onsite
* [Cross-Database Object Copying](/importing-data/cross-database-object-copying.md) - copying objects between GeoDin databases
* [SEP3 Exchange Database Import](/importing-data/sep3-exchange-database.md) - SEP3 standard


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.geodin.com/importing-data/import.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
