
Populating a fresh Nautobot instance manually is a task no network engineer looks forward to. You are staring at an empty dashboard, knowing that weeks of tedious data entry stand between you and a functioning source of truth. This guide shows you exactly how to populate Nautobot automatically using our open-source Simple Labs GitLab repository — turning a manual nightmare into a repeatable, automated workflow.
A Network Source of Truth (NSoT) is only as good as the data it holds. When you populate Nautobot manually, you introduce several risks:
By choosing to populate Nautobot automatically, you ensure accuracy, maintain an up-to-date NSoT, and free up valuable engineering time.
Simple Labs is our open-source GitLab repository housing tools designed to accelerate network automation workflows. The Nautobot sync capability is built on top of Simple Facts (sfacts), a CLI tool that handles discovery, fact collection, and syncing — all in one place.
Simple Facts handles the heavy lifting:
If you do not have a Nautobot instance running, the Simple Labs repository includes a local lab stack you can bring up with Docker Compose:
# Clone the Simple Labs repository
git clone https://gitlab.com/netodata/simple-labs.git
cd simple-labs
# Bring up the Nautobot lab stack
docker compose -f labs/nautobot/docker-compose.yml up -d
# Bootstrap the admin user and API token
./labs/nautobot/bootstrap.shThis gives you a Nautobot instance at http://localhost:8080 with a pre-configured API token ready to use.
python -m venv venv
source venv/bin/activate
pip install .Then configure your environment variables to point sfacts at your Nautobot instance:
export NAUTOBOT_URL="http://localhost:8080"
export NAUTOBOT_TOKEN="0123456789abcdef0123456789abcdef01234567"To populate Nautobot automatically with Simple Labs, the entire process comes down to three commands.
sfacts discover --targets 192.168.1.0/24 --output devices.jsonThis scans the provided subnet, identifies active devices, and saves the inventory to devices.json.
sfacts collect --inventory devices.json --output facts.jsonSimple Facts connects to each device via SSH, gathers OS version, interface data, serial numbers, and more, then structures everything into facts.json.
sfacts nautobot sync --input facts.json --site-name "HQ"In a single command, Simple Facts will:

Log into Nautobot at http://localhost:8080 (username: admin, password: admin) and navigate to the Devices section. You will see your network devices fully populated — complete with interfaces, IP addresses, and hardware details. What would have taken days of manual data entry is done in three commands.
A one-time sync is a great start, but networks change constantly. Simple Labs integrates natively with Prefect to schedule and monitor ongoing sync workflows. By deploying the sync-to-nautobot Prefect flow, you can run a daily job that automatically discovers the network, collects fresh facts, and syncs any changes to Nautobot — ensuring your NSoT stays accurate without any manual intervention.
The ability to populate Nautobot automatically is the first critical step toward a reliable, continuously accurate Network Source of Truth. With the Nautobot sync tooling now available in the Simple Labs GitLab repository, you can eliminate manual data entry, reduce human error, and keep your automation platform working with real, up-to-date data.
Stop staring at that empty dashboard. Clone Simple Labs, run three commands, and let the tools do the heavy lifting.