← capabilitiesleads.write

request_quote

leads.request_quote · v0.1.0

Request a priced quote from a LeadKit provider for a defined scope of work.

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"
    }
  }
}

Recent conformance runs

passprovidertestmswhen
leadkit:ridgeline-roofingrejects_missing_scope005-18 19:52
leadkit:ridgeline-roofinghappy_path17805-18 19:52
leadkit:north-bureaurejects_missing_scope005-18 19:52
leadkit:north-bureauhappy_path18905-18 19:52
leadkit:june-fieldingrejects_missing_scope105-18 19:52
leadkit:june-fieldinghappy_path77705-18 19:52