Skip to main content
This is an always-on, read-only tool — every agent has it on both the native tool surface and inside the code sandbox (from neo.client import list_synced_devices). There is nothing to enable. It is the device-record companion to Get Synced Device Counts.

What It Does

Returns the individual device records from client_rmm_devices — the RMM inventory Neo already syncs and maps to PSA companies. Where Get Synced Device Counts answers how many, this answers which ones. For each device the agent gets, scoped to the tenant:
  • rmm_device_id — the RMM’s device ID (usable with find_configurations and the RMM tools).
  • name — the device hostname/name as synced.
  • device_typeWORKSTATION / SERVER / UNKNOWN, classified at sync time (same classifier as the counts tool).
  • psa_company_id and the resolved company_name.
Plus data_as_of (latest sync timestamp) and truncated (true when more devices matched than the limit returned).

Why It Exists

A count alone can’t be audited. When a reconciliation agent flags a company — say its contracted workstation quantity disagrees with what’s deployed — the next question is always “which devices?” This tool names the concrete machines behind the number, and lets an agent inspect the unmapped (coverage-gap) devices directly. Because the RMM↔PSA mapping and the workstation/server classification are resolved at sync time, the records are stable and repeatable across runs.

How to Use

  • Pass psa_company_id to list one company’s devices (the common drill-down case).
  • Set unmapped_only to list only devices Neo could not match to a PSA company — the records behind the unmapped_devices coverage figure.
  • Omit both to list across the whole tenant; large tenants may exceed limit (default 1000, max 5000), in which case truncated is true — narrow the scope or raise limit. Nothing is silently dropped: returned and truncated always tell you whether the page is complete.
The sandbox helper (neo.client.list_synced_devices) returns the same records with the same arguments — use it when you are already assembling a report in Python (e.g. listing the workstations behind each flagged company).

Notes

  • Read-only and tenant-scoped — it only reads data Neo has already synced; it never touches the RMM or PSA live.
  • For counts only, prefer Get Synced Device Counts — it is cheaper than listing and re-counting.
  • For live per-device state (online/offline, last check-in, patch/AV status) or fields not in the synced inventory, use the live *_rmm_request tools instead — the synced record intentionally excludes volatile state.
  • Part of the family of authoritative reads over Neo’s synced internal data; the same pattern extends to other synced tables.