# update_lead_scoring_model (/docs/mcp/tools/update-lead-scoring-model)

{/* Generated by scripts/sync-mcp-tools.mjs from happierleads-api. Do not edit: change src/routes/mcp/toolDocs.json there, or add content/mcp-notes/update_lead_scoring_model.mdx. */}

**Update a lead scoring model** · Deletes or overwrites data

Change a lead scoring model's name, on/off state and/or rules. Every criterion key you pass in criteria replaces that criterion's whole rule list; criteria you leave out are unchanged, so read the model first with get_lead_scoring_model and send the full list for each criterion you change. Rule changes on a live model queue a re-score of recent leads in the background (rescoring.status 'queued'); removing a domain from companyDomain exclusions also unblocks it. Changes are recorded in the model's history. modelId from list_lead_scoring_models. Returns status 'success', the new revision and a summary of changes.

| Connection | Account URL, team member URL or OAuth |
| --- | --- |

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `modelId` | `string` | Yes | Scoring model id from list_lead_scoring_models. |
| `name` | `string` | No | New model name. |
| `active` | `boolean` | No | true turns the model on (it scores leads), false turns it off. |
| `criteria` | `object` | No | Object keyed by criterion name, each value a full list of rules in the shape get_lead_scoring_model returns, e.g. \{"industry":[\{"values":["Software"],"score":8,"filter":"any"\}],"revenue":[\{"values":\{"min":1000000,"max":null\},"score":5\}]\}. score is -10..10; filter is 'any', 'only' or 'excl'. Numeric criteria (revenue, numberVisits, duration, alexaRank) take \{min,max\}; recency takes \{days\}; others take a list of strings. Empty or duplicate rules are dropped. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "update_lead_scoring_model",
  "title": "Update a lead scoring model",
  "annotations": {
    "title": "Update a lead scoring model",
    "readOnlyHint": false,
    "destructiveHint": true,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "modelId": {
        "type": "string",
        "description": "Scoring model id from list_lead_scoring_models."
      },
      "name": {
        "type": "string",
        "description": "New model name."
      },
      "active": {
        "type": "boolean",
        "description": "true turns the model on (it scores leads), false turns it off."
      },
      "criteria": {
        "type": "object",
        "description": "Object keyed by criterion name, each value a full list of rules in the shape get_lead_scoring_model returns, e.g. {\"industry\":[{\"values\":[\"Software\"],\"score\":8,\"filter\":\"any\"}],\"revenue\":[{\"values\":{\"min\":1000000,\"max\":null},\"score\":5}]}. score is -10..10; filter is 'any', 'only' or 'excl'. Numeric criteria (revenue, numberVisits, duration, alexaRank) take {min,max}; recency takes {days}; others take a list of strings. Empty or duplicate rules are dropped."
      }
    },
    "required": [
      "modelId"
    ]
  }
}
```
