Built for developers · CLI + MCP + REST · config-as-code

Outbound that ships like your infra.

Intent leads, verified contacts, AI copy you can edit, and BYO sending. Dry-run with a signal query, commit vibejoy.yaml, triage replies from your agent. New clients while you push commits.

Claude
Cursor
CLI
REST
YAML
n8n
Make.com

Free plan · No credit card · Dry-run, MCP, CLI, and REST included

terminal
$ vibejoy query 'hiring AND funding' --dry-run
Found 47 (dry-run) · nothing saved

$ vibejoy run --query 'hiring AND funding'
✓ Found 47 · enriched 34 · campaign live

$ vibejoy costs
Your spend: $7.95
  find $2.35 · enrich $4.08 · opener $1.02 · campaign $0.50
Hiring signals
Pain signals
Funding signals
AI openers
Signal query DSL
vibejoy.yaml
Dry-run mode
Cost ledger
Reply triage
BYO SES / Postal
CLI access
MCP server
REST API
Hiring signals
Pain signals
Funding signals
AI openers
Signal query DSL
vibejoy.yaml
Dry-run mode
Cost ledger
Reply triage
BYO SES / Postal
CLI access
MCP server
REST API

The shift

Stop doing sales. Start closing clients.

Dry-run, YAML, MCP, and cron. Outbound that fits how developers already ship.

Before

Skipping build sprints to manually search LinkedIn, scrape emails, and write cold messages that get ignored.

After

Commit vibejoy.yaml, dry-run the query, then vibejoy apply. Outbound ships like infra. First paying client before you context-switch.

Before

Buying contact databases and blasting generic sequences. 0.3% reply rates. Spam folder. Sender reputation trashed.

After

Boolean signal queries (hiring AND funding). Openers tied to a real signal. Edit every line of copy. BYO SendGrid, SES, or Postal so you keep sender reputation.

Before

Either you do sales or you build the product. Founders who try both burn out. Developers who skip sales stay broke.

After

Prompt Cursor once, or cron POST /api/pipeline/run. Replies land in triage, AI drafts the response, you approve. Sales runs in the background.

What you get

Results, not just features

2 cmdsto first campaign

From zero to live outreach in minutes

`vibejoy setup url yoursite.com` extracts your ICP. `vibejoy run --dry-run` previews volume. Drop `--dry-run` to activate. Prefer IaC? `vibejoy apply`.

1 promptvia MCP agent

Your Cursor agent closes deals while you code

Granular MCP tools: `run_pipeline`, `signal_query`, `triage_replies`, `get_costs`, `apply_config`. One agent session covers find → enrich → send → reply.

3-8new clients/month

Intent leads buy. Cold lists waste time.

Every lead is already in the market. Cost ledger shows what each enrich and send costs. Edit openers and campaign copy before anything goes out.

Works however you work

CLI. MCP. REST. YAML.

Dry-run a signal query, apply config, triage replies. Same primitives in every interface.

  1. 1vibejoy setup url yoursite.com → AI extracts ICP
  2. 2vibejoy query 'hiring AND funding' --dry-run → preview volume
  3. 3vibejoy run --query 'hiring AND funding' → activate
  4. 4vibejoy apply --file vibejoy.yaml → config-as-code
terminal
$ vibejoy setup url vibejoy.io
✓ Brand extracted: "AI outreach for SaaS developers" · ICP: funded startups

$ vibejoy query 'hiring AND funding' --dry-run
Found 47 (dry-run) · atoms: { hiring: 62, funding: 38 }

$ vibejoy run --query 'hiring AND funding'
📊 Found 47 leads · ✉ enriched 34 · 🚀 campaign live

$ vibejoy costs
Your spend: $7.95
  lead_discover  $2.35  (47 × $0.05)
  lead_enrich    $4.08  (34 × $0.12)
  ai_opener      $1.02  (34 × $0.03)
  ai_campaign    $0.50  (1 × $0.50)

CLI: find, enrich, activate

video

Developer toolkit

Query. Dry-run. Apply. Triage.

The primitives you expect from modern infra, for outbound.

AI opener generation

video
AI openers

Every email opens with a line they'll actually read.

