Skip to content

Connectors · Work & projects

Teamwork MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Teamwork and the rest of your systems. It gives your agent 737 Teamwork actions (379 reads, 263 writes and 95 that wait for a confirmation) and holds the Teamwork credential itself, so the agent never does. It paces Teamwork'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: "teamwork.account.get_account",  intent: "check which Teamwork account is connected"}# Get Account Details · read · 1 upstream call
  • 737actionsin one signed file
  • 379readlook, never change
  • 263writecreate and update
  • 95wait for a yesdestructive, confirmed first

Set up

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

    Username and secret. 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.

    • api_tokenTeamwork API token (used as the Basic username; the password is ignored)
    • site_hostWhere your Teamwork lives: your site host
    account { op: "connections.requirements", service: "teamwork" }
    # 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: "teamwork.account.get_account" }# get account details · read · 1 upstream callcheck { action: "teamwork.tasks.create_tasks_by_id", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Teamwork at a glance

Sign-in
Username and secret. 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
api_token
Setup fields
site_host
Limits we pace to
150 calls a minute, per connection
API covered
Teamwork.com API v3+v1, at your Teamwork instance's API base URL, which you enter when connecting
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
376 of 379 reads, for up to an hour; a write clears what it affects
Ready-made plans
12 in the store
Shared entities
10, so ask can line Teamwork up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Teamwork.

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

  • 379readlook, never change
  • 263writecreate and update
  • 95destructivewait for a confirmation
  1. Time tracking

    46

    29 read · 14 write · 3 destructive

    Get all time entries · Get time entries for a specific allocation · Retrieve all Time Entries for a Project · Get time entries for a specific project

  2. Tasks

    43

    24 read · 17 write · 2 destructive

    Get all tasks. · Creates a personal task. · Create a Task on a Project · Quickly add multiple Tasks

  3. Custom fields

    33

    13 read · 12 write · 8 destructive

    Company custom field values. · Get all custom fields · Get Custom Fields on projects · Project custom field values.

  4. Teams

    31

    25 read · 4 write · 2 destructive

    Get a comment's teams · Get Teams for company id · Get a dataview's teams · Get a file's teams

  5. Projects

    30

    19 read · 9 write · 2 destructive

    Returns a list of projects · Retrieve Projects assigned to a specific Company · Get a health summary for all projects · Create Project

  6. Custom items

    28

    10 read · 11 write · 7 destructive

    Get a custom item field by id. · Create a new field. · Get custom items for a specific project · Edit an existing custom item field.

  7. People

    26

    20 read · 4 write · 2 destructive

    Returns a list of people · Get all deleted People · Retrieve a Specific Person · Returns a person

  8. Notebooks

    22

    9 read · 10 write · 3 destructive

    Get the parent project for a specific notebook. · Create a Single Notebook · Create a new notebook. · List Notebooks in a Specific Category

84 more areas · 478 actions
  • Reports 18
  • Messages 16
  • Portfolio boards 15
  • Quotes 15
  • Risks 15
  • Companies 14
  • Containers 14
  • Milestones 14
  • Workflows 14
  • Skills 13
  • Webhooks 13
  • Boards 12
  • People status 12
  • Task lists 12
  • Files 11
  • Tags 11
  • Calendar event 10
  • Comments 10
  • Exchange rate 10
  • Invoices 10
  • Reactions 10
  • Activity 9
  • Custom reports 9
  • Job roles 9
  • Message replies 9
  • Calendar events 8
  • Project updates 8
  • Forms 7
  • Task reminders 7
  • Budgets 6
  • Expenses 6
  • Links 6
  • Project categories 6
  • Project roles 6
  • Auto schedule 5
  • Calendars 5
  • Clock in clock out 5
  • File categories 5
  • Link categories 5
  • Message categories 5
  • Notebook categories 5
  • Reporting views 5
  • Analytic engine 4
  • Project templates 4
  • Budget report 3
  • Categories 3
  • Forms public 3
  • Likes 3
  • Permissions 3
  • Data views 2
  • Estimation 2
  • Link items 2
  • Price plans 2
  • Project email addresses 2
  • Quote export preferences 2
  • Quote settings 2
  • Summary 2
  • Task comments 2
  • Tasklists 2
  • Time approvals 2
  • Timelogs 2
  • Timesheets 2
  • Trashcan 2
  • Workload 2
  • Account 1
  • Account details 1
  • Custom item record comments 1
  • Dashboards 1
  • Features 1
  • File comments 1
  • File uploading 1
  • File version comments 1
  • Importers 1
  • Milestone comments 1
  • Notebook comments 1
  • Person 1
  • Project health 1
  • Project owner 1
  • Recurring preview 1
  • Search 1
  • Site owner 1
  • Timezones 1
  • Users 1
  • Utilization 1

