MSPilot. Don’t create it in a customer’s Entra tenant, and don’t reuse a technician’s existing app.
ImmyBot does not issue its own API keys. Each MSP that connects MSPilot creates their own Entra app for their own ImmyBot instance — the same pattern as creating a NinjaOne client app, except the app lives in Entra instead of inside ImmyBot.
Complete the Entra and ImmyBot authorization steps before you click Connect in MSPilot. A valid client ID and secret are not enough on their own.
Find your instance subdomain
- Sign in to ImmyBot as you normally do.
- Copy the hostname. For
https://acme.immy.bot, the subdomain isacme. - Enter only that subdomain in MSPilot. Don’t include
https://, and don’t include.immy.bot.
Register an app in Microsoft Entra
Create this app in the Microsoft tenant bound to your ImmyBot instance — usually the tenant you use to sign in to ImmyBot. That is your MSP tenant, not a customer tenant.- Open Microsoft Entra admin center and go to Entra ID → App registrations.
- Click New registration.
- Set Name to
MSPilot. - Leave Supported account types on Accounts in this organizational directory only (Single tenant). Don’t switch this to multi-tenant. This app only authenticates against your tenant so MSPilot can reach your ImmyBot instance.
- Leave Redirect URI empty. MSPilot uses client credentials. There is no browser sign-in and no callback URL.
- Click Register.

- On the app Overview, copy these two values to a password manager:
- Directory (tenant) ID → MSPilot Microsoft Entra tenant ID
- Application (client) ID → MSPilot Application client ID

Create a client secret
- In the same app, go to Certificates & secrets.
-
Click New client secret.

-
Set a description you’ll recognize later, such as
MSPilot. - Choose an expiry you can rotate on time. When this secret expires, the MSPilot connection stops until you create a new one and reconnect.
- Click Add.
- Copy Value immediately to a password manager. Entra will not show it again.
Copy the Enterprise application Object ID
Goto Entra ID → Enterprise Apps. SelectMSPilot you just created app in All Applications, copy Object ID to a password manager.

Authorize the app inside ImmyBot
The Entra app is only an identity. ImmyBot accepts API calls from it only after that identity exists as an admin user in your instance.- In ImmyBot, go to Show More → People → New.
- Set Tenant to your MSP tenant (the first / default tenant on the instance — not a customer tenant).
- Enter a first name and last name you’ll recognize, such as
MSPilot/API. - Enter a valid email. ImmyBot requires one; this Person will not sign in interactively.
- Paste the Enterprise application Object ID into Azure Object ID. Some ImmyBot sites label this field AD External ID. It is the same field.
- Create.

- Go to Show More → Users & Roles, add new user. Select MSPilot you just created from From existing people tab, create user.
- Go to Show More → Users & Roles, edit MSPilot API, switch to Direct Role Assignments tab, select:
- Role: System Administrator (Legacy)
- Scope Category: Owner
- Allow/Deny: Allow
- Assign

Connect ImmyBot
- In MSPilot, open Integrations and choose ImmyBot.
- Paste:
- Click Connect ImmyBot.
After you connect
MSPilot syncs computers from ImmyBot into your clients.- If you skipped a PSA, ImmyBot tenants are imported as clients first. Computers then land in those workspaces.
- If clients already came from a PSA, map each client to the ImmyBot tenant that owns its endpoint inventory.