contacts_add_channel
🔗 Link a channel identity (email, phone, Telegram/WhatsApp handle) to an existing contact.
When to use:
User learns a contact's email or phone and wants to save it
Adding a second channel for an existing person
Email/phone are stamped as the contact's identity keys, so channel sync attaches the matching conversation to the same contact automatically. If the identity already belongs to a DIFFERENT contact, the call fails unless merge_if_linked=true — which IRREVERSIBLY merges the two contacts into one. Requires contact_id (entity_id) from contacts.find.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Email address, phone number, or username for this channel | |
| channel | Yes | Channel type to add | |
| contact_id | Yes | entity_id from contacts.find/contacts.sync; when sync returned no entity_id, pass its person_id instead | |
| display_name | No | Optional display label for this identity | |
| in_workspace | No | Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected. | |
| merge_if_linked | No | If the identity already belongs to a DIFFERENT contact, merge that contact into this one (IRREVERSIBLE — the other contact record is deleted). Default false: the call fails instead of merging. |