X outreach on autopilot

Describe who you want to reach. We handle the rest.

TweetDM finds matching users on X, drafts personalized opening DMs, and keeps conversations going — all within the X API's hard rate limits and your own campaign caps.

Bring your own X API keys OpenRouter for LLM drafts Runs under 1,440 DMs / 24h cap
tweetdm.app / campaign / lipi-builders
TD
TweetDM
Workspace
Campaigns
Settings
Campaigns
Lipi — builders
SaaS founders
Lipi — builders
12 prospects · 4 engaged
CP
colonel panic
You: Love the ESP32-S3 OUI spy setup…
9.0
RP
Rafa Pagés
thanks! let me try the beta unit
8.0
AK
Alex Kvazis
interested — can you send specs?
7.0
SR
Sarah Reese
what's the price for beta testers?
7.0
RP
Rafa Pagés @rafamolone
HA dashboards, ESP32, DIY automation
engaged
That single-file Home Assistant meal planner is exactly the kind of real-world automation I'm obsessed with. Building Lipi — local-first smart switches for Indian homes. Pre-launch and looking for folks who'll tear apart my beta hardware. Up for a quick chat?
oh nice — yeah I'd try a beta. send me specs when ready
Sending a deck + wiring diagram over. If you're game, I'll ship a unit next week. Zero strings — I just need real feedback from people who build stuff.
thanks! let me try the beta unit
AI Message @rafamolone…

From one-line brief to running conversations

Give TweetDM a target description and your pitch. It generates search queries, scores candidates, and runs the inbox. You review and intervene whenever you want.

Describe

Write who you want to reach and what you're offering. One paragraph each — plus caps for how hard to push.

target: "Indie home automation builders tweeting about HA, ESP32, Matter..." brief: "Offering beta hardware to folks who'll tear it apart..." max_prospects: 15 max_follow_ups: 3

Discover

The agent drafts X search queries, pulls recent tweets, and scores each author 0–10 against your brief. Only matches ≥5 become prospects.

// 5 queries generated "Home Assistant" setup ESP32 OR Zigbee "smart home" Node-RED OR MQTT automation → 48 tweets · 12 kept (score ≥ 5)

Converse

Opening DMs reference each prospect's actual tweet or bio. Follow-ups are drafted by the LLM and sent — or you edit them first in the inbox.

→ @_colonel_panic Love the ESP32-S3 OUI spy setup. Building a local-first home automation board. Want one to mess with?

Built for deliverable, human outreach

Every feature is in service of one goal: send fewer, better messages — never get your account flagged, never sound like a bot.

Brief-driven targeting

Plain-English target description becomes 5 X search queries, ranked against your ideal profile.

Rate-limit aware

Respects X's 15/15min and 1,440/24h per-user DM limits. Bounded per-run and per-day caps too.

Twitter-native inbox

Familiar 3-pane DM UI: thread list, bubbles, composer. Feels like X DMs, not a mass-send tool.

Per-prospect context

Each opener references the prospect's actual tweet or bio. No templates, no "hope you're doing well."

Follow-up automation

When they reply, the LLM drafts your next message in the conversation's tone. Cap at your chosen depth.

Bring your own keys

Your X OAuth tokens. Your OpenRouter key. Default model: claude-sonnet-4.5.

Inside the rate limits — always.

X's DM API caps every authenticated user at 15 DMs per 15 min and 1,440 DMs per 24h. TweetDM enforces both ceilings across every campaign and surfaces live usage in the sidebar so you can't accidentally trip a lockout. You set tighter caps per campaign if you want.

15-min burst9/15
24-hour total182/1,440
Campaign cap200 / day

What you'll want to know

What do I need to run TweetDM?

An X developer app with Read + Write + Direct Messages permissions on the Basic tier or above ($100/mo — Free tier can't send DMs). Plus an OpenRouter API key for the LLM. You paste both into Settings after signing up.

Will my account get flagged?

TweetDM enforces X's official per-user DM limits (15/15min, 1,440/24h) and defaults to conservative per-campaign caps (15/run, 200/day). It also adds a configurable delay between sends. The safest posture is to also keep your message volume human-paced — don't max out the cap every day.

Why are some prospects "undeliverable"?

X lets users restrict DMs to "people they follow." When we try to send to those accounts, X returns 403. We mark them undeliverable and don't retry. Cold outreach typically sees 60–80% undeliverable — this is a platform reality, not a bug.

Which LLM do you use?

Default is anthropic/claude-sonnet-4.5 via OpenRouter — best balance of nuanced writing for cold outreach without Opus-level cost. You can pick a different model in Settings.

Is my data private?

Yes. Your X credentials, OpenRouter key, campaigns, prospects, and DM history are scoped to your user account and stored in a database you control. They're never shared across users.

Can I edit AI drafts before sending?

Always. Every composer has an "AI" button that drops a draft into the input — you can send as-is, edit it, or discard and write your own. Auto-sending (opening campaigns) is opt-in per step.

Start your first campaign in 5 minutes.

Sign up, paste your X and OpenRouter keys, describe who you want to reach. TweetDM handles the rest.

Get started View source