Skip to content

Connectors · MSP & PSA

Autotask MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Autotask and the rest of your systems. It gives your agent 62 Autotask actions (34 reads, 20 writes and 8 that wait for a confirmation) and holds the Autotask credential itself, so the agent never does. It paces Autotask'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: "autotask.tickets.query",  intent: "check which Autotask account is connected"}# Search Autotask tickets · read · 1 upstream call
  • 62actionsin one signed file
  • 34readlook, never change
  • 20writecreate and update
  • 8wait for a yesdestructive, confirmed first

Set up

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

    Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • integration_codeAPI Integration Code
    • usernameAPI user name
    • secretAPI user secret

    Found for you at connect: base url.

    account { op: "connections.requirements", service: "autotask" }
    # 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: "autotask.tickets.query" }# search autotask tickets · read · 1 upstream callcheck { action: "autotask.tickets.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Autotask at a glance

Sign-in
Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
integration_codeusernamesecret
Found for you
base url
Limits we pace to
10,000 calls an hour, per connection
API covered
Autotask PSA API 1.0, at your Autotask instance's API base URL, which you enter when connecting (path /V1.0)
Built from
Autotask's documentation, read 1 September 2026autotask.net
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
34 of 34 reads, for up to 1 minute; a write clears what it affects
Ready-made plans
6 in the store
Shared entities
3, so ask can line Autotask up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Autotask.

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

  • 34readlook, never change
  • 20writecreate and update
  • 8destructivewait for a confirmation
  1. PSA

    53

    25 read · 20 write · 8 destructive

    Create an Autotask ticket · Create an Autotask project · Update an Autotask ticket · Get one Autotask project

  2. Companies

    2

    2 read · 0 write · 0 destructive

    Get one Autotask company · Search Autotask companies

  3. Ticketing

    2

    2 read · 0 write · 0 destructive

    Search Autotask tickets · Get one Autotask ticket

  4. Billing

    1

    1 read · 0 write · 0 destructive

    Search Autotask invoices

  5. Contacts

    1

    1 read · 0 write · 0 destructive

    Search Autotask contacts

  6. Projects

    1

    1 read · 0 write · 0 destructive

    Search Autotask projects

  7. Resources

    1

    1 read · 0 write · 0 destructive

    Search Autotask resources

  8. Time

    1

    1 read · 0 write · 0 destructive

    Search Autotask time entries

Top actions

The Autotask API, shaped for agents.

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

ActionWhat it doesEffectSame name in
autotask.tickets.createCreate an Autotask ticketRaise a service ticket against a company.writeservice.ticket.create54 connectors
autotask.tickets.querySearch Autotask ticketsSearch Autotask PSA service tickets by status, company, queue, assigned resource, priority or date — or with a raw search_filter document.readservice.ticket.query8 connectors
autotask.projects.createCreate an Autotask projectCreate the project header. Set dates correctly first: startDateTime cannot change once any phase or task exists.writework.project.create102 connectors
autotask.projects.getGet one Autotask projectFetch a single project by its numeric id.readwork.project.get106 connectors
autotask.tickets.deleteDelete an Autotask ticketDelete one ticket by id. Irreversible.destructiveservice.ticket.delete42 connectors
autotask.companies.createCreate an Autotask companyAdd a customer, prospect or vendor.writecrm.company.create142 connectors
autotask.companies.getGet one Autotask companyFetch a single Autotask PSA company by its numeric id.readcrm.company.get162 connectors
autotask.tasks.createAdd a task to an Autotask projectCreate a task under a project, optionally inside a phase.writework.task.create127 connectors
autotask.ticket_notes.createAdd a note to an Autotask ticketAppend a note to an existing ticket.writeservice.ticket_note.create24 connectors
autotask.contracts.createCreate an Autotask contractCreate a fixed-price, T&M, block-hour, retainer or recurring-service contract against a company.writeservice.contract.create19 connectors
autotask.time_entries.createLog time against an Autotask ticketRecord worked time on a ticket or task.writework.time_entry.create56 connectors
autotask.contacts.createCreate an Autotask contactAdd a person at a company.writecrm.contact.create161 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

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

    callsautotask.tickets.query

  2. Planwrite

    Record delivered hardware against a client and open a deployment ticket in Autotask.

    callsautotask.companies.getautotask.configuration_items.queryautotask.configuration_items.updateautotask.tickets.createautotask.tickets.get+1 more

  3. Planwrite

    Log billable time against a ticket and note it in Autotask.

    callsautotask.tickets.getautotask.billing_codes.queryautotask.time_entries.createautotask.ticket_notes.create

  4. Writewrite

    Create an Autotask ticket in Autotask. Show me exactly what you will send before you save it.

    callsautotask.tickets.create

  5. Across systemsread

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

    callsautotask.companies.querynetsuite.views.invoices

