Bulk Spreadsheet Import
The Import from spreadsheet feature enables enterprise-scale site onboarding through file-based batch processing. Instead of manually adding hundreds of sites one by one, you upload a prepared spreadsheet and the platform processes all entries in a single operation. Covers: What Bulk Spreadsheet Import Does, The Import Workspace, Bulk Device Configuration, The Template, Before You Upload, Import Process, Common Failure Reasons, After Import.
What Bulk Spreadsheet Import Does
Access it from the left sidebar: click Configuration, then click Add sites & devices and select Import from spreadsheet. The Add multiple sites and devices dialog opens.
The flow runs in three steps: Upload — choose your file with the Upload site sheet button (or drop a file directly into the drop zone); Preview — the uploaded rows appear in an Imported Sites table (labelled “Previewing locally. Continue to upload to the server.”) with a count badge (for example 15 sites) and the columns Site name, Device name, IP address, HTTP Port, RTSP Port, Username, Password, and Device brand; review the row count and values before committing; Upload to server — click Upload to server to commit. The platform processes the file server-side and shows a processing state before the final results appear and the import tracker updates with final counts.
Step 1 — Open the upload dialog. Click Add sites & devices then Import from spreadsheet. The Add multiple sites and devices dialog opens. Drop your completed file into the upload zone or click Upload site sheet (.xlsx or .xls). Use the Download file link (“Need a starter template?”) to get the official template. Enable Auto-send site key to owners after import if you want site keys delivered automatically to each site owner when the import finishes.
Step 2 — Review the local preview. Once your file loads, the Imported Sites section appears showing a local preview of all your rows — nothing has been sent to the server yet. A badge shows the total row count (for example 4 sites). Verify the values in each column: Site name, Device name, IP address, HTTP Port, RTSP Port, Username, Password, and Device brand. If anything looks wrong, click Upload site sheet to replace the file. When everything looks correct, click Upload to server.
Step 3 — Import complete. When processing finishes, the Import Status tab shows a confirmation banner (Import completed. Confirm your devices in the list below.) and the Overall onboarding progress bar reflects the final results. Review the Total, Deployment, Devices, and Progress cards for a full breakdown. Any rows that failed validation are listed under the Failed tab — download the pre-filtered file using Download spreadsheet to fix and re-upload, correct only the failed rows, and re-import without re-submitting rows that already succeeded.
When to Use It
Bulk import is the right path when the rollout is site-heavy, when devices are being handed over in batches, or when you want one validation workspace for the whole deployment instead of a sequence of single-site forms.
The Import Workspace
After you upload a file, the Import Status tab shows the results of the import. When processing finishes, a confirmation banner appears (“Import completed. Confirm your devices in the list below.”) and an Overall onboarding progress bar shows the percentage of devices successfully onboarded (for example, 100% — 4/4 cameras).
Below the progress bar, four summary card groups break down the import. Each card can be switched between a count and a percentage view:
- TOTAL — total count of submitted rows by outcome: Valid, Invalid, Failed, and Created.
- Deployment — how the created sites connect: Public, Private, and Edge.
- DEVICES — device connectivity: Online, Offline, and Alarm.
- Progress — onboarding state: Done, Left, Online, and Active.
Status Tags
Once the import completes, each row in the Imported Sites table shows two status tags: the creation state and the connection path.
- Created — the site and device record was created successfully and is pending activation.
- Public IP — the device is using the Public IP connection path (cloud-direct).
- Local Agent — the device is using the Private/VPN path and requires the Local Agent on-site.
- GC Edge — the device is using the Edge Deployment path.
- Alarm Ready — the device is fully connected and actively sending alarms to the platform.
If any rows need correcting, use the Download spreadsheet to fix and re-upload link beneath the cards to export a pre-filtered file ready for correction and re-upload — you do not have to extract the failed rows manually from the original file.
The lower part of the view lists the imported Sites (with Site, Site Contact, Type, Connected, and Status columns), plus a site-name search and a type filter. Selecting a site opens its device panel on the right, which has two tabs — All Devices and Failed — along with a device search box and a Send Site Key action. Open the Failed tab to see each failed device and the specific validation issue that needs fixing before re-upload.
Known issue: The status filter in the Failed tab may show an incorrect count until the page is refreshed. If the Failed tab appears empty but the counters still show a non-zero Failed count, refresh the page before concluding the import is clean.
Bulk Device Configuration
After the import completes, the Bulk device configuration panel appears below the progress bar. It pushes port, SMTP, and motion email settings to all private network devices in the import batch — so you do not need to configure each device individually.
Click Configure Devices to start. The panel checks whether the Local Agent is running and reachable on the same local network as the imported devices.
Local Agent Not Connected
If the Local Agent is not running or not reachable, the panel shows a Local Agent Not Connected warning. To resolve it:
- Download the Local Agent — click Windows Installer to download the agent for the on-site PC.
- Install and run the agent on a device that is connected to the same local network as the devices.
- Once the agent is running, click Retry Connection. Bulk configuration starts automatically as soon as the agent is reachable.
Bulk device configuration only applies to Private network devices in the current import. Public IP and GC Edge devices do not require this step.
The Template
Always use the official NXGEN spreadsheet template. For a column-by-column guide, see How to Fill the Bulk Import Template. Download it directly from the platform using the Download file link (“Need a starter template? Download file”) in the Add multiple sites and devices panel — do not use a custom format or a file from a previous import.
Each row represents one device. These are the template columns, in order — match the downloaded template exactly and do not rename or reorder them:
- Site Name — the site name.
- Camera Name — device name or label.
- IP Address — device IP address.
- HTTP Port — device HTTP port.
- RTSP Port — device RTSP streaming port; leave blank if not used.
- User Name — device username.
- Password — device password.
- Camera Brand — device brand (for example Hikvision, AXIS, or Dahua).
- Site Owner Email — the email address of the on-site contact who will receive the Site Key and run the Local Agent for field activation. Required for Private/VPN and GC Edge sites; optional for Public IP.
- Contact Phone — onsite contact phone number, including country code (for example +15550101).
- Contact Name — onsite contact name.
- HTTPS? — whether to use HTTPS: TRUE or FALSE.
Column hygiene rules:
- One device per row.
- Plain text values only — no Excel formulas or special formatting.
- Do not move columns out of the official order.
- Do not leave required fields empty.
- Save the file as .xlsx or .xls (not .csv).
Before You Upload
The most common cause of bulk import failures is data quality issues in the source file. Validate before uploading:
- All required columns are present and in the correct order.
- Every row has values in the required fields for its connection type. Required for all sites: site name, device IP, HTTP Port, device brand, HTTPS?, username, and password. Required for Private/VPN and Edge sites only: contact name, contact phone (Site Owner Email is also required for Site Key delivery). Contact fields are optional for Public IP sites.
- Site names are unique within the file and do not conflict with existing sites in the platform.
- Contact phone numbers include country codes — for example
+962797XXXXXX, not0797XXXXXX. - No rows have data in the wrong column.
Import Process
Phase 1 – Validation batch
- Select 5 to 10 representative rows from your full dataset.
- Upload this test batch first.
- Verify all rows appear in the All Devices tab with no failures.
- If failures occur, identify the pattern, fix the source data, and retest before proceeding to the full file.
Phase 2 – Full import
- Upload the complete file. Under Send options, an Auto-send site key to owners after import toggle is available — enable it to have the platform automatically send each site's activation key to the assigned contact. When this option is enabled, select your delivery channel(s) — WhatsApp, Email, or both. If you prefer to distribute keys manually, leave this off and use the Site Key panel in Configuration after import. Turn auto-send on only when every row already has a correct, verified contact; leave it off when staging sites in advance, when contacts aren’t verified, or when you want to vet the import for errors before any keys go out.
- After processing completes, note the total count in the All Devices tab.
- Compare against your expected total — any discrepancy requires investigation before continuing.
- Switch to the Failed tab.
Phase 3 – Failed row triage
- Read the failure reason for each failed row.
- Locate the corresponding row in your source file and correct the specific issue.
- Add the corrected row to a separate retry file — do not re-upload rows that already imported successfully.
Phase 4 – Re-import corrected rows
- Upload the retry file containing only the corrected rows.
- Verify the corrected rows appear in the All Devices tab with no failures.
- Repeat until the Failed tab is empty.
Common Failure Reasons
- Duplicate site name — Site name already exists in the platform or in the same file. Rename the site in the source file.
- Missing required field — A required column is empty in that row. Populate the missing value.
- Invalid phone format — Phone number missing country code or contains non-numeric characters. Reformat as
+[country code][number]. - Site not found — Device row references a site that does not exist. Create the site first, then re-import the device.
- Column order mismatch — Data is in the wrong columns. Match the exact column order of the NXGEN template.
- Unsupported brand — the brand string isn’t recognised for auto-configuration. Use a supported auto-configuration brand spelled exactly as in the template (for example Hikvision, AXIS, Dahua).
- Malformed IP address — the value isn’t a valid IPv4, IPv6, or DNS hostname (and must have no trailing slash).
- Port out of range — the port must be between 1 and 65535.
After Import: Final Validation
After completing all import phases with zero failures:
- Open Configuration and verify the total site count matches your expected roster.
- Navigate to the Home Dashboard and confirm newly imported sites appear in the site cards section.
- In Video Search, verify event flow for each newly created site. Allow a few minutes after activation for the first events to arrive.
- Check Analytics for the new sites — they should start accumulating alarm volume data once devices are activated.