OnlyFans Welcome Message Automation
The highest-converting message a fan ever gets is the first one, sent within minutes of subscribing. OnlyFans welcome message automation is two steps: detect the new subscriber, then send the DM. ofapis handles the send as a normal message write; the interesting part is reliable, low-cost detection.
Detecting a new subscriber
A dedicated subscription.created webhook is on the ofapis roadmap; today the robust pattern is a scheduled diff of the subscribers list. Snapshot the audience, compare against the last snapshot, and treat the additions as new fans:
GET /accounts/{id}/subscribers ← snapshot (paginated)
→ diff against stored set
→ for each new fan: send welcome DM
Run it every few minutes rather than per-request. Each page is one credit, so cache the snapshot and only page through the tail that changed. The full pagination loop is on the subscribers API page.
Sending the welcome DM
Once you have the new fan's user id, send into their thread. On OnlyFans the chat is keyed by the fan's user id, so a fresh subscriber's chatId is that id:
curl -X POST https://api.ofapis.com/api/public/v1/accounts/42/chats/78910/messages \
-H "Authorization: Bearer ofapis_sk_..." -H "Content-Type: application/json" \
-d '{"text":"Hey {name}! Thanks for subscribing 💕 reply here anytime — I read every message."}'
Interpolate the fan's display name from the subscriber record before sending. A 200 means delivered, one credit spent; a failed send isn't charged.
Adding a free teaser or PPV
Welcome flows often lead with media. Upload the asset once through the vault media API, then reference it on the message, optionally with a price to make the welcome a first-touch PPV.
Build outline
- Snapshotter — cron pages
GET /subscribers, stores the id set. - Diff — new ids = current minus previous snapshot.
- Templater — fill a message template with the fan's name; pick a variant if you A/B test.
- Sender —
POST /accounts/{id}/chats/{fanId}/messagesper new fan. - Ledger — record who was welcomed so a re-run or overlapping snapshot never double-sends.
Gotchas
- Idempotency is on you. Two overlapping snapshot runs can surface the same fan twice — dedupe against a "welcomed" ledger, not just the last snapshot.
- Pace the loop. A large audience diffed too often burns credits; scale the interval to roster size and your plan's limits.
- Re-subscribers. A lapsed fan who returns reappears as "new" — decide whether they get the welcome again.
FAQ
Is there a new-subscriber webhook?
message.received is live today; subscription events are on the roadmap. Until then, detect new fans by diffing the subscribers list on a schedule — reliable and simple to reason about.
How do I stop sending the welcome twice?
Keep a persistent "welcomed" ledger and check it before every send. Snapshots can overlap and a returning fan looks new, so dedup on your own record rather than on the diff alone.
Can the welcome include paid media?
Yes. Upload it through the vault media API and attach it to the message, with an optional price to make the first touch a PPV.
How much does welcome automation cost in credits?
The detection pages cost one credit each and each welcome DM is one credit. Cache snapshots and pace the loop so you're paying for actual new fans, not empty checks. See pricing.
Start free · Authenticate an account · Subscribers API
Related: OnlyFans automation guide