Skip to content

Connectors · MSP & PSA

ImmyBot MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ImmyBot and the rest of your systems. It gives your agent 522 ImmyBot actions (258 reads, 195 writes and 69 that wait for a confirmation) and holds the ImmyBot credential itself, so the agent never does. It paces ImmyBot's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "immybot.users.list",  intent: "check which ImmyBot account is connected"}# List (users) · read · 1 upstream call
  • 522actionsin one signed file
  • 258readlook, never change
  • 195writecreate and update
  • 69wait for a yesdestructive, confirmed first

Set up

Connect ImmyBot in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect ImmyBot.

    OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.

    • client_secretClient secret VALUE of the Entra ID app registration whose enterprise app is an ImmyBot admin user
    • client_idYour ImmyBot client id
    • hostWhere your ImmyBot lives: your host
    • tenant_idYour ImmyBot tenant id
    account { op: "connections.requirements", service: "immybot" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "immybot.users.list" }# list (users) · read · 1 upstream callcheck { action: "immybot.persons.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

ImmyBot at a glance

Sign-in
OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.
You provide
client_secret
Setup fields
client_idhosttenant_id
Limits we pace to
120 calls a minute, per connection
API covered
Immy.bot API v1 (OpenAPI 3.0.4 swagger.json, Kiota reference copy), at your ImmyBot instance's API base URL, which you enter when connecting
Built from
ImmyBot's documentation, read 23 October 2026OpenAPI spec (GitHub)immy.bot
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
236 of 258 reads, for up to 5 minutes; a write clears what it affects
Shared entities
5, so ask can line ImmyBot up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in ImmyBot.

522 actions in 45 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 258readlook, never change
  • 195writecreate and update
  • 69destructivewait for a confirmation
  1. Provider links

    55

    26 read · 23 write · 6 destructive

    Create (provider links) · List (provider links) · Agents bash install script (provider links) · Agents bash install script with onboarding (provider links)

  2. Computers

    41

    24 read · 15 write · 2 destructive

    List (computers) · Ephemeral agent circuit breaker reset (computers) · List agent status (computers) · List detected computer software (computers)

  3. Target assignments

    40

    19 read · 19 write · 2 destructive

    Create (target assignments) · List (target assignments) · Create change request (target assignments) · Create global (target assignments)

  4. Scripts

    35

    22 read · 8 write · 5 destructive

    Create global (scripts) · Create local (scripts) · Default variables (scripts) · Does script have param block (scripts)

  5. Software

    32

    16 read · 12 write · 4 destructive

    Create global (software) · Create global versions (software) · Create local (software) · Create local versions (software)

  6. Tenants

    22

    10 read · 11 write · 1 destructive

    List (tenants) · Create (tenants) · Bulk create (tenants) · Bulk merge (tenants)

  7. Maintenance tasks

    20

    11 read · 7 write · 2 destructive

    Create global (maintenance tasks) · Create local (maintenance tasks) · Duplicate (maintenance tasks) · Global param block from parameters (maintenance tasks)

  8. Maintenance sessions

    17

    7 read · 6 write · 4 destructive

    Run immy service (maintenance sessions) · Run immy service new (maintenance sessions) · Actions rerun (maintenance sessions) · List dx (maintenance sessions)

37 more areas · 260 actions
  • Dynamic provider types 16
  • Media 14
  • Billing 13
  • Persons 13
  • Schedules 13
  • Users 13
  • User role assignments 12
  • Maintenance actions 11
  • System 11
  • Groups 10
  • Brandings 9
  • Provider agents 9
  • Auth 8
  • Azure 8
  • Roles 8
  • Change requests 7
  • Licenses 7
  • Tags 7
  • Effective permissions 6
  • Inventory tasks 6
  • Notifications 6
  • SMTP configs 6
  • Metrics 5
  • Oauth 5
  • Preferences 5
  • Provider types 5
  • Application logs 4
  • RMM links 4
  • Getting started 3
  • Maintenance emails 3
  • Syncs 3
  • Application locks 2
  • Audits 2
  • Azure errors 2
  • Chocolatey 2
  • Immy agent metadata 1
  • Me 1

