@abyousef739

SignalPipe

Agentic sales pipeline — detects buying-intent signals on Reddit, HN, and RSS feeds, drafts replies via managed backend, and nurtures prospects from cold to closed.

当前版本
v1.3.2
code-plugin社区source-linked

SignalPipe

Agentic sales pipeline for AI-powered lead discovery and prospect nurturing.

SignalPipe gives your AI agent a full sales stack — from detecting buying signals on Reddit and Hacker News to closing warm prospects with context-aware messages. Works with any OpenClaw-compatible agent.

signalpipe.io


What It Does

Top of funnel (Mantidae): Continuously scouts RSS feeds, Reddit, and Hacker News for posts matching your products' buying-intent profiles. The managed backend scores each signal, drafts a reply, and surfaces only the best leads for human approval.

Mid/bottom of funnel (Nurture Engine): Tracks every prospect's temperature (0–100), automatically selects the right persona (Educator → Consultant → Closer → Re-engager), and generates the next message when you ask. Remembers objections, respects timing, and never spams.


Tools (11 total)

ToolWhat it does
signalpipe_get_missionsFetch pending leads awaiting review
signalpipe_approve_missionApprove a lead and queue for outreach
signalpipe_reject_missionReject a lead with optional reason (adaptive RL penalty)
signalpipe_scout_nowTrigger an immediate scouting run
signalpipe_get_productsList active monitored products
signalpipe_add_productRegister a new product for lead monitoring
signalpipe_add_stationAdd an RSS/Reddit/HN feed for a product
signalpipe_reload_productsHot-reload product cache after changes
signalpipe_track_prospectLog a prospect signal, update temperature
signalpipe_get_messageGenerate the next outreach message
signalpipe_get_pipelineView full prospect pipeline sorted by heat

Live Session Example

What a typical morning lead review looks like inside your OpenClaw agent.


You: Show me today's leads.

→ signalpipe_get_missions
3 missions pending review

MISSION 1 · score: 81 · competitor_flag: true
Product : AcmeTool
Channel : reddit_dm
Handle  : u/frustrated_dev99
Snippet : "Their pricing just doubled again. Not paying for features we
           don't use. Anyone tried alternatives for team task automation?"
Draft   : "Hey — saw your post, had the same frustration. We built AcmeTool
           around exactly this — no bloat, just the automation piece.
           Happy to share how we differ if it's useful."

MISSION 2 · score: 67 · competitor_flag: false
Product : AcmeTool
Channel : reddit_dm
Handle  : u/ops_lead_rachel
Snippet : "Looking for a tool to automate repetitive ops workflows.
           Budget is flexible, need something the team actually uses."
Draft   : "We built AcmeTool for this exact problem — teams use it without
           training because it fits how they already work.
           Happy to show you a real example?"

MISSION 3 · score: 28 · competitor_flag: false
Product : AcmeTool
Channel : reddit_dm
Handle  : u/just_browsing_thx
Snippet : "Saw an ad for workflow tools. Not really something I need
           right now but interesting I guess"
Draft   : "Thanks for checking us out!"

Agent: 3 leads ready. Lead 1 is a competitor-switch signal — someone explicitly frustrated with a named competitor, score 81. Lead 2 is a direct need statement with flexible budget, score 67. Lead 3 is low-intent casual browsing, score 28 — recommend reject.

Approve 1 and 2, or do you want to edit the drafts first?


You: Lead 1 is good, approve it. Reject lead 3. For lead 2 change the draft to: "Hey Rachel — we solve exactly this. Most ops teams are running automations within a day. Want me to show you how a team like yours uses it?"

→ signalpipe_approve_mission (msn_8f3a — AI draft unchanged)
→ signalpipe_reject_mission  (msn_c44d)
→ signalpipe_approve_mission (msn_2b91 — user-edited draft)
✓ msn_8f3a queued for outreach
✓ msn_c44d rejected — RL weight adjusted for this product
✓ msn_2b91 queued for outreach (your version)

Agent: Done. Lead 3's rejection will lower the scoring weight for similar low-intent posts going forward.


You: Rachel just replied on Reddit — she seemed interested. Log it.

→ signalpipe_track_prospect
  handle    : u/ops_lead_rachel
  channel   : reddit_dm
  signal    : replied
  mission_id: msn_2b91
{
  "prospect_id": "pro_7f2c",
  "handle": "u/ops_lead_rachel",
  "temperature": 45,
  "mode": "sales",
  "persona": "Consultant",
  "follow_up_in": "2–3 days"
}

Agent: Rachel is now in Sales mode, temperature 45. Consultant persona active — qualify and show fit, no hard sell yet.


You: Show me my full pipeline.

→ signalpipe_get_pipeline
Pipeline: 12 prospects

● Closing  (75–100)   2 prospects
  → u/sarah_cto        temp 88   last: booked_demo
  → u/mike_founder     temp 82   last: asked_pricing

◑ Sales    (30–74)    7 prospects
  → u/ops_lead_rachel  temp 45   last: replied       ← just added
  → u/dev_team_james   temp 62   last: viewed_content
  → ...

○ Recovery (0–29)     3 prospects
  → u/ghost_since_jan  temp 14   last: ghosted_7_days
  → ...

Agent: 2 in Closing — sarah_cto booked a demo, she's your hottest follow-up. Want me to generate a message for her?


You: Yes. Message for sarah_cto.

