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.
The Problem
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.
The Build
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.
The Result
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.
Stack
What it was built with.
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?