Top actions

The Teamwork API, shaped for agents.

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

ActionWhat it doesEffectSame name in
teamwork.tasks.list_tasksGet all tasks.Get all tasks.readwork.task.list122 connectors
teamwork.projects.list_projectsReturns a list of projectsReturns a list of projectsreadwork.project.list109 connectors
teamwork.time_tracking.list_timeGet all time entriesGet all time entriesreadwork.time_entry.list59 connectors
teamwork.people.list_peopleReturns a list of peopleReturns a list of peoplereadidentity.user.list474 connectors
teamwork.comments.list_commentsGet a list of commentsGet a list of commentsreadwork.task_comment.list27 connectors
teamwork.tasks.create_tasks_by_idCreate a Sub TaskCreate a Sub Taskwritework.task.create127 connectors
teamwork.tasks.create_me_personaltasksCreates a personal task.Creates a personal task.writework.task.create127 connectors
teamwork.tasks.create_projects_by_id_tasksCreate a Task on a ProjectCreate a Task on a Projectwritework.task.create127 connectors
teamwork.project_health.list_projects_healthGet health scores for projectsGet health scores for projectsreadwork.project.list109 connectors
teamwork.calendar_event.list_calendareventsGet EventsGet Eventsreadcomm.event.list61 connectors
teamwork.companies.list_companiesGet all companies.Get all companies.readcrm.company.list162 connectors
teamwork.tasks.delete_tasks_by_idDelete a TaskDelete a Taskdestructivework.task.delete107 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

    Which Teamwork invoices are more than 30 days overdue? Group them by customer with the total owed.

    callsteamwork.invoices.list_invoices

  2. Planread

    Assemble the portfolio financial review pack in Teamwork.

    callsteamwork.summary.get_summaryteamwork.projects.get_projects_metrics_activeteamwork.projects.get_projects_metrics_invoicesteamwork.budget_report.get_reporting_precanned_budgetteamwork.analytic_engine.list_reporting_financial_trends+1 more

  3. Planread

    Build a health briefing for one project in Teamwork.

    callsteamwork.projects.get_projects_by_idteamwork.activity.list_projects_by_project_id_latestactivityteamwork.risks.list_risksteamwork.task_lists.list_projects_by_id_taskliststeamwork.time_tracking.list_projects_by_id_time_total+1 more

  4. Writewrite

    Create a Sub Task in Teamwork. Show me exactly what you will send before you save it.

    callsteamwork.tasks.create_tasks_by_id

  5. Across systemsread

    For each customer, how many invoices are in Teamwork and how many tickets in ConnectWise PSA?

    callsteamwork.invoices.list_invoicesconnectwise_manage.tickets.list

Across your systems

Teamwork, joined to the rest of your business.

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

  • For each customer, how many invoices are in Teamwork and how many tickets in ConnectWise PSA?

    teamwork.invoices.list_invoices + connectwise_manage.tickets.list, on crm.company · ConnectWise PSA

  • For each customer, how many invoices are in Teamwork and how many tickets in HubSpot CRM?

    teamwork.invoices.list_invoices + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorsidentity.user 517crm.company 227work.project 116work.task 105finance.invoice 91content.file 54comm.event 47work.time_entry 40
