Skip to main content
Glama

Edit leads

campaignstack_edit_leads

Apply bounded lead edits. Metadata patches write workspace overlays for global or private leads; contact patches are global-row contact updates only after workspace membership proof; profile link/unlink is provenance-bounded to private leads. Max 50 leads per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
leadsYes
workspaceIdNoWorkspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
itemsNo
failedNo
resultsNo
warningsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / leads / items / properties / leadSource / default
      Removed value: -"global"
    • addedInput schema / properties / leads / items / properties / leadSource / description
      Added value: +"Optional. Leave it out: the server reads it from the leadId and refuses a value that disagrees."
  2. Changed1 schema field changed
    • changedInput schema / properties / workspaceId / description
      Previous value: -"Workspace ID. REQUIRED for a user key (csu_), which spans every workspace you belong to; omitted for a workspace key (cs_), which is bound to one and ignores this argument. campaignstack_whoami reports which kind of key you are holding and, for a user key, the workspaces it can reach."New value: +"Workspace ID. Omit it when this connection reaches one workspace: a workspace key (cs_) is bound to its own, and a user key (csu_) or connected app whose person belongs to exactly one workspace defaults to that one. Required only when the person belongs to several; the error then lists them, and campaignstack_whoami reports them too."
  3. Added

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say this is a non-read, non-destructive, non-idempotent write. The description adds substantive behavior the annotations cannot convey: metadata edits land in a workspace overlay rather than the global row, contact edits touch global rows only after membership proof, and linking is provenance-bounded to private leads. It does not cover partial-failure or per-lead error behavior, which keeps it out of the top band.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences plus a batch limit, front-loaded with the core verb and scoped by patch type; every clause carries operational information. The heavy domain jargon ("provenance-bounded", "workspace overlays") is terse but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return-value explanation is unnecessary, and the description plus annotations together cover mutation semantics, per-patch-type constraints, and the 50-lead cap. Missing only edge-case behavior such as what occurs when membership proof fails or when a leadId resolves to neither store.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, and the description does add the overlay-vs-global-row semantics for the metadata parameter that the schema never states. However, leadId, leadSource, and workspaceId receive no treatment in the description, and the contact/profileLink constraints it repeats are already spelled out in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("Apply bounded lead edits") and enumerates the three edit classes (metadata patches, contact patches, profile link/unlink), which separates it from read/enrich/import siblings like get_leads or enrich_leads. It stops short of naming an alternative, but the operation is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the text tells the agent that contact patches apply to global-row leads and profile link/unlink applies to private leads, which functions as implicit eligibility guidance. There is no explicit when-not and no named sibling to prefer for adjacent tasks such as enrichment or list management.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources