Skip to main content
Glama

upsert_lead

Idempotent

Add or update a local lead by X handle per account, preserving omitted fields and local notes. Opt-out suppression is permanent.

Instructions

Add/update one local lead by X handle (unique per account). Omitted fields retain their values; notes stay local and never enter messages. Status: new, qualified, contacted, replied, closed, opted_out. Opt-out suppression is permanent and cannot be removed by upserting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
notesNo
handleYes
statusNo
accountYes
companyNo
display_nameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.2.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (not read-only, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real value: partial-update behavior, the local-only nature of notes ("never enter messages"), and the irreversible opt-out suppression, none of which appear in annotations.

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?

Four compact sentences with the core upsert action front-loaded and no filler. The status enumeration is a necessary detail rather than padding, though the phrasing is slightly dense.

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 values needn't be described, and annotations carry the safety profile. Combined with identity, partial-update, status, and opt-out semantics the description is largely sufficient, with only the undocumented tags/company/display_name parameters and absent sibling routing as remaining gaps.

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 0%, so the description must carry parameter meaning. It clarifies handle (unique per account), the status enum values, and the local scope of notes, but leaves tags, company, display_name, and account entirely undocumented in both schema and prose, so it only partially compensates.

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?

The description states a specific verb+resource ("Add/update one local lead by X handle") and pins identity with "(unique per account)". This clearly distinguishes it from status-only (update_lead_status) and opt-out (opt_out_lead) siblings, though it never names them explicitly.

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?

It implies usage through partial-update semantics ("Omitted fields retain their values") and by noting opt-out suppression "cannot be removed by upserting," hinting at opt_out_lead as the alternative. However, it gives no explicit when-to-use versus when-not guidance or named alternatives, so usage remains inferred.

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