export_proposal
Generates a bid proposal PDF with company letterhead, measured scope, base bid, terms, and signature blocks, flagging incomplete or unpriced items before the estimate is sent.
Instructions
Write the bid proposal PDF — the canvas Proposal dialog's download: letterhead from company, prepared-for (set_estimate_settings client), the scope (each condition, its spec description, measured quantity), the base bid (lump sum, or itemized when the project's proposal says so), inclusions / exclusions / terms and signature blocks. Every page carries a light diagonal "OpenTakeoff" and the line "Prepared with OpenTakeoff · opentakeoff.kentucky-ai.com". Pass company exactly as the estimator gave it — this server has no Company setup of its own. It never refuses an incomplete estimate; the reply's complete and unpriced say what the base bid is missing, and the user must hear it before sending. Default path: next to the loaded plan as " - proposal.pdf".
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "export_proposal"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Where to write the PDF (default: "<plan dir>/<project or plan> - proposal.pdf") | |
| company | No | The contractor's letterhead, from the estimator | |
| overwrite | No | Replace the file at path even when it is not an OpenTakeoff export. Off by default: re-exporting over a previous export of your own already overwrites without this, so you only need it to deliberately destroy an unrelated file. | |
| project_name | No | Project name on the proposal (default: the plan file's name) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| path | Yes | ||
| pages | Yes | ||
| base_bid | Yes | ||
| complete | Yes | ||
| itemized | Yes | ||
| unpriced | Yes |