Skip to content

Connectors · Service desk & support

SysAid MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to SysAid and the rest of your systems. It gives your agent 89 SysAid actions (39 reads, 35 writes and 15 that wait for a confirmation) and holds the SysAid credential itself, so the agent never does. It paces SysAid'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: "sysaid.end_users.list",  intent: "check which SysAid account is connected"}# Get List of End Users · read · 1 upstream call
  • 89actionsin one signed file
  • 39readlook, never change
  • 35writecreate and update
  • 15wait for a yesdestructive, confirmed first

Set up

Connect SysAid 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 SysAid.

    Session login. actionlake opens the session and renews it when it expires. actionlake stores what you paste write-only, sealed under your tenant's key.

    • account_idSysAid account ID (the [account] in https://[account].sysaidit.com; shown under your SysAid account details)
    • client_idApp Key Client ID (SysAid > your profile > App Keys, or the Create App Key API)
    • client_secretApp Key Client Secret, shown once when the App Key is created
    • hostWhere your SysAid lives: your host
    account { op: "connections.requirements", service: "sysaid" }
    # 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: "sysaid.end_users.list" }# get list of end users · read · 1 upstream callcheck { action: "sysaid.end_users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

SysAid at a glance

Sign-in
Session login. actionlake opens the session and renews it when it expires.
You provide
account_idclient_idclient_secret
Setup fields
host
Limits we pace to
1,000 calls per 5 minutes, per connection
API covered
SysAid Public API v1 (OpenAPI 3.1.0, https://{account}.sysaidit.com/connect/v1), at your SysAid instance's API base URL, which you enter when connecting (path /connect/v1)
Built from
SysAid's documentation, read 23 October 2026developers.sysaid.comdevelopers.sysaid.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
39 of 39 reads, for up to 5 minutes; a write clears what it affects
Shared entities
8, so ask can line SysAid up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in SysAid.

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

  • 39readlook, never change
  • 35writecreate and update
  • 15destructivewait for a confirmation
  1. Agents

    8

    2 read · 4 write · 2 destructive

    Get List of Agents · Create a New Agent · Get Agent by ID · Update Agent Details

  2. End users

    8

    2 read · 4 write · 2 destructive

    Get List of End Users · Create a New End User · Get End user by ID · Update End User Details

  3. Service records

    8

    3 read · 4 write · 1 destructive

    Search Service Records by Specific Parameters · Create a Service Record · Get a Service Record by ID · Update Service Record Details

  4. License applications

    6

    3 read · 2 write · 1 destructive

    Create Application · Get a List of Applications · Get a List of Application Users · Get an Application by ID

  5. License contracts

    6

    2 read · 3 write · 1 destructive

    Get a List of Contracts · Create a Contract · Get a Contract by ID · Update a Contract

  6. Assets

    5

    2 read · 2 write · 1 destructive

    Get list of assets · Create a New Asset · Get an Asset by ID · Update an Asset

  7. Cis

    5

    2 read · 2 write · 1 destructive

    Create a New CI · Get List of CIs · Get a CI by ID · Update the CI by ID

  8. Companies

    5

    2 read · 2 write · 1 destructive

    Get List of Companies · Create a New Company · Get Company by ID · Update a Company

16 more areas · 38 actions
  • Webhooks 5
  • CI relation types 4
  • Groups 4
  • CI relations 3
  • Service record notes 3
  • Service record related items 3
  • App keys 2
  • Attachments 2
  • CI types 2
  • Service record action items 2
  • Service record activities 2
  • Templates 2
  • Categories 1
  • Custom fields 1
  • Indexes 1
  • License users 1

Top actions

The SysAid API, shaped for agents.

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

ActionWhat it doesEffectSame name in
sysaid.end_users.listGet List of End UsersRetrieve a paginated list of end users in your SysAid account.readcrm.contact.list177 connectors
sysaid.assets.listGet list of assetsRetrieves a list of assets.readasset.asset.list42 connectors
sysaid.companies.listGet List of CompaniesRetrieve a list of companies configured in your SysAid account.readcrm.company.list162 connectors
sysaid.agents.listGet List of AgentsRetrieve a paginated list of agents in your account.readidentity.user.list474 connectors
sysaid.groups.listGet list of groupsRetrieves a paginated list of groups.readidentity.group.list262 connectors
sysaid.end_users.createCreate a New End UserCreates a new end user in your SysAid account.writecrm.contact.create161 connectors
sysaid.license_contracts.listGet a List of ContractsRetrieve a paginated list of contracts in your SysAid account.readasset.license_record.list6 connectors
sysaid.companies.createCreate a New CompanyCreate a new company in your SysAid account.writecrm.company.create142 connectors
sysaid.assets.createCreate a New AssetCreate a new asset in your SysAid account.writeasset.asset.create27 connectors
sysaid.agents.createCreate a New AgentCreate a new IT Agent user in your SysAid account.writeidentity.user.create262 connectors
sysaid.groups.createCreate a New GroupCreates a new user group in your SysAid account.writeidentity.group.create205 connectors
sysaid.end_users.deleteDelete End UserPermanently delete an end user from your SysAid account using their unique ID.destructivecrm.contact.delete147 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

    Which SysAid tickets have been open the longest? Show me the ten oldest with their status.

    callssysaid.service_records.search

  2. Writewrite

    Create a New End User in SysAid. Show me exactly what you will send before you save it.

    callssysaid.end_users.create

  3. Across systemsread

    Which SysAid companies have invoices in ConnectWise PSA, and how many each?

    callssysaid.companies.listconnectwise_manage.invoices.list

Across your systems

SysAid, joined to the rest of your business.

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

  • Which SysAid companies have invoices in ConnectWise PSA, and how many each?

    sysaid.companies.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

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

    sysaid.companies.list + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorsidentity.user 517identity.group 239crm.company 227crm.contact 192service.ticket 62asset.asset 40service.ticket_note 5asset.license_record 2
ask
ask {  intent: "which SysAid companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "sysaid.companies.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", 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 SysAid

Destructive actions wait for a yes.

15 SysAid actions are destructive. These are all of them:

  • Delete End Usersysaid.end_users.delete
  • Delete Company by IDsysaid.companies.delete
  • Delete an Assetsysaid.assets.delete
  • Delete Agentsysaid.agents.delete
  • Delete a Contractsysaid.license_contracts.delete
  • Delete a Service Recordsysaid.service_records.delete
  • Delete a CI by IDsysaid.cis.delete
  • Delete an application keysysaid.app_keys.delete
  • Delete webhook subscriber by IDsysaid.webhooks.delete
  • Delete a CI Relation For a Given CI IDsysaid.ci_relations.delete
  • Delete a CI Relation Type by IDsysaid.ci_relation_types.delete
  • Remove Agent from Groupssysaid.agents.remove_from_groups
  • Delete an Applicationsysaid.license_applications.delete
  • Remove End User from Groupssysaid.end_users.remove_from_groups
  • Unlink Knowledge Base Article from Service Recordsysaid.service_record_related_items.remove_kb_article

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.

dosysaid.end_users.deleteconfirm_policy: human

Delete End User?

intent: the user asked me to delete End User

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

Cost

What SysAid costs on actionlake.

Every SysAid action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call SysAid 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 89 SysAid actions
  • 89actions pageeach page of a long list is one call
  • 39reads 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 SysAid action.

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

Agents8
  • sysaid.agents.add_to_groupsAdd Agent to Groupswrite
  • sysaid.agents.convert_to_end_userConvert Agent to End userwrite
  • sysaid.agents.createCreate a New Agentwrite
  • sysaid.agents.deleteDelete Agentdestructive
  • sysaid.agents.getGet Agent by IDread
  • sysaid.agents.listGet List of Agentsread
  • sysaid.agents.remove_from_groupsRemove Agent from Groupsdestructive
  • sysaid.agents.updateUpdate Agent Detailswrite
End users8
  • sysaid.end_users.add_to_groupsAdd End User to Groupswrite
  • sysaid.end_users.convert_to_agentConvert End user to Agentwrite
  • sysaid.end_users.createCreate a New End Userwrite
  • sysaid.end_users.deleteDelete End Userdestructive
  • sysaid.end_users.getGet End user by IDread
  • sysaid.end_users.listGet List of End Usersread
  • sysaid.end_users.remove_from_groupsRemove End User from Groupsdestructive
  • sysaid.end_users.updateUpdate End User Detailswrite
Service records8
  • sysaid.service_records.createCreate a Service Recordwrite
  • sysaid.service_records.deleteDelete a Service Recorddestructive
  • sysaid.service_records.getGet a Service Record by IDread
  • sysaid.service_records.get_templateGet a Template By The Service Record IDread
  • sysaid.service_records.resolveResolve a Service Recordwrite
  • sysaid.service_records.searchSearch Service Records by Specific Parametersread
  • sysaid.service_records.send_messageSend a Message from a Service Recordwrite
  • sysaid.service_records.updateUpdate Service Record Detailswrite
License applications6
  • sysaid.license_applications.createCreate Applicationwrite
  • sysaid.license_applications.deleteDelete an Applicationdestructive
  • sysaid.license_applications.getGet an Application by IDread
  • sysaid.license_applications.listGet a List of Applicationsread
  • sysaid.license_applications.list_usersGet a List of Application Usersread
  • sysaid.license_applications.updateUpdate Application Detailswrite
License contracts6
  • sysaid.license_contracts.createCreate a Contractwrite
  • sysaid.license_contracts.create_bulkCreate Multiple Contractswrite
  • sysaid.license_contracts.deleteDelete a Contractdestructive
  • sysaid.license_contracts.getGet a Contract by IDread
  • sysaid.license_contracts.listGet a List of Contractsread
  • sysaid.license_contracts.updateUpdate a Contractwrite
Assets5
  • sysaid.assets.createCreate a New Assetwrite
  • sysaid.assets.deleteDelete an Assetdestructive
  • sysaid.assets.getGet an Asset by IDread
  • sysaid.assets.listGet list of assetsread
  • sysaid.assets.updateUpdate an Assetwrite
Cis5
  • sysaid.cis.createCreate a New CIwrite
  • sysaid.cis.deleteDelete a CI by IDdestructive
  • sysaid.cis.getGet a CI by IDread
  • sysaid.cis.listGet List of CIsread
  • sysaid.cis.updateUpdate the CI by IDwrite
Companies5
  • sysaid.companies.createCreate a New Companywrite
  • sysaid.companies.deleteDelete Company by IDdestructive
  • sysaid.companies.getGet Company by IDread
  • sysaid.companies.listGet List of Companiesread
  • sysaid.companies.updateUpdate a Companywrite
Webhooks5
  • sysaid.webhooks.createCreate a new webhook subscriptionwrite
  • sysaid.webhooks.deleteDelete webhook subscriber by IDdestructive
  • sysaid.webhooks.getGet webhook subscriber by IDread
  • sysaid.webhooks.listGet webhooks by account IDread
  • sysaid.webhooks.simulateSimulate webhook eventwrite
CI relation types4
  • sysaid.ci_relation_types.createCreate a CI Relation Typewrite
  • sysaid.ci_relation_types.deleteDelete a CI Relation Type by IDdestructive
  • sysaid.ci_relation_types.listGet CI Relation Typesread
  • sysaid.ci_relation_types.updateUpdate a CI Relation Type by IDwrite
Groups4
  • sysaid.groups.createCreate a New Groupwrite
  • sysaid.groups.getGet Group by IDread
  • sysaid.groups.listGet list of groupsread
  • sysaid.groups.list_membersGet Group Membersread
CI relations3
  • sysaid.ci_relations.createCreate a CI Relation For a Given CI IDwrite
  • sysaid.ci_relations.deleteDelete a CI Relation For a Given CI IDdestructive
  • sysaid.ci_relations.listGet CI Relations for a Specific CI by IDread
Service record notes3
  • sysaid.service_record_notes.createAdd a Note to a Service Recordwrite
  • sysaid.service_record_notes.listGet a List of Service Record Notesread
  • sysaid.service_record_notes.searchSearch Service Record Notesread
Service record related items3
  • sysaid.service_record_related_items.add_kb_articlesLinking Knowledge Base Articles to Service Recordswrite
  • sysaid.service_record_related_items.listGet a List of Related Items for a Specific Service Recordread
  • sysaid.service_record_related_items.remove_kb_articleUnlink Knowledge Base Article from Service Recorddestructive
App keys2
  • sysaid.app_keys.deleteDelete an application keydestructive
  • sysaid.app_keys.listGet applications by account ID (SysAdmin only)read
Attachments2
  • sysaid.attachments.createCreate new attachmentwrite
  • sysaid.attachments.create_upload_urlGenerates a presigned url for an attachment uploadwrite
CI types2
  • sysaid.ci_types.listGet a List of CI Typesread
  • sysaid.ci_types.list_subtypesGet a List of CI Subtypes for the Specific CI Typeread
Service record action items2
  • sysaid.service_record_action_items.listReturns Service Record's Action Itemsread
  • sysaid.service_record_action_items.updateUpdates An Action Item Statuswrite
Service record activities2
  • sysaid.service_record_activities.createAdd Activity to a Service Recordwrite
  • sysaid.service_record_activities.searchGet a List of Service Record Activitiesread
Templates2
  • sysaid.templates.getGet an Aervice Record Template By IDread
  • sysaid.templates.listSearch Service Record Templatesread
Categories1
  • sysaid.categories.listGet Category Hierarchyread
Custom fields1
  • sysaid.custom_fields.listGet a List of Custom Fieldsread
Indexes1
  • sysaid.indexes.listGet indexesread
License users1
  • sysaid.license_users.listGet a List of Application Users Across All Applicationsread

Questions

The SysAid MCP server, answered.

Is there a SysAid MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 89 SysAid actions across agents, end users, service records and license applications, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by SysAid.

What do I need to connect SysAid?

SysAid account ID (the [account] in https://[account].sysaidit.com; shown under your SysAid account details), App Key Client ID (SysAid > your profile > App Keys, or the Create App Key API) and App Key Client Secret, shown once when the App Key is created. Plus your host. The free call account { op: "connections.requirements", service: "sysaid" } lists exactly what to paste.

Can an AI agent delete or change things in SysAid?

Only if its key allows it, and only with an explicit confirmation. 15 SysAid actions are destructive, including delete End User, delete Company by ID and delete an Asset. 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 SysAid API limit?

actionlake paces every call to the limits in the SysAid service file: 1,000 calls per 5 minutes per connection. Repeated reads are answered from cache (39 SysAid actions can be), which never reaches SysAid.

What does a SysAid action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (89 SysAid actions page). Cache hits, searches, dry runs and calls SysAid 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 SysAid API does it cover?

The SysAid Public API v1 (OpenAPI 3.1.0, https://{account}.sysaidit.com/connect/v1) at your SysAid instance's API base URL, which you enter when connecting (path /connect/v1). It is built from SysAid's documentation as read on 23 October 2026. 89 actions in 24 areas, each one in the signed service file (version 1.0.0).

Can I combine SysAid with my other systems?

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

Does actionlake keep my SysAid 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 SysAid 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 SysAid today.

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