IL Signal Studio

Case Study · AI Product · 2026

Sales teams were guessing
which accounts to chase.

Signal Hooks watches your target accounts for buying signals, drafts personalised outreach hooks with Claude and Exa, and queues them for approval. It learns from every approve or reject. Nothing sends without you.

Signal Hooks website screenshot
Live in production, beta
0 messages sent without approval
MCP agent access for Claude

Signal-watching does not scale by hand.

Good outbound depends on timing: reaching an account when something has actually changed. Watching every target for funding, hiring, leadership, or stack signals is slow, and most teams fall back on generic outreach that lands flat.

The teams that do personalise hit a different wall: once an agent is drafting and sending, you lose control over what goes out under your name. The hard part is not generation. It is keeping a human in the loop without killing the speed.

Watch, draft, approve, learn.

Signal Hooks watches a set of target accounts, the territory, for buying signals and drafts a personalised hook for each one. Discovery proposes new accounts from your ideal customer profile using Exa and Claude, each arriving with a confidence match and an approval-first flow.

Every draft lands in an approval inbox where you edit before approving or reject with a reason. The agent reads each decision and adjusts, holding agent memory of winning angles, burned angles, and tone examples. Quiet hours, auto-approve, and daily limits are all enforced in the runner, not just the prompt.

The same approval loop is exposed over an MCP server, so Claude Desktop or Claude Code can list pending drafts, approve, and reject through scoped tools. Approvals can fire an HMAC-signed, SSRF-guarded webhook, and data exports as CSV.

Personalised outreach, nothing sent without you.

Every hook is grounded in a real, recent signal and queued for approval. Nothing sends without a human, and the agent gets closer to your voice with every decision it sees.

Because the approval loop runs over MCP as well as the web app, the agent is genuinely agent-native: it can be driven from a chat or coding client, with the same guardrails either way.

What it was built with.

Claude Sonnet generates hooks, Haiku extracts signals
Exa Signal and account discovery
Turso + Vercel Database and hosting
MCP + Stripe Agent access and billing

Why this matters

Signal Hooks is built, verified, QA-signed-off, and deployed to production for beta. The full test suite passes, and MCP authentication rejects missing, bad, expired, and wrong-scope tokens, so the agent surface cannot be driven without a valid, scoped key. It is an approval-gated agent with memory: it acts where it is allowed to, and asks where it is not.

Want a revenue agent that keeps you in control?