Skip to main content
Glama

update_customer

Update an existing customer by ID, changing only the fields you pass. Set any of name, email, stage, revenue, and more.

Instructions

Update a customer by ID. Only the fields you pass are changed.

Args: customer_id: UUID of the customer name: Name of the person or business description_html: HTML description email: Primary contact email website_url: Customer website, e.g. "https://acme.com" domain: The customer's industry — shown as "Industry" in Plane. Free text, e.g. "Retail", "e-Commerce", "Fintech", "Banking". This is NOT a web domain; the site belongs in website_url. employees: Number of employees, if the customer is a business stage: Lifecycle stage. Stored free-form, but Plane only renders: lead | sales_qualified_lead | contract_negotiation | closed_won | closed_lost contract_status: Stored free-form, but Plane only renders: active | pre_contract | signed | inactive revenue: Annual revenue the customer generates, as a string, e.g. "5000000" logo_props: Logo properties external_source: External system the customer came from external_id: The customer's ID in that external system

Returns: The updated Customer

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
emailNo
stageNo
domainNo
revenueNo
employeesNo
logo_propsNo
customer_idYes
external_idNo
website_urlNo
contract_statusNo
external_sourceNo
description_htmlNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
nameYes
emailNo
stageNo
domainNo
revenueNo
logo_urlNo
employeesNo
workspaceNo
created_atNo
created_byNo
deleted_atNo
logo_assetNo
logo_propsNo
updated_atNo
updated_byNo
archived_atNo
descriptionNo
external_idNo
website_urlNo
contract_statusNo
external_sourceNo
description_htmlNo
description_binaryNo
description_strippedNo
customer_request_countNo
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses important behavior: partial updates are applied only to passed fields, stage and contract_status are stored free-form but Plane renders only specific values, and domain is explicitly NOT a web domain. It also states the return value. It does not mention error/edge-case behavior, but the disclosed traits are substantive.

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

Conciseness5/5

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

The description is front-loaded with the action and partial-update note, then uses a clean, consistent Args list. Each parameter gets a compact line with relevant detail, and the Returns line is clear. There is no fluff or redundant repetition of schema type information.

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?

For a 13-parameter update tool with no annotations, this description covers parameter semantics, update behavior, rendering constraints, and return value, making it largely complete. The only minor gap is the vague 'Logo properties' description for logo_props and the absence of explicit prerequisite/error information, but overall it is well above the minimum viable level.

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

Parameters5/5

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

With schema description coverage at 0%, the description fully compensates by documenting all 13 parameters with meanings, examples, and allowed renderable values for stage and contract_status. It even clarifies the potentially confusing domain vs website_url distinction, which is exactly the kind of semantic value an AI agent needs.

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

Purpose5/5

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

The description opens with 'Update a customer by ID', a specific verb+resource+scope that clearly states what the tool does. It also clarifies partial-update semantics ('Only the fields you pass are changed'), which distinguishes it from create/retrieve/delete customer siblings.

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

Usage Guidelines4/5

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

The description makes the usage context clear: update an existing customer by ID with optional fields. It does not explicitly state when not to use it or name alternatives, but the partial-update note and the presence of create/retrieve/delete siblings imply the intended use case well.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leigangzhang/plane-mcp-server-adapter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server