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 fromclient_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 withfind_configurationsand the RMM tools).name— the device hostname/name as synced.device_type—WORKSTATION/SERVER/UNKNOWN, classified at sync time (same classifier as the counts tool).psa_company_idand the resolvedcompany_name.
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_idto list one company’s devices (the common drill-down case). - Set
unmapped_onlyto list only devices Neo could not match to a PSA company — the records behind theunmapped_devicescoverage figure. - Omit both to list across the whole tenant; large tenants may exceed
limit(default 1000, max 5000), in which casetruncatedistrue— narrow the scope or raiselimit. Nothing is silently dropped:returnedandtruncatedalways tell you whether the page is complete.
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_requesttools 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.
