Clay Loops GTM Toolkit
Clay loops toolkit

Clay Loops GTM toolkit — recurring signal monitors, trigger-to-action loops, LeadMagic enrichment waterfalls on signal rows, funding/job-change/hiring routing, and sequencer handoff. Use when building Clay Loops for outbound triggers,…
--- name: clay-loops-toolkit description: >- Clay Loops GTM toolkit — recurring signal monitors, trigger-to-action loops, LeadMagic enrichment waterfalls on signal rows, funding/job-change/hiring routing, and sequencer handoff. Use when building Clay Loops for outbound triggers, signal prospecting, or account monitoring. Not for one-time tables (clay-toolkit) or process design (clay-automation). Triggers on: "Clay Loops", "Clay loop", "signal loop", "funding loop Clay", "job change loop", "account monitor Clay", "GTM loops", "Clay signal routing". license: MIT compatibility: Claude Code, Codex, GitHub Copilot, Cursor, Gemini CLI, OpenCode, Goose, Hermes, Windsurf, Zed metadata: version: "2.0.0" author: LeadMagic category: tools tool_group: clay tool_path: tools/clay-loops-toolkit
Overview
Location: tools/clay-loops-toolkit · Skill name: clay-loops-toolkit
What you get
- Loop type + GTM play skill
- 4-table column map with LeadMagic waterfall
- Monitor formula + signal age filter
- Score bands + routing matrix
- Credit budget (per row + monthly cap)
- Integration endpoints (CRM, sequencer, n8n)
Manual install (npx, ZIP)
npx skills add LeadMagic/gtm-skills --skill clay-loops-toolkit -g -a claude-codenpx degit LeadMagic/gtm-skills/skills/tools/clay-loops-toolkit#main ~/.claude/skills/clay-loops-toolkitConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md9.1 KB
Read SKILL.md here
Show the full text216 lines
Clay Loops Toolkit
Location: tools/clay-loops-toolkit · Skill name: clay-loops-toolkit
Overview
Clay Loops are the GTM tool for recurring signal automation — funding, job changes, hiring spikes, stale opps, champion moves. They run on cadence and fire when source data changes. The mistake: a loop that enriches every row and routes nothing — an expensive Slack feed.
Every production loop follows monitor cheap → enrich on signal → LeadMagic
verify → score → route. LeadMagic is the default email/waterfall provider
in the enrich table (find → verify → person enrich). Load leadmagic-toolkit
for API/credit details.
Not this skill:
- One-time table builds →
clay-toolkit(tools/clay-toolkit) - Automation process / when to use Clay →
clay-automation(automation/) - Complex multi-system branching →
n8n-toolkit
When to Use
- "Build a Clay Loop for funding / job change / hiring"
- "Monitor accounts for signals in Clay"
- "Route Clay loop output to HubSpot / Smartlead"
- "LeadMagic waterfall in a Clay Loop"
- "Weekly stale opp refresh loop"
- "Champion move detection loop"
Authoritative Foundations
- Clay Loops. Recurring: SOURCE → MONITOR → ENRICH (conditional) → ACTION. Re-runs on schedule or when monitor column detects change.
- LeadMagic on Clay. Default waterfall for loops: Find Email (1 cr) → Verify
(1 cr) → Enrich Person (2 cr) on
signal_detected = trueonly. Job Change detection column forSIG-02loops (leadmagic-job-change). - ColdIQ Signal-to-Action. One signal → one play → one template. Never mix funding and job change in one loop.
- Winning by Design SPICED. Signal = Critical Event. Required on every routed
row:
why_now,source_url,signal_type,signal_date. - GTME Pulse. Separate monitor table from enrich/action tables — credit control.
Clay Tool Stack
| Skill | Path | Role |
|---|---|---|
clay-toolkit |
tools/clay-toolkit |
Tables, waterfalls, formulas, CRM push |
clay-loops-toolkit |
tools/clay-loops-toolkit |
Recurring signal loops (this skill) |
clay-automation |
automation/ |
Process: when to build, data quality, rollout |
Step-by-Step: Build a Loop
Phase 1 — Pick Loop Type
| Loop | Monitor Source | Cadence | Play Skill | LeadMagic Columns |
|---|---|---|---|---|
| Funding | Funding enrich / news | Daily | funding-signal-play |
Find → Verify → Person |
| Job change | LeadMagic Job Change / LI | Daily | job-change-play |
Job Change → Find → Verify |
| Hiring | Job postings enrich | Weekly | hiring-signal-play |
Find → Verify (contacts) |
| Stale opp | CRM last_activity | Weekly | pipeline-management |
Re-verify email only |
| Champion move | Job change + open opp | Daily | job-change-play |
Job Change → Verify |
| ICP net-new | Firmographic filter | Weekly | lead-finding |
Full waterfall |
| Post-meeting | CRM meeting, no task | Daily | meeting-prep |
Verify only |
Full specs: references/loop-catalog.md.
Rule: One signal per loop.
Phase 2 — 4-Table Architecture
[1. SOURCE] CRM export, watchlist, or Clay source — raw accounts/contacts
[2. MONITOR] Cheap columns only — signal_detected boolean + signal_date
[3. ENRICH] LeadMagic waterfall ONLY IF signal_detected = true
[4. ACTION] Score → route → CRM / sequencer / Slack / stop
Credit rule: Monitor first. Enrich conditionally. Cap 5 credits/row on
signal=true rows. See references/leadmagic-waterfall.md.
Phase 3 — LeadMagic Enrich Table (Standard)
Run only when signal_detected = true:
Column A: LeadMagic Find Email (first + last + domain) — 1 credit
Column B: LeadMagic Verify Email (email from A) — 1 credit
→ IF invalid: stop row, flag email_invalid, no sequencer
Column C: LeadMagic Enrich Person (verified email) — 2 credits
Column D: Formula — email_valid = (verify status = valid)
Job change loops add before Find Email:
Column 0: LeadMagic Job Change (linkedin_url or email) — see leadmagic-job-change
→ Sets previous_company, new_company, title_changed
Phase 4 — Signal Score
| Score | Meaning | Action |
|---|---|---|
| 80–100 | Tier-1 ICP + strong signal + LeadMagic valid | Sequencer or AE queue |
| 50–79 | Good signal, partial data | Human review queue |
| 20–49 | Weak signal / poor ICP | Log only |
| 0–19 | Suppressed, customer, invalid email | Stop |
Inputs: icp_tier, signal_strength, email_valid, suppression_flag.
Template: templates/routing-matrix.md.
Phase 5 — Action Routing
| Destination | When | Required Fields |
|---|---|---|
| HubSpot/SF task | Score 50+ | why_now, source_url, SPICED-lite |
| Sequencer | Score 80+, email_valid, approved |
Email, play ID, personalization |
| Slack | Tier-1 any signal | Account, signal, owner |
| CRM properties | All processed | last_signal, signal_type, signal_date |
| n8n webhook | Complex branch | clay-loops-toolkit → n8n-toolkit OUT-02 |
Gates before sequencer: LeadMagic verify = valid, suppression check,
source_url on every personalization claim, human_approved if auto-enroll.
Phase 6 — Cadence & Maintenance
| Loop | Cadence | Signal stale after |
|---|---|---|
| Funding / job change | Daily | 14 days |
| Hiring | Weekly | 30 days |
| Stale CRM | Weekly | by activity date |
| Account refresh | Monthly | 90 days enrichment TTL |
Weekly review: credit burn, signal→meeting %, false positives.
Output Format
Clay Loop blueprint using templates/loop-blueprint.md:
- Loop type + GTM play skill
- 4-table column map with LeadMagic waterfall
- Monitor formula + signal age filter
- Score bands + routing matrix
- Credit budget (per row + monthly cap)
- Integration endpoints (CRM, sequencer, n8n)
Run scripts/check-output.py before delivery.
Quality Check
- One signal type per loop
- Monitor columns are cheap; enrich only on
signal_detected = true - LeadMagic Verify gate before sequencer or CRM outbound
-
why_now,source_url,signal_dateon every routed row - Suppression check before any send action
- Signal age filter (14d funding/job change)
- Matching play skill referenced for message template
- Credit cap documented per row and monthly
Common Pitfalls
- Enrich all rows. Burns credits. Fix: conditional enrich on monitor.
- Skip LeadMagic verify. Bounces destroy domain rep. Fix: verify gate.
- Mixed signals. One loop for funding + hiring. Fix: separate loops.
- Stale triggers. 6-month-old funding. Fix:
signal_date< 14 days. - Claygent for email in loops. Expensive + risky. Fix: LeadMagic waterfall;
Claygent only for
why_nowcopy viaai-prompts-toolkitP03/P04. - No action routing. Alerts pile up. Fix: score → CRM task → owner.
Execution Artifacts
references/framework-notes.md— SPICED + signal-to-action mappingtemplates/output-template.md— Primary deliverable shellscripts/check-output.py— Blueprint validatorreferences/loop-catalog.md— Loop types, cadences, LeadMagic columnsreferences/leadmagic-waterfall.md— Find → verify → enrich for loopstemplates/loop-blueprint.md— Loop design doctemplates/routing-matrix.md— Score → action table
Related Skills
clay-toolkit—tools/clay-toolkit— table architecture, static waterfallsleadmagic-toolkit— LeadMagic API, credits, Clay column setupleadmagic-job-change— Job change column for SIG loopsai-prompts-toolkit— P03/P04 forwhy_nowand email draft columnsclay-automation— Rollout process, data quality (not tool config)sequencing-toolkit— Enroll from action tablen8n-toolkit— When loop output needs complex routing
| 1 | |
| 2 | name clay-loops-toolkit |
| 3 | description >- |
| 4 | Clay Loops GTM toolkit — recurring signal monitors, trigger-to-action |
| 5 | loops, LeadMagic enrichment waterfalls on signal rows, funding/job-change/hiring |
| 6 | routing, and sequencer handoff. Use when building Clay Loops for outbound triggers, |
| 7 | signal prospecting, or account monitoring. Not for one-time tables (clay-toolkit) |
| 8 | or process design (clay-automation). Triggers on: "Clay Loops", "Clay loop", |
| 9 | "signal loop", "funding loop Clay", "job change loop", "account monitor Clay", |
| 10 | "GTM loops", "Clay signal routing". |
| 11 | license MIT |
| 12 | compatibility Claude Code, Codex, GitHub Copilot, Cursor, Gemini CLI, OpenCode, Goose, Hermes, Windsurf, Zed |
| 13 | metadata |
| 14 | version "2.0.0" |
| 15 | author LeadMagic |
| 16 | category tools |
| 17 | tool_group clay |
| 18 | tool_path tools/clay-loops-toolkit |
| 19 | tags [clay, clay-loops, signals, gtm, tools, leadmagic, enrichment, triggers, outbound] |
| 20 | related_skills [clay-toolkit, leadmagic-toolkit, leadmagic-job-change, ai-prompts-toolkit, clay-automation, signal-scoring, funding-signal-play, job-change-play, hiring-signal-play, sequencing-toolkit, n8n-toolkit] |
| 21 | frameworks |
| 22 | - "Clay — Loops recurring GTM automation" |
| 23 | - "LeadMagic — Email find, verify, job change, person enrich on Clay" |
| 24 | - "ColdIQ — Signal-to-Action Routing" |
| 25 | - "Winning by Design — SPICED Critical Event" |
| 26 | - "GTME Pulse — Production Clay signal templates" |
| 27 | |
| 28 | |
| 29 | # Clay Loops Toolkit |
| 30 | |
| 31 | **Location:** `tools/clay-loops-toolkit` · **Skill name:** `clay-loops-toolkit` |
| 32 | |
| 33 | ## Overview |
| 34 | |
| 35 | Clay Loops are the GTM **tool** for recurring signal automation — funding, |
| 36 | job changes, hiring spikes, stale opps, champion moves. They run on cadence and |
| 37 | fire when source data changes. The mistake: a loop that enriches every row and |
| 38 | routes nothing — an expensive Slack feed. |
| 39 | |
| 40 | Every production loop follows **monitor cheap → enrich on signal → LeadMagic |
| 41 | verify → score → route**. LeadMagic is the default email/waterfall provider |
| 42 | in the enrich table (find → verify → person enrich). Load `leadmagic-toolkit` |
| 43 | for API/credit details. |
| 44 | |
| 45 | **Not this skill:** |
| 46 | One-time table builds → `clay-toolkit` (`tools/clay-toolkit`) |
| 47 | Automation process / when to use Clay → `clay-automation` (`automation/`) |
| 48 | Complex multi-system branching → `n8n-toolkit` |
| 49 | |
| 50 | ## When to Use |
| 51 | |
| 52 | "Build a Clay Loop for funding / job change / hiring" |
| 53 | "Monitor accounts for signals in Clay" |
| 54 | "Route Clay loop output to HubSpot / Smartlead" |
| 55 | "LeadMagic waterfall in a Clay Loop" |
| 56 | "Weekly stale opp refresh loop" |
| 57 | "Champion move detection loop" |
| 58 | |
| 59 | ## Authoritative Foundations |
| 60 | |
| 61 | **Clay Loops.** Recurring: SOURCE → MONITOR → ENRICH (conditional) → ACTION. |
| 62 | Re-runs on schedule or when monitor column detects change. |
| 63 | **LeadMagic on Clay.** Default waterfall for loops: Find Email (1 cr) → Verify |
| 64 | (1 cr) → Enrich Person (2 cr) on `signal_detected = true` only. Job Change |
| 65 | detection column for `SIG-02` loops (`leadmagic-job-change`). |
| 66 | **ColdIQ Signal-to-Action.** One signal → one play → one template. Never mix |
| 67 | funding and job change in one loop. |
| 68 | **Winning by Design SPICED.** Signal = Critical Event. Required on every routed |
| 69 | row: `why_now`, `source_url`, `signal_type`, `signal_date`. |
| 70 | **GTME Pulse.** Separate monitor table from enrich/action tables — credit control. |
| 71 | |
| 72 | ## Clay Tool Stack |
| 73 | |
| 74 | | Skill | Path | Role | |
| 75 | |---|---|---| |
| 76 | | `clay-toolkit` | `tools/clay-toolkit` | Tables, waterfalls, formulas, CRM push | |
| 77 | | `clay-loops-toolkit` | `tools/clay-loops-toolkit` | Recurring signal loops (this skill) | |
| 78 | | `clay-automation` | `automation/` | Process: when to build, data quality, rollout | |
| 79 | |
| 80 | ## Step-by-Step: Build a Loop |
| 81 | |
| 82 | ### Phase 1 — Pick Loop Type |
| 83 | |
| 84 | | Loop | Monitor Source | Cadence | Play Skill | LeadMagic Columns | |
| 85 | |---|---|---|---|---| |
| 86 | | Funding | Funding enrich / news | Daily | `funding-signal-play` | Find → Verify → Person | |
| 87 | | Job change | LeadMagic Job Change / LI | Daily | `job-change-play` | Job Change → Find → Verify | |
| 88 | | Hiring | Job postings enrich | Weekly | `hiring-signal-play` | Find → Verify (contacts) | |
| 89 | | Stale opp | CRM last_activity | Weekly | `pipeline-management` | Re-verify email only | |
| 90 | | Champion move | Job change + open opp | Daily | `job-change-play` | Job Change → Verify | |
| 91 | | ICP net-new | Firmographic filter | Weekly | `lead-finding` | Full waterfall | |
| 92 | | Post-meeting | CRM meeting, no task | Daily | `meeting-prep` | Verify only | |
| 93 | |
| 94 | Full specs: `references/loop-catalog.md`. |
| 95 | |
| 96 | **Rule:** One signal per loop. |
| 97 | |
| 98 | ### Phase 2 — 4-Table Architecture |
| 99 | |
| 100 | |
| 101 | [1. SOURCE] CRM export, watchlist, or Clay source — raw accounts/contacts |
| 102 | [2. MONITOR] Cheap columns only — signal_detected boolean + signal_date |
| 103 | [3. ENRICH] LeadMagic waterfall ONLY IF signal_detected = true |
| 104 | [4. ACTION] Score → route → CRM / sequencer / Slack / stop |
| 105 | |
| 106 | |
| 107 | **Credit rule:** Monitor first. Enrich conditionally. Cap 5 credits/row on |
| 108 | signal=true rows. See `references/leadmagic-waterfall.md`. |
| 109 | |
| 110 | ### Phase 3 — LeadMagic Enrich Table (Standard) |
| 111 | |
| 112 | Run only when `signal_detected = true`: |
| 113 | |
| 114 | |
| 115 | Column A: LeadMagic Find Email (first + last + domain) — 1 credit |
| 116 | Column B: LeadMagic Verify Email (email from A) — 1 credit |
| 117 | → IF invalid: stop row, flag email_invalid, no sequencer |
| 118 | Column C: LeadMagic Enrich Person (verified email) — 2 credits |
| 119 | Column D: Formula — email_valid = (verify status = valid) |
| 120 | |
| 121 | |
| 122 | Job change loops add **before** Find Email: |
| 123 | |
| 124 | Column 0: LeadMagic Job Change (linkedin_url or email) — see leadmagic-job-change |
| 125 | → Sets previous_company, new_company, title_changed |
| 126 | |
| 127 | |
| 128 | ### Phase 4 — Signal Score |
| 129 | |
| 130 | | Score | Meaning | Action | |
| 131 | |---|---|---| |
| 132 | | 80–100 | Tier-1 ICP + strong signal + LeadMagic valid | Sequencer or AE queue | |
| 133 | | 50–79 | Good signal, partial data | Human review queue | |
| 134 | | 20–49 | Weak signal / poor ICP | Log only | |
| 135 | | 0–19 | Suppressed, customer, invalid email | Stop | |
| 136 | |
| 137 | Inputs: `icp_tier`, `signal_strength`, `email_valid`, `suppression_flag`. |
| 138 | Template: `templates/routing-matrix.md`. |
| 139 | |
| 140 | ### Phase 5 — Action Routing |
| 141 | |
| 142 | | Destination | When | Required Fields | |
| 143 | |---|---|---| |
| 144 | | HubSpot/SF task | Score 50+ | `why_now`, `source_url`, SPICED-lite | |
| 145 | | Sequencer | Score 80+, `email_valid`, approved | Email, play ID, personalization | |
| 146 | | Slack | Tier-1 any signal | Account, signal, owner | |
| 147 | | CRM properties | All processed | `last_signal`, `signal_type`, `signal_date` | |
| 148 | | n8n webhook | Complex branch | `clay-loops-toolkit` → `n8n-toolkit` OUT-02 | |
| 149 | |
| 150 | **Gates before sequencer:** LeadMagic verify = valid, suppression check, |
| 151 | `source_url` on every personalization claim, `human_approved` if auto-enroll. |
| 152 | |
| 153 | ### Phase 6 — Cadence & Maintenance |
| 154 | |
| 155 | | Loop | Cadence | Signal stale after | |
| 156 | |---|---|---| |
| 157 | | Funding / job change | Daily | 14 days | |
| 158 | | Hiring | Weekly | 30 days | |
| 159 | | Stale CRM | Weekly | by activity date | |
| 160 | | Account refresh | Monthly | 90 days enrichment TTL | |
| 161 | |
| 162 | Weekly review: credit burn, signal→meeting %, false positives. |
| 163 | |
| 164 | ## Output Format |
| 165 | |
| 166 | Clay Loop blueprint using `templates/loop-blueprint.md`: |
| 167 | Loop type + GTM play skill |
| 168 | 4-table column map with LeadMagic waterfall |
| 169 | Monitor formula + signal age filter |
| 170 | Score bands + routing matrix |
| 171 | Credit budget (per row + monthly cap) |
| 172 | Integration endpoints (CRM, sequencer, n8n) |
| 173 | |
| 174 | Run `scripts/check-output.py` before delivery. |
| 175 | |
| 176 | ## Quality Check |
| 177 | |
| 178 | [ ] One signal type per loop |
| 179 | [ ] Monitor columns are cheap; enrich only on `signal_detected = true` |
| 180 | [ ] LeadMagic Verify gate before sequencer or CRM outbound |
| 181 | [ ] `why_now`, `source_url`, `signal_date` on every routed row |
| 182 | [ ] Suppression check before any send action |
| 183 | [ ] Signal age filter (14d funding/job change) |
| 184 | [ ] Matching play skill referenced for message template |
| 185 | [ ] Credit cap documented per row and monthly |
| 186 | |
| 187 | ## Common Pitfalls |
| 188 | |
| 189 | **Enrich all rows.** Burns credits. Fix: conditional enrich on monitor. |
| 190 | **Skip LeadMagic verify.** Bounces destroy domain rep. Fix: verify gate. |
| 191 | **Mixed signals.** One loop for funding + hiring. Fix: separate loops. |
| 192 | **Stale triggers.** 6-month-old funding. Fix: `signal_date` < 14 days. |
| 193 | **Claygent for email in loops.** Expensive + risky. Fix: LeadMagic waterfall; |
| 194 | Claygent only for `why_now` copy via `ai-prompts-toolkit` P03/P04. |
| 195 | **No action routing.** Alerts pile up. Fix: score → CRM task → owner. |
| 196 | |
| 197 | ## Execution Artifacts |
| 198 | |
| 199 | `references/framework-notes.md` — SPICED + signal-to-action mapping |
| 200 | `templates/output-template.md` — Primary deliverable shell |
| 201 | `scripts/check-output.py` — Blueprint validator |
| 202 | `references/loop-catalog.md` — Loop types, cadences, LeadMagic columns |
| 203 | `references/leadmagic-waterfall.md` — Find → verify → enrich for loops |
| 204 | `templates/loop-blueprint.md` — Loop design doc |
| 205 | `templates/routing-matrix.md` — Score → action table |
| 206 | |
| 207 | ## Related Skills |
| 208 | |
| 209 | `clay-toolkit` — `tools/clay-toolkit` — table architecture, static waterfalls |
| 210 | `leadmagic-toolkit` — LeadMagic API, credits, Clay column setup |
| 211 | `leadmagic-job-change` — Job change column for SIG loops |
| 212 | `ai-prompts-toolkit` — P03/P04 for `why_now` and email draft columns |
| 213 | `clay-automation` — Rollout process, data quality (not tool config) |
| 214 | `sequencing-toolkit` — Enroll from action table |
| 215 | `n8n-toolkit` — When loop output needs complex routing |
| 216 |
Details
- License
- MIT
- Stars on the repo
- ★ 62
- Checked
- Source
- LeadMagic/gtm-skills ↗
- Creator
- LeadMagic · 129 listings
Similar skills
See all →
SkillBrowser Automation
SkillDeepeval LLM Assessment
SkillBrowser Automation Tool
SkillSkill to App Converter
SkillBrowser Test Automation
SkillTinyFish CLIMore from LeadMagic
SkillStrategic Account Marketing
SkillCluster Account Marketing
SkillProgrammatic Account Targeting
SkillAccount Strategy Designer
SkillTarget Account Selector