dex_update_contact
Update contact details in Dex CRM by ID, modifying only specified fields while preserving others. Supports name, email, phone, social profiles, tags, groups, and custom fields.
Instructions
Update a contact by ID. Only included fields are modified; omitted fields remain unchanged. Supports all fields: name, company, job title, emails (contact_emails array with email/label/ranking), phone numbers (contact_phone_numbers array with phone_number/country_code/label/ranking), social profiles (linkedin, twitter, facebook, instagram, telegram, tiktok, youtube), addresses (legacy_contact_addresses), custom field values, group associations (groups_contacts), tag associations (tags_contacts with append/remove), related contacts, birthday, archival status, and more.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | ||
| data | Yes |
Implementation Reference
- src/tools/contacts.ts:208-222 (handler)Implementation of the dex_update_contact tool, which takes a contactId and a data object to update contact details using a PUT request to the Dex API.
server.tool( "dex_update_contact", "Update a contact by ID. Only included fields are modified; omitted fields remain unchanged. Supports all fields: name, company, job title, emails (contact_emails array with email/label/ranking), phone numbers (contact_phone_numbers array with phone_number/country_code/label/ranking), social profiles (linkedin, twitter, facebook, instagram, telegram, tiktok, youtube), addresses (legacy_contact_addresses), custom field values, group associations (groups_contacts), tag associations (tags_contacts with append/remove), related contacts, birthday, archival status, and more.", { contactId: z.string(), data: z.object(contactFieldsShape), }, async (args) => { try { const result = await dex.put(`/v1/contacts/${args.contactId}`, args.data); return toResult(result); } catch (error) { return toError(error); } }