Gate-check usage data
Push back on what "active" means before pulling a single number, catch a suspicious zero before it ships as a finding, and never call an automation "running" without a schedule ID and a run record to prove it.
The Verifier Gate (SOP §6): before a number or a status claim ships, it has to clear four checks. Definition gate: real people, not visitors (a raw unique-visitor count runs several times higher than genuine humans); "active" means someone who actually did something, not someone who passively received a message; paid means a real invoice, not a tracking pixel that might be broken; region means the account's own time zone, not a spoofable IP. Source gate: confirmed and inferred stay in separate columns. Something overheard in a DM is not consensus, and anything short of hard evidence gets labeled "unconfirmed" instead of quietly getting promoted to fact. Self-verification gate: a "0" or a wild swing gets proven to be real before it's reported as a finding. The query gets checked for a broken filter or an empty join before the number is trusted. Status gate: "the automation is running" requires a schedule ID and a run history to point to; "we're planning to build this" never gets written as "this is already running."
Copy this prompt to start your first task:
What is this workflow?
Gate-checking usage data means hiring a Data Analyst teammate that acts as your growth data hub and verifier, not just someone who runs a query and pastes the result. It produces a daily growth digest — real DAU, core active, new signups, and paid — cross-checked against a second source before any of it gets written down, plus a channel-attribution report that lists every real source instead of just the two or three channels someone remembered to check. An anomaly scan stays silent by default and only speaks up when something has actually moved, and a "still-alive" heartbeat line runs even on a boring day, so a quiet automation reads as "nothing changed" instead of "silently stopped running."
How to use this workflow
Hire a Data Analyst: write the bio to match this role, not the generic template
Open AI Teammates in the sidebar, click Hire AI Teammate, and pick the Data Analyst template. The template's default bio describes connecting evidence to decisions in general. Replace it on the Profile step so the teammate starts out already knowing it's the verifier, not just the one who runs the query:
Confirm the name and click Create teammate. They land in their own channel, which is where you'll send everything below. More on hiring →
Connect the sources that answer different questions
The SOP is explicit that these are separate truth sources, not one dashboard: behavioral analytics answers "who visited and clicked," the business database answers "what did they actually do," and the billing ledger answers "what did they actually pay." Mixing them up is exactly how "visitors" gets reported as "users." Add PostHog, Amplitude, or MongoDB from the skills marketplace (all three are real, installable Helio skills, not a hypothetical connector), plus whatever query access your own warehouse or event table needs. The paid numbers in the daily digest need the billing side connected too — query access to wherever billing actually lives (the billing database, a warehouse table, or a regular Stripe export), because none of the behavioral tools above can answer "what did they actually pay." Skills & Plugins →
The attribution table (which UTM or KOL link actually drove a signup) is a different kind of source again, and it usually lives in Notion. Connect that as a Tool under Integrations instead of a skill, since Notion is a native connector. Connect your tools →
List every real source, not the two or three someone remembers
The attribution table only means something if it's actually complete. A channel report that only checks the sources someone thought to look at just launders a partial picture into a confident-sounding number:
Stay quiet by default, and prove a quiet day isn't a broken one
The point of a heartbeat isn't the alert, it's the absence of one. Nothing crossing a threshold should look identical from the outside to an automation that's still actually running:
Turn it into a daily growth digest: require honesty when it fails
The digest posts to #growth, and a teammate can only post in channels it's a member of — open #growth and add this teammate before turning the schedule on. Then open Automations in the sidebar and click Create via Chat. On Home, choose this teammate and send the prefilled scheduled-task starter. When the interview asks what to schedule, use the recurring job below:
Querying your data sources and posting the digest run on their own: pulling from analytics, billing, and the attribution table is a read action, and posting to a channel this teammate already belongs to doesn't reach outside Helio or leave anything irreversible, so this flow doesn't wait on your approval. See Control for what does pause for sign-off.
If reports should stay aggregated and de-identified (no real names, emails, or individual sessions), put that in the teammate's instructions, and spot-check the output before sharing it more widely.
Tips for Better Results
| Tip | Description |
|---|---|
| Lock the definition before pulling a number | "Active" means someone who did something, not someone who passively received a message, and paid means a real invoice, not a tracking pixel. Settle this before the query runs, not after. |
| Keep confirmed and inferred in separate columns | Something overheard in a DM isn't consensus. Anything short of hard evidence gets labeled "unconfirmed" instead of quietly being promoted to fact. |
| Prove a suspicious zero before reporting it | A "0" or a wild swing gets checked for a broken filter or an empty join before it ships as a finding, not after. |
| Require a schedule ID before calling something "running" | "The automation is running" needs a schedule ID and a run history to point to. "We're planning to build this" is a different claim and never gets written as if it's already live. |
Common Questions
Watch competitors weekly
Lock 3-5 ASINs and the dimensions that matter, then let a browser-driven collection run scrape what has no API: a daily diff, an alert the moment something changes, not a full re-read of every page.
Answer a research question
Ask a specific question with its scope and depth. It researches across sources, reconciles what it finds, and cites everything.