Multi-Signal Outbound Prioritizer
Two hundred accounts in, twenty-five out — ranked by the HG triggers that actually pay.
Sample output for this workflow will appear here once it is captured.
Run the workflow in Claude, ChatGPT, or Phoenix Playground using the buttons below to see real output.
Overview
Compress an SDR's prospecting list (cap 50 accounts per run for credit budget) to a top-25 ranked output. Compose intent, install-momentum, and function-led triggers per the `sdr-trigger-prioritization` rubric. Every row carries the dominant trigger, the stacked signals, and a one-line opening hook cited to its source.
Use cases
Monday morning that ends with 25 named accounts, not 200 vibes
Your SDR opens with 200 named accounts and runs this once. 25 remain ranked at the top with the dominant trigger per row — intent ≤30d at `buyers_journey: "Purchasing"`, an install-momentum spike, or a high `departmentUsageShare` in the function that owns the buying decision. They spend Monday morning sequencing 25, not researching 200.
One rubric, every prospecting workflow
The dominance order, the recency cutoffs, and the contradiction patterns live in the `sdr-trigger-prioritization` skill — so this workflow, the incumbent-tenure displacement sequencer, and the momentum-decline displacement screener all rank signals the same way. No per-workflow drift in what 'strong' means.
View workflow prompt
# Multi-Signal Outbound Prioritizer
## Parameters
- `{{domains}}` *(required)* — Comma-separated target-account domains. HARD CAP 50 per run for credit budget (≥7 tool calls per domain); partition larger lists across multiple runs.. Example: `acme.com,globex.com,initech.com`
- `{{your_product}}` *(required)* — Your product or product category — anchors the intent-topic resolution and FAI-function selection. Example: `Snowflake`
- `{{buying_function}}` *(required)* — The function most likely to own the buying decision for {{your_product}} (load-bearing — FAI is one of the three compound triggers ranked).. Example: `Engineering`
## Purpose
You are an SDR working a Monday-morning prospecting list of {{domains}} against {{your_product}}. Score each domain on three compound triggers (intent + install-momentum + FAI in {{buying_function}}), apply the `sdr-trigger-prioritization` rubric, and return a ranked top-25 with the dominant trigger per row, the stacked signals, and a one-line opening hook per [`opening-line-discipline`](https://phoenix.hginsights.com/gtm/skills/opening-line-discipline). Cite every claim.
**Budget**: hard cap 50 domains per run; if {{domains}} exceeds 50, process the first 50 and instruct the user to re-run for the rest (`hg-credit-awareness`).
## Process — collect all three signals per account (do NOT pre-filter); the ranking step weighs them.
1. **Resolve category** — `list_intent_topics` once for {{your_product}}'s category. Capture the canonical `topic_id`s for post-fetch filtering.
2. **Intent collect** — for each domain in {{domains}}, `company_intent` with `limit: 200`. Post-fetch filter `topics[]` for the resolved `topic_id`s. Record `buyers_journey` and score per row. Mark "intent-strong" when `buyers_journey: "Evaluating"` or `"Purchasing"` within last 30 days. Do NOT drop accounts that miss this bar — they may rank on another trigger.
3. **Momentum collect** — for EVERY domain (not just intent-strong), `company_install_time_series` filtered to {{your_product}}'s category, `timeRange: last_6_months`. Capture `intensity_momentum` and % delta in `current_intensity`. Mark "momentum-strong" when momentum ≥+10 OR ≤-10 (rise or decline both relevant per the dominance order).
4. **FAI collect** — for EVERY domain, `company_fai` (`products: [{{your_product}}]` or matching category products). Capture `departmentUsageShare` for {{buying_function}}. Mark "function-strong" when {{buying_function}}'s share ≥40% on a relevant product. NOTE: `company_fai` is point-in-time; no native delta exists.
5. **Firmographic gate** — `company_firmographic` confirms industry / employee band. Accounts outside ICP are dropped here (NOT in steps 2-4).
6. **Rank and compose** — apply the `sdr-trigger-prioritization` dominance order across the three "strong" flags collected. An account ranks on ANY of intent / momentum / FAI; the dominance order picks which is the LEAD. Drop accounts with zero "strong" flags. Return top-25 by composite strength.
## Output Format
- `# 🎯 SDR Prospecting Shortlist — Top 25`
- `## Ranked accounts` — table with columns: rank | domain | dominant trigger (family, recency) | stacked signals | one-line hook
- Hook follows the three-element rule (named/dated event + named pain link + single targeted question)
- Each row ends with a citation tag: `[company_intent]`, `[company_install_time_series]`, `[company_fai]` per claim
## Quality Checklist
- Every row has a cited dominant trigger inside its decay window (intent ≤30d at `buyers_journey: "Purchasing"` or `"Evaluating"`; momentum from 6m window; FAI `departmentUsageShare` for the buying function ≥40%)
- No row leads with a stale (>14d) signal — older signals appear as supporting evidence only
- Contradiction patterns from `sdr-trigger-prioritization` are checked before ranking
- Top-25 cap is hard — if fewer survive the gates, return fewer rows with a one-line explanation, not padded rows