[{"data":1,"prerenderedAt":239},["ShallowReactive",2],{"/en/workflows/branch-signal-decision-navigator":3},{"id":4,"slug":5,"locale":6,"translationGroupId":7,"localeSwitchApproved":8,"title":9,"description":10,"documentationMarkdown":11,"workflowJson":12,"category":220,"tags":221,"integrations":224,"difficulty":226,"author":227,"verified":33,"featured":33,"date":228,"modified":228,"icon":7,"imageSrc":7,"path":229,"alternates":230,"seo":231},"ca3d4362-1d4b-4a62-a748-a1dbed12c464","branch-signal-decision-navigator","en",null,true,"Branch Signal Decision Navigator","A decision-focused coaching flow that helps teams validate branch numbers, spot dirty signals, and choose where automation is safe vs where human judgment must stay in the loop.","## How it works\nThis workflow is a practical “decision pre-flight” for branch-level numbers, conversation insights, and attribution claims. It starts by checking your knowledge base for any existing internal guidance, then routes the operator through a short menu of decision-shaped prompts.\n\nThe goal isn’t to make your data look cleaner. It’s to keep your team from confidently walking into the wrong meeting story. Each path gives crisp checks you can run in minutes, plus a recommended next action (what to trust, what to caveat, and what to escalate).\n\n## Key features\n- Knowledge-base-first behavior: pulls your existing definitions and guardrails before giving advice.\n- Menu-based routing: one tap to get the right “sanity check” for the decision at hand.\n- Dirty-signal detection prompts: highlights where polished dashboards commonly hide broken logic.\n- Automation vs. judgment guidance: clarifies when rules are safe and when a human must arbitrate.\n- Built-in escalation path: sends ambiguous cases to a human handoff for review.\n\n## Step-by-step\n1. **Trigger:** A user starts the workflow (Input).\n2. **Knowledge check:** The workflow consults your configured knowledge base policy to reuse internal definitions and standards.\n3. **Choose a decision check:** A menu asks what you’re trying to decide (numbers trust, dirty signal, automation vs judgment, messy evidence, misreads, or culture).\n4. **Routing:** The workflow matches the selected button and sends the corresponding guidance message.\n5. **Keep going (optional):** After each guidance message, the workflow returns to the menu so the user can run another check.\n6. **Escalate if needed:** If the user selects escalation (or the selection can’t be matched), the workflow hands off to a human.\n\n## Setup requirements\n- **Calypso Inbox** enabled for interactive messages.\n- **Knowledge base (recommended):** Add your definitions for branch metrics, attribution rules, and reporting cadences so the knowledge-base step can align responses with your standards.\n- **No external credentials required** for this workflow as shipped.",{"id":13,"teamId":14,"name":9,"version":15,"workflowVersion":16,"nodes":17,"connections":180,"routingEnabled":8,"active":33},"wf_branch_signal_decision_navigator_001","calypso-public-library","1.0.0",1,[18,34,40,52,86,95,101,107,113,119,125,131,139,145,151,157,163,169],{"id":19,"name":20,"type":21,"typeVersion":16,"position":22,"parameters":25,"category":32,"deletable":33,"connectable":33},"node_flow_cfg","Workflow settings","flow-configs",[23,24],140,120,{"name":9,"description":26,"tags":27,"triggerType":31},"Decision-focused guardrails for branch numbers, signal quality, and when to use automation vs human judgment.",[28,29,30],"branch-metrics","signal-quality","decision-making","input","policy",false,{"id":35,"name":36,"type":31,"typeVersion":16,"position":37,"parameters":39,"category":31,"deletable":33,"connectable":8},"node_input","Start",[23,38],260,{},{"id":41,"name":42,"type":43,"typeVersion":16,"position":44,"parameters":46,"category":51,"deletable":8,"connectable":8},"node_kb","Knowledge base guardrails","knowledge-base-policy",[45,38],360,{"enabled":8,"fallbackToRouting":8,"sticky":8,"stickyMode":47,"activationOpener":48,"personalization":50},"default",{"enabled":33,"instruction":49},"",{"useContactName":33},"response",{"id":53,"name":54,"type":55,"typeVersion":16,"position":56,"parameters":58,"category":51,"deletable":8,"connectable":8},"node_menu","Choose a decision check","interactive-message",[57,38],600,{"messageType":59,"headerText":60,"bodyText":61,"footerText":62,"sectionTitle":63,"buttons":64,"ctaDisplayText":49,"ctaUrl":49},"button","Signal checks for safer decisions","Pick the situation you’re in. You’ll get a short set of checks you can run before the story hardens into a slide.","Tip: If you can't define it, don't decide with it.","Decision checks",[65,68,71,74,77,80,83],{"id":66,"title":67},"btn_trust_numbers","Trust branch nums",{"id":69,"title":70},"btn_spot_dirty_signal","Spot dirty signal",{"id":72,"title":73},"btn_auto_vs_human","Auto vs human",{"id":75,"title":76},"btn_messy_evidence","Use messy evidence",{"id":78,"title":79},"btn_compare_misreads","Comparison traps",{"id":81,"title":82},"btn_signal_culture","Signal culture",{"id":84,"title":85},"btn_escalate_human","Human review",{"id":87,"name":88,"type":89,"typeVersion":16,"position":90,"parameters":92,"category":94,"deletable":8,"connectable":8},"node_if_trust","Route: trust numbers","if",[91,24],840,{"buttonId":66,"operator":93},"equals","routing",{"id":96,"name":97,"type":89,"typeVersion":16,"position":98,"parameters":100,"category":94,"deletable":8,"connectable":8},"node_if_dirty","Route: spot dirty signal",[91,99],220,{"buttonId":69,"operator":93},{"id":102,"name":103,"type":89,"typeVersion":16,"position":104,"parameters":106,"category":94,"deletable":8,"connectable":8},"node_if_auto","Route: automation vs human",[91,105],320,{"buttonId":72,"operator":93},{"id":108,"name":109,"type":89,"typeVersion":16,"position":110,"parameters":112,"category":94,"deletable":8,"connectable":8},"node_if_messy","Route: messy evidence",[91,111],420,{"buttonId":75,"operator":93},{"id":114,"name":115,"type":89,"typeVersion":16,"position":116,"parameters":118,"category":94,"deletable":8,"connectable":8},"node_if_compare","Route: comparison misreads",[91,117],520,{"buttonId":78,"operator":93},{"id":120,"name":121,"type":89,"typeVersion":16,"position":122,"parameters":124,"category":94,"deletable":8,"connectable":8},"node_if_culture","Route: signal culture",[91,123],620,{"buttonId":81,"operator":93},{"id":126,"name":127,"type":89,"typeVersion":16,"position":128,"parameters":130,"category":94,"deletable":8,"connectable":8},"node_if_escalate","Route: escalate",[91,129],720,{"buttonId":84,"operator":93},{"id":132,"name":133,"type":134,"typeVersion":16,"position":135,"parameters":137,"category":51,"deletable":8,"connectable":8},"node_txt_trust","Guidance: which numbers to trust","text-message",[136,24],1120,{"text":138},"**Which branch numbers deserve trust (vs polished noise)**\n\nUse this quick trust filter before you argue about the chart:\n1) **Definition stability:** Has the metric definition changed in the last 30–60 days (filters, channels, dedupe rules)? If yes, treat trend comparisons as *suspect*.\n2) **Denominator honesty:** Ask “what population could have produced this?” If the denominator is fuzzy, the uplift is usually fiction.\n3) **Coverage & missingness:** A metric that’s 95% complete is boring and useful. A metric that’s 70% complete is exciting and dangerous.\n4) **Latency & backfill:** If numbers keep ‘improving’ after the week closes, you’re measuring pipeline behavior, not performance.\n5) **Cross-check a second source:** Not to average them—just to see if the *story direction* matches.\n\n**Decision rule:** If you can’t explain the metric’s definition + latency in one breath, it’s a *supporting* metric, not a decision driver.",{"id":140,"name":141,"type":134,"typeVersion":16,"position":142,"parameters":143,"category":51,"deletable":8,"connectable":8},"node_txt_dirty","Guidance: spot dirty signal",[136,99],{"text":144},"**How to spot dirty signal before a confident meeting goes off the rails**\n\nDirty data usually looks fine until someone asks a simple question. Run these checks:\n- **Impossible spikes:** Look for step-changes that align with tracking changes, not customer behavior.\n- **Too-clean attribution:** If every conversion has a neat cause, your system is probably over-assigning credit. Reality is messier.\n- **Branch outliers with no operational story:** If Branch B ‘tripled’ with no staffing, hours, inventory, or local push changes, assume tracking/definition issues first.\n- **Conversation metrics that ignore selection bias:** The people who reply are not ‘customers in general.’ They’re *customers who reply*.\n\n**Meeting save:** Bring one slide labeled “What would have to be true for this to be real?” If the room can’t answer, you’ve found the weak link.",{"id":146,"name":147,"type":134,"typeVersion":16,"position":148,"parameters":149,"category":51,"deletable":8,"connectable":8},"node_txt_auto","Guidance: automation vs judgment",[136,105],{"text":150},"**When leaders should trust automation (and when humans must stay in the loop)**\n\nTrust automation when:\n- The decision is **reversible** and the cost of being wrong is low.\n- Inputs are **well-defined** and measured consistently (stable definitions, stable coverage).\n- The system can **surface exceptions** (outliers, missingness, sudden definition shifts).\n\nRequire human judgment when:\n- The decision is a **one-way door** (staffing, closures, major spend shifts).\n- Data is **thin** (small samples, short windows, heavy backfill).\n- Incentives are at play (teams can ‘optimize’ the metric without improving reality).\n\n**Practical policy:** Automate the *default*, but force human review on edge cases: new branches, sudden jumps, low-volume segments, and any metric with recent definition edits.",{"id":152,"name":153,"type":134,"typeVersion":16,"position":154,"parameters":155,"category":51,"deletable":8,"connectable":8},"node_txt_messy","Guidance: messy evidence",[136,111],{"text":156},"**How to turn messy evidence into usable insight without cleaning away the truth**\n\nCleaning isn’t the same as learning. Try this instead:\n1) **Tag uncertainty, don’t delete it:** Keep the messy records but label them (unknown channel, partial ID, ambiguous intent).\n2) **Separate ‘signal’ from ‘story’:** First answer “what happened?” then “why?” Mixing them makes you overfit.\n3) **Use ranges, not point estimates:** When inputs are messy, a confident number is often a lie.\n4) **Keep raw examples:** For conversation insights, keep 5–10 verbatims alongside aggregates. Summaries without receipts drift into fiction fast.\n\n**Decision move:** Make uncertainty explicit: ‘Best estimate, plausible range, and what would change our mind.’ That’s how you keep truth *and* momentum.",{"id":158,"name":159,"type":134,"typeVersion":16,"position":160,"parameters":161,"category":51,"deletable":8,"connectable":8},"node_txt_compare","Guidance: comparison misreads",[136,117],{"text":162},"**What teams repeatedly misread when comparing branches, conversations, and attribution**\n\nThese are the classic traps:\n- **Branch comparisons ignore mix:** Different foot traffic, demographics, hours, and service capacity. Normalize or caveat.\n- **Conversation comparisons ignore exposure:** ‘Reply rate’ depends on who was contacted and when. Compare cohorts, not totals.\n- **Attribution comparisons ignore baseline:** A branch with higher organic demand will ‘win’ attribution games.\n- **Winner’s curse:** The best-performing branch often has the most measurement quirks (more campaigns, more tracking, more noise).\n\n**Safe comparison checklist:** same time window, same eligibility rules, similar volume, and one operational explanation you’d bet your reputation on.",{"id":164,"name":165,"type":134,"typeVersion":16,"position":166,"parameters":167,"category":51,"deletable":8,"connectable":8},"node_txt_culture","Guidance: signal culture",[136,123],{"text":168},"**How to build a signal culture that helps decisions happen (not just slides)**\n\nCulture is just repeated behavior with consequences. A few rules that work:\n- **Write definitions where decisions are made:** If a metric isn’t defined near the meeting agenda, it will be reinvented live.\n- **Reward ‘found a flaw’ behavior:** Treat bug reports like savings, not embarrassment.\n- **Pre-commit to guardrails:** E.g., ‘No branch ranking with \u003CN weekly volume’ or ‘No week-over-week claims without latency notes.’\n- **Keep a short “metric change log”:** Most “performance swings” are actually instrumentation edits.\n\n**Witty but true:** The fastest way to improve data is to make bad data expensive in meetings.",{"id":170,"name":171,"type":172,"typeVersion":16,"position":173,"parameters":175,"category":179,"deletable":8,"connectable":8},"node_fallback","Human handoff","fallback",[136,174],740,{"handoffMessage":176,"departmentId":177,"departmentName":178},"Got it — this looks like a case where a human should review the signal and the decision context. Please share: (1) which branch(es), (2) the metric or claim, (3) the time window, and (4) what decision you’re about to make.","ops_analytics_review","Ops & Analytics Review","terminal",[181,186,188,190,193,196,198,200,202,204,206,208,210,212,214,216,218],{"id":182,"source":35,"target":41,"sourceHandle":183,"targetHandle":184,"type":185},"conn_input_to_kb","out","in","smoothstep",{"id":187,"source":41,"target":53,"sourceHandle":183,"targetHandle":184,"type":185},"conn_kb_to_menu",{"id":189,"source":53,"target":87,"sourceHandle":183,"targetHandle":184,"type":185},"conn_menu_to_if_trust",{"id":191,"source":87,"target":132,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_trust_true_to_txt","true",{"id":194,"source":87,"target":96,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_trust_false_to_if_dirty","false",{"id":197,"source":96,"target":140,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_dirty_true_to_txt",{"id":199,"source":96,"target":102,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_dirty_false_to_if_auto",{"id":201,"source":102,"target":146,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_auto_true_to_txt",{"id":203,"source":102,"target":108,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_auto_false_to_if_messy",{"id":205,"source":108,"target":152,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_messy_true_to_txt",{"id":207,"source":108,"target":114,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_messy_false_to_if_compare",{"id":209,"source":114,"target":158,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_compare_true_to_txt",{"id":211,"source":114,"target":120,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_compare_false_to_if_culture",{"id":213,"source":120,"target":164,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_culture_true_to_txt",{"id":215,"source":120,"target":126,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_culture_false_to_if_escalate",{"id":217,"source":126,"target":170,"sourceHandle":192,"targetHandle":184,"type":185},"conn_if_escalate_true_to_fallback",{"id":219,"source":126,"target":170,"sourceHandle":195,"targetHandle":184,"type":185},"conn_if_escalate_false_to_fallback","automation",[28,29,30,222,223],"measurement","attribution",[225],"Calypso Inbox","intermediate","Calypso","2026-07-30T11:03:50.803Z","/en/workflows/branch-signal-decision-navigator",{"en":229},{"title":9,"description":232,"ogDescription":233,"twitterDescription":234,"canonicalPath":229,"robots":235,"schemaType":236,"alternates":237},"Turn branch numbers and messy signals into decision ready guidance with quick trust checks, dirty signal detection, and smart escalation.","A practical navigator for branch metrics and messy evidence: trust checks, dirty signal spotting, automation vs judgment guidance, and escalation when it’s murky.","Stop confident wrong decisions: run quick trust checks on branch numbers, spot dirty signals early, and know when automation needs human judgment.","index,follow","HowTo",[238],{"hreflang":6,"href":229},1785947666135]