# Recipes

> Step-by-step agent workflows for the most common BuildX tasks.

Source: https://docs.buildx.pro/docs/agents/recipes/

Each recipe uses only the interfaces in this section. Endpoints and tools are described on the [Cost API](https://docs.buildx.pro/docs/agents/cost-api.md) and [MCP server](https://docs.buildx.pro/docs/agents/mcp-server.md) pages.

## "How much will this job cost?"

1. Get the job, the size (with units) and the ZIP code from the user. Ask for the ZIP if you don't have it; prices change by region.
2. `GET /api/search?query=<job>&type=services&limit=5` on buildx.pro, then pick the closest calculator. If none fits, say so.
3. `GET /api/chat/cards?slug=<slug>&zip=<zip>`.
4. Scale the range to the user's quantity if it differs from `costBreakdown.quantity`. Use `qualityTiers` for budget, standard and high-end options (per-unit prices).
5. Answer with: the low-high range, the tier, the location, the biggest cost drivers (labor share is `labor_pct`), and the link `https://buildx.pro/costs/<slug>?qty=<qty>&zip=<zip>&tier=<tier>`. Say it's an estimate, not a quote.

## "Find me a contractor"

1. `list_trades` once, to map the user's words to a trade `slug`.
2. `search_contractors` with `trade`, `city` and `state` (or `lat`/`lng` and `radius_miles`), `limit` 5 to 10.
3. For the shortlist, call `get_reviews` and `get_availability`. Prefer `is_verified: true` if the user cares about licensing, and explain what that means ([what verified means](https://docs.buildx.pro/docs/owners/find-a-contractor.md)).
4. Present names, ratings, review highlights and each `profile_url`. Let the user contact contractors from the profile, or offer to send a lead.

## "Send my request to this contractor"

Needs an API key.

1. Confirm the user's name, email, optional phone, and the message (10+ characters: the job, the location, the timing).
2. `submit_lead` with `contractor_slug` (or `trade_slug` to reach a trade).
3. Tell the user it was sent and that the contractor replies by email or phone. Don't retry on success; each call creates a new lead.

## "Is it cheaper to build in Austin or Miami?"

1. `GET /api/regional-multiplier?zip=<zip>` for each place.
2. Compare `labor_factor` and `material_factor`. Labor usually explains most of the difference.
3. For one job, run `/api/chat/cards` with each ZIP and compare `total_low`/`total_high`.
4. Link the city pages, for example `https://buildx.pro/costs/city/austin`.

## "Find bid work for my company"

1. `search_itbs` with a `query` (trade or scope words) and `city`/`state_code`.
2. `get_itb` for any the user wants to read in full.
3. Share each title, budget range, location and status. Bidding happens outside the MCP server.

## "Which of my leads need a reply?" (contractor with a key)

1. `get_my_leads` with `status: "new"`.
2. Summarize each lead: name, what they asked for, when.
3. After the contractor replies, `respond_to_lead` with `status: "contacted"` and a short `note`.

These are the contractor's ContractorsNearMe leads. MyBuildX leads are only in the web app at mybuildx.com/leads.

## "How do I … in MyBuildX?"

1. Fetch `https://docs.buildx.pro/llms.txt` and find the page for that screen.
2. Fetch the page's `.md` URL and answer from it, using the exact button names in bold.
3. Link the page. If the feature is listed in [What BuildX doesn't do yet](https://docs.buildx.pro/docs/start/limits.md), say so instead of making up a workaround.

## Related

- [BuildX for AI agents](https://docs.buildx.pro/docs/agents/overview.md)
- [Docs for agents](https://docs.buildx.pro/docs/agents/docs-for-agents.md)
