Leads
BlueSuite MCP tools for leads
See connection and authentication and workflow rules before calling these tools.
Related REST API and behavior.
create_new_lead
Create a brand-new lead in one call: contact + optional property + request, atomically linked. Use this for the common "new inquiry" happy path where all three records are new. For existing contacts, existing properties, or adding another request/property to an existing contact, use the per-entity tools instead (create_contact, create_contact_property, create_request). Property is optional, omit it if the inquiry has no specific service address; the request will be created without a property link. Returns the created contact_id, property_id (or null), request_id, plus the full created request for follow-up calls.
Parameters
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
contact | object | Yes | Contact fields for the new lead. |
contact.first_name | string | When parent supplied | First name (required) |
contact.last_name | string | When parent supplied | Last name (required) |
contact.email | string | No | Primary email address |
contact.phone | string | No | Primary phone number |
contact.secondary_email | string | No | Secondary email address |
contact.secondary_phone | string | No | Secondary phone number |
contact.company | string | No | Company name |
contact.company_department | string | No | Department within company |
contact.company_position | string | No | Position/title at company |
contact.title | "mr", "mrs", "miss", "ms", "dr", "prof", "rev" | No | Honorific title |
contact.type | "none", "customer", "lead", "former_customer", "contractor", "partner", "vendor", "other" | No | Contact type. Default: 'lead' (the typical value for a new inquiry). Omit unless you specifically need a different value. Default: "lead". |
contact.owner_id | string | No | UUID of the contact owner. Use list_users to resolve names. Format: uuid. |
contact.custom_fields | object | No | Custom field values |
property | object | No | Optional property (service address) to create and link to the contact. Omit when the lead has no specific address yet. |
property.address | object | When parent supplied | Property address |
property.address.street | string | No | Street address line 1 |
property.address.street_2 | string | No | Street address line 2 |
property.address.city | string | No | City |
property.address.state | string | No | State/province |
property.address.postal_code | string | No | Postal/zip code |
property.address.country | string | No | Country |
property.property_type | "single-family", "apartment", "complex", "townhouse", "land", "commercial", "other" | No | Property type. Default: 'single-family'. Omit unless you specifically need a different value. Default: "single-family". |
property.role | "owner", "tenant", "manager", "agent", "other" | No | Contact's role for this property. Default: 'owner'. Omit unless you specifically need a different value. Default: "owner". |
request | object | Yes | Service request fields. contact_id and property_id are set automatically. |
request.name | string | No | Request name/title |
request.assignee_id | string | No | UUID of assigned team member. Use list_users to resolve a user name to a UUID. Format: uuid. |
request.details | string | No | Request details/description |
request.assessment | string | No | Assessment notes |
request.requested_on | string | No | Date the request was made (YYYY-MM-DD) |
request.status | "new", "responded", "overdue", "converted", "rejected", "archived" | No | Request status. Default: 'new'. Omit unless you specifically need a different value. Default: "new". |
request.custom_fields | object | No | Custom field values |
Result
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
The downloadable tool schemas include the full input and output contracts. Tables describe schema-level required fields; cross-field rules still apply.