Skip to content

Leads tools

MCP tools for Leads: leads_create.

  • leads_create: Send a sales enquiry to Ownrecord

leads_create

Send a sales enquiry to Ownrecord. Operation leads.create · Brand level · permission customers:write · risk tier write · since M12

Records a sales enquiry for Ownrecord itself (the /contact form of ownrecord.io) and emails it to Ownrecord's sales team. It works only on the platform brand (ownrecord); any other brand slug answers resource_not_found.

The enquiry keeps the name, email, company, a monthly volume range, the optional message, the page it was sent from and what the visitor agreed to: consent.contact (required, Ownrecord may use the details to answer) and consent.marketing (optional opt-in to product updates), with the version of the consent text. No IP address is stored.

Requests are limited per client IP (5 an hour) and per address (3 a day), whether or not they succeed (rate_limited). The website form also has a honeypot field and drops what bots send before calling this.

Public: the website calls it, no API key needed.

Annotations: readOnlyHint: false · destructiveHint: false · idempotentHint: false · openWorldHint: true

Arguments

ArgumentTypeRequiredDescription
namestringyesThe person to answer. (1–200 characters)
emailstringyesWhere sales answers. (at most 254 characters)
companystringyesThe company the request is for. (1–200 characters)
volumeRangeone of not_live_yet, under_30k, 30k_to_175k, 175k_to_1m, over_1myesMonthly live volume, roughly.
messagestringnoWhat the request is about (optional). (at most 5000 characters)
sourcePagestringyesThe site page the form was sent from, e.g. /contact. (at most 200 characters)
consentobjectyescontact must be true: the visitor agrees that Ownrecord uses the details to answer. marketing opts in to product updates (default false).
brandSlugstringyesThe platform brand's slug (ownrecord): leads belong to Ownrecord's own brand. (1–64 characters)
entity_idID (ent_…)noOptional: the brand's legal entity (ent_…); brand_id alone is enough.
brand_idID (brd_…)noThe brand to act on (brd_…), inside your API key's reach. Needed with an organization or entity key; a brand key acts on its own brand.
idempotency_keystringnoA unique string for this change. Retrying with the same key and arguments never acts twice. When left out, the server generates one and returns it in the result's idempotency_key. (1–255 characters)
  • Brand: pass brand_id with an organization or entity key; a brand key acts on its own brand.
  • Idempotency: the result returns the idempotency_key used, yours or one the server generated. Retry with it: a call with the same key and arguments never acts twice (keys are kept for 24 hours).
  • Dry run: not supported. dry_run: true fails with dry_run_not_supported.

Errors

  • validation_failed: A field is missing or malformed: an empty name or company, an email that isn't an address, an unknown volumeRange, a sourcePage that isn't a site path, or consent.contact not true.
  • resource_not_found: brandSlug isn't the platform brand (leads exist only on Ownrecord's own brand).
  • rate_limited: Too many enquiries from this client IP (5 an hour) or for this address (3 a day); wait retry_after_ms.

Example

Ask sales about Enterprise

Arguments:

JSON
{
  "brandSlug": "ownrecord",
  "name": "Ana Kovač",
  "email": "ana@example.com",
  "company": "Acme Digital d.o.o.",
  "volumeRange": "175k_to_1m",
  "message": "We run two brands from two EU entities and want to talk about Enterprise.",
  "sourcePage": "/contact",
  "consent": {
    "contact": true,
    "marketing": false
  },
  "brand_id": "brd_01jbx4m3v8e9t0s6k2c5n7q1wz",
  "idempotency_key": "8d0c5f8e-4b7a-4e43-9b0f-2f6a0c1d9e21"
}

Result output:

JSON
{
  "object": "lead",
  "id": "lead_01m4tx5nj8emwbyf7y9vcf48c0",
  "createdAt": "2026-10-26T09:30:00.000Z",
  "message": "Thanks. We've received your request and will answer at ana@example.com."
}