Patreon, Ko-fi and StreamElements
Thank the people who back you: Patreon pledges, Ko-fi payments and StreamElements tips post as cards in a channel and pop up on your stream overlay, and Patreon or Ko-fi can give roles.
Before you start
- Plans. Available on the Creator and Business plans (Creator: up to 10 supporter connections, Business: 25; Patreon campaigns, Ko-fi pages and StreamElements channels count together). Self-hosted servers have every feature on.
- Who. The Manage integrations permission (Owners, Admins, or a custom role that grants it).
- Where. Org Settings → Integrations → Supporters. Each connected campaign, page or channel posts into one text channel as its own bot (with a BOT badge).
| Posts | Overlay alerts | Roles | Setup on the server | |
|---|---|---|---|---|
| Patreon | New patrons and upgrades (cancellations optional) | Yes | By tier | Needed |
| Ko-fi | Donations and new memberships (renewals, shop orders and commissions optional) | Yes | For members, matched by verified email | None |
| StreamElements | Tips as they happen | Yes | No | None |
Needs setup on the server. Patreon appears only when the server's operator has registered a Patreon client. Until then the Patreon part of the section says Patreon isn't set up on this server. On the hosted service, ask us at [email protected]; on your own server, see the self-hosting configuration guide.
Patreon and Ko-fi tell Missived about payments by calling the server, so a self-hosted server needs a public https address for them. Without one, Patreon still reads patrons once a day for roles (no posts or alerts) and Ko-fi can't reach it.
Patreon
- The creator links Patreon. In Settings → Calendar & connections → Connections (phone: You → Connections), they choose Patreon → Link as a creator. Patreon asks them to let Missived read their campaign and its members and manage its webhook.
- Connect the campaign. In Integrations → Supporters → Connect a campaign, pick Whose campaign, the channel to Post thank-you cards in, and what posts:
| Switch | Default |
|---|---|
| A new patron joins | on |
| A patron moves up a tier | on |
| A patron ends their membership | off |
Also: Show new patrons and upgrades on the stream overlay, and Show patrons' names (off: cards say "A new patron"). 3. Missived registers a webhook for the campaign at Patreon and reads every patron. The row then says Live with the number of active patrons.
A card looks like this:
[card] Sam
🎉 Became a patron — Gold. Thank you!
A downgrade or a payment-only update posts nothing. Patrons are re-read in full once a day, and on Check now (re-read patrons). Missived checks the webhook every few hours and turns it back on if Patreon paused it.
Patron roles. Members link with Link Patreon under Connections (Patreon tells Missived only who they are). Then put a rule on a role: see linked roles.
Ko-fi
Ko-fi has no API for other sites; it calls a webhook for every payment.
- On Ko-fi, open More → API → Webhooks → Advanced and copy the Verification Token.
- In Integrations → Supporters → Connect a Ko-fi page, paste the Ko-fi verification token, optionally Your Ko-fi page (
https://ko-fi.com/yourname; cards link to it), the channel, and what posts:
| Switch | Default |
|---|---|
| Donations ("buy me a coffee") | on |
| New memberships | on |
| Monthly membership renewals | off |
| Shop orders | off |
| Commissions | off |
Also: Show amounts and overlay alerts. 3. Copy the Webhook address for Ko-fi that Missived shows. On Ko-fi, paste it into Webhook URL, press Update, then Send Single Donation Test. A card appears, for example "☕ Sent $3.00. Thank you!".
The row says Waiting for Ko-fi until the first delivery arrives, then Live. Missived checks the verification token on every delivery before using it, and a retried delivery never posts twice.
A Ko-fi supporter who ticked "make this private" is always shown as "Someone", without their message, in posts and alerts.
Member roles. A member presses Link Ko-fi by email under Connections. This uses their verified Missived email address (an unverified address is refused), because Ko-fi has no sign-in for other sites. A member qualifies while a membership payment from that address came in the last 35 days. Paying with someone else's address only gives the role to their Missived account, and changing your Missived address stops the match. Set the rule on a role: see linked roles.
StreamElements
- In the StreamElements dashboard, open your avatar → your channel → Show secrets and copy the JWT token (switch to the right channel first if you have several).
- In Integrations → Supporters → Connect StreamElements, paste the JWT token, pick the channel, and choose Post tips in the channel, Only tips of at least an amount, Include the tipper's message, and Show tips on the stream overlay.
- The row says Listening within about half a minute.
[card] Alex
💸 Tipped $5.00. Thank you!
"Great stream!"
- Tips held for moderation post once a moderator allows them; rejected tips never post.
- If the connection drops, it reconnects on its own. Tips sent while it was down are not replayed by StreamElements.
- The row warns (Token expiring) in the week before the token expires.
Streamlabs isn't offered yet; StreamElements covers the same alerts.
Overlay alerts
Alerts appear on the org's overlay: Org Settings → Fan Hub → Stream overlay (OBS). Add its URL as a Browser source in OBS or Streamlabs. Under Alerts, the Patreon, Ko-fi and StreamElements tip rows each have their own on/off switch, headline and subtitle, sound and image; Test sends a preview. Keep the overlay URL private, and rotate it if it leaks.
What strangers type
A supporter's name and message are shown as plain text: a masked link [like this](https://…) loses its brackets, and nothing they write can @mention anyone.
Manage a connection
Each row has Pause / Resume (nothing posts or shows on the overlay while paused), Check now, Edit (for Ko-fi and StreamElements, also to paste a new token), Recent activity (the last 50 events and checks) and Disconnect. Disconnecting a Patreon campaign removes its webhook at Patreon, and roles that use it stop updating. Every change appears in the org's Audit log.
What data moves
Missived never sells or shares data, and nothing moves until someone in the org connects a source.
- Patreon. Missived keeps the creator's Patreon link (encrypted) and, for each patron, their Patreon user id, patron status and tier ids — never their name, email or amount. A patron's name appears only in the posted card, when Show patrons' names is on. A member who links Patreon shares only who they are on Patreon.
- Ko-fi. Missived keeps the verification token (encrypted) and, for each member, a one-way key made from their email address, their tier and when they last paid — never the address, their name or the amount. Names and amounts appear only in the posted cards, as the switches allow.
- StreamElements. Missived keeps the JWT token (encrypted) and reads only the tips feed. Per tip it keeps the posted card and a short hash of the tip, so it never posts twice.
- Your Ko-fi link shows only a masked form of your address (for example
s•••@example.com) under Connections. - Cards are ordinary messages: searchable, and encrypted at rest where the org encrypts content.
Limits
- Supporter connections per plan: Creator 10, Business 25.
- Ko-fi member roles look back 35 days for a membership payment.
Troubleshooting
- Paused automatically. A connection pauses itself after 10 failed checks in a row, or when its credentials stop working: the creator unlinked Patreon, left the org or their link lapsed ("the creator's Patreon link is gone"), or StreamElements no longer accepts its token (it was regenerated). The person who added it gets an email and an Activity item. Fix the cause (link again as a creator, or paste the new token under Edit), then Resume.
- Daily sync only (Patreon). Either this server has no public https address, or the creator's link can't manage webhooks; they link again with Link as a creator.
- "Your plan's supporter connections are all in use": disconnect one, or move to a plan with more.