Connectors · Accounting & finance
Actionstep MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Actionstep and the rest of your systems. It gives your agent 257 Actionstep actions (145 reads, 79 writes and 33 that wait for a confirmation) and holds the Actionstep credential itself, so the agent never does. It paces Actionstep's limits and records every call. Connecting Actionstep needs your own Actionstep OAuth app and one admin sign-in.
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: "actionstep.tasks.list", intent: "check which Actionstep account is connected"}# List tasks · read · 1 upstream call- 257actionsin one signed file
- 145readlook, never change
- 79writecreate and update
- 33wait for a yesdestructive, confirmed first
Set up
Connect Actionstep 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 Actionstep.
OAuth 2.0, authorization code. You register your own OAuth app with Actionstep, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Actionstep needs an OAuth app of your own, registered in its developer portal. actionlake has no Actionstep app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idActionstep API client id (production API credentials issued by Actionstep after API review)client_secretActionstep API client secrethostWhere your Actionstep lives: your host
account { op: "connections.requirements", service: "actionstep" } # 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: "actionstep.tasks.list" }# list tasks · read · 1 upstream callcheck { action: "actionstep.tasks.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Actionstep at a glance
- Sign-in
- OAuth 2.0, authorization code. You register your own OAuth app with Actionstep, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Setup fields
host- Limits we pace to
- 120 calls a minute, per connection
- API covered
- Actionstep REST API (Platform JSON v1, /api/rest), at your Actionstep instance's API base URL, which you enter when connecting (path /api)
- Built from
- Actionstep's documentation, read 23 October 2026docs.actionstep.comdocs.actionstep.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 145 of 145 reads, for up to an hour; a write clears what it affects
- Shared entities
- 5, so ask can line Actionstep up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Actionstep.
257 actions in 78 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 145readlook, never change
- 79writecreate and update
- 33destructivewait for a confirmation
Contact documents
52 read · 2 write · 1 destructive
Create a contact document · List contact documents · Get a contact document · Update a contact document
Contact folders
52 read · 2 write · 1 destructive
Create a contact folder · List contact folders · Get a contact folder · Update a contact folder
Contact notes
52 read · 2 write · 1 destructive
List contact notes · Create a contact note · Get a contact note · Update a contact note
Data collection field dropdown choices
52 read · 2 write · 1 destructive
Create a data collection field dropdown choice · List data collection field dropdown choices · Get a data collection field dropdown choice · Update a data collection field dropdown choice
Data collection fields
52 read · 2 write · 1 destructive
Create a data collection field · List data collection fields · Get a data collection field · Update a data collection field
Data collections
52 read · 2 write · 1 destructive
Create a data collection · List data collections · Get a data collection · Update a data collection
Disbursements
52 read · 2 write · 1 destructive
Create a disbursement · List disbursements · Get a disbursement · Update a disbursement
Email associations
52 read · 2 write · 1 destructive
Create an email association · List email associations · Get an email association · Update an email association
70 more areas · 217 actions
- Email attachments 5
- Emails 5
- File notes 5
- Gender types 5
- Matter documents 5
- Matter netdocuments settings 5
- Matter rates 5
- Matter type folders 5
- Matter type participant types 5
- Participant data field dropdown choices 5
- Participant notification methods 5
- Participant type data fields 5
- Phone records 5
- Rest hooks 5
- Tasks 5
- Time entries 5
- Time records 5
- Utbms codes 5
- Calendar appointments 4
- Contact relationships 4
- Data collection record values 4
- Data collection records 4
- Matter folders 4
- Matter participants 4
- Participant relationship types 4
- Participant types 4
- Participants 4
- Quick codes 4
- Scratch notes 4
- SMS 4
- Matter bill settings 3
- Matter participant data field values 3
- Matters 3
- Participant default types 3
- Users 3
- Billing preferences 2
- Countries 2
- Currencies 2
- Divisions 2
- Document templates 2
- Matter creation 2
- Matter permissions 2
- Matter step changes 2
- Matter types 2
- Nodes 2
- Participant data field values 2
- Rate custom values 2
- Rates 2
- Roles 2
- Sale purchase types 2
- Settings 2
- Step data fields 2
- Step messages 2
- Step participant types 2
- Step related matter types 2
- Step tasks 2
- Steps 2
- Tags 2
- Task templates 2
- Tax codes 2
- Time record activities 2
- Units 2
- User group members 2
- User groups 2
- Bills 1
- Calendars 1
- Cultural identities 1
- Disability statuses 1
- Primary languages 1
- Reporting 1
Top actions
The Actionstep API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 74 of Actionstep's 74 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
actionstep.tasks.listList tasks | List Actionstep tasks, walking every page. | read | work.task.list122 connectors |
actionstep.matters.listList matters | List Actionstep matters, walking every page. | read | work.project.list109 connectors |
actionstep.time_entries.listList time entries | List Actionstep time entries, walking every page. | read | work.time_entry.list59 connectors |
actionstep.tasks.createCreate a task | Create an Actionstep task. | write | work.task.create127 connectors |
actionstep.matter_creation.createCreate a matter | Create a new Actionstep matter (actioncreate) of the given matter type. | write | work.project.create102 connectors |
actionstep.participants.listList participants (contacts) | List Actionstep participants (contacts), walking every page. | read | crm.contact.list177 connectors |
actionstep.time_entries.createCreate a time entry | Create an Actionstep time entry. | write | work.time_entry.create56 connectors |
actionstep.tasks.deleteDelete a task | Delete an Actionstep task (answers 204). | destructive | work.task.delete107 connectors |
actionstep.contact_notes.listList contact notes | List Actionstep contact notes, walking every page. | read | crm.contact_note.list29 connectors |
actionstep.participants.createCreate a participant (contact) | Create an Actionstep participant (contact). | write | crm.contact.create161 connectors |
actionstep.users.listList system users | List Actionstep system users, walking every page. | read | identity.user.list474 connectors |
actionstep.contact_notes.createCreate a contact note | Create an Actionstep contact note. | write | crm.contact_note.create28 connectors |
Try it
Prompts to paste into Claude.
Each one names the Actionstep actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Actionstep tasks are overdue, and who owns each one?
calls
actionstep.tasks.list - Writewrite
Create a task in Actionstep. Show me exactly what you will send before you save it.
calls
actionstep.tasks.create - Across systemsread
Which contacts are in both Actionstep and HaloPSA, and how many are in only one of them?
calls
actionstep.participants.listhalopsa.users.list
Across your systems
Actionstep, joined to the rest of your business.
One ask fetches from Actionstep and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
Which contacts are in both Actionstep and HaloPSA, and how many are in only one of them?
actionstep.participants.list+halopsa.users.list, oncrm.contact· HaloPSAWhich contacts are in both Actionstep and HubSpot CRM, and how many are in only one of them?
actionstep.participants.list+hubspot_crm.contacts.list, oncrm.contact· HubSpot CRM
crm.contact 192work.project 116work.task 105work.time_entry 40crm.contact_note 9ask { intent: "which contacts are in both Actionstep and HaloPSA, and how many are in only one of them", steps: [ { action: "actionstep.participants.list", as: "people", input: {}, limit: 100, max_pages: 5 }, { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 }, { join: { left: "people", right: "people2", on: "crm.contact", group_by: "people.email", select: ["people.email", "count(people2.id) as in_halopsa"] } } ]}Governance for Actionstep
Destructive actions wait for a yes.
33 Actionstep actions are destructive. The first 10:
- Delete a task
actionstep.tasks.delete - Delete a time entry
actionstep.time_entries.delete - Delete a contact note
actionstep.contact_notes.delete - Delete a calendar appointment
actionstep.calendar_appointments.delete - Delete a file note
actionstep.file_notes.delete - Delete a phone record
actionstep.phone_records.delete - Delete an email
actionstep.emails.delete - Delete an REST hook subscription
actionstep.rest_hooks.delete - Delete a matter document
actionstep.matter_documents.delete - Delete a UTBMS code
actionstep.utbms_codes.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.
Delete a task?
intent: the user asked me to delete a task
account { op: "keys.create", name: "actionstep-agent", allowed_actions: ["actionstep.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "actionstep.tasks.delete", approver: "[email protected]" }, { match: "actionstep.time_entries.delete", approver: "[email protected]" }, { match: "actionstep.contact_notes.delete", approver: "[email protected]" } ]}Cost
What Actionstep costs on actionlake.
Every Actionstep action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Actionstep 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 257 Actionstep actions
- 257actions pageeach page of a long list is one call
- 145reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Actionstep action.
257 actions by area: the id your agent calls, what it does, and its effect.
Contact documents5
actionstep.contact_documents.createCreate a contact documentwriteactionstep.contact_documents.deleteDelete a contact documentdestructiveactionstep.contact_documents.getGet a contact documentreadactionstep.contact_documents.listList contact documentsreadactionstep.contact_documents.updateUpdate a contact documentwrite
Contact folders5
actionstep.contact_folders.createCreate a contact folderwriteactionstep.contact_folders.deleteDelete a contact folderdestructiveactionstep.contact_folders.getGet a contact folderreadactionstep.contact_folders.listList contact foldersreadactionstep.contact_folders.updateUpdate a contact folderwrite
Contact notes5
actionstep.contact_notes.createCreate a contact notewriteactionstep.contact_notes.deleteDelete a contact notedestructiveactionstep.contact_notes.getGet a contact notereadactionstep.contact_notes.listList contact notesreadactionstep.contact_notes.updateUpdate a contact notewrite
Data collection field dropdown choices5
actionstep.data_collection_field_dropdown_choices.createCreate a data collection field dropdown choicewriteactionstep.data_collection_field_dropdown_choices.deleteDelete a data collection field dropdown choicedestructiveactionstep.data_collection_field_dropdown_choices.getGet a data collection field dropdown choicereadactionstep.data_collection_field_dropdown_choices.listList data collection field dropdown choicesreadactionstep.data_collection_field_dropdown_choices.updateUpdate a data collection field dropdown choicewrite
Data collection fields5
actionstep.data_collection_fields.createCreate a data collection fieldwriteactionstep.data_collection_fields.deleteDelete a data collection fielddestructiveactionstep.data_collection_fields.getGet a data collection fieldreadactionstep.data_collection_fields.listList data collection fieldsreadactionstep.data_collection_fields.updateUpdate a data collection fieldwrite
Data collections5
actionstep.data_collections.createCreate a data collectionwriteactionstep.data_collections.deleteDelete a data collectiondestructiveactionstep.data_collections.getGet a data collectionreadactionstep.data_collections.listList data collectionsreadactionstep.data_collections.updateUpdate a data collectionwrite
Disbursements5
actionstep.disbursements.createCreate a disbursementwriteactionstep.disbursements.deleteDelete a disbursementdestructiveactionstep.disbursements.getGet a disbursementreadactionstep.disbursements.listList disbursementsreadactionstep.disbursements.updateUpdate a disbursementwrite
Email associations5
actionstep.email_associations.createCreate an email associationwriteactionstep.email_associations.deleteDelete an email associationdestructiveactionstep.email_associations.getGet an email associationreadactionstep.email_associations.listList email associationsreadactionstep.email_associations.updateUpdate an email associationwrite
Email attachments5
actionstep.email_attachments.createCreate an email attachmentwriteactionstep.email_attachments.deleteDelete an email attachmentdestructiveactionstep.email_attachments.getGet an email attachmentreadactionstep.email_attachments.listList email attachmentsreadactionstep.email_attachments.updateUpdate an email attachmentwrite
Emails5
actionstep.emails.createCreate an emailwriteactionstep.emails.deleteDelete an emaildestructiveactionstep.emails.getGet an emailreadactionstep.emails.listList emailsreadactionstep.emails.updateUpdate an emailwrite
File notes5
actionstep.file_notes.createCreate a file notewriteactionstep.file_notes.deleteDelete a file notedestructiveactionstep.file_notes.getGet a file notereadactionstep.file_notes.listList file notesreadactionstep.file_notes.updateUpdate a file notewrite
Gender types5
actionstep.gender_types.createCreate a gender typewriteactionstep.gender_types.deleteDelete a gender typedestructiveactionstep.gender_types.getGet a gender typereadactionstep.gender_types.listList gender typesreadactionstep.gender_types.updateUpdate a gender typewrite
Matter documents5
actionstep.matter_documents.createCreate a matter documentwriteactionstep.matter_documents.deleteDelete a matter documentdestructiveactionstep.matter_documents.getGet a matter documentreadactionstep.matter_documents.listList matter documentsreadactionstep.matter_documents.updateUpdate a matter documentwrite
Matter netdocuments settings5
actionstep.matter_netdocuments_settings.createCreate a matter NetDocuments settings recordwriteactionstep.matter_netdocuments_settings.deleteDelete a matter NetDocuments settings recorddestructiveactionstep.matter_netdocuments_settings.getGet a matter NetDocuments settings recordreadactionstep.matter_netdocuments_settings.listList matter NetDocuments settingsreadactionstep.matter_netdocuments_settings.updateUpdate a matter NetDocuments settings recordwrite
Matter rates5
actionstep.matter_rates.createCreate a matter rate overridewriteactionstep.matter_rates.deleteDelete a matter rate overridedestructiveactionstep.matter_rates.getGet a matter rate overridereadactionstep.matter_rates.listList matter rate overridesreadactionstep.matter_rates.updateUpdate a matter rate overridewrite
Matter type folders5
actionstep.matter_type_folders.createCreate a matter type folderwriteactionstep.matter_type_folders.deleteDelete a matter type folderdestructiveactionstep.matter_type_folders.getGet a matter type folderreadactionstep.matter_type_folders.listList matter type foldersreadactionstep.matter_type_folders.updateUpdate a matter type folderwrite
Matter type participant types5
actionstep.matter_type_participant_types.createCreate a matter type participant typewriteactionstep.matter_type_participant_types.deleteDelete a matter type participant typedestructiveactionstep.matter_type_participant_types.getGet a matter type participant typereadactionstep.matter_type_participant_types.listList matter type participant typesreadactionstep.matter_type_participant_types.updateUpdate a matter type participant typewrite
Participant data field dropdown choices5
actionstep.participant_data_field_dropdown_choices.createCreate a participant data field dropdown choicewriteactionstep.participant_data_field_dropdown_choices.deleteDelete a participant data field dropdown choicedestructiveactionstep.participant_data_field_dropdown_choices.getGet a participant data field dropdown choicereadactionstep.participant_data_field_dropdown_choices.listList participant data field dropdown choicesreadactionstep.participant_data_field_dropdown_choices.updateUpdate a participant data field dropdown choicewrite
Participant notification methods5
actionstep.participant_notification_methods.createCreate a participant additional notification methodwriteactionstep.participant_notification_methods.deleteDelete a participant additional notification methoddestructiveactionstep.participant_notification_methods.getGet a participant additional notification methodreadactionstep.participant_notification_methods.listList participant additional notification methodsreadactionstep.participant_notification_methods.updateUpdate a participant additional notification methodwrite
Participant type data fields5
actionstep.participant_type_data_fields.createCreate a participant type data fieldwriteactionstep.participant_type_data_fields.deleteDelete a participant type data fielddestructiveactionstep.participant_type_data_fields.getGet a participant type data fieldreadactionstep.participant_type_data_fields.listList participant type data fieldsreadactionstep.participant_type_data_fields.updateUpdate a participant type data fieldwrite
Phone records5
actionstep.phone_records.createCreate a phone recordwriteactionstep.phone_records.deleteDelete a phone recorddestructiveactionstep.phone_records.getGet a phone recordreadactionstep.phone_records.listList phone recordsreadactionstep.phone_records.updateUpdate a phone recordwrite
Rest hooks5
actionstep.rest_hooks.createCreate an REST hook subscriptionwriteactionstep.rest_hooks.deleteDelete an REST hook subscriptiondestructiveactionstep.rest_hooks.getGet an REST hook subscriptionreadactionstep.rest_hooks.listList REST hook subscriptionsreadactionstep.rest_hooks.updateUpdate an REST hook subscriptionwrite
Tasks5
actionstep.tasks.createCreate a taskwriteactionstep.tasks.deleteDelete a taskdestructiveactionstep.tasks.getGet a taskreadactionstep.tasks.listList tasksreadactionstep.tasks.updateUpdate a taskwrite
Time entries5
actionstep.time_entries.createCreate a time entrywriteactionstep.time_entries.deleteDelete a time entrydestructiveactionstep.time_entries.getGet a time entryreadactionstep.time_entries.listList time entriesreadactionstep.time_entries.updateUpdate a time entrywrite
Time records5
actionstep.time_records.createCreate a time recordwriteactionstep.time_records.deleteDelete a time recorddestructiveactionstep.time_records.getGet a time recordreadactionstep.time_records.listList time recordsreadactionstep.time_records.updateUpdate a time recordwrite
Utbms codes5
actionstep.utbms_codes.createCreate a UTBMS codewriteactionstep.utbms_codes.deleteDelete a UTBMS codedestructiveactionstep.utbms_codes.getGet a UTBMS codereadactionstep.utbms_codes.listList UTBMS codesreadactionstep.utbms_codes.updateUpdate a UTBMS codewrite
Calendar appointments4
actionstep.calendar_appointments.createCreate a calendar appointmentwriteactionstep.calendar_appointments.deleteDelete a calendar appointmentdestructiveactionstep.calendar_appointments.listList calendar appointmentsreadactionstep.calendar_appointments.updateUpdate a calendar appointmentwrite
Contact relationships4
actionstep.contact_relationships.createCreate a contact relationshipwriteactionstep.contact_relationships.deleteDelete a contact relationshipdestructiveactionstep.contact_relationships.getGet a contact relationshipreadactionstep.contact_relationships.listList contact relationshipsread
Data collection record values4
actionstep.data_collection_record_values.createCreate data collection record valueswriteactionstep.data_collection_record_values.getGet a data collection record valuereadactionstep.data_collection_record_values.listList data collection record valuesreadactionstep.data_collection_record_values.updateUpdate a data collection record valuewrite
Data collection records4
actionstep.data_collection_records.createCreate a data collection recordwriteactionstep.data_collection_records.deleteDelete a data collection recorddestructiveactionstep.data_collection_records.getGet a data collection recordreadactionstep.data_collection_records.listList data collection recordsread
Matter folders4
actionstep.matter_folders.createCreate a matter folderwriteactionstep.matter_folders.getGet a matter folderreadactionstep.matter_folders.listList matter foldersreadactionstep.matter_folders.updateUpdate a matter folderwrite
Matter participants4
actionstep.matter_participants.createCreate a matter participantwriteactionstep.matter_participants.deleteDelete a matter participantdestructiveactionstep.matter_participants.getGet a matter participantreadactionstep.matter_participants.listList matter participantsread
Participant relationship types4
actionstep.participant_relationship_types.createCreate a participant relationship typewriteactionstep.participant_relationship_types.deleteDelete a participant relationship typedestructiveactionstep.participant_relationship_types.getGet a participant relationship typereadactionstep.participant_relationship_types.listList participant relationship typesread
Participant types4
actionstep.participant_types.createCreate a participant typewriteactionstep.participant_types.getGet a participant typereadactionstep.participant_types.listList participant typesreadactionstep.participant_types.updateUpdate a participant typewrite
Participants4
actionstep.participants.createCreate a participant (contact)writeactionstep.participants.getGet a participant (contact)readactionstep.participants.listList participants (contacts)readactionstep.participants.updateUpdate a participant (contact)write
Quick codes4
actionstep.quick_codes.createCreate a quick codewriteactionstep.quick_codes.getGet a quick codereadactionstep.quick_codes.listList quick codesreadactionstep.quick_codes.updateUpdate a quick codewrite
Scratch notes4
actionstep.scratch_notes.createCreate a scratch notewriteactionstep.scratch_notes.deleteDelete a scratch notedestructiveactionstep.scratch_notes.listList scratch notesreadactionstep.scratch_notes.updateUpdate a scratch notewrite
SMS4
actionstep.sms.createCreate an SMS recordwriteactionstep.sms.getGet an SMS recordreadactionstep.sms.listList SMS recordsreadactionstep.sms.updateUpdate an SMS recordwrite
Matter bill settings3
actionstep.matter_bill_settings.getGet a matter bill settings recordreadactionstep.matter_bill_settings.listList matter bill settingsreadactionstep.matter_bill_settings.updateUpdate a matter bill settings recordwrite
Matter participant data field values3
actionstep.matter_participant_data_field_values.getGet a matter participant data field valuereadactionstep.matter_participant_data_field_values.listList matter participant data field valuesreadactionstep.matter_participant_data_field_values.updateUpdate a matter participant data field valuewrite
Matters3
actionstep.matters.getGet a matterreadactionstep.matters.listList mattersreadactionstep.matters.updateUpdate a matterwrite
Participant default types3
actionstep.participant_default_types.createCreate a participant default typewriteactionstep.participant_default_types.deleteDelete a participant default typedestructiveactionstep.participant_default_types.listList participant default typesread
Users3
actionstep.users.currentGet the connected userreadactionstep.users.getGet a system userreadactionstep.users.listList system usersread
Billing preferences2
actionstep.billing_preferences.getGet a billing preferencereadactionstep.billing_preferences.listList billing preferencesread
Countries2
actionstep.countries.getGet a countryreadactionstep.countries.listList countriesread
Currencies2
actionstep.currencies.getGet a currencyreadactionstep.currencies.listList currenciesread
Divisions2
actionstep.divisions.getGet a divisionreadactionstep.divisions.listList divisionsread
Document templates2
actionstep.document_templates.getGet a document templatereadactionstep.document_templates.listList document templatesread
Matter creation2
actionstep.matter_creation.createCreate a matterwriteactionstep.matter_creation.getGet the new-matter template for a matter typeread
Matter permissions2
actionstep.matter_permissions.getGet a matter permissionreadactionstep.matter_permissions.listList matter permissionsread
Matter step changes2
actionstep.matter_step_changes.createCreate a matter step changewriteactionstep.matter_step_changes.getGet a matter step changeread
Matter types2
actionstep.matter_types.getGet a matter typereadactionstep.matter_types.listList matter typesread
Nodes2
actionstep.nodes.getGet a workflow nodereadactionstep.nodes.listList workflow nodesread
Participant data field values2
actionstep.participant_data_field_values.getGet a participant data field valuereadactionstep.participant_data_field_values.updateUpdate a participant data field valuewrite
Rate custom values2
actionstep.rate_custom_values.getGet a rate custom valuereadactionstep.rate_custom_values.listList rate custom valuesread
Rates2
actionstep.rates.getGet a ratereadactionstep.rates.listList ratesread
Roles2
actionstep.roles.getGet a system rolereadactionstep.roles.listList system rolesread
Sale purchase types2
actionstep.sale_purchase_types.getGet a sale/purchase typereadactionstep.sale_purchase_types.listList sale/purchase typesread
Settings2
actionstep.settings.getGet a settingreadactionstep.settings.listList settingsread
Step data fields2
actionstep.step_data_fields.getGet a step data fieldreadactionstep.step_data_fields.listList step data fieldsread
Step messages2
actionstep.step_messages.getGet a step messagereadactionstep.step_messages.listList step messagesread
Step participant types2
actionstep.step_participant_types.getGet a step participant typereadactionstep.step_participant_types.listList step participant typesread
Step related matter types2
actionstep.step_related_matter_types.getGet a step related matter typereadactionstep.step_related_matter_types.listList step related matter typesread
Step tasks2
actionstep.step_tasks.getGet a step taskreadactionstep.step_tasks.listList step tasksread
Steps2
actionstep.steps.getGet a workflow stepreadactionstep.steps.listList workflow stepsread
Tags2
actionstep.tags.getGet a tagreadactionstep.tags.listList tagsread
Task templates2
actionstep.task_templates.getGet a task templatereadactionstep.task_templates.listList task templatesread
Tax codes2
actionstep.tax_codes.getGet a tax codereadactionstep.tax_codes.listList tax codesread
Time record activities2
actionstep.time_record_activities.getGet a time record activityreadactionstep.time_record_activities.listList time record activitiesread
Units2
actionstep.units.getGet a unitreadactionstep.units.listList unitsread
User group members2
actionstep.user_group_members.getGet a user group membershipreadactionstep.user_group_members.listList user group membershipsread
User groups2
actionstep.user_groups.getGet a user groupreadactionstep.user_groups.listList user groupsread
Bills1
actionstep.bills.listList billsread
Calendars1
actionstep.calendars.listList calendarsread
Cultural identities1
actionstep.cultural_identities.listList cultural identity valuesread
Disability statuses1
actionstep.disability_statuses.listList disability status valuesread
Primary languages1
actionstep.primary_languages.listList primary languagesread
Reporting1
actionstep.reporting.export_urlGet the reporting data export URLread
Questions
The Actionstep MCP server, answered.
Is there an Actionstep MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 257 Actionstep actions across contact documents, contact folders, contact notes and data collection field dropdown choices, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Actionstep.
What do I need to connect Actionstep?
Your own Actionstep OAuth app, registered with Actionstep (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Actionstep app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your host. The free call account { op: "connections.requirements", service: "actionstep" } lists exactly what to paste.
Can an AI agent delete or change things in Actionstep?
Only if its key allows it, and only with an explicit confirmation. 33 Actionstep actions are destructive, including delete a task, delete a time entry and delete a contact note. 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 Actionstep API limit?
actionlake paces every call to the limits in the Actionstep service file: 120 calls a minute per connection. Repeated reads are answered from cache (145 Actionstep actions can be), which never reaches Actionstep.
What does an Actionstep action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (257 Actionstep actions page). Cache hits, searches, dry runs and calls Actionstep 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 Actionstep API does it cover?
The Actionstep REST API (Platform JSON v1, /api/rest) at your Actionstep instance's API base URL, which you enter when connecting (path /api). It is built from Actionstep's documentation as read on 23 October 2026. 257 actions in 78 areas, each one in the signed service file (version 1.0.0).
Can I combine Actionstep with my other systems?
Yes. ask joins Actionstep to HaloPSA or HubSpot CRM on the same customer and returns the answer rather than every row. Actionstep maps crm.contact, which 192 other connectors also map.
Does actionlake keep my Actionstep data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, 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 Actionstep 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 Actionstep today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.