Semantics
Creates a lead flagged as `quote_requested` with an explicit scope, optional budget, and optional timeline. The owner gets a notification optimized for quote response (typically within 2 business days). The returned lead_id can be polled via `get_lead_status` to track whether a quote has been drafted, sent, viewed, or accepted.
Invariants
- Budget is optional; if provided it shapes provider response.
- `scope` is the freeform description of what needs to be done — provider drafts a priced quote against it.
- Distinct from `submit_request` because the agent has already committed to a definite ask, not exploration.
When to use
When the user knows they want a service and just needs a price + timeline. The provider responds with a structured quote.
Input schema
{
"type": "object",
"required": [
"name",
"email",
"scope"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
},
"scope": {
"type": "string",
"maxLength": 5000,
"minLength": 1,
"description": "What is to be done."
},
"timeline": {
"type": "string"
},
"service_id": {
"type": "string"
},
"agent_vendor": {
"type": "string"
},
"budget_amount": {
"type": "number",
"minimum": 0
},
"budget_currency": {
"type": "string",
"description": "ISO 4217 e.g. 'USD'."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"ok"
],
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"enum": [
"invalid_email",
"invalid_input",
"tenant_not_found"
],
"type": "string"
},
"status": {
"type": "string"
},
"lead_id": {
"type": "string"
},
"response_expected_within_business_days": {
"type": "number"
}
}
}