[{"data":1,"prerenderedAt":224},["ShallowReactive",2],{"/en/workflows/branch-signal-reliability-navigator":3},{"id":4,"slug":5,"locale":6,"translationGroupId":7,"localeSwitchApproved":8,"title":9,"description":10,"documentationMarkdown":11,"workflowJson":12,"category":207,"tags":208,"integrations":210,"difficulty":212,"author":211,"verified":35,"featured":35,"date":213,"modified":213,"icon":7,"imageSrc":7,"path":214,"alternates":215,"seo":216},"0868c88a-3f25-41fe-b6eb-dc2e23331507","branch-signal-reliability-navigator","en",null,true,"Branch Signal Reliability Navigator","A guided chat workflow that helps teams separate trustworthy branch signals from polished noise, spot dirty data before meetings, and choose when to rely on automation vs human judgment.","## How it works\nThis workflow turns “we have numbers” into “we have decision‑grade evidence.” It first gives the knowledge base a chance to answer directly, then routes the conversation into practical, decision-shaped coaching paths (trust checks, dirty-signal spotting, automation vs judgment, branch comparisons, and signal culture).\n\nIt’s built for the moment right before a team gets confidently wrong: when dashboards look clean, attribution seems certain, and branch performance comparisons get treated like physics instead of evidence.\n\n## Key features\n- Knowledge-base first response, then guided routing to decision-ready checklists\n- Interactive menu that keeps operators and leaders out of free-text rabbit holes\n- Structured “if this, then that” guardrails for common branch analytics failure modes\n- A human handoff option for high-stakes or ambiguous cases\n- Loop-back navigation so users can run multiple checks in one session\n\n## Step-by-step\n1. **Start (Input)**: A user starts the conversation.\n2. **Knowledge base pass (Knowledge Base Policy)**: Calypso attempts to answer from your saved guidance first; if it can’t, it falls back to routing.\n3. **Choose a focus (Interactive Menu)**: The workflow presents a set of buttons:\n   - Which branch numbers deserve trust?\n   - How to spot dirty signal fast\n   - Automation vs human judgment\n   - Comparing branches & attribution\n   - Building a signal culture\n   - Talk to a human\n4. **Route by selection (If nodes)**: The workflow checks which button was clicked and sends the matching advice.\n5. **Get the playbook (Text Message)**: The user receives a concise, practical checklist with “what usually goes wrong first.”\n6. **Run another check (Loop back)**: After most answers, the workflow returns to the menu so the user can pick another topic.\n7. **Escalate when needed (Fallback)**: If the user selects **Talk to a human**, the workflow hands off to your chosen department.\n\n## Setup requirements\n- No external credentials are required.\n- To get the best results, populate your Calypso Knowledge Base with your organization’s definitions (branch KPIs, attribution rules, event taxonomy, and known data caveats).",{"id":13,"teamId":14,"name":9,"version":15,"workflowVersion":16,"nodes":17,"connections":172,"routingEnabled":8,"active":35},"wf_branch_signal_reliability_navigator_v1","calypso-public-library","1.0.1",1,[18,36,42,54,85,95,103,108,114,120,126,132,138,144,150,156,162],{"id":19,"name":20,"type":21,"typeVersion":16,"position":22,"parameters":25,"category":34,"deletable":35,"connectable":35},"node_flow_cfg","Workflow settings","flow-configs",[23,24],120,80,{"name":9,"description":26,"tags":27,"triggerType":33},"Guided decision guardrails for branch signals, dirty data spotting, automation vs judgment, and safer comparisons.",[28,29,30,31,32],"signal-hygiene","decision-making","branch-metrics","data-quality","attribution","input","policy",false,{"id":37,"name":38,"type":33,"typeVersion":16,"position":39,"parameters":41,"category":33,"deletable":35,"connectable":8},"node_input","Start",[23,40],220,{},{"id":43,"name":44,"type":45,"typeVersion":16,"position":46,"parameters":48,"category":53,"deletable":8,"connectable":8},"node_kb","Knowledge base answer (then route)","knowledge-base-policy",[47,40],360,{"enabled":8,"fallbackToRouting":8,"sticky":35,"stickyMode":49,"activationOpener":50,"personalization":52},"default",{"enabled":8,"instruction":51},"Use the knowledge base to answer questions about branch signals, data quality, attribution, and decision guardrails. If the user’s request is better served by a guided checklist, fall back to the menu routing.",{"useContactName":35},"response",{"id":55,"name":56,"type":57,"typeVersion":16,"position":58,"parameters":60,"category":53,"deletable":8,"connectable":8},"node_menu","Pick what you need","interactive-message",[59,40],620,{"messageType":61,"headerText":62,"bodyText":63,"footerText":64,"sectionTitle":65,"buttons":66,"ctaDisplayText":65,"ctaUrl":65},"button","Make messy signals decision-ready","Pick a path. These are designed for the moments when the numbers look fine… right up until someone makes a confident wrong call.","Tip: pick the closest match; you can choose again.","",[67,70,73,76,79,82],{"id":68,"title":69},"trust_numbers","Trust numbers",{"id":71,"title":72},"dirty_signal","Spot dirty signal",{"id":74,"title":75},"automation_judgment","Auto vs judgment",{"id":77,"title":78},"compare_branches","Compare branches",{"id":80,"title":81},"signal_culture","Signal culture",{"id":83,"title":84},"talk_to_human","Talk to human",{"id":86,"name":87,"type":88,"typeVersion":16,"position":89,"parameters":92,"category":94,"deletable":8,"connectable":8},"node_if_trust","If: trust numbers","if",[90,91],880,140,{"buttonId":68,"operator":93},"equals","routing",{"id":96,"name":97,"type":98,"typeVersion":16,"position":99,"parameters":101,"category":53,"deletable":8,"connectable":8},"node_txt_trust","Trustworthy branch numbers checklist","text-message",[100,91],1140,{"text":102},"**Which branch numbers deserve trust (vs polished noise)**\n\nUse this as a reliability filter before you debate the story:\n\n1) **Definition lock**: Can two people independently compute the metric and get the same result? If not, it’s a vibe, not a number.\n2) **Denominator sanity**: Ask “out of *what*?” Branch metrics lie most often through changing denominators (eligible customers, open hours, footfall mix).\n3) **Instrumentation stability**: If the tracking changed recently (POS update, app release, tagging change), treat the trend as a ‘before/after’ experiment, not a continuous series.\n4) **Lag + backfill**: Does the metric revise over time? If yes, use a maturity window (e.g., only act on data older than X days).\n5) **Sensitivity check**: If one outlier day can flip the ranking, don’t ‘manage to the leaderboard.’\n\nIf you want, choose **Compare branches** next—most teams get burned there first.",{"id":104,"name":105,"type":88,"typeVersion":16,"position":106,"parameters":107,"category":94,"deletable":8,"connectable":8},"node_if_dirty","If: dirty signal",[90,40],{"buttonId":71,"operator":93},{"id":109,"name":110,"type":98,"typeVersion":16,"position":111,"parameters":112,"category":53,"deletable":8,"connectable":8},"node_txt_dirty","Dirty signal spot-checks",[100,40],{"text":113},"**How to spot dirty signal before a meeting goes off the rails**\n\nDirty data usually shows up as *clean charts with inconvenient missing context*. Run these fast checks:\n\n- **Sudden perfection**: A metric that gets smoother overnight often means filtering, deduping, or tracking broke (silence is not accuracy).\n- **Impossible consistency**: Identical conversion rates across branches, days, or reps is a copy/paste smell.\n- **Edge-case audit**: Look at the worst 20 rows (timeouts, refunds, zero values, unknown channels). Dirt lives at the edges.\n- **Join explosions**: If a report combines events + conversations + customers, verify row counts before/after joins. Most ‘growth’ bugs are multiplication.\n- **Timestamp reality**: Check time zones and session windows—misaligned time buckets create fake spikes.\n\nRule of thumb: if the data can’t explain its own weirdest 1%, it can’t be trusted with your 99% decision.",{"id":115,"name":116,"type":88,"typeVersion":16,"position":117,"parameters":119,"category":94,"deletable":8,"connectable":8},"node_if_auto","If: automation vs judgment",[90,118],300,{"buttonId":74,"operator":93},{"id":121,"name":122,"type":98,"typeVersion":16,"position":123,"parameters":124,"category":53,"deletable":8,"connectable":8},"node_txt_auto","Automation vs judgment guardrails",[100,118],{"text":125},"**When to trust automation (and when humans must step in)**\n\nAutomation is great at consistency—terrible at noticing when reality changed. Use these guardrails:\n\n**Trust automation when:**\n- The inputs are **instrumented, stable, and auditable** (clear event definitions, low missingness).\n- The decision is **reversible** (you can roll back next week).\n- You’ve set **alert thresholds** for drift (volume drops, unknown categories rise, timestamp shifts).\n\n**Require human judgment when:**\n- The decision is **one-way door** (policy, staffing, branch closures, reputational risk).\n- The metric is **proxy-heavy** (attribution, sentiment scoring, inferred intent).\n- There’s a **known incentive to game** the number (leaderboards, bonuses, public targets).\n\nPractical tip: make automation propose, and humans dispose—until the inputs prove they deserve the keys.",{"id":127,"name":128,"type":88,"typeVersion":16,"position":129,"parameters":131,"category":94,"deletable":8,"connectable":8},"node_if_compare","If: compare branches",[90,130],380,{"buttonId":77,"operator":93},{"id":133,"name":134,"type":98,"typeVersion":16,"position":135,"parameters":136,"category":53,"deletable":8,"connectable":8},"node_txt_compare","Safer branch comparisons & attribution",[100,130],{"text":137},"**What teams misread when comparing branches, conversations, and attribution**\n\nBranch comparisons fail in repeatable ways. Here are the usual suspects:\n\n1) **Mix effects**: Branch A isn’t ‘better’—it got easier customers, different hours, different inventory, or more returning traffic. Compare on matched cohorts where possible.\n2) **Volume vs rate**: A small branch can look like a hero on rates and a villain on totals. Decide which one matters *for this decision* before you rank anything.\n3) **Attribution gravity**: The channel that logs last will ‘win.’ Treat attribution as a hypothesis, not a verdict—especially when conversations span days.\n4) **Conversation counting**: One customer can create 6 conversations. If you don’t dedupe by customer + intent window, you’re measuring persistence, not demand.\n5) **Selection bias**: The branch with better tracking will look worse if it captures more failures. Better measurement can penalize you—don’t punish honesty.\n\nIf you want the cultural fix (so this doesn’t become a monthly fire drill), choose **Signal culture** next.",{"id":139,"name":140,"type":88,"typeVersion":16,"position":141,"parameters":143,"category":94,"deletable":8,"connectable":8},"node_if_culture","If: signal culture",[90,142],460,{"buttonId":80,"operator":93},{"id":145,"name":146,"type":98,"typeVersion":16,"position":147,"parameters":148,"category":53,"deletable":8,"connectable":8},"node_txt_culture","Signal culture that produces decisions",[100,142],{"text":149},"**How to build a signal culture that helps decisions happen (not just slides)**\n\nSignal culture is less ‘data literacy’ and more *permission to be precise*. A few moves that work:\n\n- **One metric, one owner, one definition**: If definitions drift, the org will drift with them.\n- **Decision memos beat dashboards**: Require every metric to answer: *What decision could change this week because of this?* If none, archive it.\n- **Caveats are first-class**: Put known data issues in the same view as the KPI. If the caveat is buried, it will be ignored.\n- **Pre-mortem the meeting**: Ask ‘How could this chart be wrong?’ before you ask ‘What should we do?’\n- **Reward fixes, not heroics**: Celebrate the person who found a tracking bug more than the person who made a spicy chart.\n\nGood signal culture doesn’t create more reports. It creates fewer surprises.",{"id":151,"name":152,"type":88,"typeVersion":16,"position":153,"parameters":155,"category":94,"deletable":8,"connectable":8},"node_if_human","If: talk to a human",[90,154],540,{"buttonId":83,"operator":93},{"id":157,"name":158,"type":98,"typeVersion":16,"position":159,"parameters":160,"category":53,"deletable":8,"connectable":8},"node_txt_retry","Retry menu prompt",[100,154],{"text":161},"I may have missed that. Please choose one of the buttons so I can route you to the right checklist (or pick **Talk to human** for a handoff).",{"id":163,"name":164,"type":165,"typeVersion":16,"position":166,"parameters":167,"category":171,"deletable":8,"connectable":8},"node_handoff","Handoff to Decision Support","fallback",[100,59],{"handoffMessage":168,"departmentId":169,"departmentName":170},"Got it—this sounds like a case where context matters. I’m handing you to Decision Support so a person can sanity-check the signals with you.","decision-support","Decision Support","terminal",[173,177,179,181,184,187,189,191,193,195,197,199,201,203,205],{"id":174,"source":37,"target":43,"sourceHandle":175,"targetHandle":176,"type":49},"conn_input_to_kb","out","in",{"id":178,"source":43,"target":55,"sourceHandle":175,"targetHandle":176,"type":49},"conn_kb_to_menu",{"id":180,"source":55,"target":86,"sourceHandle":175,"targetHandle":176,"type":49},"conn_menu_to_if_trust",{"id":182,"source":86,"target":96,"sourceHandle":183,"targetHandle":176,"type":49},"conn_if_trust_true_to_txt","true",{"id":185,"source":86,"target":104,"sourceHandle":186,"targetHandle":176,"type":49},"conn_if_trust_false_to_if_dirty","false",{"id":188,"source":104,"target":109,"sourceHandle":183,"targetHandle":176,"type":49},"conn_if_dirty_true_to_txt",{"id":190,"source":104,"target":115,"sourceHandle":186,"targetHandle":176,"type":49},"conn_if_dirty_false_to_if_auto",{"id":192,"source":115,"target":121,"sourceHandle":183,"targetHandle":176,"type":49},"conn_if_auto_true_to_txt",{"id":194,"source":115,"target":127,"sourceHandle":186,"targetHandle":176,"type":49},"conn_if_auto_false_to_if_compare",{"id":196,"source":127,"target":133,"sourceHandle":183,"targetHandle":176,"type":49},"conn_if_compare_true_to_txt",{"id":198,"source":127,"target":139,"sourceHandle":186,"targetHandle":176,"type":49},"conn_if_compare_false_to_if_culture",{"id":200,"source":139,"target":145,"sourceHandle":183,"targetHandle":176,"type":49},"conn_if_culture_true_to_txt",{"id":202,"source":139,"target":151,"sourceHandle":186,"targetHandle":176,"type":49},"conn_if_culture_false_to_if_human",{"id":204,"source":151,"target":163,"sourceHandle":183,"targetHandle":176,"type":49},"conn_if_human_true_to_handoff",{"id":206,"source":151,"target":157,"sourceHandle":186,"targetHandle":176,"type":49},"conn_if_human_false_to_retry","automation",[28,29,30,31,32,209],"automation-guardrails",[211],"Calypso","intermediate","2026-07-14T11:04:42.939Z","/en/workflows/branch-signal-reliability-navigator",{"en":214},{"title":9,"description":217,"ogDescription":218,"twitterDescription":219,"canonicalPath":214,"robots":220,"schemaType":221,"alternates":222},"Guide teams to trust the right branch metrics, spot dirty signals early, and choose when automation beats judgment—via a routed chat playbook.","A routed chat playbook to separate trustworthy branch signals from polished noise, catch dirty data before meetings, and decide when humans should override automation.","Turn messy branch signals into decision grade evidence: trust checks, dirty signal spotting, automation vs judgment, and smarter branch comparisons—guided in chat.","index,follow","HowTo",[223],{"hreflang":6,"href":214},1785947666301]