All docs
2 min read

Scoring & outcomes

Scoring assigns a numeric weight to each chosen answer and resolves a named outcome at the end based on the running total.

Configure under settings.scoring:

{
  "enabled": true,
  "mode": "points",
  "field_points": {
    "fav_color": { "red": 5, "blue": 2 },
    "mood": { "happy": 10, "sad": 0 }
  },
  "outcomes": [
    { "id": "low",  "label": "Low",  "min_score": 0,  "max_score": 9 },
    { "id": "high", "label": "High", "min_score": 10, "max_score": 100 }
  ]
}

Modes

  • points — sum of field_points[name][value] across the payload.
  • weighted — same but each field has a __weight multiplier in field_points.<name>.__weight.
  • outcome_set — no per-option points. Each outcome lists a requires map of field/value pairs and matches when ALL of them match the payload. First match wins.

Triggers

When an outcome resolves, we fire the survey.outcome_matched automation trigger in addition to the standard submission.created. The trigger payload includes the matched outcome and the final score, so an automation can branch on it (e.g. "send a different email to detractors").