Skip to content

Which decisions lifecycle teams want, and how other tools offer them #244

Closed

Description

@Silthus

Question

Which decisions do marketing and lifecycle teams want a workflow to make per person, and how do other messaging tools offer AI decisions?

Cover:

  • A catalog of 10 to 20 concrete decisions, grouped by what follows them: route to a branch (which onboarding track, which persona), pick content (which email template, which offer), label (write a segment or intent to the person), and gate (skip people the model thinks are not a fit). Include the examples Michael named: dynamic cohort choice, sending to different types of users, labeling, and picking email templates.
  • How Braze, Customer.io, Iterable, Klaviyo, HubSpot, and similar tools expose AI-driven branching or content choice: the node shape, what the model sees, how authors control it, and how they explain cost.
  • Which decisions fit a yes/no or pick-one question that a System One model answers well, and which need free text or arithmetic.

End with the three to five use cases that the first version must serve well, as acceptance examples for the spec. Use /research, and write the findings to products/workflows/docs/research/decision-step-use-cases.md on branch research/decision-step-use-cases.

Activity

  1. self-assigned this
    on Oct 4, 2026
  2. Silthus commented on Oct 4, 2026

    @Silthus
    OwnerAuthor

    Claimed by background research worker (Claude Code, Opus 5.5). Codex substituted: the Codex runtime returned 429 at dispatch. Wall-time cap 60 minutes.

  3. Silthus commented on Oct 4, 2026

    @Silthus
    OwnerAuthor

    Resolution

    Recommendation: build the first version around five acceptance examples: (A1) route a signup to an onboarding track, (A2) label the use case and keep it for later steps, (A3) pick one of three email templates through branches, (A4) a yes/no fit gate with an author-set probability threshold, (A5) triage a free-text reply or survey answer. Make the step ask and branch in one node, keep the answer as a variable, and always have a fallback path for "unclear", model failure, and no credits.

    Key facts:

    • Catalog: 18 per-person decisions in four groups: route (onboarding track, user type, dynamic cohort, cancellation path, sales lead), pick content (email template, next feature, offer, tone or language), label (use case, persona, ICP tier, reply topic), gate (junk signups, relevance, complaints, already solved). The model adds most on fuzzy text: job titles, free-text answers, replies. A property filter is cheaper when the cohort already has a crisp definition.
    • Fit rule: a closed answer (yes/no or at most 16 described options), evidence in the step's state (trigger event, person, groups, variables, nodejs/src/cdp/types.ts:99-130), and a bounded cost of being wrong. Arithmetic over history, data outside the state, free-text output, and outcome optimization belong to filters, HogQL, "Generate text" (Spec: Generate text — an LLM action node for workflows #22), or random_cohort_branch. Existing callers precompute facts into the state, as error tracking severity does (products/error_tracking/backend/logic/severity_inference.py:55-59).
    • Market: Braze, Iterable, Klaviyo, Salesforce Journey Builder, and MoEngage mostly offer goal-optimized ML (send time, channel, winning variant), with no written question. LLM steps that answer an author's prompt exist in Braze (Agent step), Customer.io (Run LLM action), HubSpot (Custom prompt with Enumeration output), Zapier, and Salesforce Flow. All of them write a value, and a normal split routes on it. Only n8n's Text Classifier asks and routes in one node.
    • Gaps PostHog can fill: no vendor lets authors set a confidence threshold. System One returns probabilities, and signals already thresholds them (products/signals/backend/system_one_decision.py:357-358). No vendor explains why one person took a path. n8n discards unmatched items by default, which is the failure mode to avoid.
    • Cost: the clearest vendors publish a per-run rate or formula (Zapier 1 task on its classification tier, HubSpot 10 credits per AI action) and a usage dashboard. Customer.io makes the prompt test free. All LLM steps see only what is passed in, never full history.
    • Limits that hold: 16 options per choice and 32 questions per request (products/ml_inference/backend/facade/contracts.py:37-39). Email templates are copied into the step at save, so template choice means one branch per template.

    Iterable claims come from indexed excerpts, because its support site returned 403. These and a few HubSpot and n8n details are marked unverified in the file.

    Findings: https://github.com/Silthus/posthog/blob/research/decision-step-use-cases/products/workflows/docs/research/decision-step-use-cases.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions