[{"data":1,"prerenderedAt":322},["ShallowReactive",2],{"/en/workflows/signal-proofing-for-branch-decisions":3},{"id":4,"slug":5,"locale":6,"translationGroupId":7,"localeSwitchApproved":8,"title":9,"description":10,"documentationMarkdown":11,"workflowJson":12,"category":302,"tags":303,"integrations":306,"difficulty":309,"author":310,"verified":34,"featured":34,"date":311,"modified":311,"icon":7,"imageSrc":7,"path":312,"alternates":313,"seo":314},"a2aa5ab5-8573-4c43-9ab4-56ce301cd3c1","signal-proofing-for-branch-decisions","en",null,true,"Signal Proofing for Branch Decisions","An operator-friendly decision coach that turns messy branch numbers, conversations, and attribution into decision-ready checks—before a confident meeting goes confidently wrong.","## How it works\nThis workflow acts like a calm, practical “signal editor” for decision moments. It answers common questions via your Knowledge Base first, then offers a simple menu of decision-shaped checks (trust the number, spot dirty signal, compare branches, etc.) so teams get to a usable next step—without polishing away the inconvenient truth.\n\nIt’s designed for the real failure mode: data that *looks* clean, gets repeated in slides, and only reveals its cracks after you’ve made the call. The flow helps operators and leaders pressure-test what they’re about to believe, and routes to a human when the situation deserves judgment.\n\n## Key features\n- Uses a **Knowledge Base policy first** for consistent, on-brand answers in plain language.\n- A **button-based menu** that routes people to decision-ready checks (not abstract “insights”).\n- Built-in guidance on **which branch metrics deserve trust** vs. polished noise.\n- Practical prompts to **spot dirty signal** before meetings lock in the wrong story.\n- Clear guardrails on **when to trust automation** and when to escalate to a human.\n- **One-click handoff** to a routing destination for cases that need investigation.\n\n## Step-by-step\n1. **Input** starts the workflow when a message arrives.\n2. **Knowledge Base Policy** attempts to answer using your KB, keeping responses practical and consistent.\n3. If the KB doesn’t fully resolve the need, the workflow shows an **Interactive Menu**: \n   - Trust a branch number\n   - Spot dirty signal fast\n   - Automation vs. human judgment\n   - Messy evidence → usable insight\n   - Compare branches & attribution\n   - Build a signal culture\n   - Talk to an analyst\n4. The workflow routes based on the selected button and sends a **targeted checklist-style message** for that topic.\n5. A **What next?** prompt lets the user either:\n   - Return to the main menu, or\n   - Request a handoff.\n6. If the user requests help (or selects “Talk to an analyst”), the flow sends a brief confirmation and triggers **Fallback routing** to the configured department.\n\n## Setup requirements\n- A published **Calypso Knowledge Base** with your preferred terminology for branches, conversations, and attribution.\n- Calypso **Routing** configured with a destination department (used by the handoff step).\n- No external credentials are required.",{"id":13,"teamId":14,"name":9,"version":15,"workflowVersion":16,"nodes":17,"connections":240,"routingEnabled":8,"active":34},"wf_signal_proofing_branch_decisions_v1","calypso-public-library","1.0.0",1,[18,35,42,54,88,97,105,111,118,123,130,136,142,148,155,161,168,174,181,196,203,211,217,223,229],{"id":19,"name":20,"type":21,"typeVersion":16,"position":22,"parameters":25,"category":33,"deletable":34,"connectable":34},"node_flow_configs","Workflow settings","flow-configs",[23,24],80,40,{"name":9,"description":26,"tags":27,"triggerType":32},"Decision-ready signal checks for branch numbers, conversations, and attribution—plus a clean handoff path for judgment-heavy cases.",[28,29,30,31],"signal-quality","decision-making","branch-performance","attribution","input","policy",false,{"id":36,"name":37,"type":32,"typeVersion":16,"position":38,"parameters":41,"category":32,"deletable":34,"connectable":8},"node_input","Inbound message",[39,40],120,160,{},{"id":43,"name":44,"type":45,"typeVersion":16,"position":46,"parameters":48,"category":53,"deletable":8,"connectable":8},"node_kb_policy","Knowledge Base answers (plain-language)","knowledge-base-policy",[47,40],360,{"enabled":8,"fallbackToRouting":8,"sticky":8,"stickyMode":49,"activationOpener":50,"personalization":52},"default",{"enabled":8,"instruction":51},"Be practical and direct. Treat numbers as suspects until they earn trust. Offer checklists, not theory. Use a little wit, avoid academic language, and always drive toward a decision-ready next step.",{"useContactName":8},"response",{"id":55,"name":56,"type":57,"typeVersion":16,"position":58,"parameters":60,"category":53,"deletable":8,"connectable":8},"node_menu","Choose a signal check","interactive-message",[59,40],620,{"messageType":61,"headerText":62,"bodyText":63,"footerText":64,"sectionTitle":65,"buttons":66,"ctaDisplayText":65,"ctaUrl":65},"button","Signal Proofing","Pick what you’re trying to decide. I’ll help you pressure-test the signal before it turns into a confident mistake.","Tip: If you’ll present it, stress-test it first.","",[67,70,73,76,79,82,85],{"id":68,"title":69},"trust_numbers","Trust a number",{"id":71,"title":72},"dirty_signal","Dirty signal check",{"id":74,"title":75},"automation_vs_judgment","Auto vs human",{"id":77,"title":78},"messy_evidence","Messy to insight",{"id":80,"title":81},"compare_branches","Compare branches",{"id":83,"title":84},"signal_culture","Signal culture",{"id":86,"title":87},"talk_to_analyst","Talk to analyst",{"id":89,"name":90,"type":91,"typeVersion":16,"position":92,"parameters":94,"category":96,"deletable":8,"connectable":8},"node_if_trust","If: Trust a branch number","if",[93,40],860,{"buttonId":68,"operator":95},"equals","routing",{"id":98,"name":99,"type":100,"typeVersion":16,"position":101,"parameters":103,"category":53,"deletable":8,"connectable":8},"node_text_trust","Trust check: numbers that earn belief","text-message",[102,23],1100,{"text":104},"Branch numbers to trust (and the ones that are polished noise):\n\n1) Prefer counts with a *clear denominator* (rate > raw volume). If you can’t explain “out of what?”, you’re holding decoration.\n2) Trust signals with *stable definitions*. If “lead” quietly changed last month, your trend is cosplay.\n3) Watch for *suspicious smoothness*. Real operations are lumpy; perfectly tidy lines often mean filtering, batching, or selective reporting.\n4) Look for *missingness that correlates with outcomes* (e.g., bad weeks have more “unknown”). That’s not random; it’s a story.\n5) Compare against an independent proxy (footfall, call volume, appointment logs). If nothing else moves, the “win” may be paperwork.\n\nIf you want, tell me the metric and timeframe—you’ll get a sharper reality check.",{"id":106,"name":107,"type":91,"typeVersion":16,"position":108,"parameters":110,"category":96,"deletable":8,"connectable":8},"node_if_dirty","If: Spot dirty signal fast",[93,109],260,{"buttonId":71,"operator":95},{"id":112,"name":113,"type":100,"typeVersion":16,"position":114,"parameters":116,"category":53,"deletable":8,"connectable":8},"node_text_dirty","Dirty-signal triage: what fails first",[102,115],220,{"text":117},"Dirty signal usually looks fine—until it’s time to bet your reputation on it. Quick triage:\n\n- Sudden step-change? Ask: *definition change, channel shift, logging change,* or *real behavior?*\n- “Other/Unknown” growing? That’s the canary. It expands right before the story collapses.\n- One branch is an outlier? Check *staffing, hours, local promo, backlog, system downtime,* and *data entry incentives* before you crown a best practice.\n- Attribution got “better” overnight? Look for *double-counting, last-touch bias,* or *new defaults* in tracking.\n- Conversation notes look cleaner? Sometimes that’s “we stopped writing the messy parts.”\n\nRule of thumb: when the number gets more impressive and less explainable at the same time, slow down.",{"id":119,"name":120,"type":91,"typeVersion":16,"position":121,"parameters":122,"category":96,"deletable":8,"connectable":8},"node_if_auto","If: Automation vs judgment",[93,47],{"buttonId":74,"operator":95},{"id":124,"name":125,"type":100,"typeVersion":16,"position":126,"parameters":128,"category":53,"deletable":8,"connectable":8},"node_text_auto","When to trust automation (and when not to)",[102,127],340,{"text":129},"Automation is great at consistency. It’s terrible at context.\n\nTrust automation when:\n- The decision is *reversible* and you can measure the outcome quickly.\n- The inputs are *defined, stable,* and you know what “good” looks like.\n- Edge cases are rare and you’ve seen them before.\n\nDemand human judgment when:\n- The decision is *one-way* (pricing, staffing cuts, branch closures).\n- The signal is *new, sparse,* or definition-shifty.\n- Incentives are involved (people can “manage” the metric).\n- You’re relying on attribution to justify a narrative.\n\nPractical guardrail: let automation propose; require a human to approve when the stakes are high or the data is unusually clean-looking.",{"id":131,"name":132,"type":91,"typeVersion":16,"position":133,"parameters":135,"category":96,"deletable":8,"connectable":8},"node_if_messy","If: Messy evidence → insight",[93,134],460,{"buttonId":77,"operator":95},{"id":137,"name":138,"type":100,"typeVersion":16,"position":139,"parameters":140,"category":53,"deletable":8,"connectable":8},"node_text_messy","Don’t clean away the truth",[102,134],{"text":141},"Turning messy evidence into usable insight (without scrubbing out reality):\n\n1) Separate *mess* from *meaning*: duplicates, missing fields, and weird timestamps can be informative.\n2) Keep a “loss report”: how many records you excluded and why. If your insight depends on exclusions, that’s the headline.\n3) Prefer *ranges + confidence* over fake precision. A rough truth beats a precise lie.\n4) Track the top 3 failure modes (e.g., unlogged conversations, late entries, mismatched branch IDs). Fix those before you chase fancy models.\n5) When in doubt, sample 20 records and read them like a detective. Dirty signal confesses under sunlight.\n\nIf you describe the evidence (source + what looks off), I’ll suggest the safest way to use it.",{"id":143,"name":144,"type":91,"typeVersion":16,"position":145,"parameters":147,"category":96,"deletable":8,"connectable":8},"node_if_compare","If: Compare branches & attribution",[93,146],560,{"buttonId":80,"operator":95},{"id":149,"name":150,"type":100,"typeVersion":16,"position":151,"parameters":153,"category":53,"deletable":8,"connectable":8},"node_text_compare","Comparison traps: branches, conversations, attribution",[102,152],580,{"text":154},"What teams misread when comparing branches, conversations, and attribution:\n\n- Different *mix* (customer types, appointment vs walk-in) masquerades as performance.\n- “Best branch” is often “branch with the easiest denominator.” Normalize by capacity/hours.\n- Conversation volume ≠ quality. Check outcomes (booked, showed, resolved), not just messages.\n- Attribution is a *story*, not a fact. Treat it as directional unless you’ve validated tracking consistency.\n- Beware leaderboard effects: once a metric becomes a prize, it becomes a target.\n\nA safer comparison script: same definition, same timeframe, normalized rate, plus one independent proxy. If any of those are missing, the conclusion should be softer.",{"id":156,"name":157,"type":91,"typeVersion":16,"position":158,"parameters":160,"category":96,"deletable":8,"connectable":8},"node_if_culture","If: Build a signal culture",[93,159],660,{"buttonId":83,"operator":95},{"id":162,"name":163,"type":100,"typeVersion":16,"position":164,"parameters":166,"category":53,"deletable":8,"connectable":8},"node_text_culture","Signal culture that makes decisions (not slides)",[102,165],700,{"text":167},"Building a signal culture that helps decisions happen:\n\n- Write “definition receipts”: one sentence for what each metric is and isn’t.\n- Make uncertainty speakable: require a confidence note with every key number.\n- Reward bad news early. Teams hide dirt when it’s punished.\n- Keep a “metric incident log” (definition changes, outages, tracking bugs). Memory beats mythology.\n- Promote questions like: “What would make this number wrong?” and “What would we do differently if it’s wrong?”\n\nThe goal isn’t perfect data. It’s fewer confident mistakes and faster correction when reality disagrees.",{"id":169,"name":170,"type":91,"typeVersion":16,"position":171,"parameters":173,"category":96,"deletable":8,"connectable":8},"node_if_talk","If: Talk to an analyst",[93,172],760,{"buttonId":86,"operator":95},{"id":175,"name":176,"type":100,"typeVersion":16,"position":177,"parameters":179,"category":53,"deletable":8,"connectable":8},"node_text_handoff_intro","Handoff intro",[102,178],820,{"text":180},"Good call. I’ll route this to a human for a closer look. If you share the branch, timeframe, and the decision on the line, they’ll arrive prepared.",{"id":182,"name":183,"type":57,"typeVersion":16,"position":184,"parameters":186,"category":53,"deletable":8,"connectable":8},"node_next_actions","Next step",[185,47],1360,{"messageType":61,"headerText":183,"bodyText":187,"footerText":188,"sectionTitle":65,"buttons":189,"ctaDisplayText":65,"ctaUrl":65},"Want another check, or should we route this for human judgment?","If it’s high-stakes, escalate.",[190,193],{"id":191,"title":192},"back_to_menu","Another check",{"id":194,"title":195},"request_handoff","Request handoff",{"id":197,"name":198,"type":91,"typeVersion":16,"position":199,"parameters":202,"category":96,"deletable":8,"connectable":8},"node_if_back","If: Another check",[200,201],1600,320,{"buttonId":191,"operator":95},{"id":204,"name":205,"type":100,"typeVersion":16,"position":206,"parameters":209,"category":53,"deletable":8,"connectable":8},"node_text_restart","Restart instructions",[207,208],1860,300,{"text":210},"To run another check, send a new message and I’ll bring the menu back. (Same chat—just a fresh prompt.)",{"id":212,"name":213,"type":91,"typeVersion":16,"position":214,"parameters":216,"category":96,"deletable":8,"connectable":8},"node_if_request_handoff","If: Request handoff",[200,215],420,{"buttonId":194,"operator":95},{"id":218,"name":219,"type":100,"typeVersion":16,"position":220,"parameters":221,"category":53,"deletable":8,"connectable":8},"node_text_no_handoff","No handoff chosen",[207,215],{"text":222},"No problem. If you want to pressure-test a different signal, send a new message and we’ll start fresh.",{"id":224,"name":225,"type":100,"typeVersion":16,"position":226,"parameters":227,"category":53,"deletable":8,"connectable":8},"node_text_default","No selection matched",[102,40],{"text":228},"I can help, but I need a starting point. Please tap one of the buttons so we pressure-test the right signal.",{"id":230,"name":231,"type":232,"typeVersion":16,"position":233,"parameters":235,"category":239,"deletable":8,"connectable":8},"node_fallback","Route to Data & Insights","fallback",[207,234],520,{"handoffMessage":236,"departmentId":237,"departmentName":238},"Routing to Data & Insights for investigation. Please include branch, timeframe, metric definition, and what decision you’re trying to make.","dept_data_insights","Data & Insights","terminal",[241,244,246,248,251,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300],{"id":242,"source":36,"target":43,"sourceHandle":243,"targetHandle":243,"type":49},"conn_input_to_kb","main",{"id":245,"source":43,"target":55,"sourceHandle":243,"targetHandle":243,"type":49},"conn_kb_to_menu",{"id":247,"source":55,"target":89,"sourceHandle":243,"targetHandle":243,"type":49},"conn_menu_to_if_trust",{"id":249,"source":89,"target":98,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_trust_true_to_text","true",{"id":252,"source":89,"target":106,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_trust_false_to_if_dirty","false",{"id":255,"source":98,"target":182,"sourceHandle":243,"targetHandle":243,"type":49},"conn_text_trust_to_next",{"id":257,"source":106,"target":112,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_dirty_true_to_text",{"id":259,"source":106,"target":119,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_dirty_false_to_if_auto",{"id":261,"source":112,"target":182,"sourceHandle":243,"targetHandle":243,"type":49},"conn_text_dirty_to_next",{"id":263,"source":119,"target":124,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_auto_true_to_text",{"id":265,"source":119,"target":131,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_auto_false_to_if_messy",{"id":267,"source":124,"target":182,"sourceHandle":243,"targetHandle":243,"type":49},"conn_text_auto_to_next",{"id":269,"source":131,"target":137,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_messy_true_to_text",{"id":271,"source":131,"target":143,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_messy_false_to_if_compare",{"id":273,"source":137,"target":182,"sourceHandle":243,"targetHandle":243,"type":49},"conn_text_messy_to_next",{"id":275,"source":143,"target":149,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_compare_true_to_text",{"id":277,"source":143,"target":156,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_compare_false_to_if_culture",{"id":279,"source":149,"target":182,"sourceHandle":243,"targetHandle":243,"type":49},"conn_text_compare_to_next",{"id":281,"source":156,"target":162,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_culture_true_to_text",{"id":283,"source":156,"target":169,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_culture_false_to_if_talk",{"id":285,"source":162,"target":182,"sourceHandle":243,"targetHandle":243,"type":49},"conn_text_culture_to_next",{"id":287,"source":169,"target":175,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_talk_true_to_handoff_intro",{"id":289,"source":169,"target":224,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_talk_false_to_default",{"id":291,"source":175,"target":230,"sourceHandle":243,"targetHandle":243,"type":49},"conn_handoff_intro_to_fallback",{"id":293,"source":182,"target":197,"sourceHandle":243,"targetHandle":243,"type":49},"conn_next_to_if_back",{"id":295,"source":197,"target":204,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_back_true_to_restart",{"id":297,"source":197,"target":212,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_back_false_to_if_handoff",{"id":299,"source":212,"target":230,"sourceHandle":250,"targetHandle":243,"type":49},"conn_if_handoff_true_to_fallback",{"id":301,"source":212,"target":218,"sourceHandle":253,"targetHandle":243,"type":49},"conn_if_handoff_false_to_no_handoff","automation",[28,29,30,31,304,305],"automation-judgment","data-hygiene",[307,308],"Calypso Knowledge Base","Calypso Routing","intermediate","Calypso","2026-04-20T11:04:53.951Z","/en/workflows/signal-proofing-for-branch-decisions",{"en":312},{"title":9,"description":315,"ogDescription":316,"twitterDescription":317,"canonicalPath":312,"robots":318,"schemaType":319,"alternates":320},"Help teams trust the right branch signals, spot dirty data early, and route edge cases to a human—before confident decisions go wrong.","A practical signal coach: pressure test branch numbers, conversations, and attribution, then route the tricky cases to a human when judgment beats automation.","Turn messy branch signals into decision ready checks. Spot dirty data early, avoid polished noise, and hand off when human judgment is required.","index,follow","HowTo",[321],{"hreflang":6,"href":312},1776877119133]