Inspiration

Outbound teams often optimize for activity: more contacts, more messages, and more opens. But activity does not necessarily reveal whether a message is useful—or whether scaling it is safe.

We built SignalLoop around a different question: what if an outbound agent behaved like a careful experimenter?

Instead of repeatedly sending the same pitch, SignalLoop studies meaningful outcomes, identifies what prospects actually care about, tests one focused change, and turns the result into a better playbook. It optimizes for positive replies and meetings—not vanity metrics.

What it does

SignalLoop demonstrates a three-day learning loop for TraceLayer, a fictional product providing audit logs and access controls for production AI agents.

The first experiment targets engineering leaders with an infrastructure-cost pitch. After 22 messages produce no positive replies, SignalLoop notices a stronger signal in the responses: prospects repeatedly mention audit trails, access reviews, and SOC 2.

It then:

  1. Diagnoses why the original pitch failed.
  2. Pivots from engineering leaders to security leaders.
  3. Reframes the message around audit-ready AI-agent access.
  4. Discovers a contact-verification capability.
  5. Identifies fintech security teams as the strongest segment.
  6. Rejects an unsafe proposal to scale to 240 contacts.
  7. Replans a controlled 40-contact split test.
  8. Selects the outcome-led message as the directional winner.
  9. Produces a reusable playbook for the next experiment.

We calculate performance using meaningful intent:

$$ \text{Positive reply rate} = \frac{\text{positive replies}}{\text{eligible messages sent}} \times 100 $$

The final replay reaches 16 positive replies and 8 meetings across 86 modeled sends while respecting verification, suppression, daily-volume, and growth limits.

How we built it

SignalLoop is a full-stack TypeScript application built with Next.js and React. Its learning loop uses a typed event contract so every observation, strategy change, policy decision, and result can be inspected in the interface.

Each sponsor technology owns a distinct boundary:

  • Nexla represents the campaign-signal layer. We prepared campaign CSV data and a SQL schema for contacts, experiments, replies, and outcomes.
  • OpenAI is the strategist. Its Responses API adapter receives completed campaign evidence and returns a constrained, structured proposal containing the diagnosis, rationale, audience, angle, proof, and confidence.
  • Zero is the live capability-discovery gateway. SignalLoop searches Zero’s public index and inspects an email-verification capability without executing it, exposing contact data, or spending funds.
  • Pomerium represents the protected-action boundary. The replay uses its policy model to reject unsafe volume increases and force the agent to replan within established limits.
  • AWS Bedrock provides an optional alternative strategy adapter through its Converse API.

The interface visualizes the entire observe → reason → plan → act → verify loop, including experiment results, belief changes, policy blocks, and the final learned playbook.

Challenges we faced

The hardest challenge was making autonomy credible without pretending the demo had performed actions it had not.

Several integrations reached different levels of readiness. Zero capability discovery runs live, while the Nexla runtime connector is represented by prepared data infrastructure. The OpenAI adapter is implemented and validated, but the current project’s billing state requires a deterministic fallback. The Pomerium tunnel was created, while its policy decision remains modeled in the replay. Bedrock support was implemented but could not be activated because credential provisioning was unavailable.

We designed the product to report these states honestly. Live results are labeled as live, fallbacks are labeled as fallbacks, and modeled campaign activity is never presented as real email delivery.

Another challenge was preventing the strategist from becoming an unrestricted action agent. We separated reasoning from execution, validated structured model output, capped daily sends at 50, limited growth to 2×, required verified addresses, and always honored suppression lists.

What we learned

We learned that the most valuable part of an outbound system is not message generation—it is disciplined learning.

A useful autonomous agent needs evidence, narrow experiments, explicit authorization boundaries, and the ability to treat a denied action as new information. Safety is not merely a final filter; it changes the agent’s plan.

SignalLoop shows how outbound automation can become more adaptive without becoming more reckless: listen to real intent, change one variable at a time, and earn the right to scale.

Built With

Share this project:

Updates