[{"data":1,"prerenderedAt":378},["ShallowReactive",2],{"/en/workflows/branch-signal-decision-workbench":3},{"id":4,"slug":5,"locale":6,"translationGroupId":7,"localeSwitchApproved":8,"title":9,"description":10,"documentationMarkdown":11,"workflowJson":12,"category":359,"tags":360,"integrations":364,"difficulty":365,"author":366,"verified":32,"featured":32,"date":367,"modified":367,"icon":7,"imageSrc":7,"path":368,"alternates":369,"seo":370},"cbd36f50-f499-4af6-b0e6-e4c74dd38fe5","branch-signal-decision-workbench","en",null,true,"Branch Signal Decision Workbench","An operator-guided decision support workflow that helps teams separate trustworthy branch signals from polished noise, spot dirty data early, and choose when to rely on automation vs human judgment.","## How it works\nThis workflow is a practical “signal referee” for branch leaders and operators. It starts with a knowledge-base assist (so routine questions get answered fast), then routes people into decision-shaped checks: whether a branch metric deserves trust, how to detect dirty signal before a meeting turns confident and wrong, when to lean on automation vs judgment, and how teams misread comparisons and attribution.\n\nIt’s designed to keep the conversation grounded in usable evidence. The goal isn’t to scrub away messiness—it’s to keep the mess from quietly becoming certainty.\n\n## Key features\n- Knowledge-base first: answers common questions, then continues into guided triage when needed.\n- Menu-driven routing: operators pick the exact decision they’re trying to make (not vague “insights”).\n- Practical checklists: each path outputs a tight set of tests for signal reliability and common failure modes.\n- Repeatable loop: after one check, users can run another check or request a human handoff.\n- Built-in escalation: sends the conversation to a human team when the situation is ambiguous or high-stakes.\n\n## Step-by-step\n1. **Trigger:** The workflow starts when a user enters the flow.\n2. **Knowledge base assist:** Calypso attempts to answer using your knowledge base. If the answer isn’t sufficient, the workflow proceeds to guided routing.\n3. **Choose a check:** The user picks one of five options:\n   1) Trust branch numbers\n   2) Spot dirty signal\n   3) Automation vs judgment\n   4) Compare branches & attribution\n   5) Build a signal culture\n4. **Run the selected playbook:** The workflow sends a focused, operator-friendly set of checks and pitfalls for the chosen option.\n5. **Next step prompt:** The workflow asks whether the user wants to run another check or hand off.\n6. **Loop or escalate:**\n   - **Another check** returns to the main menu.\n   - **Handoff** routes to a human team with a clear handoff message.\n\n## Setup requirements\n- **Calypso Knowledge Base:** Recommended (so the knowledge-base step can answer routine questions). No additional credentials required in this workflow.\n- **Routing / Department:** Create or select a department (e.g., “Analytics Ops”) to receive handoffs via the fallback step.",{"id":13,"teamId":14,"name":9,"version":15,"workflowVersion":16,"nodes":17,"connections":277,"routingEnabled":8,"active":32},"wf_branch_signal_decision_workbench","calypso-public-library","1.0.0",1,[18,33,39,51,79,89,94,100,106,112,120,126,132,138,144,151,166,172,178,192,199,204,210,216,222,229,235,241,247,253,260,267],{"id":19,"name":20,"type":21,"typeVersion":16,"position":22,"parameters":24,"category":31,"deletable":32,"connectable":32},"fc1","Flow settings","flow-configs",[23,23],0,{"name":9,"description":25,"tags":26,"triggerType":30},"Guided checks to separate trustworthy branch signals from polished noise; includes dirty-signal detection, automation vs judgment prompts, comparison/attribution sanity checks, and escalation.",[27,28,29],"signal-quality","branch-metrics","decision-support","input","policy",false,{"id":34,"name":35,"type":30,"typeVersion":16,"position":36,"parameters":38,"category":30,"deletable":32,"connectable":8},"in1","Start",[23,37],160,{},{"id":40,"name":41,"type":42,"typeVersion":16,"position":43,"parameters":45,"category":50,"deletable":8,"connectable":8},"kb1","Knowledge base assist","knowledge-base-policy",[44,37],220,{"enabled":8,"fallbackToRouting":8,"sticky":8,"stickyMode":46,"activationOpener":47,"personalization":49},"ai_sticky_release",{"enabled":8,"instruction":48},"Help the user make a trustworthy decision from messy branch signals. Be practical, non-academic, and specific. Assume bad data often looks fine until a team makes a confident wrong decision. Use short checklists and clear next steps.",{"useContactName":8},"response",{"id":52,"name":53,"type":54,"typeVersion":16,"position":55,"parameters":57,"category":50,"deletable":8,"connectable":8},"menu1","Pick a signal check","interactive-message",[56,37],460,{"messageType":58,"headerText":59,"bodyText":60,"footerText":61,"sectionTitle":62,"buttons":63,"ctaDisplayText":62,"ctaUrl":62},"button","Decision signal check","Pick what you’re deciding right now. The fastest way to avoid a confident wrong decision is to stress-test the signal *before* the slide deck makes it look inevitable.","Choose one to continue.","",[64,67,70,73,76],{"id":65,"title":66},"trust_branch_numbers","Trust numbers",{"id":68,"title":69},"spot_dirty_signal","Spot dirty data",{"id":71,"title":72},"automation_vs_judgment","Automation vs gut",{"id":74,"title":75},"compare_branches_attribution","Compare branches",{"id":77,"title":78},"build_signal_culture","Signal culture",{"id":80,"name":81,"type":82,"typeVersion":16,"position":83,"parameters":86,"category":88,"deletable":8,"connectable":8},"if1","If: Trust branch numbers","if",[84,85],700,80,{"buttonId":65,"operator":87},"equals","routing",{"id":90,"name":91,"type":82,"typeVersion":16,"position":92,"parameters":93,"category":88,"deletable":8,"connectable":8},"if2","If: Spot dirty signal",[84,37],{"buttonId":68,"operator":87},{"id":95,"name":96,"type":82,"typeVersion":16,"position":97,"parameters":99,"category":88,"deletable":8,"connectable":8},"if3","If: Automation vs judgment",[84,98],240,{"buttonId":71,"operator":87},{"id":101,"name":102,"type":82,"typeVersion":16,"position":103,"parameters":105,"category":88,"deletable":8,"connectable":8},"if4","If: Compare branches & attribution",[84,104],320,{"buttonId":74,"operator":87},{"id":107,"name":108,"type":82,"typeVersion":16,"position":109,"parameters":111,"category":88,"deletable":8,"connectable":8},"if5","If: Build a signal culture",[84,110],400,{"buttonId":77,"operator":87},{"id":113,"name":114,"type":115,"typeVersion":16,"position":116,"parameters":118,"category":50,"deletable":8,"connectable":8},"t1","Playbook: Trust branch numbers","text-message",[117,85],960,{"text":119},"### Which branch numbers deserve trust (and which are polished noise)\nUse this as a quick credibility test *before* you compare branches:\n\n**Trust-leaning signals** (boring is good):\n- **Operational counts with clear definitions** (e.g., completed appointments, fulfilled orders) where the event is hard to “re-label” later.\n- **System-generated timestamps** (created/fulfilled) that don’t depend on someone remembering to log it.\n- **Stable denominators** (per staff-hour, per open-day) that don’t silently change across branches.\n\n**Polished-noise signals** (look great in a meeting):\n- **Composite scores** nobody can explain in one sentence.\n- **Percent improvements** without absolute counts.\n- **Metrics that move when incentives change** (if a metric gets rewarded, assume it gets ‘handled’).\n\n**Three checks that catch most problems:**\n1) *Definition check:* Can two branches read the definition and record the event the same way?\n2) *Denominator check:* Are we dividing by something that differs by branch (hours, footfall capture, coverage)?\n3) *Lag & backfill check:* Does the number keep changing for past days/weeks?\n\nIf any check fails, treat the metric as “directional,” not “decision-grade.”",{"id":121,"name":122,"type":115,"typeVersion":16,"position":123,"parameters":124,"category":50,"deletable":8,"connectable":8},"t2","Playbook: Spot dirty signal",[117,37],{"text":125},"### How to spot dirty signal before the confident meeting goes off the rails\nDirty data rarely looks broken. It looks **clean, consistent, and wrong**.\n\n**Early warning signs (the usual suspects):**\n- **Too-smooth charts:** Real operations are lumpy. Perfectly smooth often means smoothing, filtering, or missing variance.\n- **Step-changes with no story:** If a metric jumps 20% overnight, ask what changed *in the real world* (hours, staffing, policy, tagging).\n- **One-branch miracles:** Outliers are possible; miracles are usually measurement.\n- **High performance + low effort:** “We improved conversion but didn’t change anything.” That’s a measurement claim, not an improvement.\n\n**Dirty-signal triage questions (fast, non-technical):**\n1) What exactly is counted—and what’s excluded?\n2) Who can change the input (manually or via process)?\n3) What’s the easiest way for a good operator to ‘accidentally’ create this pattern?\n4) If we audited 20 records, what would we expect to find?\n\nRule of thumb: if the number would embarrass you under a random-record audit, it’s not ready for a confident decision.",{"id":127,"name":128,"type":115,"typeVersion":16,"position":129,"parameters":130,"category":50,"deletable":8,"connectable":8},"t3","Playbook: Automation vs judgment",[117,98],{"text":131},"### When leaders should trust automation (and when they still need judgment)\nAutomation is great at **repeatable rules on stable inputs**. It’s terrible at **novelty, incentives, and edge cases**—which is where leadership lives.\n\n**Trust automation when:**\n- The input signal is **hard to game** and comes from a consistent system event.\n- Errors are **small and reversible** (you can unwind the decision without a week of damage).\n- There’s a **clear threshold** and you can explain it to a human in one breath.\n\n**Require human judgment when:**\n- Stakes are high (staffing cuts, closures, public commitments).\n- The signal is derived from **conversations, tags, or self-reported fields**.\n- Incentives are involved (bonuses, targets, compliance) — the signal will “learn” to behave.\n\n**Practical guardrail:**\n- Let automation *recommend*.\n- Require a human to answer: “What evidence would change our mind?”\nIf you can’t name that evidence, you’re not automating—you’re delegating responsibility to a spreadsheet.",{"id":133,"name":134,"type":115,"typeVersion":16,"position":135,"parameters":136,"category":50,"deletable":8,"connectable":8},"t4","Playbook: Compare branches & attribution",[117,104],{"text":137},"### What teams misread when comparing branches, conversations, and attribution\nBranch comparisons fail in predictable ways—because branches are rarely comparable.\n\n**Most common misreads:**\n- **Different opportunity mix:** One branch gets easy wins; another gets messy cases.\n- **Different capture rates:** One branch logs everything; another is busy and under-logs.\n- **Different operating constraints:** Hours, staffing, local policies, footfall, backlog.\n- **Attribution hallucinations:** ‘Campaign caused it’ when the timeline, audience, or exposure doesn’t match.\n\n**Sanity checks that prevent bad comparisons:**\n1) Compare **like-with-like cohorts** (same product/service type, similar lead sources).\n2) Normalize by constraints (per open-hour, per staffed-hour) *before* ranking.\n3) Look for **counterfactual clues**: did similar branches without the change move too?\n4) Demand a “mechanism sentence”: *How exactly would this cause that?*\n\nIf the mechanism sentence is hand-wavy, treat the comparison as storytelling, not evidence.",{"id":139,"name":140,"type":115,"typeVersion":16,"position":141,"parameters":142,"category":50,"deletable":8,"connectable":8},"t5","Playbook: Build a signal culture",[117,110],{"text":143},"### Building a signal culture that helps decisions happen (not just slides)\nA good signal culture doesn’t worship data. It **uses data to make decisions faster—and reversibly—without lying to itself**.\n\n**What works in practice:**\n- **Decision-first metrics:** Start with the decision you’ll make, then define the minimum signal that should move it.\n- **One owner per definition:** If no one owns the definition, the metric will quietly drift.\n- **Audit-friendly habits:** Small, regular spot checks beat big “data cleanups” that erase useful mess.\n- **Pre-mortems:** Before a rollout, ask: “How will this metric be accidentally gamed?”\n\n**A simple rule with teeth:**\nIf a metric is used for praise or punishment, it must have an audit path and a known failure mode. Otherwise you’re rewarding the best-looking numbers, not the best work.",{"id":145,"name":146,"type":115,"typeVersion":16,"position":147,"parameters":149,"category":50,"deletable":8,"connectable":8},"t6","Unknown selection response",[117,148],520,{"text":150},"I didn’t catch a valid selection. Pick one of the buttons so I can route you to the right signal check.",{"id":152,"name":153,"type":54,"typeVersion":16,"position":154,"parameters":156,"category":50,"deletable":8,"connectable":8},"next1","Next step",[155,98],1220,{"messageType":58,"headerText":153,"bodyText":157,"footerText":158,"sectionTitle":62,"buttons":159,"ctaDisplayText":62,"ctaUrl":62},"Want one more check, or should we escalate this to a human for a quick sanity review?","Choose one.",[160,163],{"id":161,"title":162},"another_check","One more check",{"id":164,"title":165},"handoff_human","Handoff to human",{"id":167,"name":168,"type":82,"typeVersion":16,"position":169,"parameters":171,"category":88,"deletable":8,"connectable":8},"if6","If: One more check",[170,44],1460,{"buttonId":161,"operator":87},{"id":173,"name":174,"type":82,"typeVersion":16,"position":175,"parameters":177,"category":88,"deletable":8,"connectable":8},"if7","If: Handoff to human",[170,176],300,{"buttonId":164,"operator":87},{"id":179,"name":180,"type":54,"typeVersion":16,"position":181,"parameters":184,"category":50,"deletable":8,"connectable":8},"menu2","Pick one more check",[182,183],1700,120,{"messageType":58,"headerText":162,"bodyText":185,"footerText":61,"sectionTitle":62,"buttons":186,"ctaDisplayText":62,"ctaUrl":62},"Pick one additional check to run. After this, we’ll wrap up with a clear next step.",[187,188,189,190,191],{"id":65,"title":66},{"id":68,"title":69},{"id":71,"title":72},{"id":74,"title":75},{"id":77,"title":78},{"id":193,"name":194,"type":82,"typeVersion":16,"position":195,"parameters":198,"category":88,"deletable":8,"connectable":8},"if8","If (2): Trust branch numbers",[196,197],1940,40,{"buttonId":65,"operator":87},{"id":200,"name":201,"type":82,"typeVersion":16,"position":202,"parameters":203,"category":88,"deletable":8,"connectable":8},"if9","If (2): Spot dirty signal",[196,183],{"buttonId":68,"operator":87},{"id":205,"name":206,"type":82,"typeVersion":16,"position":207,"parameters":209,"category":88,"deletable":8,"connectable":8},"if10","If (2): Automation vs judgment",[196,208],200,{"buttonId":71,"operator":87},{"id":211,"name":212,"type":82,"typeVersion":16,"position":213,"parameters":215,"category":88,"deletable":8,"connectable":8},"if11","If (2): Compare branches & attribution",[196,214],280,{"buttonId":74,"operator":87},{"id":217,"name":218,"type":82,"typeVersion":16,"position":219,"parameters":221,"category":88,"deletable":8,"connectable":8},"if12","If (2): Build a signal culture",[196,220],360,{"buttonId":77,"operator":87},{"id":223,"name":224,"type":115,"typeVersion":16,"position":225,"parameters":227,"category":50,"deletable":8,"connectable":8},"t1b","Playbook (2): Trust branch numbers",[226,197],2200,{"text":228},"### Quick replay: Which branch numbers deserve trust\nBefore you rank branches, re-run the basics:\n- **Definition:** same event, recorded the same way?\n- **Denominator:** hours / staffing / open days comparable?\n- **Backfill:** does the past keep changing?\n\nIf any answer is “no,” use the metric for direction—not for decisions.",{"id":230,"name":231,"type":115,"typeVersion":16,"position":232,"parameters":233,"category":50,"deletable":8,"connectable":8},"t2b","Playbook (2): Spot dirty signal",[226,183],{"text":234},"### Quick replay: Spot dirty signal\nFast tells:\n- Too smooth\n- Overnight step-change\n- One-branch miracle\n- Big lift with “we changed nothing”\n\nIf you wouldn’t bet your reputation on a 20-record audit, don’t bet staffing or spend on it.",{"id":236,"name":237,"type":115,"typeVersion":16,"position":238,"parameters":239,"category":50,"deletable":8,"connectable":8},"t3b","Playbook (2): Automation vs judgment",[226,208],{"text":240},"### Quick replay: Automation vs judgment\nAutomate **repeatable rules on stable inputs**.\nUse humans for **novelty, incentives, and edge cases**.\n\nGuardrail: automation recommends; a human states what evidence would change the decision.",{"id":242,"name":243,"type":115,"typeVersion":16,"position":244,"parameters":245,"category":50,"deletable":8,"connectable":8},"t4b","Playbook (2): Compare branches & attribution",[226,214],{"text":246},"### Quick replay: Compare branches & attribution\nDon’t compare until you’ve checked:\n- Opportunity mix\n- Capture/logging rates\n- Constraints (hours, staffing, backlog)\n- A believable “mechanism sentence”\n\nIf you can’t explain the mechanism cleanly, you’ve got a story—not evidence.",{"id":248,"name":249,"type":115,"typeVersion":16,"position":250,"parameters":251,"category":50,"deletable":8,"connectable":8},"t5b","Playbook (2): Build a signal culture",[226,220],{"text":252},"### Quick replay: Build a signal culture\nMake metrics decision-first, definition-owned, and audit-friendly.\n\nRule: if a metric drives praise or punishment, it must have an audit path and a known failure mode.",{"id":254,"name":255,"type":115,"typeVersion":16,"position":256,"parameters":258,"category":50,"deletable":8,"connectable":8},"end1","Wrap up after second check",[257,208],2460,{"text":259},"That’s your second check.\n\nIf this decision is high-stakes or the signal still feels slippery, use the **Handoff to human** option next time you run this workflow so a person can sanity-check definitions, denominators, and incentives.",{"id":261,"name":262,"type":115,"typeVersion":16,"position":263,"parameters":265,"category":50,"deletable":8,"connectable":8},"end2","No selection wrap",[182,264],420,{"text":266},"If you meant to continue, please tap one of the buttons next time. If this is urgent or high-stakes, choose **Handoff to human** so a person can review the signal and decision risk.",{"id":268,"name":269,"type":270,"typeVersion":16,"position":271,"parameters":272,"category":276,"deletable":8,"connectable":8},"fb1","Handoff to Analytics Ops","fallback",[182,176],{"handoffMessage":273,"departmentId":274,"departmentName":275},"Handoff requested: Please help validate the signal and the decision risk. Include: metric definition, timeframe, branch(es) involved, what decision is being made, and what would change your mind.","analytics-ops","Analytics Ops","terminal",[278,281,283,285,288,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357],{"id":279,"source":34,"target":40,"sourceHandle":280,"targetHandle":280,"type":280},"c1","default",{"id":282,"source":40,"target":52,"sourceHandle":280,"targetHandle":280,"type":280},"c2",{"id":284,"source":52,"target":80,"sourceHandle":280,"targetHandle":280,"type":280},"c3",{"id":286,"source":80,"target":113,"sourceHandle":287,"targetHandle":280,"type":280},"c4","true",{"id":289,"source":80,"target":90,"sourceHandle":290,"targetHandle":280,"type":280},"c5","false",{"id":292,"source":90,"target":121,"sourceHandle":287,"targetHandle":280,"type":280},"c6",{"id":294,"source":90,"target":95,"sourceHandle":290,"targetHandle":280,"type":280},"c7",{"id":296,"source":95,"target":127,"sourceHandle":287,"targetHandle":280,"type":280},"c8",{"id":298,"source":95,"target":101,"sourceHandle":290,"targetHandle":280,"type":280},"c9",{"id":300,"source":101,"target":133,"sourceHandle":287,"targetHandle":280,"type":280},"c10",{"id":302,"source":101,"target":107,"sourceHandle":290,"targetHandle":280,"type":280},"c11",{"id":304,"source":107,"target":139,"sourceHandle":287,"targetHandle":280,"type":280},"c12",{"id":306,"source":107,"target":145,"sourceHandle":290,"targetHandle":280,"type":280},"c13",{"id":308,"source":113,"target":152,"sourceHandle":280,"targetHandle":280,"type":280},"c14",{"id":310,"source":121,"target":152,"sourceHandle":280,"targetHandle":280,"type":280},"c15",{"id":312,"source":127,"target":152,"sourceHandle":280,"targetHandle":280,"type":280},"c16",{"id":314,"source":133,"target":152,"sourceHandle":280,"targetHandle":280,"type":280},"c17",{"id":316,"source":139,"target":152,"sourceHandle":280,"targetHandle":280,"type":280},"c18",{"id":318,"source":152,"target":167,"sourceHandle":280,"targetHandle":280,"type":280},"c20",{"id":320,"source":167,"target":179,"sourceHandle":287,"targetHandle":280,"type":280},"c22",{"id":322,"source":167,"target":173,"sourceHandle":290,"targetHandle":280,"type":280},"c23",{"id":324,"source":173,"target":268,"sourceHandle":287,"targetHandle":280,"type":280},"c24",{"id":326,"source":173,"target":261,"sourceHandle":290,"targetHandle":280,"type":280},"c25",{"id":328,"source":179,"target":193,"sourceHandle":280,"targetHandle":280,"type":280},"c26",{"id":330,"source":193,"target":223,"sourceHandle":287,"targetHandle":280,"type":280},"c27",{"id":332,"source":193,"target":200,"sourceHandle":290,"targetHandle":280,"type":280},"c28",{"id":334,"source":200,"target":230,"sourceHandle":287,"targetHandle":280,"type":280},"c29",{"id":336,"source":200,"target":205,"sourceHandle":290,"targetHandle":280,"type":280},"c30",{"id":338,"source":205,"target":236,"sourceHandle":287,"targetHandle":280,"type":280},"c31",{"id":340,"source":205,"target":211,"sourceHandle":290,"targetHandle":280,"type":280},"c32",{"id":342,"source":211,"target":242,"sourceHandle":287,"targetHandle":280,"type":280},"c33",{"id":344,"source":211,"target":217,"sourceHandle":290,"targetHandle":280,"type":280},"c34",{"id":346,"source":217,"target":248,"sourceHandle":287,"targetHandle":280,"type":280},"c35",{"id":348,"source":217,"target":261,"sourceHandle":290,"targetHandle":280,"type":280},"c36",{"id":350,"source":223,"target":254,"sourceHandle":280,"targetHandle":280,"type":280},"c37",{"id":352,"source":230,"target":254,"sourceHandle":280,"targetHandle":280,"type":280},"c38",{"id":354,"source":236,"target":254,"sourceHandle":280,"targetHandle":280,"type":280},"c39",{"id":356,"source":242,"target":254,"sourceHandle":280,"targetHandle":280,"type":280},"c40",{"id":358,"source":248,"target":254,"sourceHandle":280,"targetHandle":280,"type":280},"c41","automation",[27,28,29,361,362,363],"data-hygiene","attribution","leadership-ops",[],"intermediate","Calypso","2026-05-07T11:06:33.490Z","/en/workflows/branch-signal-decision-workbench",{"en":368},{"title":9,"description":371,"ogDescription":372,"twitterDescription":373,"canonicalPath":368,"robots":374,"schemaType":375,"alternates":376},"Turn messy branch signals into reliable decisions with guided checks for dirty data, attribution mistakes, and when to trust automation.","A practical workflow to stress test branch numbers, spot dirty signal early, and decide when automation is safe vs when judgment is required.","Stress test branch signals before confident meetings go wrong: trust checks, dirty signal spotting, attribution sanity tests, and escalation to humans.","index,follow","HowTo",[377],{"hreflang":6,"href":368},1778614430355]