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/mcpdo { 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.
- 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 - 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 createdhostWhere your SysAid lives: your host
account { op: "connections.requirements", service: "sysaid" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates 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
Agents
82 read · 4 write · 2 destructive
Get List of Agents · Create a New Agent · Get Agent by ID · Update Agent Details
End users
82 read · 4 write · 2 destructive
Get List of End Users · Create a New End User · Get End user by ID · Update End User Details
Service records
83 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
License applications
63 read · 2 write · 1 destructive
Create Application · Get a List of Applications · Get a List of Application Users · Get an Application by ID
License contracts
62 read · 3 write · 1 destructive
Get a List of Contracts · Create a Contract · Get a Contract by ID · Update a Contract
Assets
52 read · 2 write · 1 destructive
Get list of assets · Create a New Asset · Get an Asset by ID · Update an Asset
Cis
52 read · 2 write · 1 destructive
Create a New CI · Get List of CIs · Get a CI by ID · Update the CI by ID
Companies
52 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.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
sysaid.end_users.listGet List of End Users | Retrieve a paginated list of end users in your SysAid account. | read | crm.contact.list177 connectors |
sysaid.assets.listGet list of assets | Retrieves a list of assets. | read | asset.asset.list42 connectors |
sysaid.companies.listGet List of Companies | Retrieve a list of companies configured in your SysAid account. | read | crm.company.list162 connectors |
sysaid.agents.listGet List of Agents | Retrieve a paginated list of agents in your account. | read | identity.user.list474 connectors |
sysaid.groups.listGet list of groups | Retrieves a paginated list of groups. | read | identity.group.list262 connectors |
sysaid.end_users.createCreate a New End User | Creates a new end user in your SysAid account. | write | crm.contact.create161 connectors |
sysaid.license_contracts.listGet a List of Contracts | Retrieve a paginated list of contracts in your SysAid account. | read | asset.license_record.list6 connectors |
sysaid.companies.createCreate a New Company | Create a new company in your SysAid account. | write | crm.company.create142 connectors |
sysaid.assets.createCreate a New Asset | Create a new asset in your SysAid account. | write | asset.asset.create27 connectors |
sysaid.agents.createCreate a New Agent | Create a new IT Agent user in your SysAid account. | write | identity.user.create262 connectors |
sysaid.groups.createCreate a New Group | Creates a new user group in your SysAid account. | write | identity.group.create205 connectors |
sysaid.end_users.deleteDelete End User | Permanently delete an end user from your SysAid account using their unique ID. | destructive | crm.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.
- Readread
Which SysAid tickets have been open the longest? Show me the ten oldest with their status.
calls
sysaid.service_records.search - Writewrite
Create a New End User in SysAid. Show me exactly what you will send before you save it.
calls
sysaid.end_users.create - Across systemsread
Which SysAid companies have invoices in ConnectWise PSA, and how many each?
calls
sysaid.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, oncrm.company· ConnectWise PSAWhich SysAid companies have invoices in NetSuite, and how many each?
sysaid.companies.list+netsuite.views.invoices, oncrm.company· NetSuite
identity.user 517identity.group 239crm.company 227crm.contact 192service.ticket 62asset.asset 40service.ticket_note 5asset.license_record 2ask { 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"] } } ]}Governance for SysAid
Destructive actions wait for a yes.
15 SysAid actions are destructive. These are all of them:
- Delete End User
sysaid.end_users.delete - Delete Company by ID
sysaid.companies.delete - Delete an Asset
sysaid.assets.delete - Delete Agent
sysaid.agents.delete - Delete a Contract
sysaid.license_contracts.delete - Delete a Service Record
sysaid.service_records.delete - Delete a CI by ID
sysaid.cis.delete - Delete an application key
sysaid.app_keys.delete - Delete webhook subscriber by ID
sysaid.webhooks.delete - Delete a CI Relation For a Given CI ID
sysaid.ci_relations.delete - Delete a CI Relation Type by ID
sysaid.ci_relation_types.delete - Remove Agent from Groups
sysaid.agents.remove_from_groups - Delete an Application
sysaid.license_applications.delete - Remove End User from Groups
sysaid.end_users.remove_from_groups - Unlink Knowledge Base Article from Service Record
sysaid.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.
Delete End User?
intent: the user asked me to delete End User
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]" } ]}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
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 Groupswritesysaid.agents.convert_to_end_userConvert Agent to End userwritesysaid.agents.createCreate a New Agentwritesysaid.agents.deleteDelete Agentdestructivesysaid.agents.getGet Agent by IDreadsysaid.agents.listGet List of Agentsreadsysaid.agents.remove_from_groupsRemove Agent from Groupsdestructivesysaid.agents.updateUpdate Agent Detailswrite
End users8
sysaid.end_users.add_to_groupsAdd End User to Groupswritesysaid.end_users.convert_to_agentConvert End user to Agentwritesysaid.end_users.createCreate a New End Userwritesysaid.end_users.deleteDelete End Userdestructivesysaid.end_users.getGet End user by IDreadsysaid.end_users.listGet List of End Usersreadsysaid.end_users.remove_from_groupsRemove End User from Groupsdestructivesysaid.end_users.updateUpdate End User Detailswrite
Service records8
sysaid.service_records.createCreate a Service Recordwritesysaid.service_records.deleteDelete a Service Recorddestructivesysaid.service_records.getGet a Service Record by IDreadsysaid.service_records.get_templateGet a Template By The Service Record IDreadsysaid.service_records.resolveResolve a Service Recordwritesysaid.service_records.searchSearch Service Records by Specific Parametersreadsysaid.service_records.send_messageSend a Message from a Service Recordwritesysaid.service_records.updateUpdate Service Record Detailswrite
License applications6
sysaid.license_applications.createCreate Applicationwritesysaid.license_applications.deleteDelete an Applicationdestructivesysaid.license_applications.getGet an Application by IDreadsysaid.license_applications.listGet a List of Applicationsreadsysaid.license_applications.list_usersGet a List of Application Usersreadsysaid.license_applications.updateUpdate Application Detailswrite
License contracts6
sysaid.license_contracts.createCreate a Contractwritesysaid.license_contracts.create_bulkCreate Multiple Contractswritesysaid.license_contracts.deleteDelete a Contractdestructivesysaid.license_contracts.getGet a Contract by IDreadsysaid.license_contracts.listGet a List of Contractsreadsysaid.license_contracts.updateUpdate a Contractwrite
Assets5
sysaid.assets.createCreate a New Assetwritesysaid.assets.deleteDelete an Assetdestructivesysaid.assets.getGet an Asset by IDreadsysaid.assets.listGet list of assetsreadsysaid.assets.updateUpdate an Assetwrite
Cis5
sysaid.cis.createCreate a New CIwritesysaid.cis.deleteDelete a CI by IDdestructivesysaid.cis.getGet a CI by IDreadsysaid.cis.listGet List of CIsreadsysaid.cis.updateUpdate the CI by IDwrite
Companies5
sysaid.companies.createCreate a New Companywritesysaid.companies.deleteDelete Company by IDdestructivesysaid.companies.getGet Company by IDreadsysaid.companies.listGet List of Companiesreadsysaid.companies.updateUpdate a Companywrite
Webhooks5
sysaid.webhooks.createCreate a new webhook subscriptionwritesysaid.webhooks.deleteDelete webhook subscriber by IDdestructivesysaid.webhooks.getGet webhook subscriber by IDreadsysaid.webhooks.listGet webhooks by account IDreadsysaid.webhooks.simulateSimulate webhook eventwrite
CI relation types4
sysaid.ci_relation_types.createCreate a CI Relation Typewritesysaid.ci_relation_types.deleteDelete a CI Relation Type by IDdestructivesysaid.ci_relation_types.listGet CI Relation Typesreadsysaid.ci_relation_types.updateUpdate a CI Relation Type by IDwrite
Groups4
sysaid.groups.createCreate a New Groupwritesysaid.groups.getGet Group by IDreadsysaid.groups.listGet list of groupsreadsysaid.groups.list_membersGet Group Membersread
CI relations3
sysaid.ci_relations.createCreate a CI Relation For a Given CI IDwritesysaid.ci_relations.deleteDelete a CI Relation For a Given CI IDdestructivesysaid.ci_relations.listGet CI Relations for a Specific CI by IDread
Service record notes3
sysaid.service_record_notes.createAdd a Note to a Service Recordwritesysaid.service_record_notes.listGet a List of Service Record Notesreadsysaid.service_record_notes.searchSearch Service Record Notesread
Service record related items3
sysaid.service_record_related_items.add_kb_articlesLinking Knowledge Base Articles to Service Recordswritesysaid.service_record_related_items.listGet a List of Related Items for a Specific Service Recordreadsysaid.service_record_related_items.remove_kb_articleUnlink Knowledge Base Article from Service Recorddestructive
App keys2
sysaid.app_keys.deleteDelete an application keydestructivesysaid.app_keys.listGet applications by account ID (SysAdmin only)read
Attachments2
sysaid.attachments.createCreate new attachmentwritesysaid.attachments.create_upload_urlGenerates a presigned url for an attachment uploadwrite
CI types2
sysaid.ci_types.listGet a List of CI Typesreadsysaid.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 Itemsreadsysaid.service_record_action_items.updateUpdates An Action Item Statuswrite
Service record activities2
sysaid.service_record_activities.createAdd Activity to a Service Recordwritesysaid.service_record_activities.searchGet a List of Service Record Activitiesread
Templates2
sysaid.templates.getGet an Aervice Record Template By IDreadsysaid.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.