App

Houzz Pro integrations

Connect Houzz Pro to any other app, or use it from your AI client over MCP. Houzz Pro is software for construction and design with end-to-end tools for CRM, Estimates/Proposals, Payments, Design, Project Management, and Marketing.

Connects with a tokenhouzz.com

What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.

Build solutions, not workarounds.

What do you want to automate with Houzz Pro?

Ask the assistant

You'll sign in before anything runs. What you typed comes with you.

Connect your AI client

Give your AI client this address.

https://mcp.apiant.ai

One connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.

Set it up in your client
Claude Code

Run this in the directory you want to work in.

claude mcp add --transport http -s project apiant-ai https://mcp.apiant.ai

Start Claude Code there, approve the server, and sign in in the browser page it opens.

Claude Code guide (opens in a new tab)
Claude, web and desktop

Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.

Setup guide (opens in a new tab)
Cursor

Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.

Setup guide (opens in a new tab)
Zed

Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.

Setup guide (opens in a new tab)
Codex and the ChatGPT desktop app

Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.

Setup guide (opens in a new tab)
Any other MCP client

Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.

Setup guide (opens in a new tab)

Pair it

Connect Houzz Pro with another app

What your agent can do with Houzz Pro

Triggers and actions 12 triggers · 119 actions

  • Trigger
    New Change Order

    Triggers when a new change order is created in Houzz Pro.

  • Trigger
    New Contact

    Triggers when a new contact is created in Houzz Pro.

  • Trigger
    New Daily Log

    Triggers when a new daily log is created in Houzz Pro.

  • Trigger
    New Estimate

    Triggers when a new estimate is created in Houzz Pro.

  • Trigger
    New Expense

    Triggers when a new expense is created in Houzz Pro.

  • Trigger
    New Invoice

    Triggers when a new invoice is created in Houzz Pro.

  • Trigger
    New Lead

    Triggers when a new lead is created in Houzz Pro.

  • Trigger
    New Project

    Triggers when a new project is created in Houzz Pro.

  • Trigger
    New Purchase Order

    Triggers when a new purchase order is created in Houzz Pro.

  • Trigger
    New Subcontractor

    Triggers when a new subcontractor is created in Houzz Pro.

  • Trigger
    New Time Track

    Triggers when a new time track is created in Houzz Pro.

  • Trigger
    New Vendor

    Triggers when a new vendor is created in Houzz Pro.

  • Action
    Archive File

    Archives a file. Unarchive restores it.

  • Action
    Archive Note

    Archives the note, removing it from the default list. Archiving is how a note is removed.

  • Action
    Archive Vendor

    Archives the vendor, which hides it from lists that filter on archived=false. The vendor and its links are kept, and unarchive restores it.

  • Action
    Convert Lead to Project

    Creates a project from this lead and marks the lead Won. The lead must be in status Won or Current and must not already be converted.

  • Action
    Create Custom Field

    Create a custom field definition for a given entity type.

  • Action
    Create Lead Note

    Adds a note to the project or lead in the path. The source defaults to "api" when you do not send one.

  • Action
    Create Project Note

    Adds a note to the project or lead in the path. The source defaults to "api" when you do not send one.

  • Action
    Create Subcontractor

    Creates a subcontractor and sends an invitation to the provided email address. Returns the new subcontractor.

  • Action
    Create Team Member

    Invites a person to the account by email. Only the email is required; an optional role and invitation note can be included.

  • Action
    Create Vendor

    Creates a vendor for the company. Only companyName is required.

  • Action
    Delete Contact

    Deletes a contact.

  • Action
    Delete Contact Group

    Archives a contact group rather than removing it permanently. Returns deleted: true on success.

  • Action
    Delete Contact Group Contact

    Removes a contact from the group without deleting the contact itself. Returns deleted: true on success.

  • Action
    Delete Daily Log

    Deletes the daily log.

  • Action
    Delete File

    Deletes a file. To keep it but set it aside, archive it instead.

  • Action
    Delete Lead

    Deletes the lead. To take a lead out of the active pipeline without deleting it, retire it instead.

  • Action
    Delete Milestone

    Deletes a milestone.

  • Action
    Delete Project

    Deletes the project. To hide a project without deleting it, update it with archived set to true instead.

  • Action
    Delete Subcontractor

    Deactivates a subcontractor instead of removing them permanently. Returns deleted: true on success.

  • Action
    Delete Task

    Deletes a task.

  • Action
    Delete Team Member

    Deactivates the team member; the person is not permanently removed from the account.

  • Action
    Generate Income Payments Report

    Starts generating the report and returns its ID with status pending. Poll the report status until it is completed, then fetch the results. Array filters accept at most 1000 values.

  • Action
    Generate Payouts Report

    Starts generating the report and returns its ID with status pending. Poll the report status until it is completed, then fetch the results. Array filters accept at most 1000 values.

  • Action
    Get Catalog Item

    Assemblies need the assemblies feature on the company plan: without it they are left out of the list and get returns 404. Returns 403 for companies not on the new catalog experience.

  • Action
    Get Category

    Requires the categories feature on the company plan; without it every request returns 403.

  • Action
    Get Change Order

    Returns the full change order, including the recipients, attachmentFileIds and totalApplied that list rows omit.

  • Action
    Get Contact

    Returns a single contact with its address, tags, contact group, and custom field entries.

  • Action
    Get Contact Group

    Returns a single contact group with the contacts linked to it and each contact's level.

  • Action
    Get Cost Code

    Requires the cost codes feature on the company plan; without it every request returns 403.

  • Action
    Get Daily Log

    Returns a single daily log with its content, dates and the project it belongs to.

  • Action
    Get Entity by Custom Field Value

    Resolve the entity whose custom field named `fieldName` holds `value`. Requires the read scope for the requested entityType — a token without it receives no data.

  • Action
    Get Estimate

    Returns the full estimate, including recipients, attachments and totals for payments and linked change orders, invoices and purchase orders.

  • Action
    Get Expense

    Returns one expense with its project, team member, service, cost code, category, vendor, payment method, the invoice line it was billed on, and its receipt files.

  • Action
    Get Expense Documents Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Expense Documents Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Expense Payments Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Expense Payments Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get File

    Returns a single file or folder within the context given by contextId and contextType, including a download URL for files.

  • Action
    Get Income Documents Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Income Documents Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Income Payments Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Income Payments Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Invoice

    Returns the full invoice, including the file, recipients and attachmentFileIds that list rows omit.

  • Action
    Get Lead

    Returns a single lead with its phase, source, contact, addresses and custom field entries. The project ID is populated once the lead has been converted.

  • Action
    Get Milestone

    Returns a single milestone with its dates, status, type, parent and the number of tasks linked to it.

  • Action
    Get Note

    Returns a single note, including its container, owner and archived state.

  • Action
    Get Open Invoices Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Open Invoices Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Payouts Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Payouts Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Profitability Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Profitability Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Project

    Returns a single project with its status, contact, owner, addresses and custom field entries.

  • Action
    Get Project Punchlist

    Returns the project's punchlist. Use its id to update it or to list its tasks.

  • Action
    Get Purchase Order

    Returns the full purchase order, including the recipients and attachmentFileIds that list rows omit.

  • Action
    Get Sales Tax

    Returns one sales tax with its components. Archived sales taxes can be fetched by ID.

  • Action
    Get Selections Board

    Returns one selections board with its project and, for an allowance board, the allowance that sets its budget.

  • Action
    Get Subcontractor

    Returns a single subcontractor with company details, trades, address, and status.

  • Action
    Get Task

    Returns a single task with its completion state, due date, visibility, and the project or lead and milestone it belongs to.

  • Action
    Get Tax Liability Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Tax Liability Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Team Member

    Returns a single team member with their role, status and contact details.

  • Action
    Get Time Entries Report Results

    Returns the report data. Responds 409 REPORT_NOT_READY while the report is pending and 409 REPORT_FAILED if generation failed. Results are kept for 1 hour after the report is generated.

  • Action
    Get Time Entries Report Status

    Returns the generation status. Status is kept for 15 minutes after the report is generated.

  • Action
    Get Time Track

    Returns one time track with its project, team member, activity or service, cost code, the invoice or request payment line it was billed on, and its clock segments.

  • Action
    Get Vendor

    Returns the full vendor record, including contact details, payment terms, tags and custom field entries. Works for archived vendors too.

  • Action
    List Assignee Candidates

    Who can be assigned to an entity. Use before Add assignees.

  • Action
    List Assignee Filter Options

    The distinct assignees across the given entities, for building an assignee filter.

  • Action
    List Catalog Items

    Ordered by creation time, oldest first. Assemblies need the assemblies feature on the company plan: without it they are left out of the list and get returns 404. Returns 403 for companies not on the new catalog experience.

  • Action
    List Categories

    Ordered by ID. Archived categories are left out unless includeArchived=true. Requires the categories feature on the company plan; without it every request returns 403.

  • Action
    List Change Orders

    Sorted by updatedAt descending, then id descending. To sync changes, page with updatedAfter set to your last checkpoint. List rows omit recipients, attachmentFileIds and totalApplied; fetch a single change order for those.

  • Action
    List Contact Groups

    Filter by contactGroupType or archived.

  • Action
    List Contacts

    Search by name, email, or phone via searchText.

  • Action
    List Cost Codes

    Ordered by code. Archived cost codes are left out unless includeArchived=true. Requires the cost codes feature on the company plan; without it every request returns 403.

  • Action
    List Custom Field Definitions

    Filter by customableType

  • Action
    List Custom Field Entries

    List the custom field entry values stored on a single entity.

  • Action
    List Daily Logs

    Returns all daily logs, optionally filtered by projectId. Filtering by date range is not supported.

  • Action
    List Estimates

    Sorted by updatedAt descending, then id descending. To sync changes, page with updatedAfter set to your last checkpoint. List rows omit file, recipients, attachmentFileIds, totalApplied, totalRequested, paymentDue and the linked-document totals; fetch a single estimate for those.

  • Action
    List Expenses

    Returns expenses, newest created first. Filter by projectId, houzzUserId, billable, taxable, syncToQb, referenceNumber, or an inclusive date range. startDate and endDate are YYYY-MM-DD and must be sent together.

  • Action
    List Files

    Lists the files and folders owned by the entity given by contextId and contextType. Returns root-level items unless parentId names a folder, and each file includes a download URL.

  • Action
    List Invoices

    Sorted by updatedAt descending, then id descending. To sync changes, page with updatedAfter set to your last checkpoint. List rows omit file, recipients and attachmentFileIds; fetch a single invoice for those.

  • Action
    List Lead Milestones

    Additional filtering is not supported.

  • Action
    List Lead Notes

    Returns active notes by default. Pass archived=true to return archived notes instead.

  • Action
    List Lead Phases

    Returns the pipeline phases available to the account, the values accepted by a lead's phaseId field.

  • Action
    List Leads

    Returns leads, optionally filtered by contact or pipeline phase.

  • Action
    List Lead Tasks

    Additional filtering (e.g. by completion state or due date) is not supported.

  • Action
    List Project Milestones

    Additional filtering is not supported.

  • Action
    List Project Notes

    Returns active notes by default. Pass archived=true to return archived notes instead.

  • Action
    List Projects

    Archived projects are included unless you explicitly pass archived=false.

  • Action
    List Project Statuses

    Returns the values accepted by a project's statusId field, including account-specific custom statuses.

  • Action
    List Project Tasks

    Additional filtering (e.g. by completion state or due date) is not supported.

  • Action
    List Project Types

    Returns the account's custom project types, the values accepted by a project's projectType field.

  • Action
    List Punchlist Tasks

    Additional filtering (e.g. by completion state or due date) is not supported.

  • Action
    List Purchase Orders

    Sorted by updatedAt descending, then id descending. To sync changes, page with updatedAfter set to your last checkpoint. List rows omit recipients and attachmentFileIds; fetch a single purchase order for those.

  • Action
    List Sales Taxes

    Ordered by creation time, oldest first. Archived sales taxes are left out unless includeArchived=true.

  • Action
    List Sections on a Selections Board

    Returns sections for the given selections board, ordered by position.

  • Action
    List Selections Boards

    Returns selections boards for the company, ordered by position. Pass projectId to limit the list to one project.

  • Action
    List Subcontractors

    Search by name, email, phone, company, or trade via the query param.

  • Action
    List Subcontractor Trades

    Returns the trades a subcontractor can be assigned. Use the returned IDs in subInfo.trades when creating or updating a subcontractor.

  • Action
    List Team Members

    Search by name, email, or phone via the query param.

  • Action
    List the Items of an Assembly

    Ordered by position. Returns 404 when the catalog item is not an assembly, or when the company plan does not include assemblies. Returns 403 for companies not on the new catalog experience.

  • Action
    List the Line Items of a Change Order

    Sorted by id ascending. Returns 404 when the change order does not exist.

  • Action
    List the Line Items of an Estimate

    Sorted by id ascending. Returns 404 when the estimate does not exist.

  • Action
    List the Line Items of an Invoice

    Sorted by id ascending. Returns 404 when the invoice does not exist.

  • Action
    List the Line Items of a Purchase Order

    Sorted by id ascending. Returns 404 when the purchase order does not exist.

  • Action
    List Time Tracks

    Returns time tracks, newest created first. Filter by projectId, houzzUserId, approvalStatus, or an inclusive work-date range. startDate and endDate are YYYY-MM-DD and must be sent together.

  • Action
    List Vendors

    Filter by companyName, archived, or tags. Archived vendors are included unless you explicitly pass archived=false.

  • Action
    List what an Assignee is Assigned to

    The projects, leads, tasks and milestones one assignee is assigned to, grouped by type.

  • Action
    Reactivate Lead

    Restores a retired lead to an active status. Clients archived by the original retire are not unarchived.

  • Action
    Retire Lead

    Archives this lead. Clients that are no longer referenced by another live lead or project are archived along with it, and reactivating the lead does not unarchive them. Won leads cannot be retired.

  • Action
    Unarchive File

    Restores an archived file.

  • Action
    Unarchive Vendor

    Restores an archived vendor so it appears in active vendor lists again.

  • Action
    Update Contact Group

    Updates a contact group's name, type, or archived state and returns the updated group. Use archived to archive or restore a group.

  • Action
    Update Contact Group Contact

    Changes a contact's level within the group and returns the updated contact group.

  • Action
    Update Note

    Updates only the fields you send; the note stays attached to its project or lead.

  • Action
    Update Project

    Updates only the fields you send. Addresses are upserted: include an address id to update it, omit the id to add a new address. Set archived to hide or restore the project.

  • Action
    Update Punchlist

    Updates a punchlist's visibility and returns the updated punchlist.

  • Action
    Update Team Member

    Updates only the fields you send, including the team member's role and contact details.

  • Action
    Update Vendor

    Updates only the fields you send; omitted fields keep their current values.

