set_notification_preference
Set one notification preference
All MCP toolsWrite
Set ONE cell of the person's preference matrix: a single notification kind on a single external channel, on or off. Read get_notification_preferences first — it names the kinds this person can receive and whether the channel can deliver at all. The stored value is an explicit choice and outlives any later change to the platform default, so writing the current default is meaningful rather than a no-op. A kind outside what a candidate receives, or a channel outside email, push and sms, refuses with zero writes — and the sms channel accepts only the kinds it actually serves (interview_reminder): an sms cell on any other kind refuses with zero writes too.
Input schema
{
"type": "object",
"properties": {
"personId": {
"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": "The person whose preference to set (persons.id — self)."
},
"kind": {
"type": "string",
"enum": [
"proposal_received",
"mutual_interest",
"interview_schedule_updated",
"candidacy_stage_changed",
"interview_completed",
"interview_reminder",
"interview_slot_response_nudge",
"message_received",
"agreement_recorded"
],
"description": "Which notification kind this cell is about."
},
"channel": {
"type": "string",
"enum": [
"email",
"push",
"sms"
],
"description": "Which external channel this cell is about."
},
"enabled": {
"type": "boolean",
"description": "The value to store for this cell."
}
},
"required": [
"personId",
"kind",
"channel",
"enabled"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema
{
"type": "object",
"properties": {
"personId": {
"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)$"
},
"kind": {
"type": "string",
"enum": [
"proposal_received",
"mutual_interest",
"interview_schedule_updated",
"candidacy_stage_changed",
"interview_completed",
"interview_reminder",
"interview_slot_response_nudge",
"message_received",
"agreement_recorded"
]
},
"channel": {
"type": "string",
"enum": [
"email",
"push",
"sms"
]
},
"enabled": {
"type": "boolean",
"description": "The stored value after the call."
}
},
"required": [
"personId",
"kind",
"channel",
"enabled"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}