ask
ask {  intent: "for each customer, how many invoices are in Teamwork and how many tickets in ConnectWise PSA",  steps: [    { action: "teamwork.invoices.list_invoices", as: "inv", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "inv",        right: "tix",        on: "crm.company",        group_by: "inv.company_name",        select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

The plan store

Ready-made plans for Teamwork.

12 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. Pull the weekly time and utilisation picture

    Use it when Someone asks how many hours the team logged and how utilisation looks over the recent period.

    Effect
    read
    Steps
    5
    Install
    teamwork-weekly-time-report
  2. Assemble the portfolio financial review pack

    Use it when Preparing the numbers for a monthly portfolio or finance review across all projects.

    Effect
    read
    Steps
    6
    Install
    teamwork-portfolio-financial-review
  3. Build a health briefing for one project

    Use it when Someone asks for the current state of a named Teamwork project before a status call.

    Effect
    read
    Steps
    6
    Needs
    project id
    Install
    teamwork-project-health-briefing
  4. Re-grade open risks and note them on their tasks

    Use it when After a risk review meeting, the agreed new gradings need writing back into Teamwork.

    Effect
    write
    Steps
    2 · loops
    Needs
    decisions
    Install
    teamwork-triage-project-risks
  5. Log time against a task and confirm the total

    Use it when Someone wants to record worked hours against a specific Teamwork task.

    Effect
    write
    Steps
    3
    Needs
    task id and timelog
    Install
    teamwork-log-time-against-task
  6. Drop a batch of captured tasks into a project

    Use it when A meeting or email has produced a list of action items that need to become Teamwork tasks.

    Effect
    write
    Steps
    3 · loops
    Needs
    items and project id
    Install
    teamwork-quickadd-tasks-to-project
  7. Recover an item from the trash can

    Use it when Something was deleted in Teamwork by mistake and needs restoring from the trash can.

    A person decidesRestore this item from the Teamwork trash can, making it visible to everyone with access again.

    Effect
    write
    Steps
    4
    Needs
    id and resource
    Install
    teamwork-restore-deleted-item
  8. Raise and complete an invoice for a project

    Use it when A project's work is ready to bill and an invoice needs raising and closing off in Teamwork.

    A person decidesRaise an invoice on this Teamwork project for the unbilled expenses shown and mark it complete.

    Effect
    write
    Steps
    5
    Needs
    invoice and project id
    Install
    teamwork-raise-project-invoice
  9. Queue a custom report and wait for it

    Use it when A saved Teamwork custom report needs running now and its output collected once generation finishes.

    Effect
    write
    Steps
    5
    Needs
    report id
    Install
    teamwork-run-custom-report
  10. Stand up a new client project from a template

    Use it when A new client engagement has been won and a Teamwork project needs to exist with people, rates and a kickoff milestone.

    A person decidesCreate a new Teamwork client project from template, apply the given billing rates and add the listed people.

    Effect
    write
    Steps
    6
    Needs
    milestone, people, project and rates
    Install
    teamwork-onboard-client-project
  11. Delete abandoned tasks after sign-off

    Use it when A task list has accumulated abandoned tasks that a person has agreed should be removed entirely.

    A person decidesPermanently delete the listed abandoned tasks from this Teamwork task list. This cannot be undone.

    Effect
    destructive
    Steps
    3 · loops
    Needs
    task ids and tasklist id
    Install
    teamwork-close-stale-tasks
  12. Delete webhooks that stopped delivering

    Use it when Webhook endpoints have gone dead and the agreed stale ones need removing from Teamwork.

    A person decidesPermanently delete the webhooks listed as stale. Any integration still pointing at them will stop receiving events.

    Effect
    destructive
    Steps
    4 · loops
    Needs
    delete ids and webhook id
    Install
    teamwork-retire-stale-webhooks
install a plan
account { op: "plans.install", slug: "teamwork-weekly-time-report" }
# then ask for it by name; a schedule can run it on a timetable

Governance for Teamwork

Destructive actions wait for a yes.

95 Teamwork actions are destructive. The first 10:

  • Delete a Taskteamwork.tasks.delete_tasks_by_id
  • Delete an existing task.teamwork.tasks.delete_tasks_by_task_id
  • Remove a Cardteamwork.boards.delete_boards_columns_cards_by_id
  • Delete Projectteamwork.projects.delete_projects_by_id
  • Delete an existing timelog.teamwork.time_tracking.delete_time_by_timelog_id
  • Delete a Time-Entryteamwork.time_tracking.delete_time_entries_by_id
  • Deleting a Commentteamwork.comments.delete_comments_by_id
  • Delete Userteamwork.people.delete_people_by_id
  • Delete an existing person.teamwork.people.delete_people_by_person_id
  • Delete Eventteamwork.calendar_event.delete_calendarevents_by_id

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.

doteamwork.tasks.delete_tasks_by_idconfirm_policy: human

Delete a Task?

intent: the user asked me to delete a Task

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

Cost

What Teamwork costs on actionlake.

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

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

Time tracking46
  • teamwork.time_tracking.list_allocations_by_allocation_id_timeGet time entries for a specific allocationread
  • teamwork.time_tracking.list_projects_by_id_time_entriesRetrieve all Time Entries for a Projectread
  • and 44 more in this area
Tasks43
  • teamwork.tasks.create_me_personaltasksCreates a personal task.write
  • teamwork.tasks.create_projects_by_id_tasksCreate a Task on a Projectwrite
  • and 41 more in this area
Custom fields33
  • teamwork.custom_fields.list_companies_by_company_id_customfieldsCompany custom field values.read
  • teamwork.custom_fields.list_customfieldsGet all custom fieldsread
  • and 31 more in this area
Teams31
  • teamwork.teams.list_comments_by_id_teamsGet a comment's teamsread
  • teamwork.teams.list_companies_by_id_teamsGet Teams for company idread
  • and 29 more in this area
Projects30
  • teamwork.projects.create_projectsCreate Projectwrite
  • teamwork.projects.list_companies_by_id_projectsRetrieve Projects assigned to a specific Companyread
  • and 28 more in this area
Custom items28
  • teamwork.custom_items.create_customitems_by_custom_item_id_fieldsCreate a new field.write
  • teamwork.custom_items.list_customitems_by_custom_item_id_fields_by_idGet a custom item field by id.read
  • and 26 more in this area
People26
  • teamwork.people.get_people_by_idRetrieve a Specific Personread
  • teamwork.people.get_people_by_person_idReturns a personread
  • and 24 more in this area
Notebooks22
  • teamwork.notebooks.create_projects_by_id_notebooksCreate a Single Notebookwrite
  • teamwork.notebooks.create_projects_by_project_id_notebooksCreate a new notebook.write
  • and 20 more in this area
Reports18
  • teamwork.reports.get_reporting_email_by_report_idGet the HTML email preview for a scheduled report.read
  • teamwork.reports.get_reporting_oauth_google_statusGet the Google OAuth status for the current user.read
  • and 16 more in this area
Messages16
  • teamwork.messages.get_messages_by_message_id_projectGet the parent project for a specific message.read
  • teamwork.messages.list_messagesGet all messages.read
  • and 14 more in this area
Portfolio boards15
  • teamwork.portfolio_boards.create_portfolio_boardsCreate a new Boardwrite
  • teamwork.portfolio_boards.create_portfolio_boards_by_board_id_columnsAdd a column to the given Boardwrite
  • and 13 more in this area
Quotes15
  • teamwork.quotes.create_quotesCreate a new quote.write
  • teamwork.quotes.get_company_by_id_quotes_number_previewPreview the next auto-generated quote number.read
  • and 13 more in this area
Risks15
  • teamwork.risks.list_projects_by_id_risksRetrieve all Risks in a Projectread
  • teamwork.risks.list_projects_by_project_id_risksGet risks for a specific projectread
  • and 13 more in this area
Companies14
  • teamwork.companies.create_companiesCreate a company.write
  • teamwork.companies.get_companies_by_company_idGet a specific company.read
  • and 12 more in this area
Containers14
  • teamwork.containers.get_reporting_dashboards_details_tasksGet task chart details.read
  • teamwork.containers.list_containersGet all containers.read
  • and 12 more in this area
Milestones14
  • teamwork.milestones.create_projects_by_id_milestonesCreate a Single Milestonewrite
  • teamwork.milestones.get_milestones_by_milestone_id_projectGet the parent project for a specific milestone.read
  • and 12 more in this area
Workflows14
  • teamwork.workflows.create_projects_by_project_id_workflowsApplies a workflow to a projectwrite
  • teamwork.workflows.list_projects_by_project_id_workflowsGet all workflows.read
  • and 12 more in this area
Skills13
  • teamwork.skills.create_skillsCreate a new skill.write
  • teamwork.skills.create_skills_by_id_peopleAssign a skill.write
  • and 11 more in this area
Webhooks13
  • teamwork.webhooks.create_projects_by_id_webhooksCreate a Webhook on a Projectwrite
  • teamwork.webhooks.create_webhooksCreate a Webhookwrite
  • and 11 more in this area
Boards12
  • teamwork.boards.create_boards_columns_by_id_cardsAdd a card to a Columnwrite
  • teamwork.boards.get_boards_columns_cards_by_idGet a Cardread
  • and 10 more in this area
People status12
  • teamwork.people_status.create_me_statusCreate my Statuswrite
  • teamwork.people_status.create_people_by_id_statusCreate a User Statuswrite
  • and 10 more in this area
Task lists12
  • teamwork.task_lists.list_projects_by_id_tasklistsGet all Task Lists for a Projectread
  • teamwork.task_lists.list_projects_by_project_id_tasklistsGet tasklists in a projectread
  • and 10 more in this area
Files11
  • teamwork.files.get_files_by_file_id_projectGet the parent project for a specific file.read
  • teamwork.files.get_files_by_idGet a Single Fileread
  • and 9 more in this area
Tags11
  • teamwork.tags.create_tagsCreate a single tagwrite
  • teamwork.tags.list_by_resource_by_id_tagsList All Tags for a Resourceread
  • and 9 more in this area
Calendar event10
  • teamwork.calendar_event.create_calendareventsCreate an Eventwrite
  • teamwork.calendar_event.create_calendars_events_task_from_eventCreate a task from a calendar event.write
  • and 8 more in this area
Comments10
  • teamwork.comments.create_by_resource_by_resource_id_commentsCreating a Commentwrite
  • teamwork.comments.create_commentsCreate a commentwrite
  • and 8 more in this area
Exchange rate10
  • teamwork.exchange_rate.create_custom_exchange_ratesCreate a new custom exchange ratewrite
  • teamwork.exchange_rate.get_custom_exchange_rates_by_idGet a custom exchange rateread
  • and 8 more in this area
Invoices10
  • teamwork.invoices.create_projects_by_id_invoicesCreate a New Invoice in a Projectwrite
  • teamwork.invoices.get_invoices_by_invoice_idGet invoice Line Itemsread
  • and 8 more in this area
Reactions10
  • teamwork.reactions.get_messages_by_message_idGet Reactions to a Messageread
  • teamwork.reactions.get_projects_updates_by_update_id_reactionsGet Reactions to a Project Updateread
  • and 8 more in this area
Activity9
  • teamwork.activity.list_latest_activityLatest Activity across all Projectsread
  • teamwork.activity.list_latestactivityLatest activity (all projects)read
  • and 7 more in this area

Custom reports 9Job roles 9Message replies 9Calendar events 8Project updates 8Forms 7Task reminders 7Budgets 6Expenses 6Links 6Project categories 6Project roles 6Auto schedule 5Calendars 5Clock in clock out 5File categories 5Link categories 5Message categories 5Notebook categories 5Reporting views 5Analytic engine 4Project templates 4Budget report 3Categories 3Forms public 3Likes 3Permissions 3Data views 2Estimation 2Link items 2Price plans 2Project email addresses 2Quote export preferences 2Quote settings 2Summary 2Task comments 2Tasklists 2Time approvals 2Timelogs 2Timesheets 2Trashcan 2Workload 2Account 1Account details 1Custom item record comments 1Dashboards 1Features 1File comments 1File uploading 1File version comments 1Importers 1Milestone comments 1Notebook comments 1Person 1Project health 1Project owner 1Recurring preview 1Search 1Site owner 1Timezones 1Users 1Utilization 1

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

Questions

The Teamwork MCP server, answered.

Is there a Teamwork MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 737 Teamwork actions across time tracking, tasks, custom fields and teams, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Teamwork.

What do I need to connect Teamwork?

Teamwork API token (used as the Basic username; the password is ignored). Plus your site host. The free call account { op: "connections.requirements", service: "teamwork" } lists exactly what to paste.

Can an AI agent delete or change things in Teamwork?

Only if its key allows it, and only with an explicit confirmation. 95 Teamwork actions are destructive, including delete a Task, delete an existing task. and remove a Card. 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 Teamwork API limit?

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

What does a Teamwork action cost?

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

The Teamwork.com API v3+v1 at your Teamwork instance's API base URL, which you enter when connecting. It is built from Teamwork's documentation as read on 19 September 2026. 737 actions in 92 areas, each one in the signed service file (version 1.0.0).

Can I combine Teamwork with my other systems?

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

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

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