> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ampersand.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Housecall Pro

## What's Supported

### Supported Actions

This connector supports:

* [Read Actions](/read-actions), including full historic backfill. **Please note that incremental read is not supported for all objects.**
* [Write Actions](/write-actions).
* [Subscribe Actions](/subscribe-actions). Please note that [special set up](#set-up-subscribe-actions) is needed for Housecall Pro.
* [Proxy Actions](/proxy-actions), using the base URL `https://api.housecallpro.com`.

### Supported Objects

| Object | Read | Write | Subscribe | Notes |
| - | - | - | - | - |
| [customers](https://docs.housecallpro.com/docs/housecall-public-api/042bd3bf861ae-get-customers) | ✓ (incremental) | ✓ | ✓ | |
| [employees](https://docs.housecallpro.com/docs/housecall-public-api/303ee235f23fa-get-employees) | ✓ | | ✓ | ¹ |
| [estimates](https://docs.housecallpro.com/docs/housecall-public-api/e430ba3d520a0-get-estimates) | ✓ (incremental) | ✓ | ✓ | |
| [events](https://docs.housecallpro.com/docs/housecall-public-api/5f8b2b787f4ba-get-events) | ✓ (incremental) | | | |
| [jobs](https://docs.housecallpro.com/docs/housecall-public-api/6c97704da8bf3-get-jobs) | ✓ (incremental) | ✓ | ✓ | |
| [job\_fields/job\_types](https://docs.housecallpro.com/docs/housecall-public-api/0c6fb36d5730d-get-job-types) | ✓ | ✓ | | |
| [leads](https://docs.housecallpro.com/docs/housecall-public-api/278974bc87e32-get-leads) | ✓ | ✓ | ✓ | ² |
| [lead\_sources](https://docs.housecallpro.com/docs/housecall-public-api/7444a4f65ed77-get-lead-sources) | ✓ | ✓ | | |
| [price\_book/materials](https://docs.housecallpro.com/docs/housecall-public-api/e404d4b30ea0d-create-material) | | ✓ | | |
| [price\_book/material\_categories](https://docs.housecallpro.com/docs/housecall-public-api/77aaf46f5b3db-get-material-categories) | ✓ (incremental) | ✓ | | |
| [price\_book/price\_forms](https://docs.housecallpro.com/docs/housecall-public-api/e9b15f38e151b-get-price-forms) | ✓ | ✓ | | |
| [price\_book/services](https://docs.housecallpro.com/docs/housecall-public-api/b68be85878ece-get-price-book-services) | ✓ | | | |
| [service\_zones](https://docs.housecallpro.com/docs/housecall-public-api/38b31504822e9-get-service-zones) | ✓ | | | |
| [routes](https://docs.housecallpro.com/docs/housecall-public-api/8d0d12e41a38b-get-routes) | ✓ | | | |
| [tags](https://docs.housecallpro.com/docs/housecall-public-api/e8fa7b29f8a8b-get-tags) | ✓ | ✓ | | |
| [invoices](https://docs.housecallpro.com/docs/housecall-public-api/65ce9f430d605-get-invoices) | ✓ | | ✓ | |
| [job.appointments](https://docs.housecallpro.com/docs/housecall-public-api/46e9e1be07621-webhooks#job-appointment-webhook-events) | | | ✓ | ³ |

¹ Subscribe only via [`otherEvents`](/subscribe-actions#other-events). In Housecall Pro's webhook UI, this event appears as `pro.created`, but the actual payload uses `employee.created`. Example fragment:

```yaml theme={"dark"}
- objectName: employee
  destination: housecallProWebhook
  otherEvents:
    - employee.created
```

² Delete events for `leads` are not reliable due to Housecall Pro platform limitations.

³ Subscribe only via [`otherEvents`](/subscribe-actions#other-events). Standard events are not supported. Example fragment:

```yaml theme={"dark"}
- objectName: job.appointments
  destination: housecallProWebhook
  otherEvents:
    - job.appointment.scheduled
    - job.appointment.rescheduled
    - job.appointment.appointment_discarded
    - job.appointment.appointment_pros_assigned
    - job.appointment.appointment_pros_unassigned
```

### Example integration

For an example manifest file of a Housecall Pro integration, visit our [samples repo on GitHub](https://github.com/amp-labs/samples/blob/main/housecallPro/amp.yaml).

## Before you get started

To use the Housecall Pro connector, you'll need an API Key from your Housecall Pro account. Here's how to get it:

1. Sign into your Housecall Pro account and go to App Store.
2. Find the API Key Management under My Apps, and click on it.
3. On the right-hand side, click Generate API Key.
4. Name your API Key.
5. Copy the API Key.

<img src="https://mintcdn.com/ampersand-24eb5c1a/VAO6EGavWNkQf7Wl/images/provider-guides/housecallpro.gif?s=b6a69de5f87d7032140f14da8f74c99e" alt="Housecall Pro API Key" width="800" height="425" data-path="images/provider-guides/housecallpro.gif" />

For more details, see the [Housecall Pro Authentication documentation](https://docs.housecallpro.com/docs/housecall-public-api/b87d37ae48a0d-authentication).

## Using the connector

This connector uses API Key authentication, which means that you do not need to set up a Provider App before getting started. (Provider apps are only required for providers that use OAuth2 Authorization Code grant type.)

To integrate with Housecall Pro:

* Create a manifest file like the [example](https://github.com/amp-labs/samples/blob/main/housecallPro/amp.yaml).
* Deploy it using the [amp CLI](/cli/overview).
* If you are using Read Actions or Subscribe Actions, create a [destination](/destinations).
* Embed the [InstallIntegration](/embeddable-ui-components#install-integration) UI component. The UI component will prompt the customer for an API key.
* Start using the connector!
  * If your integration has [Read Actions](/read-actions) or [Subscribe Actions](/subscribe-actions), you'll start getting webhook messages.
  * If your integration has [Write Actions](/write-actions), you can start making API calls to our Write API.
  * If your integration has [Proxy Actions](/proxy-actions), you can start making Proxy API calls.

## Set up Subscribe Actions

To receive subscribe events from Housecall Pro, the **customer** will enable webhooks in their Housecall Pro UI using a webhook URL you provide.

The flow:

1. **Define the subscribe action** in your `amp.yaml` and deploy it with the [amp CLI](/cli/overview).

2. **Generate a webhook URL for each customer** in this format:

   ```
   https://subscribe-receiver.withampersand.com/zt1secx7jknlhb/v1/projects/PROJECT_ID/integrations/INTEGRATION_ID/installations/INSTALLATION_ID
   ```

3. **Share the [Housecall Pro customer guide](/customer-guides/housecallPro#2-set-up-webhooks-for-real-time-updates-subscribe-actions)** with the customer and the webhook URL from Step 2. The customer will paste the webhook URL into the Housecall Pro UI and enable the events your integration subscribes to.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.