Skip to content

Connectors · Logistics & field service

Housecall Pro MCP server for AI agents.

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

Set up

Connect Housecall Pro 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 Housecall Pro.

    API key. 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_keyHousecall Pro company API key: in Housecall Pro open the App Store, find the API application and generate a key (an…
    account { op: "connections.requirements", service: "housecall_pro" }
    # 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: "housecall_pro.customers.list" }# get customers · read · 1 upstream callcheck { action: "housecall_pro.jobs.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Housecall Pro at a glance

Sign-in
API key. 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_key
Limits we pace to
120 calls a minute, per connection
API covered
Housecall v1 API 1.0api.housecallpro.com
Built from
Housecall Pro's documentation, read 23 October 2026stoplight.iodocs.housecallpro.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
37 of 37 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line Housecall Pro up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Housecall Pro.

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

  • 37readlook, never change
  • 44writecreate and update
  • 11destructivewait for a confirmation
  1. Jobs

    6

    2 read · 4 write · 0 destructive

    Get Jobs · Create a Job · Dispatch job to employees · Get a Job

  2. Job line items

    5

    1 read · 3 write · 1 destructive

    Add a line item to a Job · Lists all line items for a job · Bulk update a job's line items · Update a single line item for a job

  3. Price forms

    5

    2 read · 2 write · 1 destructive

    Create Price Form · Get Price Forms · Get Price Form · Update Price Form

  4. Customers

    4

    2 read · 2 write · 0 destructive

    Get Customers · Create Customer · Get Customer · Update Customer

  5. Job appointments

    4

    1 read · 2 write · 1 destructive

    Create appointment · Get Appointments · Update Appointment · Delete appointment

  6. Leads

    4

    2 read · 2 write · 0 destructive

    Get Leads · Convert Lead to Estimate or Job · Create Lead · Get Lead

  7. Material categories

    4

    1 read · 2 write · 1 destructive

    Create Material Category · Get Material Categories · Update Material Category · Delete Material Category

  8. Materials

    4

    1 read · 2 write · 1 destructive

    Create Material · Get Materials · Update Material · Delete Material

31 more areas · 56 actions
  • Application 3
  • Customer addresses 3
  • Estimate options 3
  • Estimates 3
  • Job types 3
  • Lead sources 3
  • Tags 3
  • Estimate option line items 2
  • Estimate option notes 2
  • Events 2
  • Invoices 2
  • Job input materials 2
  • Job notes 2
  • Job schedule 2
  • Job tags 2
  • Pipeline statuses 2
  • Schedule availability 2
  • Webhook subscription 2
  • Booking windows 1
  • Checklists 1
  • Company 1
  • Company franchise info 1
  • Employees 1
  • Estimate option links 1
  • Estimate option schedule 1
  • Job invoices 1
  • Job links 1
  • Lead line items 1
  • Price book services 1
  • Routes 1
  • Service zones 1

Top actions

The Housecall Pro API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems.

ActionWhat it doesEffectSame name in
housecall_pro.jobs.listGet JobsGet Jobs.readthis connector
housecall_pro.leads.listGet LeadsGet Leads.readthis connector
housecall_pro.invoices.listGet InvoicesGet Invoices.readthis connector
housecall_pro.customers.listGet CustomersGet Customers.readthis connector
housecall_pro.employees.listGet EmployeesGet Employees.readthis connector
housecall_pro.estimates.listGet EstimatesGet Estimates.readthis connector
housecall_pro.tags.listGet tagsGet tags.readthis connector
housecall_pro.events.listGet EventsGet Events.readthis connector
housecall_pro.jobs.createCreate a JobCreate a Job.writethis connector
housecall_pro.tags.createCreate a tagCreate a tag.writethis connector
housecall_pro.job_tags.addAdd job tagAdd job tag.writethis connector
housecall_pro.job_tags.removeRemove job tagRemove job tag.destructivethis connector

Try it

Prompts to paste into Claude.

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

  1. Readread

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

    callshousecall_pro.invoices.list

  2. Writewrite

    Create a Job in Housecall Pro. Show me exactly what you will send before you save it.

    callshousecall_pro.jobs.create

  3. Across systemsread

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

    callshousecall_pro.jobs.listconnectwise_manage.invoices.list

Across your systems

Housecall Pro, joined to the rest of your business.

One ask fetches from Housecall Pro 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 tickets are in Housecall Pro and how many invoices in ConnectWise PSA?

    housecall_pro.jobs.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • For each customer, how many tickets are in Housecall Pro and how many invoices in NetSuite?

    housecall_pro.jobs.list + netsuite.views.invoices, on crm.company · NetSuite

Also mapped by other connectorscrm.contact 192finance.invoice 91hr.employee 63service.ticket 62finance.quote 45crm.lead 28
ask
ask {  intent: "for each customer, how many tickets are in Housecall Pro and how many invoices in ConnectWise PSA",  steps: [    { action: "housecall_pro.jobs.list", as: "tix", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "tix",        right: "inv",        on: "crm.company",        group_by: "tix.company_name",        select: ["tix.company_name", "count(tix.id) as tickets", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Housecall Pro

Destructive actions wait for a yes.

11 Housecall Pro actions are destructive. These are all of them:

  • Remove job taghousecall_pro.job_tags.remove
  • Delete job notehousecall_pro.job_notes.delete
  • Delete Materialhousecall_pro.materials.delete
  • Delete Price Formhousecall_pro.price_forms.delete
  • Disable Applicationhousecall_pro.application.disable
  • Delete job schedulehousecall_pro.job_schedule.delete
  • Delete a single line item for a jobhousecall_pro.job_line_items.delete
  • Delete appointmenthousecall_pro.job_appointments.delete
  • Delete Material Categoryhousecall_pro.material_categories.delete
  • Delete a Webhook Subscriptionhousecall_pro.webhook_subscription.delete
  • Delete estimate option notehousecall_pro.estimate_option_notes.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.

dohousecall_pro.job_tags.removeconfirm_policy: human

Remove job tag?

intent: the user asked me to remove job tag

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

Cost

What Housecall Pro costs on actionlake.

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

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

Jobs6
  • housecall_pro.jobs.createCreate a Jobwrite
  • housecall_pro.jobs.dispatchDispatch job to employeeswrite
  • housecall_pro.jobs.getGet a Jobread
  • housecall_pro.jobs.listGet Jobsread
  • housecall_pro.jobs.lockLock Jobwrite
  • housecall_pro.jobs.lock_by_time_rangeLock Jobswrite
Job line items5
  • housecall_pro.job_line_items.bulk_updateBulk update a job's line itemswrite
  • housecall_pro.job_line_items.createAdd a line item to a Jobwrite
  • housecall_pro.job_line_items.deleteDelete a single line item for a jobdestructive
  • housecall_pro.job_line_items.listLists all line items for a jobread
  • housecall_pro.job_line_items.updateUpdate a single line item for a jobwrite
Price forms5
  • housecall_pro.price_forms.createCreate Price Formwrite
  • housecall_pro.price_forms.deleteDelete Price Formdestructive
  • housecall_pro.price_forms.getGet Price Formread
  • housecall_pro.price_forms.listGet Price Formsread
  • housecall_pro.price_forms.updateUpdate Price Formwrite
Customers4
  • housecall_pro.customers.createCreate Customerwrite
  • housecall_pro.customers.getGet Customerread
  • housecall_pro.customers.listGet Customersread
  • housecall_pro.customers.updateUpdate Customerwrite
Job appointments4
  • housecall_pro.job_appointments.createCreate appointmentwrite
  • housecall_pro.job_appointments.deleteDelete appointmentdestructive
  • housecall_pro.job_appointments.listGet Appointmentsread
  • housecall_pro.job_appointments.updateUpdate Appointmentwrite
Leads4
  • housecall_pro.leads.convertConvert Lead to Estimate or Jobwrite
  • housecall_pro.leads.createCreate Leadwrite
  • housecall_pro.leads.getGet Leadread
  • housecall_pro.leads.listGet Leadsread
Material categories4
  • housecall_pro.material_categories.createCreate Material Categorywrite
  • housecall_pro.material_categories.deleteDelete Material Categorydestructive
  • housecall_pro.material_categories.listGet Material Categoriesread
  • housecall_pro.material_categories.updateUpdate Material Categorywrite
Materials4
  • housecall_pro.materials.createCreate Materialwrite
  • housecall_pro.materials.deleteDelete Materialdestructive
  • housecall_pro.materials.listGet Materialsread
  • housecall_pro.materials.updateUpdate Materialwrite
Application3
  • housecall_pro.application.disableDisable Applicationdestructive
  • housecall_pro.application.enableEnable Applicationwrite
  • housecall_pro.application.getGet Applicationread
Customer addresses3
  • housecall_pro.customer_addresses.createCreate an Address on a Customerwrite
  • housecall_pro.customer_addresses.getGet a Customer's Addressread
  • housecall_pro.customer_addresses.listGet All of a Customer's Addressesread
Estimate options3
  • housecall_pro.estimate_options.approveApprove estimate optionswrite
  • housecall_pro.estimate_options.createCreate an estimate optionwrite
  • housecall_pro.estimate_options.declineDecline estimate optionswrite
Estimates3
  • housecall_pro.estimates.createCreate an estimatewrite
  • housecall_pro.estimates.getGet a single estimate by IDread
  • housecall_pro.estimates.listGet Estimatesread
Job types3
  • housecall_pro.job_types.createCreate Job Typewrite
  • housecall_pro.job_types.listGet Job Typesread
  • housecall_pro.job_types.updateUpdate a Job Typewrite
Lead sources3
  • housecall_pro.lead_sources.createCreate lead sourcewrite
  • housecall_pro.lead_sources.listGet Lead Sourcesread
  • housecall_pro.lead_sources.updateUpdate Lead Sourcewrite
Tags3
  • housecall_pro.tags.createCreate a tagwrite
  • housecall_pro.tags.listGet tagsread
  • housecall_pro.tags.updateUpdate a tagwrite
Estimate option line items2
  • housecall_pro.estimate_option_line_items.bulk_updateBulk update estimate option line itemswrite
  • housecall_pro.estimate_option_line_items.listList estimate option line itemsread
Estimate option notes2
  • housecall_pro.estimate_option_notes.createCreate Estimate option notewrite
  • housecall_pro.estimate_option_notes.deleteDelete estimate option notedestructive
Events2
  • housecall_pro.events.getGet the event via IDread
  • housecall_pro.events.listGet Eventsread
Invoices2
  • housecall_pro.invoices.getGet Invoice by UUIDread
  • housecall_pro.invoices.listGet Invoicesread
Job input materials2
  • housecall_pro.job_input_materials.bulk_updateBulk update a job's input materialswrite
  • housecall_pro.job_input_materials.listLists all job input materials for a jobread
Job notes2
  • housecall_pro.job_notes.createAdd job notewrite
  • housecall_pro.job_notes.deleteDelete job notedestructive
Job schedule2
  • housecall_pro.job_schedule.deleteDelete job scheduledestructive
  • housecall_pro.job_schedule.updateUpdate job schedulewrite
Job tags2
  • housecall_pro.job_tags.addAdd job tagwrite
  • housecall_pro.job_tags.removeRemove job tagdestructive
Pipeline statuses2
  • housecall_pro.pipeline_statuses.listGet Pipeline Statusesread
  • housecall_pro.pipeline_statuses.setUpdate Pipeline Statuswrite
Schedule availability2
  • housecall_pro.schedule_availability.getSchedule Windowsread
  • housecall_pro.schedule_availability.updateUpdate a company's schedule windowswrite
Webhook subscription2
  • housecall_pro.webhook_subscription.createCreate a Webhook Subscriptionwrite
  • housecall_pro.webhook_subscription.deleteDelete a Webhook Subscriptiondestructive
Booking windows1
  • housecall_pro.booking_windows.listBooking Windowsread
Checklists1
  • housecall_pro.checklists.listGet Checklistsread
Company1
  • housecall_pro.company.getGet Companyread
Company franchise info1
  • housecall_pro.company_franchise_info.updateUpdate Franchise Infowrite
Employees1
  • housecall_pro.employees.listGet Employeesread
Estimate option links1
  • housecall_pro.estimate_option_links.createCreate Estimate option linkwrite
Estimate option schedule1
  • housecall_pro.estimate_option_schedule.updateUpdate estimate option schedulewrite
Job invoices1
  • housecall_pro.job_invoices.listGet Job Invoicesread
Job links1
  • housecall_pro.job_links.createCreate Job Linkwrite
Lead line items1
  • housecall_pro.lead_line_items.listLists all line items for a leadread
Price book services1
  • housecall_pro.price_book_services.listGet Price Book Servicesread
Routes1
  • housecall_pro.routes.listGet Routesread
Service zones1
  • housecall_pro.service_zones.listGet Service Zonesread

Questions

The Housecall Pro MCP server, answered.

Is there a Housecall Pro MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 92 Housecall Pro actions across jobs, job line items, price forms and customers, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Housecall Pro.

What do I need to connect Housecall Pro?

Housecall Pro company API key: in Housecall Pro open the App Store, find the API application and generate a key (an…. The free call account { op: "connections.requirements", service: "housecall_pro" } lists exactly what to paste.

Can an AI agent delete or change things in Housecall Pro?

Only if its key allows it, and only with an explicit confirmation. 11 Housecall Pro actions are destructive, including remove job tag, delete job note and delete Material. 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 Housecall Pro API limit?

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

What does a Housecall Pro action cost?

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

The Housecall v1 API 1.0 at api.housecallpro.com. It is built from Housecall Pro's documentation as read on 23 October 2026. 92 actions in 39 areas, each one in the signed service file (version 1.0.0).

Can I combine Housecall Pro with my other systems?

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

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

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