Esc

↑↓ move↵ openIndex · Pagefind
Data / Run an import

Run an import

Step by step on the Migration page. Create a job, pick the target project and scopes, run a dry run, read the stats and log, then run it live and re-run safely.

Preview

Partly in the app today. Items marked Planned are not built yet.

On this page

This is the hands-on version of Importing from your current stack. You need to be a company admin.

Before you start

  • Create the target project in os.construction, with its cost codes and permission templates.
  • Have the source company ID and project ID from your current system, and an access token for its API.
  • Try it on sample data first if you like: the sample-data source needs no credentials.

Create a job

  1. Open the Migration page

    Go to app.os.construction/companies/<your company>/migration.

  2. Source

    Choose the sample-data source, or a connected import. For a connected import, pick the source environment and enter the source company ID and source project ID. These are fixed for the job.

  3. Target & Mode

    Pick the target project and a Mode: Dry run (count only, no writes) or Live (import into the project). Each job has one mode, so you create one job for the dry run and another for the live run.

  4. Scopes

    Tick the tools to import: Directory (users and vendors), RFIs, Submittals, Punch List, Observations, Daily Log (weather, manpower, notes), Documents (folders and files), Prime Contracts and Commitments. All are ticked by default.

  5. Create migration job

    The job appears under Migration jobs. Creating it doesn’t run anything yet.

Run it

Open the job. For a connected import, paste the access token and select Run connected dry-run (or Run connected import for a live job). The token is used for that request only and isn’t saved. For sample data, use the run button on the job.

Read the results

The job page shows:

  • Per-entity stats: for each record type, how many were Fetched, Created, Updated, Skipped and Failed.
  • Run log: a timestamped line for each step and each failure, with the reason.
  • The job’s source, mode, status, target project and start and finish times.

A dry run fills in the counts without writing records. Check them against the old system before you run live.

Re-run safely

Every imported record remembers where it came from. Running the same live job again updates the records it already created rather than duplicating them, and picks up anything new in the source. If a run is interrupted, the job page offers recovery: retry with the same source, and records already committed are kept.

Fix failures

Failed records don’t stop the run. Read the reason in the run log, fix it at the source or in os.construction (often a missing person or company), and re-run the job.

Keep exploring

Related across os.construction

Run it on your own project.

Start a 14-day free trial. Want a say in what ships next? Join the founding program.

Your role (optional)

14-day free trial. Pricing for paid plans isn't set yet. Talk to us. Already have an account? Sign in →

Ask the OS

Reading this page

Ask anything about this page. Answers use what you're reading as context.

Suggested

    AI · may be imperfect · sample data where shown

    Open file