Skip to content
Back to skills

Custom Fields

ASecurity

Reading and writing NinjaOne device and organization custom fields through ninjaone_devices_get_custom_fields, ninjaone_devices_update_custom_fields, ninjaone_organizations_get_custom_fields and ninjaone_organizations_update_custom_fields: field-name keys, partial updates, and safe write practice.

  • 54 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 12, 2026
ai-agentsgoapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned November 12, 2026

npx -y skills add WYRE-AI/msp-claude-plugins --skill custom-fields --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Custom Fields?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Custom Fields
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wyre-ai-custom-fields/badge)](https://www.skillsdirectory.com/skills/wyre-ai-custom-fields)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "NinjaOne Custom Fields"
description: >
  Reading and writing NinjaOne device and organization custom fields through
  ninjaone_devices_get_custom_fields, ninjaone_devices_update_custom_fields,
  ninjaone_organizations_get_custom_fields and
  ninjaone_organizations_update_custom_fields: field-name keys, partial
  updates, and safe write practice.
when_to_use: >-
  When reading or setting a custom field on a NinjaOne device or organization. Use when: ninjaone
  custom field, ninja custom field, device custom field, organization custom field, set custom
  field ninjaone, asset tag ninjaone, or warranty field ninja.
---

# NinjaOne Custom Fields

## Overview

MSPs use NinjaOne custom fields to hold data the RMM does not collect itself: asset tags, warranty dates, backup product, contract tier, BitLocker escrow status, or the output of a scripted check. Fields live on two scopes, devices and organizations, and each scope has a read and a write tool.

## Anti-triggers

- **Ticket custom fields** — ticket attributes are a separate model; use `ninjaone-tickets` (`ninjaone_tickets_attributes_list`).
- **Device or organization core properties** (name, policy, location) — use `ninjaone-devices` or `ninjaone-organizations`.

## MCP Tools

| Tool | Tier | Arguments | Purpose |
|------|------|-----------|---------|
| `ninjaone_devices_get_custom_fields` | read | `device_id` | All custom field values on a device |
| `ninjaone_devices_update_custom_fields` | write | `device_id`, `fields` | Set one or more device custom fields |
| `ninjaone_organizations_get_custom_fields` | read | `organization_id` | All custom field values on an organization |
| `ninjaone_organizations_update_custom_fields` | write | `organization_id`, `fields` | Set one or more organization custom fields |

`fields` is an object of field-name/value pairs, for example `{ "assetTag": "ACME-0042", "warrantyExpiry": "2027-03-31" }`. Keys are the field's **API name** as defined in NinjaOne's custom-field configuration, not its display label.

## Workflows

### Read before write

1. Get the current values with the matching `get_custom_fields` tool.
2. Confirm the exact key spelling from that response; never guess a key.
3. Show the user the old and new value for each field.
4. After approval, call the matching `update_custom_fields` tool with only the fields that change.

### Fleet audit

1. `ninjaone_organizations_list`, then `ninjaone_organizations_devices` per organization.
2. `ninjaone_devices_get_custom_fields` per device.
3. Report devices where a required field (asset tag, warranty date) is empty. This is read-only and safe to run unattended.

## Gotchas

- **Partial update, not replace.** Only the keys you send change. Do not send a field with an empty value to "leave it alone"; omit it.
- **Technician-editable versus script-written fields.** Some fields are written by NinjaOne scripts on a schedule. Changing one by hand is overwritten on the next run; check with the user before editing a field a script maintains.
- **Per-call write.** Each update is one API call per device or organization; there is no bulk tool. A fleet-wide change is many write calls and should be approved as a batch first.

## Related Skills

- [Devices](../devices/SKILL.md) - Device lookup
- [Organizations](../organizations/SKILL.md) - Organization lookup
- [Tickets](../tickets/SKILL.md) - Ticket attributes

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.