Resource Lab Pattern

Storyline Decision Confidence Meter

A more advanced Storyline interaction pattern that pairs a learner’s decision with their confidence level, then uses JavaScript to generate adaptive coaching feedback.

Best for Judgment
Works in Storyline
Build type JS + Variables
Complexity Medium

When to use it

Use this when confidence matters as much as the choice.

Many workplace decisions are not just about selecting the right option. They are also about knowing how certain you are, when to pause, and when to seek guidance.

This pattern asks learners to make a decision and rate their confidence. The feedback then adapts based on both inputs.

It works well for leadership decisions, safety scenarios, compliance judgment, customer support, operational troubleshooting, coaching conversations, and any moment where overconfidence or uncertainty can affect performance.

Live Preview

Try the interaction.

Choose a decision, select a confidence level, and generate adaptive feedback. In Storyline, these values would be stored as variables and processed through JavaScript.

Scenario

A learner notices a process mismatch during a time-sensitive task. What should they do first?

Confidence

How confident are you?

Calibrated feedback

Strong choice. Check your confidence.

Pausing to confirm the issue is the strongest first move. Your medium confidence is appropriate because the situation still requires verification before action.

01

It teaches decision quality.

The learner is not only choosing an answer. They are practicing how to evaluate the strength of their own judgment.

02

It reveals overconfidence.

A wrong choice with high confidence is different from a wrong choice with low confidence. The feedback should reflect that.

03

It creates better coaching.

Adaptive feedback lets the experience respond more like a coach and less like a static quiz review screen.

Storyline setup

Build it with variables, triggers, and one JavaScript action.

In Storyline, create two text variables and three feedback variables.

Use button triggers to set the learner’s selected decision and confidence level. Then run JavaScript to evaluate the combination and return tailored feedback.

This keeps the slide flexible. You can change the feedback logic in one place instead of creating a pile of duplicated layers.

Variable selectedChoice

Stores the decision the learner selected.

Variable confidenceLevel

Stores low, medium, or high confidence.

Variable feedbackTitle

Stores the generated feedback heading.

Variable feedbackBody

Stores the generated coaching message.

Variable feedbackTone

Stores the feedback category for optional visual states.

Copy the JavaScript

Storyline JavaScript starter logic.

Add this to an “Execute JavaScript” trigger after the learner selects a choice and confidence level. Make sure the Storyline variable names match the code.

// Storyline Decision Confidence Meter
// Create these Storyline text variables first:
// selectedChoice, confidenceLevel, feedbackTitle, feedbackBody, feedbackTone

var player = GetPlayer();

var choice = player.GetVar("selectedChoice");
var confidence = player.GetVar("confidenceLevel");

var feedbackTitle = "";
var feedbackBody = "";
var feedbackTone = "";

/*
Expected selectedChoice values:
- continue
- pause
- escalate

Expected confidenceLevel values:
- low
- medium
- high
*/

if (choice === "pause" && confidence === "high") {
  feedbackTitle = "Strong choice. High confidence fits.";
  feedbackBody = "Pausing to confirm the issue is the strongest first move. Your confidence is appropriate because you selected a low-risk action that creates clarity before moving forward.";
  feedbackTone = "strong";
}

else if (choice === "pause" && confidence === "medium") {
  feedbackTitle = "Strong choice. Check your confidence.";
  feedbackBody = "Pausing to confirm the issue is the strongest first move. Your medium confidence is reasonable because the situation still requires verification before action.";
  feedbackTone = "strong";
}

else if (choice === "pause" && confidence === "low") {
  feedbackTitle = "Good decision. Build confidence in the process.";
  feedbackBody = "You selected the strongest first step. If confidence is low, the support experience should reinforce why pausing and confirming is the right move before continuing.";
  feedbackTone = "coaching";
}

else if (choice === "continue" && confidence === "high") {
  feedbackTitle = "Overconfident risk.";
  feedbackBody = "Continuing may feel efficient, but it can create more downstream work. High confidence in this choice is risky because the issue has not been verified yet.";
  feedbackTone = "risk";
}

else if (choice === "continue" && confidence === "medium") {
  feedbackTitle = "Understandable, but not ideal.";
  feedbackBody = "Continuing might seem reasonable under time pressure, but the better move is to pause and confirm what changed before moving forward.";
  feedbackTone = "redirect";
}

else if (choice === "continue" && confidence === "low") {
  feedbackTitle = "Your uncertainty is useful here.";
  feedbackBody = "Low confidence is a signal to slow down. Instead of continuing, pause and use the available guidance to confirm the next step.";
  feedbackTone = "coaching";
}

else if (choice === "escalate" && confidence === "high") {
  feedbackTitle = "Escalation may be premature.";
  feedbackBody = "Escalating immediately can create unnecessary handoffs. High confidence here may skip a simple first step: confirm the issue and follow available guidance.";
  feedbackTone = "redirect";
}

else if (choice === "escalate" && confidence === "medium") {
  feedbackTitle = "Reasonable instinct, but check first.";
  feedbackBody = "Escalation can be useful, but it should come after confirming the issue. Start with the simplest reliable next action.";
  feedbackTone = "redirect";
}

else if (choice === "escalate" && confidence === "low") {
  feedbackTitle = "Pause before escalating.";
  feedbackBody = "Low confidence suggests you need more information. Before escalating, confirm what is happening and use the available guidance.";
  feedbackTone = "coaching";
}

else {
  feedbackTitle = "Make a selection first.";
  feedbackBody = "Choose both a decision and a confidence level to receive calibrated feedback.";
  feedbackTone = "neutral";
}

player.SetVar("feedbackTitle", feedbackTitle);
player.SetVar("feedbackBody", feedbackBody);
player.SetVar("feedbackTone", feedbackTone);

Trigger guide

How to wire it in Storyline.

Create three decision buttons. Each button sets the selectedChoice variable to one of the values used in the JavaScript: continue, pause, or escalate.

Create three confidence buttons. Each button sets the confidenceLevel variable to low, medium, or high.

Add a submit button that runs the JavaScript. Then display feedbackTitle and feedbackBody in text boxes using Storyline variable references.

Optional senior move: use feedbackTone to change the visual state of your feedback panel. For example, strong could use green, redirect could use amber, and risk could use red.

Customize it

Make the logic match the behavior you want to shape.

Replace the sample scenario with a real decision from your learning experience. The strongest version of this pattern uses choices that are all believable.

Do not make the “wrong” answers cartoonishly bad. The value comes from helping learners understand why a choice is risky, premature, incomplete, or strong.

You can also add scoring, badges, branching, or reflection prompts, but the core learning value comes from helping learners calibrate their judgment.

Want more reusable learning patterns?

Resource Lab is a practical library of free interaction patterns, code snippets, and build notes for learning designers.