Skip to content

Assignment models

Assignment Models are the non-generative half of MAIA Plus intelligence. A language model writes text; an assignment model scores candidates — which technician or which group should own this ticket — and either recommends or assigns them. This page covers the whole lifecycle: configuration, validation, training, shadow deployment, promotion, retraining, and the places where the prediction is actually used.

Assignment Models tab in English listing four models with their training state, model key, type and target column.

A model is Never trained until a training run produces an artifact; only a trained model can predict. Names and keys are installation-specific.

TermMeaning
ModelA named configuration: model key, type, target column, the query that produces training rows, and the prediction threshold.
Model typeclassification chooses one label from a set (technician, group). regression predicts a numeric value.
Target columnThe column in the training query that holds the answer — typically output, the technician or group that actually resolved the ticket.
Prediction thresholdThe minimum confidence for a prediction to be acted on. Below it the flow does not assign.
ArtifactThe trained model file plus preprocessing artifacts, versioned per run.
Shadow modelA newly trained version that produces predictions without being allowed to act, until promoted.

Assignment models are unrelated to AI Provider routes. They do not call an LLM and they do not consume tokens. They read historical tickets from ServiceDesk Plus, learn the mapping from ticket text and fields to the resolving owner, and answer with a probability per candidate.

  1. Training config defines the query and the feature preparation. The query returns historical rows; the target column is what the model learns to reproduce.
  2. Training runs a Python job. It validates the data first (total rows, unique classes, null target rows, class distribution), then fits a model and writes an artifact.
  3. Minimum accuracy is a gate: a run below it is not activated.
  4. Prediction config defines the query used at prediction time for a single ticket, so the feature shape matches training.
  5. A caller invokes the model: an assign endpoint, a prediction tool inside a workflow, or a legacy ticket flow.
  6. The model returns predicted_label, per-class probabilities, a confidence value, and provenance (model version, artifact id, activation time).
  7. If the best confidence is below threshold, no assignment happens. The product writes a human-in-the-loop note naming the shortlist instead of guessing.

Model editor in English with the Overview tab, model id, name, type, target column, prediction threshold, minimum accuracy and training mode.

The Overview tab holds identity and gates; the remaining tabs hold data, behaviour and schedule.

  1. Open Administration → Assignment Models, then + New model (or select a row).
  2. Model ID — stable key used by the API and by workflows. It cannot be changed after creation.
  3. Model name — display label.
  4. Model type — classification for technician/group routing.
  5. Target column — the column that carries the answer in the training query (output in the shipped models).
  6. Prediction threshold — start low while validating (the captured model uses 0.1) and raise it once accuracy is known. Anything below the threshold produces a recommendation, never an assignment.
  7. Minimum accuracy — a run that scores below this is not activated. Leave empty to accept any accuracy, which is only sensible while experimenting.
  8. Training mode — Fast, Standard (200 trials, ~2h), Deep (500 trials, ~8h). The cost is wall-clock time on the host, not money.

The Training config tab carries the historical query, the feature preparation pipeline, and the validation summary: Total rows, Unique classes, Null values in target, and Class distribution. Read validation before training:

  • A single dominant class produces a model that always guesses that class.
  • Null target rows teach nothing; fix the query instead of training around them.
  • Few rows per class make confidence meaningless — keep the threshold low and stay in shadow mode.

The prediction config holds the query used for one ticket at prediction time and the threshold the caller will apply. It must return the same columns the features expect; a mismatch surfaces as a failed prediction, not as a wrong answer.

Exclusion and Replacement Rules change output without retraining: exclude a technician or class (the model automatically picks the next-best candidate), or map one label to another. This is the fast fix when a person leaves the team or a group is renamed.

  • Cron schedule — when to retrain automatically (for example 0 2 * * *).
  • Min. new rows for retraining — skip the run when too little new history exists.
  • SDP Portal ID — scope training to one portal.
  • Current requests query and Average lead time query — enable workload balancing, so an overloaded technician is not preferred purely on historical accuracy.

Each model can issue keys for its own predict and train endpoints. The key is shown once at generation; store it immediately.

  1. Open Training history and start a run, or let the schedule start one.
  2. Watch the run to completion (minutes for Fast, hours for Standard/Deep).
  3. Read Results: accuracy and per-class metrics. A model below Minimum accuracy is not activated.
  4. Deploy as shadow — the new version predicts, nothing acts on it. Compare its choices with what actually happened.
  5. Promote the shadow model when its choices look right; promotion makes it the active artifact.
  6. Test prediction with a JSON payload (for example {"category": "Network", "description": "VPN connection issue", "priority": "High"}) and read Predicted label and Confidence.

Incremental training adds new data to the existing artifact; full retraining starts over. Prefer incremental for freshness and full retraining after a taxonomy change.

ConsumerWhat it does with the prediction
Assign technician endpointAssigns the predicted technician, or leaves a note when confidence is below threshold.
Assign group endpointRoutes the ticket to the predicted group.
Prediction tools (Prediction Models, Predictions nodes)Expose models to an AI Agent or a workflow step.
Legacy ticket flowsCall the model during automated ticket handling. This path is being replaced by workflows.
WorkflowReads the recommendation and decides what to do with it, including approval before writing.

Because the model only recommends, a workflow can require human approval before the assignment lands in ServiceDesk Plus.

  • Never trained → no predictions; the row shows the state explicitly.
  • Below threshold → note, no assignment. This is the intended safety behaviour, not an error.
  • Data drift → accuracy degrades silently after process changes; retraining schedule and shadow comparison are the guard.
  • Feature/query mismatch → prediction fails rather than returning a wrong label.
  • Deleting a model revokes its API keys and cannot be undone.
  • Deployment identity → provenance stores model version and artifact, so an audit trail exists for every prediction.

Agents · AI Provider · Automations · Diagnostics