Top actions

The ImmyBot API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 7 of ImmyBot's 7 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
immybot.users.listList (users)ImmyBot GET /users.readidentity.user.list474 connectors
immybot.persons.listList (persons)ImmyBot GET /persons.readcrm.contact.list177 connectors
immybot.computers.listList (computers)ImmyBot GET /computers.readdevice.endpoint.list65 connectors
immybot.groups.listList (groups)ImmyBot GET /groups.readidentity.group.list262 connectors
immybot.roles.listList (roles)ImmyBot GET /roles.readidentity.role.list184 connectors
immybot.tenants.listList (tenants)ImmyBot GET /tenants.readplatform.tenant.list70 connectors
immybot.tags.listList (tags)ImmyBot GET /tags.readcrm.tag.list65 connectors
immybot.persons.createCreate (persons)ImmyBot POST /persons.writethis connector
immybot.schedules.listList (schedules)ImmyBot GET /schedules.readthis connector
immybot.tenants.createCreate (tenants)ImmyBot POST /tenants.writethis connector
immybot.schedules.createCreate (schedules)ImmyBot POST /schedules.writethis connector
immybot.scripts.runRun (scripts)ImmyBot POST /scripts/run.destructivethis connector

Try it

Prompts to paste into Claude.

Each one names the ImmyBot actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which ImmyBot devices have not checked in for a week?

    callsimmybot.computers.list

  2. Writewrite

    Create (persons) in ImmyBot. Show me exactly what you will send before you save it.

    callsimmybot.persons.create

  3. Across systemsread

    Which ImmyBot companies have invoices in NetSuite, and how many each?

    callsimmybot.tenants.listnetsuite.views.invoices

Across your systems

ImmyBot, joined to the rest of your business.

One ask fetches from ImmyBot and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which ImmyBot companies have invoices in NetSuite, and how many each?

    immybot.tenants.list + netsuite.views.invoices, on crm.company · NetSuite

  • Which ImmyBot companies have tickets in HubSpot CRM, and how many each?

    immybot.tenants.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorsidentity.user 517crm.company 227crm.contact 192device.endpoint 69platform.tenant 67
