[{"data":1,"prerenderedAt":248},["ShallowReactive",2],{"/en/workflows/branch-signal-truth-checks":3},{"id":4,"slug":5,"locale":6,"translationGroupId":7,"localeSwitchApproved":8,"title":9,"description":10,"documentationMarkdown":11,"workflowJson":12,"category":228,"tags":229,"integrations":232,"difficulty":235,"author":236,"verified":32,"featured":32,"date":237,"modified":237,"icon":7,"imageSrc":7,"path":238,"alternates":239,"seo":240},"d6098581-29ef-401b-9204-ab389c55d9f7","branch-signal-truth-checks","en",null,true,"Branch Signal Truth Checks","A guided decision-support flow that helps teams quickly separate trustworthy branch metrics from polished noise, spot dirty signals before meetings, and choose when to trust automation vs. human judgment.","## How it works\nThis workflow turns “we have numbers” into “we have *decision-grade* evidence.” It routes people through a short menu of common signal problems (trustworthiness, dirty data, automation vs. judgment, messy evidence, comparisons, and culture) and returns crisp checklists you can apply before a confident meeting goes off the rails.\n\nIt also uses a knowledge-base step first: if your team has documented definitions (metric logic, attribution rules, branch event taxonomy), Calypso answers directly. If the question is vague or disputed, the flow pivots into a practical triage menu and—when needed—hands off to a human owner.\n\n## Key features\n- Knowledge-base-first behavior to answer metric definition questions before routing into decision triage.\n- Interactive menu of decision-shaped topics (trust, dirty signals, automation, comparisons, culture).\n- “Meeting-proof” checklists delivered as ready-to-use message prompts.\n- Human handoff path for disputes, unclear ownership, or high-stakes decisions.\n- Loop-back design so operators can run multiple checks in one session.\n\n## Step-by-step\n1. **Trigger:** A user starts the workflow from chat.\n2. **Knowledge base check:** Calypso attempts to answer using your saved internal guidance (definitions, rules, standards). If it can’t, it continues to the menu.\n3. **Choose a signal problem:** The user picks one option from the interactive list (e.g., *Which branch numbers deserve trust?*).\n4. **Receive a decision checklist:** The workflow returns a targeted set of checks and “what usually breaks first” warnings for the chosen topic.\n5. **Repeat or escalate:** After the checklist, the workflow loops back to the menu. If the user selects **Talk to a human**, it hands off to your designated team.\n\n## Setup requirements\n- Optional: A populated Calypso Knowledge Base with your metric definitions, attribution rules, and branch event standards (recommended).\n- No additional credentials are required for this workflow.\n- Configure the **Operations Analytics** (or equivalent) team as the handoff destination in Calypso routing.",{"id":13,"teamId":14,"name":9,"version":15,"workflowVersion":16,"nodes":17,"connections":191,"routingEnabled":8,"active":32},"wf_branch_signal_truth_checks_v1","calypso-public-library","1.0.0",1,[18,33,39,51,86,95,104,110,117,123,130,135,142,148,155,161,168,174,184],{"id":19,"name":20,"type":21,"typeVersion":16,"position":22,"parameters":24,"category":31,"deletable":32,"connectable":32},"node_flowcfg","Workflow settings","flow-configs",[23,23],0,{"name":9,"description":25,"tags":26,"triggerType":30},"Knowledge-base-first triage that helps operators separate trustworthy branch signals from polished noise and route edge cases to a human owner.",[27,28,29],"signal-quality","branch-metrics","decision-making","input","policy",false,{"id":34,"name":35,"type":30,"typeVersion":16,"position":36,"parameters":38,"category":30,"deletable":32,"connectable":8},"node_input","Incoming message",[23,37],160,{},{"id":40,"name":41,"type":42,"typeVersion":16,"position":43,"parameters":45,"category":50,"deletable":8,"connectable":8},"node_kb","Knowledge base answer (if available)","knowledge-base-policy",[44,37],220,{"enabled":8,"fallbackToRouting":8,"sticky":32,"stickyMode":46,"activationOpener":47,"personalization":49},"default",{"enabled":8,"instruction":48},"Answer using our documented metric definitions, branch event taxonomy, and attribution rules. If the user’s question is ambiguous or not covered, do not guess—route to the decision menu.",{"useContactName":8},"response",{"id":52,"name":53,"type":54,"typeVersion":16,"position":55,"parameters":57,"category":50,"deletable":8,"connectable":8},"node_menu","Pick what’s going wrong","interactive-message",[56,37],460,{"messageType":58,"headerText":59,"bodyText":60,"footerText":61,"sectionTitle":62,"buttons":63,"ctaDisplayText":85,"ctaUrl":85},"list","Signal triage","Choose the decision you’re trying to make. I’ll give you a quick trust check—built for real branch data (the kind that looks fine right up until it ruins a meeting).","Tip: If you’re debating definitions, pick “Talk to a human.”","What do you need?",[64,67,70,73,76,79,82],{"id":65,"title":66},"trust_numbers","Trust which numbers?",{"id":68,"title":69},"dirty_signal","Spot dirty signals",{"id":71,"title":72},"automation_judgment","Automation vs humans",{"id":74,"title":75},"messy_evidence","Messy to insight",{"id":77,"title":78},"comparison_traps","Compare branches",{"id":80,"title":81},"signal_culture","Signal culture",{"id":83,"title":84},"talk_to_human","Talk to a human","",{"id":87,"name":88,"type":89,"typeVersion":16,"position":90,"parameters":92,"category":94,"deletable":8,"connectable":8},"node_if_trust","If: trust_numbers","if",[91,37],700,{"buttonId":65,"operator":93},"equals","routing",{"id":96,"name":97,"type":98,"typeVersion":16,"position":99,"parameters":102,"category":50,"deletable":8,"connectable":8},"node_msg_trust","Trust check: branch numbers","text-message",[100,101],940,80,{"text":103},"**Branch numbers you can trust (and the ones that are just well-dressed noise)**\n\nUse this 60-second trust check before you repeat a number in a meeting:\n1) **Provenance:** Can you name the source system *and* the exact cut of time? (“Yesterday” isn’t a cut.)\n2) **Definition stability:** Has the metric definition changed in the last 30–60 days (logic, filters, deduping)? If yes, treat trends as *suspect*.\n3) **Completeness:** Any late-arriving events, outages, or backfills? If you don’t know, assume yes and ask.\n4) **Denominator sanity:** Are we comparing rates with similar footfall/lead volume? Big denominators hide small disasters.\n5) **Reconciliation:** Does it roughly agree with at least one independent signal (cash, inventory, staffing, call volume)?\n\nRule of thumb: **A metric without a stable definition is a rumor with a chart.**",{"id":105,"name":106,"type":89,"typeVersion":16,"position":107,"parameters":109,"category":94,"deletable":8,"connectable":8},"node_if_dirty","If: dirty_signal",[91,108],260,{"buttonId":68,"operator":93},{"id":111,"name":112,"type":98,"typeVersion":16,"position":113,"parameters":115,"category":50,"deletable":8,"connectable":8},"node_msg_dirty","Dirty signal spotter",[100,114],180,{"text":116},"**How to spot dirty signal before the confident meeting**\n\nLook for these early warning smells (they’re common because they look “fine”):\n- **Too-smooth lines:** Real operations are lumpy. A perfect curve often means batching, smoothing, or missing data.\n- **Step changes on calendar boundaries:** New month/week? That’s often a process change, not performance.\n- **One-branch miracles:** If one branch “fixed everything” overnight, check tracking, staffing codes, and dedupe first.\n- **Attribution inflation:** Anything that counts the same outcome multiple ways will win the dashboard Olympics.\n- **Unknown unknowns:** If nobody can explain what changed, *something changed*.\n\nMeeting move: ask **“What would make this number wrong?”** If the room goes quiet, you just found risk.",{"id":118,"name":119,"type":89,"typeVersion":16,"position":120,"parameters":122,"category":94,"deletable":8,"connectable":8},"node_if_auto","If: automation_judgment",[91,121],360,{"buttonId":71,"operator":93},{"id":124,"name":125,"type":98,"typeVersion":16,"position":126,"parameters":128,"category":50,"deletable":8,"connectable":8},"node_msg_auto","Automation vs judgment guidance",[100,127],280,{"text":129},"**When to trust automation (and when you still need a human)**\n\nTrust automation when:\n- The decision is **reversible** (you can unwind it cheaply).\n- Inputs are **well-instrumented** and definitions are stable.\n- The model/rule has a **feedback loop** (you measure errors and correct them).\n\nRequire human judgment when:\n- The decision is **irreversible or reputational** (customer harm, compliance, safety).\n- Data is **sparse, newly collected, or recently changed**.\n- The incentives are distorted (teams can “game” the metric).\n\nPractical hybrid: let automation propose, but make humans answer **“What would we do differently if this is wrong?”** If the answer is “nothing,” you’re safe. If the answer is “we’d panic,” slow down.",{"id":131,"name":132,"type":89,"typeVersion":16,"position":133,"parameters":134,"category":94,"deletable":8,"connectable":8},"node_if_messy","If: messy_evidence",[91,56],{"buttonId":74,"operator":93},{"id":136,"name":137,"type":98,"typeVersion":16,"position":138,"parameters":140,"category":50,"deletable":8,"connectable":8},"node_msg_messy","Messy evidence to usable insight",[100,139],380,{"text":141},"**Messy evidence → usable insight (without cleaning away the truth)**\n\nThe goal isn’t “clean.” It’s **decision-useful**. Try this sequence:\n1) **Keep the mess:** Preserve raw notes/events. Don’t overwrite—version.\n2) **Separate facts from interpretations:** “Customer hung up after 40s” is a fact. “They were angry” is a guess.\n3) **Tag uncertainty:** Unknown is a valid value. Forcing certainty creates fake precision.\n4) **Small slices first:** Start with 1–3 branches or 1 week. Validate logic before scaling.\n5) **Write the decision question:** If you can’t state the decision in one sentence, you’re collecting comfort data.\n\nUseful output format: **What we believe / Why / What would change our mind / Next check**.",{"id":143,"name":144,"type":89,"typeVersion":16,"position":145,"parameters":147,"category":94,"deletable":8,"connectable":8},"node_if_compare","If: comparison_traps",[91,146],560,{"buttonId":77,"operator":93},{"id":149,"name":150,"type":98,"typeVersion":16,"position":151,"parameters":153,"category":50,"deletable":8,"connectable":8},"node_msg_compare","Comparison & attribution traps",[100,152],480,{"text":154},"**What teams misread when comparing branches & attribution**\n\nCommon traps (the ‘numbers are correct but the conclusion isn’t’ category):\n- **Different mixes:** Branch A and B serve different customers, hours, or product mix. Compare *like with like* first.\n- **Different exposure:** Marketing, staffing, inventory, or footfall isn’t equal—so outcomes won’t be either.\n- **Survivorship:** You’re only measuring what gets recorded; unlogged losses disappear.\n- **Attribution double-counting:** One outcome credited to multiple channels/agents/branches. Decide who gets credit *before* you compare.\n- **Rate vs count confusion:** Counts reward volume. Rates punish growth. Pick the one that matches the decision.\n\nDecision move: compare branches on **constraints** (staffing, inventory, lead flow) before you compare on outcomes.",{"id":156,"name":157,"type":89,"typeVersion":16,"position":158,"parameters":160,"category":94,"deletable":8,"connectable":8},"node_if_culture","If: signal_culture",[91,159],660,{"buttonId":80,"operator":93},{"id":162,"name":163,"type":98,"typeVersion":16,"position":164,"parameters":166,"category":50,"deletable":8,"connectable":8},"node_msg_culture","Signal culture that decides",[100,165],580,{"text":167},"**Build a signal culture that helps decisions happen (not just slides)**\n\nA healthy signal culture has three habits:\n1) **Definitions are public and boring.** If definitions are political, metrics become theater.\n2) **Disagreement is logged, not litigated.** Capture: what’s disputed, who owns it, and when it will be resolved.\n3) **Every dashboard has an action.** If nobody can name what decision it supports, archive it.\n\nTwo lightweight guardrails:\n- Add a “**Confidence**” label (High/Medium/Low) next to key numbers with one-line justification.\n- Require a “**Failure mode**” note: how this metric can lie.\n\nWit, but true: **If the metric can’t lose an argument, it’s not a metric—it’s a mascot.**",{"id":169,"name":170,"type":89,"typeVersion":16,"position":171,"parameters":173,"category":94,"deletable":8,"connectable":8},"node_if_handoff","If: talk_to_human",[91,172],760,{"buttonId":83,"operator":93},{"id":175,"name":176,"type":177,"typeVersion":16,"position":178,"parameters":179,"category":183,"deletable":8,"connectable":8},"node_handoff","Handoff to Operations Analytics","fallback",[100,91],{"handoffMessage":180,"departmentId":181,"departmentName":182},"I’m handing this to Operations Analytics to confirm definitions, data health, and the safest decision framing. Please share: (1) branch(es), (2) time window, (3) metric name, (4) what decision you’re about to make, and (5) what would change your mind.","ops-analytics","Operations Analytics","terminal",{"id":185,"name":186,"type":98,"typeVersion":16,"position":187,"parameters":189,"category":50,"deletable":8,"connectable":8},"node_msg_unknown","Didn’t match a selection",[100,188],800,{"text":190},"I didn’t catch a menu selection. Please choose an option from the list so I can send the right checklist—or choose **Talk to a human** if this is high-stakes or disputed.",[192,194,196,198,201,204,206,208,210,212,214,216,218,220,222,224,226],{"id":193,"source":34,"target":40,"sourceHandle":46,"targetHandle":46,"type":46},"conn_input_to_kb",{"id":195,"source":40,"target":52,"sourceHandle":46,"targetHandle":46,"type":46},"conn_kb_to_menu",{"id":197,"source":52,"target":87,"sourceHandle":46,"targetHandle":46,"type":46},"conn_menu_to_if_trust",{"id":199,"source":87,"target":96,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_trust_true_to_msg_trust","true",{"id":202,"source":87,"target":105,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_trust_false_to_if_dirty","false",{"id":205,"source":105,"target":111,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_dirty_true_to_msg_dirty",{"id":207,"source":105,"target":118,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_dirty_false_to_if_auto",{"id":209,"source":118,"target":124,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_auto_true_to_msg_auto",{"id":211,"source":118,"target":131,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_auto_false_to_if_messy",{"id":213,"source":131,"target":136,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_messy_true_to_msg_messy",{"id":215,"source":131,"target":143,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_messy_false_to_if_compare",{"id":217,"source":143,"target":149,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_compare_true_to_msg_compare",{"id":219,"source":143,"target":156,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_compare_false_to_if_culture",{"id":221,"source":156,"target":162,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_culture_true_to_msg_culture",{"id":223,"source":156,"target":169,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_culture_false_to_if_handoff",{"id":225,"source":169,"target":175,"sourceHandle":200,"targetHandle":46,"type":46},"conn_if_handoff_true_to_handoff",{"id":227,"source":169,"target":185,"sourceHandle":203,"targetHandle":46,"type":46},"conn_if_handoff_false_to_unknown","automation",[27,28,29,230,231],"data-trust","ops-insight",[233,234],"WhatsApp","Web chat","intermediate","Calypso","2026-05-02T11:03:18.066Z","/en/workflows/branch-signal-truth-checks",{"en":238},{"title":9,"description":241,"ogDescription":242,"twitterDescription":243,"canonicalPath":238,"robots":244,"schemaType":245,"alternates":246},"Help teams trust the right branch numbers, spot dirty signals early, and choose when to use automation vs human judgment—via guided chat triage.","A guided workflow for turning messy branch signals into decision grade insight: trust checks, dirty signal spotting, automation vs judgment, and clean handoffs.","Turn messy branch signals into decision grade calls. Quick trust checks, dirty signal spotting, automation vs judgment, and a clear handoff path.","index,follow","HowTo",[247],{"hreflang":6,"href":238},1778614431198]