Skip to main content
Glama

SuiteDash MCP by usefulapi

Update contact

suitedash_update_contact
DestructiveIdempotent

WRITE: update fields of an existing CRM contact (found by UID or email); only the fields you pass change, and null clears a field. Tags and custom fields passed here replace the current values. If send_welcome_email is true SuiteDash EMAILS the contact a portal invitation (only if none was sent before): leave it unset unless the user asked. PUT /contact/{identifier}.

Input Schema

NameRequiredDescriptionDefault
tagsNoTags (replaces the record's tag list).
emailNoNew primary email.
phoneNoPrimary phone (null clears it).
titleNoJob title (null clears it).
addressNoPostal address; only the parts you pass are sent.
websiteNoWebsite (null clears it).
last_nameNo
first_nameNo
home_emailNo
home_phoneNoHome phone (null clears it).
identifierYesThe contact's UID or current email address.
shop_phoneNoShop phone (null clears it).
work_emailNo
work_phoneNoWork phone (null clears it).
name_prefixNo
company_nameNoLink the contact to the CRM company with this name.
custom_fieldsNoCustom field values keyed by the custom field UID (from the *_fields tool); text/date as a string, numbers as numbers, multi-select as an array.
background_infoNoBackground info (null clears it).
send_welcome_emailNoSend the portal invitation email if it was never sent.
create_company_if_not_existsNoWith company_name: create the company when none matches (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations (which only flag destructive/idempotent/openWorld): it discloses that tags and custom_fields are whole-value replacements rather than merges, that null is the explicit clear signal, and that send_welcome_email triggers a real outbound portal invitation email only when none was sent before. Those are exactly the side effects and destruction semantics an agent must know before calling.

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?

Four tight sentences, front-loaded with the write verb and resource, followed by the highest-risk behaviors (replacement, email side effect) and the endpoint. No filler or restatement of the title.

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 20-parameter nested mutation with no output schema, the description covers the destructive and side-effect risks an agent needs. It does not say what the response contains or whether the identifier changes if email is updated, which is a modest remaining gap.

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

Parameters4/5

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

Schema coverage is 75%, and the description adds the cross-cutting semantics the schema cannot express per-field: partial-update behavior, null-as-clear, replacement semantics for tags/custom_fields, and the send_welcome_email guard. It does not explain identifier format nuances or the interaction between email and identifier beyond the schema's own note.

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?

States a specific verb and resource ('update fields of an existing CRM contact') plus the lookup key (UID or email), which cleanly separates it from suitedash_create_contact and suitedash_update_company. The 'WRITE:' prefix plus the PUT endpoint make the operation unambiguous at a glance.

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?

Gives clear operational context: only passed fields change, null clears, and send_welcome_email should be left unset unless the user explicitly asked. It does not explicitly name create_contact as the alternative for new records, but 'existing contact' implies the boundary well enough.

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.