ask
ask {  intent: "which ImmyBot companies have invoices in NetSuite, and how many each",  steps: [    { action: "immybot.tenants.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "netsuite.views.invoices", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for ImmyBot

Destructive actions wait for a yes.

69 ImmyBot actions are destructive. The first 10:

  • Run (scripts)immybot.scripts.run
  • Run adhoc metascript (scripts)immybot.scripts.run_adhoc_metascript
  • Delete (users)immybot.users.delete
  • Delete (persons)immybot.persons.delete
  • Delete (schedules)immybot.schedules.delete
  • Delete (target assignments)immybot.target_assignments.delete
  • Bulk delete (users)immybot.users.bulk_delete
  • Bulk delete (tenants)immybot.tenants.bulk_delete
  • Delete local (scripts)immybot.scripts.delete_local
  • Bulk delete (computers)immybot.computers.bulk_delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

doimmybot.users.deleteconfirm_policy: human

Delete (users)?

intent: the user asked me to delete (users)

run suspended · waiting for a named person · key immybot-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "immybot-agent",  allowed_actions: ["immybot.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "immybot.scripts.run", approver: "[email protected]" },    { match: "immybot.scripts.run_adhoc_metascript", approver: "[email protected]" },    { match: "immybot.users.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to ImmyBot only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What ImmyBot costs on actionlake.

Every ImmyBot action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call ImmyBot refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 522 ImmyBot actions
  • 522actions pageeach page of a long list is one call
  • 236reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every ImmyBot action.

522 actions by area: the id your agent calls, what it does, and its effect.

Provider links55
  • immybot.provider_links.agents_bash_install_scriptAgents bash install script (provider links)read
  • immybot.provider_links.agents_bash_install_script_with_onboardingAgents bash install script with onboarding (provider links)read
  • immybot.provider_links.createCreate (provider links)write
  • immybot.provider_links.listList (provider links)read
  • immybot.provider_links.agents_delete_offline_agent_from_computerAgents delete offline agent from computer (provider links)destructive
  • immybot.provider_links.agents_executable_uriAgents executable uri (provider links)read
  • and 49 more in this area
Computers41
  • immybot.computers.ephemeral_agent_circuit_breaker_resetEphemeral agent circuit breaker reset (computers)write
  • immybot.computers.listList (computers)read
  • immybot.computers.list_agent_statusList agent status (computers)read
  • immybot.computers.list_detected_computer_softwareList detected computer software (computers)read
  • immybot.computers.add_tagsAdd tags (computers)write
  • immybot.computers.bulk_deleteBulk delete (computers)destructive
  • and 35 more in this area
Target assignments40
  • immybot.target_assignments.createCreate (target assignments)write
  • immybot.target_assignments.create_change_requestCreate change request (target assignments)write
  • immybot.target_assignments.create_globalCreate global (target assignments)write
  • immybot.target_assignments.listList (target assignments)read
  • immybot.target_assignments.batch_updateBatch update (target assignments)write
  • immybot.target_assignments.create_new_deployment_change_requestCreate new deployment change request (target assignments)write
  • and 34 more in this area
Scripts35
  • immybot.scripts.create_globalCreate global (scripts)write
  • immybot.scripts.create_localCreate local (scripts)write
  • immybot.scripts.default_variablesDefault variables (scripts)read
  • immybot.scripts.does_script_have_param_blockDoes script have param block (scripts)read
  • immybot.scripts.debug_cancelDebug cancel (scripts)destructive
  • immybot.scripts.delete_globalDelete global (scripts)destructive
  • and 29 more in this area
Software32
  • immybot.software.create_globalCreate global (software)write
  • immybot.software.create_global_versionsCreate global versions (software)write
  • immybot.software.create_localCreate local (software)write
  • immybot.software.create_local_versionsCreate local versions (software)write
  • immybot.software.delete_globalDelete global (software)destructive
  • immybot.software.delete_global_versionsDelete global versions (software)destructive
  • and 26 more in this area
Tenants22
  • immybot.tenants.bulk_createBulk create (tenants)write
  • immybot.tenants.bulk_mergeBulk merge (tenants)write
  • immybot.tenants.createCreate (tenants)write
  • immybot.tenants.listList (tenants)read
  • immybot.tenants.activateActivate (tenants)write
  • immybot.tenants.add_tagsAdd tags (tenants)write
  • and 16 more in this area
Maintenance tasks20
  • immybot.maintenance_tasks.create_globalCreate global (maintenance tasks)write
  • immybot.maintenance_tasks.create_localCreate local (maintenance tasks)write
  • immybot.maintenance_tasks.duplicateDuplicate (maintenance tasks)write
  • immybot.maintenance_tasks.global_param_block_from_parametersGlobal param block from parameters (maintenance tasks)read
  • immybot.maintenance_tasks.delete_globalDelete global (maintenance tasks)destructive
  • immybot.maintenance_tasks.delete_localDelete local (maintenance tasks)destructive
  • and 14 more in this area
Maintenance sessions17
  • immybot.maintenance_sessions.actions_rerunActions rerun (maintenance sessions)write
  • immybot.maintenance_sessions.list_dxList dx (maintenance sessions)read
  • immybot.maintenance_sessions.run_immy_serviceRun immy service (maintenance sessions)write
  • immybot.maintenance_sessions.run_immy_service_newRun immy service new (maintenance sessions)write
  • immybot.maintenance_sessions.cancelCancel (maintenance sessions)destructive
  • immybot.maintenance_sessions.cancel_allCancel all (maintenance sessions)destructive
  • and 11 more in this area
Dynamic provider types16
  • immybot.dynamic_provider_types.create_globalCreate global (dynamic provider types)write
  • immybot.dynamic_provider_types.create_localCreate local (dynamic provider types)write
  • immybot.dynamic_provider_types.global_reloadGlobal reload (dynamic provider types)write
  • immybot.dynamic_provider_types.listList (dynamic provider types)read
  • immybot.dynamic_provider_types.delete_globalDelete global (dynamic provider types)destructive
  • immybot.dynamic_provider_types.delete_localDelete local (dynamic provider types)destructive
  • and 10 more in this area
Media14
  • immybot.media.get_globalGet global (media)read
  • immybot.media.list_globalList global (media)read
  • immybot.media.list_localList local (media)read
  • immybot.media.request_file_download_urlRequest file download url (media)read
  • immybot.media.delete_globalDelete global (media)destructive
  • immybot.media.delete_localDelete local (media)destructive
  • and 8 more in this area
Billing13
  • immybot.billing.billing_informationBilling information (billing)write
  • immybot.billing.get_billing_platform_detailsGet billing platform details (billing)read
  • immybot.billing.list_feature_usage_countsList feature usage counts (billing)read
  • immybot.billing.reactivate_subscriptionReactivate subscription (billing)write
  • immybot.billing.cancel_subscriptionCancel subscription (billing)destructive
  • immybot.billing.get_credit_cardsGet credit cards (billing)read
  • and 7 more in this area
Persons13
  • immybot.persons.createCreate (persons)write
  • immybot.persons.listList (persons)read
  • immybot.persons.list_detected_softwareList detected software (persons)read
  • immybot.persons.list_dxList dx (persons)read
  • immybot.persons.add_tagsAdd tags (persons)write
  • immybot.persons.deleteDelete (persons)destructive
  • and 7 more in this area
Schedules13
  • immybot.schedules.bulk_run_nowBulk run now (schedules)write
  • immybot.schedules.createCreate (schedules)write
  • immybot.schedules.duplicateDuplicate (schedules)write
  • immybot.schedules.listList (schedules)read
  • immybot.schedules.bulk_cancelBulk cancel (schedules)destructive
  • immybot.schedules.bulk_deleteBulk delete (schedules)destructive
  • and 7 more in this area
Users13
  • immybot.users.bulk_createBulk create (users)write
  • immybot.users.impersonateImpersonate (users)write
  • immybot.users.invalidate_cacheInvalidate cache (users)write
  • immybot.users.listList (users)read
  • immybot.users.bulk_deleteBulk delete (users)destructive
  • immybot.users.deleteDelete (users)destructive
  • and 7 more in this area
User role assignments12
  • immybot.user_role_assignments.create_category_resourceCreate category resource (user role assignments)destructive
  • immybot.user_role_assignments.create_mspCreate msp (user role assignments)destructive
  • immybot.user_role_assignments.create_ownerCreate owner (user role assignments)destructive
  • immybot.user_role_assignments.listList (user role assignments)read
  • immybot.user_role_assignments.create_specific_resourceCreate specific resource (user role assignments)destructive
  • immybot.user_role_assignments.create_specific_tenantCreate specific tenant (user role assignments)destructive
  • and 6 more in this area
Maintenance actions11
  • immybot.maintenance_actions.latest_action_for_computersLatest action for computers (maintenance actions)read
  • immybot.maintenance_actions.latest_action_for_tenantsLatest action for tenants (maintenance actions)read
  • immybot.maintenance_actions.list_computer_needs_attentionList computer needs attention (maintenance actions)read
  • immybot.maintenance_actions.list_dxList dx (maintenance actions)read
  • immybot.maintenance_actions.get_dx_for_computerGet dx for computer (maintenance actions)read
  • immybot.maintenance_actions.get_latest_for_computerGet latest for computer (maintenance actions)read
  • and 5 more in this area
System11
  • immybot.system.is_immy_support_access_grantedIs immy support access granted (system)read
  • immybot.system.list_timezonesList timezones (system)read
  • immybot.system.request_form_supportRequest form support (system)write
  • immybot.system.request_session_supportRequest session support (system)write
  • immybot.system.disable_immy_support_accessDisable immy support access (system)write
  • immybot.system.enable_immy_support_accessEnable immy support access (system)write
  • and 5 more in this area
Groups10
  • immybot.groups.add_memberAdd member (groups)write
  • immybot.groups.add_members_bulkAdd members bulk (groups)write
  • immybot.groups.createCreate (groups)write
  • immybot.groups.listList (groups)read
  • immybot.groups.deleteDelete (groups)destructive
  • immybot.groups.delete_membersDelete members (groups)destructive
  • and 4 more in this area
Brandings9
  • immybot.brandings.createCreate (brandings)write
  • immybot.brandings.listList (brandings)read
  • immybot.brandings.send_test_emailSend test email (brandings)write
  • immybot.brandings.validate_time_formatValidate time format (brandings)read
  • immybot.brandings.deleteDelete (brandings)destructive
  • immybot.brandings.getGet (brandings)read
  • and 3 more in this area
Provider agents9
  • immybot.provider_agents.identifyIdentify (provider agents)read
  • immybot.provider_agents.list_identification_logsList identification logs (provider agents)read
  • immybot.provider_agents.list_pending_conflictsList pending conflicts (provider agents)read
  • immybot.provider_agents.resolve_agent_failuresResolve agent failures (provider agents)write
  • immybot.provider_agents.bulk_delete_pendingBulk delete pending (provider agents)destructive
  • immybot.provider_agents.get_pendingGet pending (provider agents)read
  • and 3 more in this area
Auth8
  • immybot.auth.getGet (auth)read
  • immybot.auth.get_azure_tenant_auth_detailsGet azure tenant auth details (auth)read
  • immybot.auth.list_me_permissions_tenantsList me permissions tenants (auth)read
  • immybot.auth.request_accessRequest access (auth)write
  • immybot.auth.delete_azure_tenant_auth_detailsDelete azure tenant auth details (auth)destructive
  • immybot.auth.get_ip_addressesGet ip addresses (auth)read
  • and 2 more in this area
Azure8
  • immybot.azure.disambiguate_azure_tenant_typeDisambiguate azure tenant type (azure)read
  • immybot.azure.list_app_registration_optionsList app registration options (azure)read
  • immybot.azure.list_partner_tenant_infosList partner tenant infos (azure)read
  • immybot.azure.preconsent_customer_tenantsPreconsent customer tenants (azure)write
  • immybot.azure.get_partner_tenant_customersGet partner tenant customers (azure)read
  • immybot.azure.sync_details_from_azure_tenantsSync details from azure tenants (azure)write
  • and 2 more in this area
Roles8
  • immybot.roles.cloneClone (roles)write
  • immybot.roles.createCreate (roles)write
  • immybot.roles.listList (roles)read
  • immybot.roles.list_assignmentsList assignments (roles)read
  • immybot.roles.deleteDelete (roles)destructive
  • immybot.roles.getGet (roles)read
  • and 2 more in this area
Change requests7
  • immybot.change_requests.approveApprove (change requests)write
  • immybot.change_requests.commentComment (change requests)write
  • immybot.change_requests.list_dxList dx (change requests)read
  • immybot.change_requests.require_changesRequire changes (change requests)write
  • immybot.change_requests.deleteDelete (change requests)destructive
  • immybot.change_requests.denyDeny (change requests)destructive
  • and 1 more in this area
Licenses7
  • immybot.licenses.createCreate (licenses)write
  • immybot.licenses.getGet (licenses)read
  • immybot.licenses.listList (licenses)read
  • immybot.licenses.list_dxList dx (licenses)read
  • immybot.licenses.deleteDelete (licenses)destructive
  • immybot.licenses.get_request_downloadGet request download (licenses)read
  • and 1 more in this area
Tags7
  • immybot.tags.createCreate (tags)write
  • immybot.tags.getGet (tags)read
  • immybot.tags.listList (tags)read
  • immybot.tags.updateUpdate (tags)write
  • immybot.tags.deleteDelete (tags)destructive
  • immybot.tags.get_authorizationGet authorization (tags)read
  • and 1 more in this area
Effective permissions6
  • immybot.effective_permissions.groups_evaluate_all_assignmentsGroups evaluate all assignments (effective permissions)read
  • immybot.effective_permissions.groups_evaluate_resourceGroups evaluate resource (effective permissions)read
  • immybot.effective_permissions.groups_evaluate_tenantGroups evaluate tenant (effective permissions)read
  • immybot.effective_permissions.users_evaluate_all_assignmentsUsers evaluate all assignments (effective permissions)read
  • immybot.effective_permissions.users_evaluate_resourceUsers evaluate resource (effective permissions)read
  • immybot.effective_permissions.users_evaluate_tenantUsers evaluate tenant (effective permissions)read
Inventory tasks6
  • immybot.inventory_tasks.create_localCreate local (inventory tasks)write
  • immybot.inventory_tasks.listList (inventory tasks)read
  • immybot.inventory_tasks.local_scriptsLocal scripts (inventory tasks)write
  • immybot.inventory_tasks.update_localUpdate local (inventory tasks)write
  • immybot.inventory_tasks.delete_localDelete local (inventory tasks)destructive
  • immybot.inventory_tasks.delete_local_scriptsDelete local scripts (inventory tasks)destructive
Notifications6
  • immybot.notifications.acknowledgeAcknowledge (notifications)write
  • immybot.notifications.listList (notifications)read
  • immybot.notifications.list_dxList dx (notifications)read
  • immybot.notifications.list_unacknowledgedList unacknowledged (notifications)read
  • immybot.notifications.delete_unsilenceDelete unsilence (notifications)destructive
  • immybot.notifications.silenceSilence (notifications)write
SMTP configs6
  • immybot.smtp_configs.createCreate (smtp configs)write
  • immybot.smtp_configs.getGet (smtp configs)read
  • immybot.smtp_configs.listList (smtp configs)read
  • immybot.smtp_configs.send_test_emailSend test email (smtp configs)write
  • immybot.smtp_configs.deleteDelete (smtp configs)destructive
  • immybot.smtp_configs.updateUpdate (smtp configs)write
Metrics5
  • immybot.metrics.circuit_breakers_isolateCircuit breakers isolate (metrics)write
  • immybot.metrics.circuit_breakers_resetCircuit breakers reset (metrics)write
  • immybot.metrics.get_provider_linksGet provider links (metrics)read
  • immybot.metrics.list_circuit_breakersList circuit breakers (metrics)read
  • immybot.metrics.get_provider_links_rate_limit_statisticsGet provider links rate limit statistics (metrics)read
Oauth5
  • immybot.oauth.begin_auth_code_flowBegin auth code flow (oauth)write
  • immybot.oauth.get_oauth_access_tokensGet oauth access tokens (oauth)read
  • immybot.oauth.list_oauth_access_tokensList oauth access tokens (oauth)read
  • immybot.oauth.oauth_access_tokens_refreshOauth access tokens refresh (oauth)write
  • immybot.oauth.delete_oauth_access_tokensDelete oauth access tokens (oauth)destructive
Preferences5
  • immybot.preferences.getGet (preferences)read
  • immybot.preferences.get_tenantsGet tenants (preferences)read
  • immybot.preferences.update_applicationUpdate application (preferences)write
  • immybot.preferences.update_myUpdate my (preferences)write
  • immybot.preferences.update_tenantsUpdate tenants (preferences)write
Provider types5
  • immybot.provider_types.bind_parametersBind parameters (provider types)read
  • immybot.provider_types.listList (provider types)read
  • immybot.provider_types.list_client_group_types_client_groupsList client group types client groups (provider types)read
  • immybot.provider_types.list_device_group_types_device_groupsList device group types device groups (provider types)read
  • immybot.provider_types.get_form_dropdown_optionsGet form dropdown options (provider types)read
Application logs4
  • immybot.application_logs.get_source_contextsGet source contexts (application logs)read
  • immybot.application_logs.source_contextSource context (application logs)write
  • immybot.application_logs.source_context_clearSource context clear (application logs)destructive
  • immybot.application_logs.source_context_clear_allSource context clear all (application logs)destructive
RMM links4
  • immybot.rmm_links.createCreate (rmm links)write
  • immybot.rmm_links.getGet (rmm links)read
  • immybot.rmm_links.listList (rmm links)read
  • immybot.rmm_links.updateUpdate (rmm links)write
Getting started3
  • immybot.getting_started.checklist_completeChecklist complete (getting started)write
  • immybot.getting_started.checklist_resetChecklist reset (getting started)write
  • immybot.getting_started.get_checklistGet checklist (getting started)read
Maintenance emails3
  • immybot.maintenance_emails.postpone_jobsPostpone jobs (maintenance emails)write
  • immybot.maintenance_emails.reboot_nowReboot now (maintenance emails)write
  • immybot.maintenance_emails.run_jobs_nowRun jobs now (maintenance emails)write
Syncs3
  • immybot.syncs.azure_user_syncAzure user sync (syncs)write
  • immybot.syncs.expire_pending_sessionsExpire pending sessions (syncs)write
  • immybot.syncs.trigger_user_affinity_syncTrigger user affinity sync (syncs)write
Application locks2
  • immybot.application_locks.listList (application locks)read
  • immybot.application_locks.request_cancellationRequest cancellation (application locks)destructive
Audits2
  • immybot.audits.list_global_dxList global dx (audits)read
  • immybot.audits.list_local_dxList local dx (audits)read
Azure errors2
  • immybot.azure_errors.list_dxList dx (azure errors)read
  • immybot.azure_errors.list_for_tenant_dxList for tenant dx (azure errors)read
Chocolatey2
  • immybot.chocolatey.list_find_packages_by_idList find packages by id (chocolatey)read
  • immybot.chocolatey.list_searchList search (chocolatey)read
Immy agent metadata1
  • immybot.immy_agent_metadata.get_agent_hashGet agent hash (immy agent metadata)read
Me1
  • immybot.me.get_permissionsGet permissions (me)read

This index shows a sample of each area. All 522 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The ImmyBot MCP server, answered.

Is there an ImmyBot MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 522 ImmyBot actions across provider links, computers, target assignments and scripts, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ImmyBot.

What do I need to connect ImmyBot?

Client secret VALUE of the Entra ID app registration whose enterprise app is an ImmyBot admin user. Plus your client id, your host and your tenant id. The free call account { op: "connections.requirements", service: "immybot" } lists exactly what to paste.

Can an AI agent delete or change things in ImmyBot?

Only if its key allows it, and only with an explicit confirmation. 69 ImmyBot actions are destructive, including run (scripts), run adhoc metascript (scripts) and delete (users). Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my ImmyBot API limit?

actionlake paces every call to the limits in the ImmyBot service file: 120 calls a minute per connection. Repeated reads are answered from cache (236 ImmyBot actions can be), which never reaches ImmyBot.

What does an ImmyBot action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (522 ImmyBot actions page). Cache hits, searches, dry runs and calls ImmyBot refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which ImmyBot API does it cover?

The immy.bot API v1 (OpenAPI 3.0.4 swagger.json, Kiota reference copy) at your ImmyBot instance's API base URL, which you enter when connecting. It is built from ImmyBot's documentation as read on 23 October 2026. 522 actions in 45 areas, each one in the signed service file (version 1.0.0).

Can I combine ImmyBot with my other systems?

Yes. ask joins ImmyBot to NetSuite or HubSpot CRM on the same customer and returns the answer rather than every row. ImmyBot maps crm.company, which 227 other connectors also map.

Does actionlake keep my ImmyBot data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your ImmyBot credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent ImmyBot today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.