Reviews

What our customers say

Questions

Houzz Pro, answered

Is there a Houzz Pro MCP server?

APIANT's MCP server at https://mcp.apiant.ai works with Houzz Pro. Add that address to any AI client that takes a remote MCP server and sign in once in your browser. Your client can then run Houzz Pro actions on demand, or have APIANT build, test and run automations that use Houzz Pro. Nothing to install.

What can start an automation from Houzz Pro?

Any of Houzz Pro's 12 triggers in the catalog, including New Change Order, New Contact, New Daily Log and New Estimate. Describe the moment in plain language and your agent picks the right one.

What can your agent do in Houzz Pro?

Any of Houzz Pro's 119 actions, including Create Custom Field, Create Lead Note, Create Project Note and Create Subcontractor. Your agent maps the data both ways and tests every scenario before it ships.

Can I use Houzz Pro directly from Claude, ChatGPT or Cursor?

Yes. Connect your AI client to APIANT once and it works with Houzz Pro two ways. Ask it to do something in Houzz Pro once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running on its own. A one-off action uses your plan's tasks the same way an automation step does.

Do I need to write code against the Houzz Pro API?

No. APIANT connects to the Houzz Pro API for you, with a token. Describe what you want in plain language and your agent builds it on the Houzz Pro triggers and actions in the catalog. If you need an endpoint that is not there yet, your agent reads the Houzz Pro API documentation and adds it.

Which apps can Houzz Pro connect to?

Any app in the catalog; the list on this page pairs Houzz Pro with each of them. If the other app is missing, point your agent at its API documentation and it builds the connector.

What happens when something fails?

Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.

Is there a free plan?

Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.