→ signalpipe_get_message (prospect_id: pro_sarah_cto)
{
  "message": "Sarah — you've seen how it works. Happy to answer any last
              questions before your team makes a call. What's the main
              thing you're still weighing?",
  "tactic": "remove_friction",
  "mode": "closing",
  "temperature": 88,
  "note": "Previous objection (too_expensive) on record — pricing angle avoided"
}

Agent: Closing mode, friction-removal tactic. Her previous pricing objection is on record — the AI avoided that angle automatically. Ready to send, or want to edit?


Quick Start

1. Get a backend + operator key

Managed (recommended): Sign up at signalpipe.io/pricing — you get a SIGNALPIPE_OPERATOR_KEY and backend URL instantly. No infrastructure to manage.

Self-hosted: See Self-Hosting below.

2. Install the plugin on OpenClaw

claw install signalpipe

Or add to your openclaw.config.json:

{
  "plugins": ["signalpipe"]
}

3. Set environment variables

Before starting the OpenClaw gateway:

# Required — backend connection
export SIGNALPIPE_API_URL=https://your-backend-url
export SIGNALPIPE_OPERATOR_KEY=your-operator-key

That's it. Scoring, drafting, and outreach all run on the SignalPipe backend — nothing else needed client-side.

4. Ask your agent

  • "Show me my pending leads"
  • "Add my SaaS tool as a product to monitor"
  • "Who should I follow up with today?"
  • "Generate a message for @prospect_handle"

How Scoring Works

SignalPipe runs two sequential pipelines on every incoming post.

Pipeline 1 — Scoring (backend):

  1. Keyword gate — cheap pre-filter: any buy_signal_keywords must appear before the post is scored (~85% of posts eliminated here, zero API cost)
  2. Multi-factor semantic scoring — geometric mean fusion of embedding similarity (50%), urgency (20%), specificity (15%), and keyword density (15%) using OpenAI text-embedding-3-small; catches buyer intent even when exact keywords aren't used
  3. Sarcasm detection — LLM check that distinguishes genuine buyers from casual venting or irony; fails open so real leads are never suppressed

Pipeline 2 — Drafting (managed backend):

Posts that survive scoring are passed to a 3-judge AI swarm running on the SignalPipe backend:

  • Skeptic (40%) · Analyst (35%) · Optimist (25%) — evaluate the lead independently
  • Hard gate: Skeptic score < 0.3 → lead suppressed, no draft written
  • Analyst draft used by default; Optimist as fallback
  • The swarm writes the reply — it does not affect the intent score

Competitor-switch posts are hard-floored and always reach your review queue regardless of intent score.

The final score feeds a per-product learning loop: approvals nudge the weight up, rejections nudge it down. The asymmetry is intentional — conservative about boosting, aggressive about penalizing. The system gets sharper the more you use it.


Temperature Model

The Nurture Engine tracks a 0–100 temperature for each prospect:

RangeModeBehavior
0–29RecoveryRe-spark cold leads, no hard sell
30–74SalesQualify, show fit, build trust
75–100ClosingUrgency, social proof, clear CTA

13 signal types map to calibrated heat deltas:

SignalDirection
booked_demoStrong positive
asked_pricingStrong positive
viewed_contentPositive
repliedPositive
clicked_linkPositive
not_decision_makerNeutral
ghosted_3_daysNegative
no_timeNegative
competitorNegative
too_expensiveNegative
not_interestedStrong negative
bad_timingStrong negative
ghosted_7_daysStrong negative

One-directional mode transitions — once a prospect reaches Closing, they never regress to Sales. Once in Recovery, they only re-enter Sales when they warm again. No oscillation, no spam.

Objection memory — recorded objections (too_expensive, competitor, bad_timing, no_time, not_decision_maker) persist permanently and are injected into every future message generation call, along with the last 6 interactions. The AI never repeats a pitch angle that already failed.


Managed Backend Tiers

All tiers are BYOK — you bring your own LLM key (Anthropic / OpenAI / Gemini) and your own Reddit/Twitter credentials. You pay your own LLM and API costs. SignalPipe charges only for managed backend infrastructure.

TierPriceProductsLeads/dayProspectsNotes
BYOK$19/mo3501,000Managed backend — your OpenClaw LLM key stays in OpenClaw
Starter$49/mo225500Managed backend, embeddings included
Growth$149/mo102505,000Priority queue, Slack support
Scale$499/moUnlimitedUnlimitedUnlimitedDedicated instance, white-glove onboarding

Annual billing available on all tiers — 2 months free (17% off).

View pricing →


License

Plugin: MIT Backend: Business Source License 1.1 (converts to Apache 2.0 after 4 years)


Self-Hosting

The backend is a FastAPI app. You will need:

  • Python 3.11+
  • PostgreSQL with pg_cron and pg_net extensions (Supabase recommended)
  • A host that supports long-running processes (Railway recommended)
  • OpenAI API key (embeddings)

The plugin registers 11 tools inside OpenClaw — no sidecar or separate process needed client-side.

Full setup guide: signalpipe.io/guide#self-hosting

源码与版本

源码仓库

AbYousef739/signalpipe

打开仓库

源码提交

9b3365b9c0b52cdf2740d89d1e14c1e8ed958d1d

查看提交

安装命令

openclaw plugins install clawhub:signalpipe

元数据

  • 包名: signalpipe
  • 创建时间: 2026/04/06
  • 更新时间: 2026/04/18
  • 执行代码:
  • 源码标签: v1.3.2

兼容性

  • 构建于 OpenClaw: 2026.4.5
  • 插件 API 范围: >=2026.4.5
  • 标签: latest
  • 文件数: 25