Across your systems

Autotask, joined to the rest of your business.

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

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

    autotask.companies.query + netsuite.views.invoices, on crm.company · NetSuite

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

    autotask.companies.query + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorscrm.company 227work.project 116service.ticket 62
ask
ask {  intent: "which Autotask companies have invoices in NetSuite, and how many each",  steps: [    { action: "autotask.companies.query", 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.

The plan store

Ready-made plans for Autotask.

6 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

  1. Sweep contracts nearing their end date and raise renewal tickets

    Use it when Someone asks for renewal tickets to be raised for contracts that are about to expire.

    A person decidesRaise one renewal ticket in queue queue id for each contract expiring after ends after.

    Effect
    write
    Steps
    4 · loops
    Needs
    ends after and queue id
    Install
    autotask-expiring-contract-renewal-sweep
  2. Log billable time against a ticket and note it

    Use it when An engineer needs hours booked to a ticket with a matching note on the ticket.

    Effect
    write
    Steps
    4
    Needs
    date worked, hours worked, resource id, role id, summary and ticket id
    Install
    autotask-log-time-against-ticket
  3. Onboard a new client company with a primary contact and contract

    Use it when A new client has been won and needs its Autotask company, contact and contract set up.

    A person decidesCreate a contract type contract 'contract name' for company name running start date to end date.

    Effect
    write
    Steps
    5
    Needs
    company name, company type, contact first name, contact last name, contract name, contract type, end date, owner resource id, phone, queue id and start date
    Install
    autotask-onboard-new-client
  4. Spin up a delivery project from an existing contract

    Use it when A signed contract needs its delivery project, phase and initial task list created.

    A person decidesCreate project 'project name' for company company id under contract contractName, running start to end.

    Effect
    write
    Steps
    5 · loops
    Needs
    company id, contract id, end, lead resource id, phase title, project name, project type, start and tasks
    Install
    autotask-spin-up-project-from-contract
  5. Record delivered hardware against a client and open a deployment ticket

    Use it when Hardware has arrived for a client and needs recording plus a deployment ticket.

    Effect
    write
    Steps
    6
    Needs
    company id, configuration item id, install date, location, queue id and serial number
    Install
    autotask-new-hardware-asset-intake
  6. Remove tasks from a cancelled project after sign-off

    Use it when A project was cancelled and its remaining task list has to be cleared out.

    A person decidesPermanently delete all listed tasks on project 'projectName'. This cannot be undone.

    Effect
    destructive
    Steps
    4 · loops
    Needs
    project id
    Install
    autotask-purge-cancelled-project-tasks
install a plan
account { op: "plans.install", slug: "autotask-expiring-contract-renewal-sweep" }
# then ask for it by name; a schedule can run it on a timetable

Governance for Autotask

Destructive actions wait for a yes.

8 Autotask actions are destructive. These are all of them:

  • Delete an Autotask ticketautotask.tickets.delete
  • Delete an Autotask project taskautotask.tasks.delete
  • Delete an Autotask time entryautotask.time_entries.delete
  • Delete an Autotask ticket noteautotask.ticket_notes.delete
  • Delete an Autotask contactautotask.contacts.delete
  • Remove a service from an Autotask contractautotask.contract_services.delete
  • Delete an Autotask contract milestoneautotask.contract_milestones.delete
  • Delete an Autotask project phaseautotask.phases.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.

doautotask.tickets.deleteconfirm_policy: human

Delete an Autotask ticket?

intent: the user asked me to delete an Autotask ticket

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

Cost

What Autotask costs on actionlake.

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

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

PSA53
  • autotask.billing_codes.queryList Autotask billing codesread
  • autotask.companies.createCreate an Autotask companywrite
  • autotask.companies.updateUpdate an Autotask companywrite
  • autotask.configuration_items.getGet one Autotask configuration itemread
  • autotask.configuration_items.querySearch Autotask configuration itemsread
  • autotask.configuration_items.updateUpdate an Autotask configuration itemwrite
  • autotask.contacts.createCreate an Autotask contactwrite
  • autotask.contacts.deleteDelete an Autotask contactdestructive
  • autotask.contacts.getGet one Autotask contactread
  • autotask.contacts.updateUpdate an Autotask contactwrite
  • autotask.contract_milestones.createAdd a milestone to an Autotask contractwrite
  • autotask.contract_milestones.deleteDelete an Autotask contract milestonedestructive
  • autotask.contract_rates.createSet a role's hourly rate on an Autotask contractwrite
  • autotask.contract_services.createAdd a service to an Autotask contractwrite
  • autotask.contract_services.deleteRemove a service from an Autotask contractdestructive
  • autotask.contracts.createCreate an Autotask contractwrite
  • autotask.contracts.getGet one Autotask contractread
  • autotask.contracts.querySearch Autotask contractsread
  • autotask.contracts.updateUpdate an Autotask contractwrite
  • autotask.departments.queryList Autotask departmentsread
  • autotask.entity_information.fieldsDescribe an Autotask entity's fieldsread
  • autotask.invoices.getGet one Autotask invoiceread
  • autotask.opportunities.getGet one Autotask opportunityread
  • autotask.opportunities.querySearch Autotask opportunitiesread
  • autotask.opportunities.updateUpdate an Autotask opportunitywrite
  • autotask.organizational_level_1.queryList Autotask organizational level 1read
  • autotask.organizational_level_2.queryList Autotask organizational level 2read
  • autotask.organizational_level_associations.queryList Autotask lines of businessread
  • autotask.phases.createAdd a phase to an Autotask projectwrite
  • autotask.phases.deleteDelete an Autotask project phasedestructive
  • autotask.projects.createCreate an Autotask projectwrite
  • autotask.projects.getGet one Autotask projectread
  • autotask.projects.updateUpdate an Autotask projectwrite
  • autotask.quotes.queryList Autotask quotesread
  • autotask.roles.queryList Autotask rolesread
  • autotask.service_calls.queryList Autotask service callsread
  • autotask.services.queryList Autotask servicesread
  • autotask.subscriptions.queryList Autotask subscriptionsread
  • autotask.tasks.createAdd a task to an Autotask projectwrite
  • autotask.tasks.deleteDelete an Autotask project taskdestructive
  • autotask.tasks.getGet one Autotask taskread
  • autotask.tasks.querySearch Autotask project tasksread
  • autotask.tasks.updateUpdate an Autotask taskwrite
  • autotask.threshold_information.queryRead Autotask API threshold headroomread
  • autotask.ticket_categories.queryList Autotask ticket categoriesread
  • autotask.ticket_notes.createAdd a note to an Autotask ticketwrite
  • autotask.ticket_notes.deleteDelete an Autotask ticket notedestructive
  • autotask.tickets.createCreate an Autotask ticketwrite
  • autotask.tickets.deleteDelete an Autotask ticketdestructive
  • autotask.tickets.updateUpdate an Autotask ticketwrite
  • autotask.time_entries.createLog time against an Autotask ticketwrite
  • autotask.time_entries.deleteDelete an Autotask time entrydestructive
  • autotask.time_entries.getGet one Autotask time entryread
Companies2
  • autotask.companies.getGet one Autotask companyread
  • autotask.companies.querySearch Autotask companiesread
Ticketing2
  • autotask.tickets.getGet one Autotask ticketread
  • autotask.tickets.querySearch Autotask ticketsread
Billing1
  • autotask.invoices.querySearch Autotask invoicesread
Contacts1
  • autotask.contacts.querySearch Autotask contactsread
Projects1
  • autotask.projects.querySearch Autotask projectsread
Resources1
  • autotask.resources.querySearch Autotask resourcesread
Time1
  • autotask.time_entries.querySearch Autotask time entriesread

Questions

The Autotask MCP server, answered.

Is there an Autotask MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 62 Autotask actions across PSA, companies, ticketing and billing, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Autotask.

What do I need to connect Autotask?

API Integration Code, API user name and API user secret. actionlake finds base url for you when you connect. The free call account { op: "connections.requirements", service: "autotask" } lists exactly what to paste.

Can an AI agent delete or change things in Autotask?

Only if its key allows it, and only with an explicit confirmation. 8 Autotask actions are destructive, including delete an Autotask ticket, delete an Autotask project task and delete an Autotask time entry. 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 Autotask API limit?

actionlake paces every call to the limits in the Autotask service file: 10,000 calls an hour per connection. Repeated reads are answered from cache (34 Autotask actions can be), which never reaches Autotask.

What does an Autotask action cost?

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

The Autotask PSA API 1.0 at your Autotask instance's API base URL, which you enter when connecting (path /V1.0). It is built from Autotask's documentation as read on 1 September 2026. 62 actions in 8 areas, each one in the signed service file (version 1.0.0).

Can I combine Autotask with my other systems?

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

Does actionlake keep my Autotask data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 1 minute, 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 Autotask 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 Autotask today.

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