Telegram intake: Manage labels
intake_manage_labelsEdit the caller's client labels. 'action': create (name, aliases, language) | update (label, name/aliases/language) | archive / unarchive (label) | add_target (label, tenant_id, entity_kind = crm_lead | erp_organization | erp_contact | erp_project, entity_ref, entity_title — the caller must belong to that workspace) | remove_target (label, target_id) | map_sender (label, key_kind = tg_user | tg_username | name | chat, key) | unmap_sender (sender_id). Only ever touches the caller's own labels. CONFIRMATION: this tool runs immediately when the caller asks for it — it writes only their own record, and they can undo it from this same surface, so the request is taken as the instruction. You get an ordinary result, not a plan_token. Everything destructive, outbound or financial still proposes and waits.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "intake_manage_labels"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| name | No | ||
| label | No | A client label id, or its name/alias. | |
| action | Yes | ||
| aliases | No | ||
| key_kind | No | ||
| language | No | ||
| sender_id | No | ||
| target_id | No | ||
| tenant_id | No | ||
| entity_ref | No | ||
| entity_kind | No | ||
| entity_title | No |