What SPO is
SPO (SlatePress Outreach) is SlatePress’s long-term LinkedIn outreach surface. It manages prospects, runs connect and DM automation from your laptop, logs every step to a live event feed, and hands captured emails to MailerLite for nurture sequences.
It replaces the interim OpenOutreach → 998 bridge over time. Client #0 is SlatePress itself.
How the pipeline works
- Add prospects — LinkedIn profile URLs land in
spo_prospects. - Connect — Playwright sends connection invites (respects daily limit and pause switch).
- DM — After they accept, a first message goes out using your DM template.
- Sync inbox — Inbound replies are read; emails are extracted from DM text only.
- MailerLite — On
email.captured, the subscriber is added to your configured group; automations in MailerLite take it from there.
Every action emits an event: connect.sent, connect.accepted, dm.sent, email.captured, mailerlite.enrolled, skips, and errors.
Stack
- Admin UI — Static HTML on Cloudflare Pages (
/spo/) - API — Cloudflare Worker (
spo.bearllc555.workers.dev) - Database — Supabase Postgres on the shared SlatePress project (same as LINK and SPAGS)
- Browser automation — Playwright on your laptop via the local agent (port 9788)
- Email nurture — MailerLite group + automations
Accounts and safety
- Use a dedicated outreach LinkedIn account — not your founder profile and not LINK Profile 10 (posting).
- Campaign paused in Settings is a kill switch; limits and templates live there too.
- Run one Playwright job at a time on the laptop (SPO or LINK, not both).
Related tools
- LINK — LinkedIn post scheduler (separate product, separate Chrome session)
- SPAGS — Maps place prospecting (parallel GTM; future source for SPO prospects)
Planned next
- Follow-up DM sequences and funnel views
- SPAGS quarry → bulk prospect export