Claude reads the signal that found each lead and writes one sentence that sounds like a peer observation — not a sales line.

Hiring: SDR Manager

"Bringing on SDRs before the sequence is proven tends to multiply the noise, not the pipeline."

Funding: Series B announced

"The jump from Series A growth to Series B execution usually surfaces a very specific GTM problem."

Reddit: struggling with cold email

"Hitting the wall where the list is fine but the angle just isn't landing is a specific kind of frustrating."

GitHub: new devops repo pushed

"Teams that build the infra first and the ops playbook second usually hit the same gap around month three."

Signal query language

video
Signal query DSL

hiring AND funding. Not another filter UI.

Boolean combinators over hiring, funding, LinkedIn, pain, maps, and keyword:"…". Compose exact ICP intersections from CLI, MCP, or REST.

Config-as-code walkthrough

video
Config-as-code

vibejoy.yaml in git. Dry-run before you spend.

Brand, signal query, schedule, and mail provider in one file. vibejoy apply --dry-run validates. Treat outbound like infrastructure.

Intent signal discovery

video
Intent discovery

Companies already looking for what you built.

Job boards, Reddit, LinkedIn posts, funding, Maps + Google Search. Real-time signals, not stale CSVs. Wire it into your agent or cron.

Campaign + BYO sending

video
BYO sending

You own delivery. We own intelligence.

SendGrid, AWS SES, or self-hosted Postal. Edit every email, DM, Reddit post, and opener before it sends. Domain reputation stays yours.

Reply triage agent

video
Reply triage

Inbound replies, classified and drafted.

Interested, objection, OOO, unsubscribe. AI drafts the response. Edit it. Approve or send from dashboard, CLI, or MCP.

Cost ledger

video
Cost ledger

Stripe-style spend per operation.

Discovery, enrich, openers, campaign gen, triage, email send. vibejoy costs. Dashboard month total. No black-box bills for developers.

Developers who shipped outbound like code

Dry-run, YAML, MCP, and cron. Real clients from the same toolchain.

MD

Matt Davies

@mattdavies_dev

"Dry-ran hiring AND funding from Cursor, then applied vibejoy.yaml. First client reply that afternoon. MCP setup was 5 minutes."

SK

Sarah K

@sarahk_builds

"Replaced a VA + lead gen agency with CLI + cron. Cost ledger keeps spend honest. 2 new clients in the first week."

FF

Founder Fuel

@founderfuel_io

"Found 20 companies that needed exactly what I built - the same day they posted the job. Edited the AI copy once, then shipped."

MS

Mike Startups

@mikestartups

"REST is clean. signal_query + dryRun in CI before activate. 6 qualified replies in 48 hours. Closed 2."

DL

Dev Laura

@devlaura

"Reply triage drafts responses while I ship. Approve from the dashboard between PRs. 2 paying clients before the week was out."

RA

Robin Agency

@robindagency

"n8n + /pipeline/run + Postal BYO. Fully automated. Pipeline went from empty to 3 new clients in 10 days."

Pricing

Less than one missed demo a month.

CLI + MCP + REST on every paid plan. Dry-run and vibejoy costs / get_pricing so you know what you'll pay before you scale.

Free

$0
  • 100-lead trial
  • Local search + enrichment
  • API (100 calls/mo)
  • No intent signals
  • No AI openers
Start free
Start here

Pay as you go

$25
  • ≈125 fully piped leads
  • or ≈500 found · ≈50 campaigns
  • All signals + AI openers
  • API + MCP + CLI
  • Top up $25 anytime
Buy credits →

Growth

$249/mo
  • $320 credits/mo ≈ 1,600 piped leads
  • Everything in pay as you go
  • Signal query + vibejoy.yaml
  • 3 team seats
Get Growth →

Secure payments via PayPal · Cancel anytime · No lock-in

Frequently asked questions

Two commands. Full pipeline. First replies by tomorrow.

Your SaaS deserves an outbound pipeline.
Not a spreadsheet.

Paste your site. Run one command. VibeJoy finds in-market buyers, writes the emails, and activates the sequence. You keep building. Replies arrive before standup.

Free plan · API key in 2 minutes · CLI + MCP + REST · Works with Claude, Cursor, n8n