> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neoagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ImmyBot API

> Find a client's computer in ImmyBot, read its installed software, and install, update, repair or remove software through a maintenance session in an agent

The common use is a software ticket: a user needs an app installed, or an app is broken. The agent finds the user's computer in ImmyBot, checks what is installed, and starts a maintenance session for the one item from your ImmyBot library.

> [!NOTE]
>
> Automatically enabled when you configure ImmyBot permissions in your agent workflow.

## What it does

* Find the computer by name in the ticket's tenant, or by its user's email when the ticket names a person and not a computer. When nothing matches, or two computers could, the agent asks instead of acting on a guess
* Read the computer's installed software, online status and primary user, and refresh its inventory
* Find the software or task in your ImmyBot library, preferring your own local item over a global one with the same name
* Start a maintenance session for one item on named computers: install, update to the newest version, update only where installed, install a given version, repair, or remove. A detection-only session checks what would change and changes nothing
* Read a session's status, each action's result and the logs, report the action that failed, and rerun a session or one action
* Run a short script on one computer and read its output, for a check or a fix that no library item does
* Read and change deployments, schedules, the library, tenants and people, integrations, and users and settings, as the permission groups allow

The agent looks for the ticket's computer in the ImmyBot tenant mapped to the ticket's company on the [Organization Mapping](https://docs.neoagent.io/integrations/immybot/overview.md#your-clients-are-mapped-automatically) tab, and Neo's ImmyBot instructions tell it to check that every computer it acts on is in that tenant.

A session takes minutes. The agent reports that it started the session, with its id, and reads the result on a later run or turn. Neo's ImmyBot instructions tell the agent to suppress reboots unless a technician or your agent's instructions allow one, and to send a full maintenance run, which applies every deployment of the computer, only when the ticket asks for it.

## Permission groups

| Group | Covers |
| - | - |
| Computers & Inventory | Computers, their inventory, installed software, status, events, registry and user affinity, and agents waiting to be identified |
| Maintenance Sessions | Maintenance sessions and their actions and logs, and starting one to install, update, repair or remove software or run a task |
| Software & Task Library | The software library and its versions, tasks, inventory tasks, media, licences and Chocolatey search |
| Scripts | The script library, and running a script on a computer or for a tenant |
| Deployments & Schedules | Deployments (what each tenant, computer or person should have), schedules and change requests |
| Tenants & People | Tenants (your clients), people, tags and Azure tenant links |
| Integrations & Agents | Integrations (RMM, PSA and others) and their clients, agents and stored OAuth tokens |
| Users, Roles & Settings | Users, roles and permissions, instance preferences, system, billing, branding, email, notifications and audit logs |

Each group can be Disabled, Read Only or Read / Write. A script runs any PowerShell its author wrote, so consider requiring technician approval on **Scripts**.

| Profile | What it does |
| - | - |
| Read Only | Reads every group, changes nothing |
| Helpdesk | Reads every group. Changes to computers and maintenance sessions, software installs included, ask a technician first |
| IT Admin | Installs, repairs and removes software, runs scripts and manages deployments on its own. Changes to integrations and to users, roles and settings ask a technician first |
| Full Automation | Every change with no approval, except those Safety Controls lists |

## Safety Controls

Some writes always ask a technician, whatever the profile: a write that grants access to the instance or to a client's tenant, impersonating a user, deletes and merges of tenants, computers in bulk and integrations, cancelling every session at once, restarting or updating the instance, billing changes, and a write that sends a field named like a password, secret, key or token. Neo also refuses a few ImmyBot operations, such as creating agent installers and remote-control links. [Safety Controls](https://docs.neoagent.io/integrations/immybot/connecting-to-neo.md#safety-controls) in the setup guide is the list of both, with the reason for each refusal.

In ImmyBot's JSON answers, Neo hides every field named like a credential. A password, a licence key, an integration's stored key or a deployment parameter named like one shows to the agent as `[hidden by Neo]`. Free text, such as a script's console output, is not inspected, so a script that prints a secret shows it to the agent.

Some ImmyBot updates replace the whole record: every PUT, a PATCH to a software library item or one of its versions, and the update of a task, a script, media, a tag, a user, an integration type or a deployment's change request. For those, Neo reads the stored record first and keeps every field the agent leaves out, so a change to one field never clears the others.

## Examples

**Software request.** A ticket says "Please install Zoom on my laptop" from [jane@contoso.com](mailto:jane@contoso.com). The agent finds Jane's computer in the client's tenant, sees Zoom is not installed, finds Zoom in your library and starts a maintenance session that installs the latest version without a reboot. It adds an internal note with the computer and the session id.

**Broken app.** A user reports that Adobe Acrobat crashes on open. The agent finds the computer, confirms Acrobat is installed, and starts a session that repairs it from your library. On its next run it reads the session; if the repair action failed, it notes the reason ImmyBot gives and leaves the ticket for a technician.

**Why did it fail?** A technician asks in chat why last night's maintenance failed on ACME-LT01. The agent reads the computer's newest sessions, finds the failed action and its log, and answers with the software, the action and ImmyBot's error.

Instructions like these suit an agent with the ImmyBot **Helpdesk** profile, which asks a technician before each session starts, and your PSA's ticket permissions:

> For a software install or repair request, find the end user's computer in ImmyBot. If one computer matches, start a maintenance session for the requested app from our ImmyBot library with no reboot, and add an internal note with the computer name and the session id. If no computer or more than one matches, or the app is not in our library, ask the technician.

## Setup

See [Connecting ImmyBot to Neo](https://docs.neoagent.io/integrations/immybot/connecting-to-neo.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.