[{"data":1,"prerenderedAt":267},["ShallowReactive",2],{"/en/workflows/reliable-signals-for-branch-decisions":3},{"id":4,"slug":5,"locale":6,"translationGroupId":7,"localeSwitchApproved":8,"title":9,"description":10,"documentationMarkdown":11,"workflowJson":12,"category":248,"tags":249,"integrations":252,"difficulty":254,"author":255,"verified":33,"featured":33,"date":256,"modified":256,"icon":7,"imageSrc":7,"path":257,"alternates":258,"seo":259},"13172e07-abc6-4a28-bef8-ab08ee5175c5","reliable-signals-for-branch-decisions","en",null,true,"Reliable Signals for Branch Decisions","A decision-focused chat workflow that helps teams judge which branch numbers deserve trust, spot dirty signal before meetings, and know when automation needs a human override.","## How it works\nThis workflow turns “we have data” into “we can safely decide” by guiding a requester through common signal traps: polished noise, dirty inputs, misleading comparisons, and attribution stories that sound tidy but aren’t true.\n\nIt starts with a knowledge-based response when your library has relevant guidance, then routes people into a simple menu of decision-shaped checklists. The goal isn’t academic purity—it’s preventing the confident wrong decision that happens when bad data looks fine.\n\n## Key features\n- Uses a Knowledge Base step first to answer common signal and measurement questions automatically when possible.\n- Provides a decision menu (buttons) for the most common real-world failure modes: branch numbers, dirty signal, automation vs judgment, comparisons/attribution, and signal culture.\n- Routes each choice to a concise, operator-approved checklist that’s easy to apply before a meeting.\n- Includes a “Talk to a human” path that hands off to a named department when judgment is required.\n- Offers a “Pick another topic” loop so teams can run multiple checks without restarting the conversation.\n\n## Step-by-step\n1. **Trigger:** A new inbound message starts the workflow.\n2. **Knowledge Base assist:** If your Knowledge Base contains a relevant answer, Calypso responds using it. If not, the workflow continues to the menu.\n3. **Menu:** The user chooses what they’re trying to decide (e.g., trust branch numbers, spot dirty signal, automation vs judgment).\n4. **Routing:** The workflow sends the matching checklist:\n   1. Branch numbers: what’s trustworthy vs polished noise.\n   2. Dirty signal: quick tests to catch broken tracking and biased samples.\n   3. Automation vs judgment: where automation is safe and where to require a human call.\n   4. Comparing branches & attribution: what teams routinely misread.\n   5. Signal culture: how to set norms that drive decisions (not slides).\n5. **Next action:** The user can return to the menu or request a human handoff.\n\n## Setup requirements\n- **Calypso Conversations** enabled for your channel(s).\n- (Optional) A configured **Knowledge Base** with your measurement definitions, metric owners, branch reporting rules, and known tracking limitations.\n- No external app credentials are required for this workflow as built.",{"id":13,"teamId":14,"name":9,"version":15,"workflowVersion":16,"nodes":17,"connections":199,"routingEnabled":8,"active":33},"wf_reliable_signals_branch_decisions_v1","calypso-public-library","1.0.0",1,[18,34,41,53,84,94,100,106,112,118,124,132,138,144,150,156,170,176,182,189],{"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],-520,-80,{"name":9,"description":26,"tags":27,"triggerType":31},"Decision-focused coaching to test branch signal reliability, spot dirty data, and know when automation needs human judgment.",[28,29,30],"signal-quality","branch-metrics","decision-guardrails","input","policy",false,{"id":35,"name":36,"type":31,"typeVersion":16,"position":37,"parameters":40,"category":31,"deletable":33,"connectable":8},"node_input","Inbound message",[38,39],-280,120,{},{"id":42,"name":43,"type":44,"typeVersion":16,"position":45,"parameters":47,"category":52,"deletable":8,"connectable":8},"node_kb","Knowledge Base assist","knowledge-base-policy",[46,39],-20,{"enabled":8,"fallbackToRouting":8,"sticky":8,"stickyMode":48,"activationOpener":49,"personalization":51},"default",{"enabled":8,"instruction":50},"Help the user make a decision with reliable signals. Prefer plain language. If a metric could be misleading, say what usually breaks first and what quick checks to run before deciding.",{"useContactName":8},"response",{"id":54,"name":55,"type":56,"typeVersion":16,"position":57,"parameters":59,"category":52,"deletable":8,"connectable":8},"node_menu","Choose a decision check","interactive-message",[58,39],260,{"messageType":60,"headerText":61,"bodyText":62,"footerText":63,"sectionTitle":64,"buttons":65,"ctaDisplayText":64,"ctaUrl":64},"button","Signal checks (pick one)","What are you trying to avoid right now: polished noise, dirty signal, or a too-confident comparison? Choose the closest match and I’ll give you a short checklist you can use before the meeting.","Before a slide, run one check.","",[66,69,72,75,78,81],{"id":67,"title":68},"btn_branch_trust","Trust branch #s",{"id":70,"title":71},"btn_dirty_signal","Dirty signal",{"id":73,"title":74},"btn_auto_vs_human","Auto vs human",{"id":76,"title":77},"btn_compare_attrib","Branch compare",{"id":79,"title":80},"btn_signal_culture","Signal culture",{"id":82,"title":83},"btn_handoff","Human help",{"id":85,"name":86,"type":87,"typeVersion":16,"position":88,"parameters":91,"category":93,"deletable":8,"connectable":8},"node_if_branch_trust","If: branch numbers","if",[89,90],540,-60,{"buttonId":67,"operator":92},"equals","routing",{"id":95,"name":96,"type":87,"typeVersion":16,"position":97,"parameters":99,"category":93,"deletable":8,"connectable":8},"node_if_dirty_signal","If: dirty signal",[89,98],40,{"buttonId":70,"operator":92},{"id":101,"name":102,"type":87,"typeVersion":16,"position":103,"parameters":105,"category":93,"deletable":8,"connectable":8},"node_if_auto_vs_human","If: automation vs human",[89,104],140,{"buttonId":73,"operator":92},{"id":107,"name":108,"type":87,"typeVersion":16,"position":109,"parameters":111,"category":93,"deletable":8,"connectable":8},"node_if_compare_attrib","If: compare & attribution",[89,110],240,{"buttonId":76,"operator":92},{"id":113,"name":114,"type":87,"typeVersion":16,"position":115,"parameters":117,"category":93,"deletable":8,"connectable":8},"node_if_signal_culture","If: signal culture",[89,116],340,{"buttonId":79,"operator":92},{"id":119,"name":120,"type":87,"typeVersion":16,"position":121,"parameters":123,"category":93,"deletable":8,"connectable":8},"node_if_handoff","If: handoff",[89,122],440,{"buttonId":82,"operator":92},{"id":125,"name":126,"type":127,"typeVersion":16,"position":128,"parameters":130,"category":52,"deletable":8,"connectable":8},"node_txt_branch_trust","Checklist: numbers you can trust","text-message",[129,90],820,{"text":131},"Branch numbers that deserve trust usually have three boring traits: consistent definitions, stable collection, and someone who owns the “why it moved.” Here’s a quick reliability check:\n\n1) Definition: Are we counting the same thing in every branch (same inclusion/exclusion)? If definitions changed, treat trend breaks as suspect.\n2) Denominator sanity: Is the base comparable (footfall, lead volume, staff hours)? A higher rate with a shrinking denominator is often a magic trick.\n3) Missingness: Did anything stop logging? “Flat” can mean “broken.” Look for sudden zeros, spikes, or step-changes.\n4) Lag & reversal: Do late postings or corrections happen (refunds, chargebacks, re-bookings)? If yes, avoid day-by-day heroics.\n5) Incentive check: If someone’s bonus depends on it, assume it will be gamed—then verify the controls.\n\nRule of thumb: numbers that reconcile to an independent source (even imperfectly) beat numbers that only agree with themselves.",{"id":133,"name":134,"type":127,"typeVersion":16,"position":135,"parameters":136,"category":52,"deletable":8,"connectable":8},"node_txt_dirty_signal","Checklist: spot dirty signal",[129,98],{"text":137},"Dirty signal is dangerous because it looks clean in a chart. Run these fast tests before you let a meeting get confident:\n\n1) Edge-test the funnel: pick 5 real records and trace them end-to-end. If you can’t follow them, your aggregate is a fairy tale.\n2) Look for “impossible” patterns: identical conversion across branches, perfectly smooth lines, or changes exactly at month-end.\n3) Time alignment: did tracking, staffing, hours, or offers change? If the event timeline doesn’t match the metric move, be skeptical.\n4) Duplicate & leakage check: are the same customers counted twice (channels, devices, re-opens)?\n5) Survivorship: are you only seeing the happy path (answered calls, completed forms)? Missing the failures inflates confidence.\n\nPractical move: when in doubt, decide using ranges and directionality, not a single precise number with two decimals.",{"id":139,"name":140,"type":127,"typeVersion":16,"position":141,"parameters":142,"category":52,"deletable":8,"connectable":8},"node_txt_auto_vs_human","Checklist: automation vs judgment",[129,104],{"text":143},"Automation is great at consistency. Humans are great at exception handling—when they actually look.\n\nTrust automation when:\n- The metric definition is stable and audited.\n- The cost of a wrong decision is low or reversible.\n- The system sees the whole population (not a biased sample).\n- There are guardrails (thresholds, anomaly alerts, fallbacks).\n\nRequire human judgment when:\n- Incentives are high (gaming risk).\n- The data is sparse or delayed.\n- A process just changed (new offer, new hours, staffing shifts).\n- You need causality, not correlation (\"why\" matters, not just \"what\").\n\nA simple governance rule: if the decision is one-way (hard to unwind), a person must sign off—even if the dashboard looks confident.",{"id":145,"name":146,"type":127,"typeVersion":16,"position":147,"parameters":148,"category":52,"deletable":8,"connectable":8},"node_txt_compare_attrib","Checklist: comparisons & attribution",[129,110],{"text":149},"When teams compare branches, they often compare stories—not like-for-like.\n\nBefore you rank anything:\n1) Like-for-like: normalize for demand and capacity (hours, staffing, lead mix). Otherwise you’re grading weather.\n2) Selection bias: are “better” branches just getting easier customers or cleaner leads?\n3) Attribution humility: last-touch is neat; it’s also often wrong. Ask: what would have happened anyway?\n4) Seasonality and calendar: compare to the right week/month, not “last period” by habit.\n5) Small numbers: a branch with 12 conversions can swing wildly. Treat it as a signal to investigate, not a trophy.\n\nIf you must act fast: look for changes in leading indicators (contact rate, appointment show rate, time-to-first-response) before declaring a branch ‘good’ or ‘bad.’",{"id":151,"name":152,"type":127,"typeVersion":16,"position":153,"parameters":154,"category":52,"deletable":8,"connectable":8},"node_txt_signal_culture","Checklist: build signal culture",[129,116],{"text":155},"A good signal culture makes decisions happen. A bad one makes slides happen.\n\nTry these habits:\n1) Name the owner: every key metric has a person responsible for definition + data health, not just reporting.\n2) Separate ‘health’ from ‘performance’: track logging/completeness alongside outcomes so broken pipes don’t masquerade as success.\n3) Write the decision rule: “If X moves by Y for Z days, we do A.” No rule = post-hoc storytelling.\n4) Reward bad news early: the first person to surface a tracking flaw should get thanks, not blame.\n5) Keep a ‘known limitations’ list: if a metric is biased, say so in the same breath.\n\nWitty-but-true principle: if the dashboard is always green, it’s probably not a dashboard—it’s a painting.",{"id":157,"name":158,"type":56,"typeVersion":16,"position":159,"parameters":162,"category":52,"deletable":8,"connectable":8},"node_followup","What next?",[160,161],1080,170,{"messageType":60,"headerText":163,"bodyText":164,"footerText":64,"sectionTitle":64,"buttons":165,"ctaDisplayText":64,"ctaUrl":64},"Next step","Want to run another check, or is this one worth a quick human review?",[166,169],{"id":167,"title":168},"btn_another_check","Another check",{"id":82,"title":83},{"id":171,"name":172,"type":87,"typeVersion":16,"position":173,"parameters":175,"category":93,"deletable":8,"connectable":8},"node_if_another_check","If: another check",[174,39],1320,{"buttonId":167,"operator":92},{"id":177,"name":178,"type":87,"typeVersion":16,"position":179,"parameters":181,"category":93,"deletable":8,"connectable":8},"node_if_handoff2","If: handoff (follow-up)",[174,180],220,{"buttonId":82,"operator":92},{"id":183,"name":184,"type":127,"typeVersion":16,"position":185,"parameters":187,"category":52,"deletable":8,"connectable":8},"node_txt_restart","How to run another check",[186,39],1560,{"text":188},"To run another checklist, just send a new message (for example: “menu” or the decision you’re making). I’ll bring back the Signal checks menu.",{"id":190,"name":191,"type":192,"typeVersion":16,"position":193,"parameters":194,"category":198,"deletable":8,"connectable":8},"node_handoff","Handoff to Branch Ops","fallback",[129,122],{"handoffMessage":195,"departmentId":196,"departmentName":197},"Got it—this is a good moment for human judgment. I’m handing you over to Branch Operations for a quick review of the signal, definitions, and decision risk.","dept_branch_ops","Branch Operations","terminal",[200,203,205,207,209,211,213,215,217,220,222,224,226,228,230,232,234,236,238,240,242,244,246],{"id":201,"source":35,"target":42,"sourceHandle":202,"targetHandle":31,"type":48},"conn_input_to_kb","output",{"id":204,"source":42,"target":54,"sourceHandle":202,"targetHandle":31,"type":48},"conn_kb_to_menu",{"id":206,"source":54,"target":85,"sourceHandle":202,"targetHandle":31,"type":48},"conn_menu_to_if_branch",{"id":208,"source":54,"target":95,"sourceHandle":202,"targetHandle":31,"type":48},"conn_menu_to_if_dirty",{"id":210,"source":54,"target":101,"sourceHandle":202,"targetHandle":31,"type":48},"conn_menu_to_if_auto",{"id":212,"source":54,"target":107,"sourceHandle":202,"targetHandle":31,"type":48},"conn_menu_to_if_compare",{"id":214,"source":54,"target":113,"sourceHandle":202,"targetHandle":31,"type":48},"conn_menu_to_if_culture",{"id":216,"source":54,"target":119,"sourceHandle":202,"targetHandle":31,"type":48},"conn_menu_to_if_handoff",{"id":218,"source":85,"target":125,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_branch_to_txt","true",{"id":221,"source":95,"target":133,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_dirty_to_txt",{"id":223,"source":101,"target":139,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_auto_to_txt",{"id":225,"source":107,"target":145,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_compare_to_txt",{"id":227,"source":113,"target":151,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_culture_to_txt",{"id":229,"source":119,"target":190,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_handoff_to_fallback",{"id":231,"source":125,"target":157,"sourceHandle":202,"targetHandle":31,"type":48},"conn_branch_to_followup",{"id":233,"source":133,"target":157,"sourceHandle":202,"targetHandle":31,"type":48},"conn_dirty_to_followup",{"id":235,"source":139,"target":157,"sourceHandle":202,"targetHandle":31,"type":48},"conn_auto_to_followup",{"id":237,"source":145,"target":157,"sourceHandle":202,"targetHandle":31,"type":48},"conn_compare_to_followup",{"id":239,"source":151,"target":157,"sourceHandle":202,"targetHandle":31,"type":48},"conn_culture_to_followup",{"id":241,"source":157,"target":171,"sourceHandle":202,"targetHandle":31,"type":48},"conn_followup_to_if_another",{"id":243,"source":157,"target":177,"sourceHandle":202,"targetHandle":31,"type":48},"conn_followup_to_if_handoff2",{"id":245,"source":171,"target":183,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_another_to_restart_txt",{"id":247,"source":177,"target":190,"sourceHandle":219,"targetHandle":31,"type":48},"conn_if_handoff2_to_fallback","automation",[28,29,30,250,251],"attribution","decision-making",[253],"Calypso Conversations","intermediate","Calypso","2026-06-01T11:04:20.564Z","/en/workflows/reliable-signals-for-branch-decisions",{"en":257},{"title":9,"description":260,"ogDescription":261,"twitterDescription":262,"canonicalPath":257,"robots":263,"schemaType":264,"alternates":265},"Guide teams to trust the right branch numbers, spot dirty signals, and decide when automation needs human judgment—via a chat menu.","A practical chat workflow to pressure test branch metrics, catch dirty signal early, and prevent confident wrong decisions with simple guardrails.","Turn messy branch signals into decision ready checks: what to trust, what’s noise, and when to escalate to human judgment.","index,follow","HowTo",[266],{"hreflang":6,"href":257},1780761213058]