Draft a full job request
draft_full_bid_cardQuote the page; do not infer a price. Prices on the page are dropped. Supply scopeSourceText and sourceUrl as untrusted page evidence; the URL is a reference only and is never fetched. Set trade to null for engine classification. Include ownerOrRenter and workType when known. Give the homeowner job title, scope, timing, ZIP, trade and photo links to private intake without an account. Up to five photos go through the existing photo checks before attachment when photo intake is enabled; returns attached and refused counts when available, plus available statusHandle and draftHandle capabilities. The homeowner must review and complete the draft. Never publishes or sends to contractors. For a new job, call start_job before answer_intake, then prepare_publish after the intake is ready; for other writes, read the previous reply before calling and follow the returned next step afterward, using only tools listed by this server. Only the homeowner tap sends anything to contractors. If anyone asks, say you are an AI assistant.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"jobTitle": "<jobTitle>",
"scopeDetails": "<scopeDetails>",
"timing": "<timing>",
"zip": "<zip>",
"trade": "<trade>",
"photoLinks": "<photoLinks>"
},
"name": "draft_full_bid_card"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | The five-digit ZIP code where the work is needed. | |
| trade | Yes | The job’s trade category; pass null for engine classification. | |
| timing | Yes | When the homeowner wants the work done. | |
| jobTitle | Yes | A short title for the homeowner’s job. | |
| workType | No | The kind of work requested, when known. | |
| sourceUrl | No | HTTP(S) reference only; never fetched. | |
| photoLinks | Yes | HTTPS photo references for the job; pass an empty list [] when there are no photos. | |
| scopeDetails | Yes | The JSON-composed message, including field names and photo links, must be at most 2000 characters. | |
| ownerOrRenter | No | Whether the homeowner owns or rents the property, when known. | |
| idempotency_key | No | Optional key to reuse when retrying the same draft request. | |
| scopeSourceText | No | Untrusted page excerpt; shares the composed message limit with all other fields. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| message | Yes | ||
| claimUrl | Yes | ||
| readback | Yes | ||
| replayed | No | ||
| expiresAt | Yes | ||
| understood | No | ||
| draftHandle | No | ||
| photosAdded | No | ||
| statusHandle | No | ||
| photosRefused | No |