OnlyFans API Slack Integration
Get real-time OnlyFans API Slack notifications for revenue milestones, new subscribers, churn alerts, and payout updates. Keep your entire agency team informed without switching tabs or refreshing dashboards. The integration uses OFAPI webhooks to push formatted messages to any Slack channel in under five seconds.
What You Can Send to Slack
Revenue alerts
Get notified when a creator crosses a daily or monthly revenue threshold. Track subscription income, tips, PPV sales, and referral earnings in real time.
Churn notifications
Know the moment a subscriber expires or fails to renew. Trigger re-engagement workflows before it is too late.
New subscriber alerts
Celebrate every new subscriber with an instant Slack message that includes username, subscription tier, and spend history.
Payout confirmations
Get a message in your finance channel when a payout processes, including the amount and transaction ID.
Setup Guide
Create a Slack Incoming Webhook
In your Slack workspace, navigate to Apps → Incoming Webhooks and create a new webhook. Select the channel where you want OFAPI alerts to appear. Copy the webhook URL — it will look like https://hooks.slack.com/services/T.../B.../xxx.
Register Your Webhook in OFAPI
In the OFAPI dashboard, go to Settings → Webhooks and add a new endpoint. Point it at your relay server (see Step 3) and subscribe to the events you care about: subscriber.new, subscriber.expired, revenue.received.
Deploy a Relay Script
Build a small HTTP server that receives OFAPI webhook events and forwards them to Slack as formatted messages. Here is a complete example in Python using Flask:
import os import requests from flask import Flask, request, jsonify app = Flask(__name__) SLACK_WEBHOOK = os.environ["SLACK_WEBHOOK_URL"] OFAPI_SECRET = os.environ["OFAPI_WEBHOOK_SECRET"] @app.route("/webhook", methods=["POST"]) def handle_webhook(): payload = request.json event = payload["event"] data = payload["data"] # Format message based on event type if event == "revenue.received": text = f":moneybag: *Revenue* — {data['creator']} earned ${data['amount']:.2f} ({data['type']})" elif event == "subscriber.new": text = f":tada: *New Sub* — {data['username']} subscribed to {data['creator']}" elif event == "subscriber.expired": text = f":warning: *Churn* — {data['username']} expired on {data['creator']}" else: text = f":bell: *{event}* — {data}" # Send to Slack requests.post(SLACK_WEBHOOK, json={"text": text}) return jsonify({"ok": True}), 200
Test the Integration
Use the Send Test Event button in the OFAPI dashboard webhook settings. A test payload will fire to your relay, and you should see a formatted message in your Slack channel within seconds. If nothing appears, check your server logs and confirm the Slack webhook URL is correct.
Example Slack Message Payload
This is the JSON your relay script sends to the Slack Incoming Webhook API:
{
"text": ":moneybag: *Revenue* — luna_model earned $47.50 (tip)",
"channel": "#revenue-alerts",
"username": "OFAPI Bot",
"icon_emoji": ":chart_with_upwards_trend:"
} Never miss a revenue event again
Webhooks are available on Pro and Enterprise plans. Get your API key and start pushing alerts to Slack in minutes.