well_add_contact_channel
ActiveTool of Well
Add a contact channel to a company or person. Wraps the resource-scoped REST endpoints (POST /v1/{companies,people}/:id/{emails,phones,web-links,locations}). channel + the matching value field: - email → value.email - phone → value.e164_number (E.164; a leading "+" is added if missing) - web_link → value.url (+ optional value.platform, default "website") - location → value.city, value.country (+ optional address_line1/2, region, postal_code) value.label is optional (defaults to "work"). NOTE: adding a phone is supported on a PERSON but NOT on a company (no endpoint) — that combination returns a clear error. To READ existing channels, use well_query_records on the parent (companies/people) or the channel root.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"parent",
"parent_id",
"channel",
"value"
],
"properties": {
"value": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "web_link channel: the URL"
},
"city": {
"type": "string",
"description": "location channel: city"
},
"email": {
"type": "string",
"description": "email channel: the address"
},
"label": {
"type": "string",
"description": "optional label (default 'work')"
},
"region": {
"type": "string"
},
"country": {
"type": "string",
"description": "location channel: 2-letter country code"
},
"platform": {
"type": "string",
"description": "web_link channel: platform (default 'website')"
},
"e164_number": {
"type": "string",
"description": "phone channel: number (E.164)"
},
"postal_code": {
"type": "string"
},
"address_line1": {
"type": "string"
},
"address_line2": {
"type": "string"
}
},
"description": "Channel value — fill the field(s) for the chosen channel"
},
"parent": {
"enum": [
"company",
"person"
],
"type": "string",
"description": "Parent record type: company or person"
},
"channel": {
"enum": [
"email",
"phone",
"web_link",
"location"
],
"type": "string",
"description": "Channel to add: email | phone | web_link | location"
},
"parent_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "UUID of the parent company or person"
},
"workspace_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Target workspace. Omit to use the only authorized workspace, or (for read tools) to query all authorized workspaces grouped by workspace. Required for write tools when the token authorizes more than one workspace."
},
"idempotency_key": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Optional client-supplied key. A retried write with the same key returns the original result instead of re-applying the operation."
}
},
"additionalProperties": false
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Well
https://github.com/WellApp-ai/well-mcp
1/7 registries