Nautobot Device Sync
Nautobot Device Sync: Network Device Inventory Synchronization with rConfig V8
Section titled “Nautobot Device Sync: Network Device Inventory Synchronization with rConfig V8”
Nautobot Device Sync enables automated synchronization of network device inventory from Nautobot network automation platform into rConfig V8. This integration extracts device information from Nautobot, transforms it using tag-based mappings, and imports devices through a staging process for administrator review before production deployment.
Platform | rConfig V8 Support | Platform Version Tested |
---|---|---|
Nautobot | ✓ Verified | 2.0+, 2.4.8+ |
How It Works
Section titled “How It Works”The Nautobot Device Sync follows an ETL (Extract, Transform, Load) pattern with a review stage:
- Extract: Connect to Nautobot API and retrieve device inventory based on configured tags
- Transform & Map: Parse Nautobot device data and apply rConfig-specific tag mappings
- Load to Staging: Import transformed devices into staging table for review
- Review & Approve: Administrator validates staged devices and resolves any issues
- Deploy: Import approved devices into main rConfig device inventory
- Schedule: Automated sync jobs keep inventory synchronized with Nautobot
This idempotent process prevents duplicate device creation and maintains consistency across synchronizations. Staging tables are cleared after successful deployment to production.
Prerequisites
Section titled “Prerequisites”Before configuring Nautobot Device Sync, ensure you have:
Nautobot requirements:
- Nautobot 2.0 or later (2.4.8+ recommended)
- Administrator access to Nautobot
- API token with read permissions for devices, tags, and related objects
- Devices tagged for filtering and mapping
- Network connectivity between Nautobot and rConfig servers
rConfig requirements:
- rConfig V8 Professional
- Administrator access to rConfig
- Credential sets configured for device authentication
- Device templates, vendors, categories, and tags created
Nautobot device tagging:
All devices to be synchronized must have the following rConfig-specific tags applied in Nautobot:
Tag Name | Required | Description | Example |
---|---|---|---|
rconfig::template::{id} | Yes | Device template ID | rconfig::template::1 |
rconfig::credentialset::{id} | Yes | Credential set ID | rconfig::credentialset::5 |
rconfig::vendor::{id} | Yes | Vendor ID | rconfig::vendor::2 |
rconfig::category::{id} | Yes | Category ID | rconfig::category::3 |
rconfig::tag::{id} | No | Tag ID (comma-separated for multiple) | rconfig::tag::7,8,9 |
rconfig::model::{string} | No | Device model string | rconfig::model::Catalyst 9300 |
rconfig::prompt::{string} | No | Command prompt regex | rconfig::prompt::[>#] |
rconfig::enable_prompt::{string} | No | Enable prompt regex | rconfig::enable_prompt::[>#] |
Configure Nautobot
Section titled “Configure Nautobot”Step 1: Create API Token
Section titled “Step 1: Create API Token”Create a Nautobot API token with read permissions:
- Navigate to User > API Tokens in Nautobot
- Click Add to create new token
- Configure token settings:
- User: Select your user account
- Allowed IPs: Leave blank for any IP, or restrict to rConfig server IP
- Write enabled: Leave unchecked (read-only access sufficient)
- Description:
rConfig Device Sync
- Click Create
- Copy the token immediately (you won’t be able to view it again)
Step 2: Tag Devices for Sync
Section titled “Step 2: Tag Devices for Sync”Apply rConfig-specific tags to Nautobot devices:
- Navigate to Devices > Devices
- Select a device to edit
- Scroll to Tags section
- Add required rConfig tags with IDs:
Example tagging:
rconfig::template::1rconfig::credentialset::5rconfig::vendor::2rconfig::category::3rconfig::tag::7,10,15rconfig::model::Catalyst 9300rconfig::prompt::[>#]rconfig::enable_prompt::[>#]
- Save the device
- Repeat for all devices to be synchronized
Step 3: Create Filter Tags (Optional)
Section titled “Step 3: Create Filter Tags (Optional)”Create Nautobot tags to filter which devices to sync:
- Navigate to Organization > Tags
- Create tags such as:
sync-to-rconfig
production-network
managed-devices
- Apply filter tags to devices you want to sync
Configure rConfig V8
Section titled “Configure rConfig V8”Step 1: Access Integration Settings
Section titled “Step 1: Access Integration Settings”Navigate to Settings > Integrations in rConfig and click Configure on the Nautobot integration.

Step 2: Configure Connection Settings
Section titled “Step 2: Configure Connection Settings”
Complete the Nautobot integration form:
Integration Name:
- Descriptive name for this integration (e.g., “Production Nautobot”)
Nautobot Base URL:
- Full URL to Nautobot server (e.g.,
https://nautobot.example.com
)
Nautobot API Token:
- API token created in Nautobot with read permissions
SSL Verification:
- SSL Verify Host: Uncheck if using self-signed certificates
Step 3: Configure Tag Filters
Section titled “Step 3: Configure Tag Filters”
Select which Nautobot devices to synchronize using tags:
Tag Filter Configuration:
- Enter tag name in the input field
- Click Add tag to include in filter
- Add multiple tags as needed
Example filter tags:
sync-to-rconfig
production-network
managed-devices
Step 4: Save and Test Connection
Section titled “Step 4: Save and Test Connection”Click Save to store the configuration.
Test Connection:
- Click Test Connection button
- Verify successful connection to Nautobot API
- Review connection status message
Test Credentials:
- Click Test Credentials button
- Successful test confirms API token is valid
- Verify API permissions are correct
Extract Devices from Nautobot
Section titled “Extract Devices from Nautobot”Step 1: Access Extract Tab
Section titled “Step 1: Access Extract Tab”Click Next on the configuration screen or navigate to the Extract List tab.

Step 2: Run Extraction
Section titled “Step 2: Run Extraction”Click Run extract from Nautobot to retrieve devices.
The extraction process:
- Connects to Nautobot API
- Retrieves devices based on configured tag filters
- Extracts device properties and tags
- Displays results in extract list table
Step 3: Review Extracted Devices
Section titled “Step 3: Review Extracted Devices”
Review the extracted device list:
- View in Nautobot: Opens device directly in Nautobot interface
- Delete: Remove device from extract list (will re-import on next automated run)
- Expand row: View detailed device information from Nautobot
Transform and Map Devices
Section titled “Transform and Map Devices”Step 1: Run Transformation
Section titled “Step 1: Run Transformation”Click Run Transform & Mapping to process extracted devices.
The transformation process:
- Parses rConfig-specific tags from Nautobot devices
- Extracts IDs from tag values (e.g.,
rconfig::template::1
→ template ID1
) - Maps tag values to rConfig templates, vendors, categories
- Validates required tags are present
- Checks that referenced rConfig resources exist
- Flags any devices with validation errors
Step 2: Review Transformation Results
Section titled “Step 2: Review Transformation Results”
After transformation, the extract list updates:
- Expandable rows: Show mapped rConfig properties for each device
- Status indicators: Show whether device is ready for import
- Validation messages: Display any errors preventing import
Common validation errors:
- Missing required tags
- Invalid template, vendor, or category IDs
- Credential set not found
- Tag ID format incorrect (missing
::
delimiter or ID number) - Duplicate hostnames
Step 3: Check Logs
Section titled “Step 3: Check Logs”Click Status & Logs tab to view detailed transformation logs:
- Successful transformations
- Validation errors with device names
- Tag parsing issues
- Resource not found errors
Load to Staging Table
Section titled “Load to Staging Table”Step 1: Load Devices
Section titled “Step 1: Load Devices”Click Load to Device Staging Table to import transformed devices.
The loading process:
- Validates all devices in extract list
- Imports valid devices to staging table
- Skips devices with validation errors
- Maintains staging table for review
Step 2: Review Staged Devices
Section titled “Step 2: Review Staged Devices”
The staging table displays:
- All devices ready for import
- Expandable rows showing complete rConfig property mappings
- Final validation status
- Device details as they will appear in rConfig
Staging table actions:
- Run assessment: Execute full ETL process up to staging (no deployment)
- Run full deployment: Complete ETL process and import to production devices
- Manual review: Examine individual devices before deployment
Deploy to Production
Section titled “Deploy to Production”Option 1: Manual Deployment
Section titled “Option 1: Manual Deployment”Review staged devices and click Run full deployment when ready.
The deployment process:
- Validates staged devices one final time
- Creates devices in main rConfig device inventory
- Links devices to templates, vendors, categories, tags
- Assigns credential sets
- Schedules immediate configuration backups
- Clears staging table
- Logs deployment results
Option 2: Automated Assessment
Section titled “Option 2: Automated Assessment”Click Run assessment to test the full process without deploying:
- Executes extract, transform, and load to staging
- Does not deploy to production devices
- Useful for validating configuration before automated runs
- Staging table remains populated for review
Verify Imported Devices
Section titled “Verify Imported Devices”View Devices in rConfig
Section titled “View Devices in rConfig”Navigate to Devices to view newly imported devices.

Integration indicator: Imported devices display an integration icon next to the hostname, showing the device source.
Device details: Click a device to view full details. Integration-sourced devices include:
- View in Nautobot button linking to Nautobot device
- Integration device ID stored for API reference
- Source integration name in device metadata
Schedule Automated Sync
Section titled “Schedule Automated Sync”Step 1: Create Scheduled Task
Section titled “Step 1: Create Scheduled Task”Navigate to Scheduled Tasks and click Add Task.

Step 2: Configure Task
Section titled “Step 2: Configure Task”Task Type: Select Integration Job from dropdown
Task Name: Descriptive name (e.g., “Daily Nautobot Sync”)
Task Description: Optional description of sync purpose
Step 3: Select Integration
Section titled “Step 3: Select Integration”Choose the Nautobot integration configured in previous steps.
Step 4: Set Schedule
Section titled “Step 4: Set Schedule”Configure sync frequency:
- Daily: Run at specific time each day
- Weekly: Run on specific day and time
- Monthly: Run on specific date and time
- Cron expression: Custom schedule using cron syntax
Example schedules:
- Daily at 2:00 AM:
0 2 * * *
- Every 6 hours:
0 */6 * * *
- Monday through Friday at 1:00 AM:
0 1 * * 1-5
Step 5: Review and Save
Section titled “Step 5: Review and Save”Review task settings and click Save.
The scheduled task will:
- Run full ETL process automatically
- Extract devices from Nautobot
- Transform and map using configured tags
- Load to staging table
- Deploy valid devices to production
- Log all activities
CLI Commands
Section titled “CLI Commands”Main Integration Command
Section titled “Main Integration Command”php /var/www/html/rconfig8/current/artisan rconfig:integration-nautobot
Running without options displays available commands:

Available options:
Option | Shortcut | Description |
---|---|---|
--connection | -c | Test connection to Nautobot API |
--usertest | -u | Test API token credentials |
--extract | -e | Extract devices from Nautobot |
--transform | -t | Transform and map devices |
--mapping | -m | Run mapping process |
--load | -l | Load devices to staging table |
--assessment | -a | Run full process without deployment |
--deployment | -d | Run full process and deploy to production |
Example command sequences:
# Test connectionphp artisan rconfig:integration-nautobot --connection
# Full assessment (no deployment)php artisan rconfig:integration-nautobot --assessment
# Production deploymentphp artisan rconfig:integration-nautobot --deployment
Single Device Sync Command
Section titled “Single Device Sync Command”Synchronize an individual Nautobot device through the complete ETL workflow with verbose debugging output:
php /var/www/html/rconfig8/current/artisan rconfig:integration-nautobot-single-device {device_uuid} [options]
Parameters:
{device_uuid}
: Nautobot device UUID to synchronize (required)
Options:
-d, --deployment
: Deploy device to production after staging-a, --assessment
: Run assessment only (load to staging without deployment)-v, --verbose
: Display verbose output
Use cases:
Troubleshoot individual device:
# Process single device with verbose outputphp artisan rconfig:integration-nautobot-single-device 30ae748e-7f27-4598-84d0-2e0284f896e6 -v
Test device mapping:
# Extract, transform, and stage single devicephp artisan rconfig:integration-nautobot-single-device 30ae748e-7f27-4598-84d0-2e0284f896e6 --assessment
Quick device import:
# Import single device directly to productionphp artisan rconfig:integration-nautobot-single-device 30ae748e-7f27-4598-84d0-2e0284f896e6 --deployment
Workflow:
- Extracts specified Nautobot device using device UUID
- Transforms device data using rConfig tag mappings
- Validates required tags and referenced resources
- Loads to staging table for review
- Deploys to production (if
-d
flag used) - Outputs detailed process information and any errors
Example output:
$ php artisan rconfig:integration-nautobot-single-device 30ae748e-7f27-4598-84d0-2e0284f896e6 -d
Processing Nautobot Device UUID: 30ae748e-7f27-4598-84d0-2e0284f896e6✓ Extracting device from Nautobot✓ Device found: core-router-01.example.com✓ Transforming device data✓ Parsing tags: template::1, vendor::2, category::3✓ Validating required tags✓ Loading to staging table✓ Deploying to production devices✓ Device created: core-router-01.example.com✓ Scheduling initial configuration backup
Single device sync completed successfully.
Troubleshooting
Section titled “Troubleshooting”Connection test fails
Section titled “Connection test fails”Check Nautobot URL: Verify base URL is correct and accessible from rConfig server
Verify SSL settings: Disable SSL verification for self-signed certificates
Test network connectivity: Ensure firewall allows traffic between rConfig and Nautobot
Check Nautobot API status: Verify Nautobot API is enabled and responding
Credential test fails
Section titled “Credential test fails”Verify API token: Confirm token was copied correctly without extra spaces
Check token permissions: Ensure token has read access to devices and tags
Review token status: Confirm token is not expired or revoked in Nautobot
Test token manually: Use curl to test API access with the token
No devices extracted
Section titled “No devices extracted”Verify tag filters: Check that filter tags match Nautobot device tags exactly
Review AND condition: Remember multiple tags use AND logic—devices need ALL filter tags
Check device status: Confirm devices are active in Nautobot
Validate tag syntax: Verify tag names are spelled correctly (case-sensitive)
Transformation errors
Section titled “Transformation errors”Missing required tags: Add all required rConfig tags to Nautobot devices
Invalid ID format: Ensure tags use correct format with ::
delimiters (e.g., rconfig::template::1
)
Wrong ID numbers: Verify template, vendor, category IDs exist in rConfig
Tag parsing issues: Check for extra spaces or special characters in tag values
Devices fail to deploy
Section titled “Devices fail to deploy”Duplicate hostnames: Check for existing devices with same hostname in rConfig
Invalid IDs: Verify all ID numbers in tags correspond to existing rConfig resources
Credential set errors: Confirm credential set ID exists and is accessible
Database constraints: Review Laravel logs for database errors
Single device sync fails
Section titled “Single device sync fails”Invalid device UUID: Verify UUID exists in Nautobot and is correctly formatted
Device not accessible: Ensure API token can access the specific device
Missing tags: Check device has all required rConfig tags in Nautobot
Use verbose flag: Run with -v
option to see detailed error information
Tag filter issues
Section titled “Tag filter issues”Too restrictive: Multiple filter tags use AND logic, making extraction too narrow
No matching devices: Verify at least some devices have ALL specified filter tags
Case sensitivity: Ensure filter tag names match Nautobot tags exactly
Solution: Run multiple sync processes with different single-tag filters if OR logic needed
Scheduled sync not running
Section titled “Scheduled sync not running”Verify task enabled: Check scheduled task is active
Review cron schedule: Ensure cron expression is valid
Check task logs: View scheduled task execution history
Verify queue workers: Ensure Horizon/queue workers are running
Best Practices
Section titled “Best Practices”Use ID-based tagging: Always use numeric IDs in Nautobot tags for templates, credentials, vendors, and categories.
Document ID mappings: Maintain a reference document mapping rConfig IDs to resource names for easy tagging.
Start with test group: Create a small set of test devices in Nautobot with proper tags before full-scale sync.
Single filter tags: Use one filter tag per sync configuration to avoid overly restrictive AND conditions.
Test single devices: Use single device sync command to validate mappings before bulk operations.
Consistent tag format: Establish and enforce tag naming standards across Nautobot inventory.
Regular monitoring: Check sync logs regularly for errors or validation issues.
Staged review: Use assessment mode to preview imports before deploying to production.
Schedule wisely: Run automated syncs during low-activity periods to minimize impact.
Backup before bulk imports: Create rConfig backup before first large-scale deployment.
Related Documentation
Section titled “Related Documentation”- Device Sync Overview - Understanding device synchronization concepts
- Zabbix Sync Setup - Configure Zabbix integration
- NetBox Sync Setup - Configure NetBox integration
- Device Management - Managing devices in rConfig
- Scheduled Tasks - Automating sync operations