Jump to content
View in the app

A better way to browse. Learn more.

Invision Marketplace

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Everything you need for your community

Everything you need for your community

 Loading...
 Loading...
 Loading...
Passkeys — sign in with a face, a fingerprint or a security key
A passkey replaces the password entirely. Your members tap their phone, look at their laptop, or touch a security key, and they are in. Nothing to remember, nothing to type, nothing to leak.
This is a real login method, not a second factor. Invision Community has no WebAuthn support of any kind — this registers through core's own login-handler system, so the passkey button sits alongside your existing sign-in options and behaves like one of them.
Why passkeys and not another password policy
They cannot be phished. A passkey is bound to your domain by the browser. A convincing copy of your login page on another domain simply will not work — the credential refuses to sign for it.
They cannot be reused. Every site gets a different key, so a breach somewhere else cannot reach your community.
There is nothing on your server worth stealing. You store a public key. It verifies signatures and can create none.
Nothing to reset. No "forgot password" flow, no reset emails, no support tickets about them.
What members see
Adding one
A page in their account settings. One button, their device prompts, they name the key. Several devices, several keys.
Signing in
A "Sign in with a passkey" button on the normal login form.
Managing them
Rename or remove any key, with the date added and last used, so an old laptop is easy to spot and revoke.
Works with what people already have
Face ID and Touch ID, Windows Hello, Android biometrics, iCloud Keychain, Google Password Manager, 1Password, Bitwarden, and hardware keys such as YubiKey. Nothing to install — every current browser has this built in.
Built carefully, because this is authentication
Every check the WebAuthn specification asks for is performed, and the reason each one exists is that skipping it breaks the model. The challenge is single-use, purpose-bound and expiring, so a captured ceremony cannot be replayed. The origin is compared exactly — not "starts with" — so a lookalike domain cannot relay it. Registrations cannot be replayed as logins. A signature is verified over exactly the bytes the authenticator signed.
Cloned-device detection. WebAuthn gives one signal that a credential may have been copied: a signature counter that goes backwards. If that happens the passkey is disabled and the member is told why. Authenticators that don't count at all report zero forever — that is normal, and is never mistaken for an attack.
No third-party code. No composer packages, no bundled cryptography library, nothing fetched at runtime. Verification uses PHP's own OpenSSL functions.
Hidden when it cannot work. Browsers refuse passkeys outside a secure context, so on a site without HTTPS the button does not appear rather than failing when pressed.
No core files are edited. Upgrading Invision Community will not break it.
What you control
How many passkeys each member may register
Whether to require user verification — a fingerprint, face or PIN, rather than mere presence
Whether a backwards counter disables the credential
The name members see on their device when it asks them to confirm
Requirements
Invision Community 5.0 or newer (self-hosted)
HTTPS. Browsers will not create or use a passkey without it.
PHP with OpenSSL — standard on every install
IPS5.0.0+
Passkeys — sign in with a face, a fingerprint or a security key
A passkey replaces the password entirely. Your members tap their phone, look at their laptop, or touch a security key, and they are in. Nothing to remember, nothing to type, nothing to leak.
This is a real login method, not a second factor. Invision Community has no WebAuthn support of any kind — this registers through core's own login-handler system, so the passkey button sits alongside your existing sign-in options and behaves like one of them.
Why passkeys and not another password policy
They cannot be phished. A passkey is bound to your domain by the browser. A convincing copy of your login page on another domain simply will not work — the credential refuses to sign for it.
They cannot be reused. Every site gets a different key, so a breach somewhere else cannot reach your community.
There is nothing on your server worth stealing. You store a public key. It verifies signatures and can create none.
Nothing to reset. No "forgot password" flow, no reset emails, no support tickets about them.
What members see
Adding one
A page in their account settings. One button, their device prompts, they name the key. Several devices, several keys.
Signing in
A "Sign in with a passkey" button on the normal login form.
Managing them
Rename or remove any key, with the date added and last used, so an old laptop is easy to spot and revoke.
Works with what people already have
Face ID and Touch ID, Windows Hello, Android biometrics, iCloud Keychain, Google Password Manager, 1Password, Bitwarden, and hardware keys such as YubiKey. Nothing to install — every current browser has this built in.
Built carefully, because this is authentication
Every check the WebAuthn specification asks for is performed, and the reason each one exists is that skipping it breaks the model. The challenge is single-use, purpose-bound and expiring, so a captured ceremony cannot be replayed. The origin is compared exactly — not "starts with" — so a lookalike domain cannot relay it. Registrations cannot be replayed as logins. A signature is verified over exactly the bytes the authenticator signed.
Cloned-device detection. WebAuthn gives one signal that a credential may have been copied: a signature counter that goes backwards. If that happens the passkey is disabled and the member is told why. Authenticators that don't count at all report zero forever — that is normal, and is never mistaken for an attack.
No third-party code. No composer packages, no bundled cryptography library, nothing fetched at runtime. Verification uses PHP's own OpenSSL functions.
Hidden when it cannot work. Browsers refuse passkeys outside a secure context, so on a site without HTTPS the button does not appear rather than failing when pressed.
No core files are edited. Upgrading Invision Community will not break it.
What you control
How many passkeys each member may register
Whether to require user verification — a fingerprint, face or PIN, rather than mere presence
Whether a backwards counter disables the credential
The name members see on their device when it asks them to confirm
Requirements
Invision Community 5.0 or newer (self-hosted)
HTTPS. Browsers will not create or use a passkey without it.
PHP with OpenSSL — standard on every install
Community Stats — one block that fits wherever you put it
Invision's built-in stats block shows three things: total members, most ever online, and the newest member. No posts, no topics, no sense of whether any of it is growing.
This shows what a visitor actually wants to know, with the trend behind it — and it reflows to whatever space you give it.
The same block, both orientations
It measures its own container, not the browser window. Drop it in a 260px sidebar and it renders as a neat stacked list. Drop it across a content column and the same block becomes a row of tiles. Nothing to configure and no second block to maintain — a normal responsive block cannot do this, because a viewport media query cannot tell a narrow sidebar from a wide page.
If you would rather decide yourself, you can force it to always stack or always tile.
Who's online, with faces
A row of avatars linking to profiles, with an overflow count when there are more than will fit.
Anonymous browsing is respected, properly. A member who has chosen to browse anonymously is never shown and never counted — and neither are guests or search engine spiders. The number beside the avatars is derived from the same list that draws them, so the count and the faces can never disagree with each other.
Figures that mean something
Counts
Members, topics, posts, online now, newest member
And, if you run them
Files, images, blog entries, events
Trend
A rise or fall over a period you choose
Sparkline
A 30-day line beside each figure
Only the figures your community can actually produce are offered — install Gallery and an image count appears in the list by itself. Nothing runs a query for something you are not showing.
Trends work on the first day
Members, topics and posts can be rebuilt from their own timestamps, so one click gives you a month of history immediately rather than asking you to wait a month for the block to look finished. Everything else starts recording from now.
And until there is real history, no trend is shown at all. A "+0" on a fresh install would be a lie dressed up as data.
Built to sit on a busy page
Cached. Counting every row on a large community is not free, so figures are shared between visitors for an interval you set.
No JavaScript. The sparklines are drawn inline as SVG — no charting library is loaded, on any page the block appears on.
Big numbers stay readable. 12,300 becomes 12.3k rather than breaking the layout of a sidebar.
Follows your theme, or takes an accent colour of your choosing.
No core files are edited. Upgrading Invision Community will not break it.
Requirements
Invision Community 5.0 or newer (self-hosted)
Forums, Downloads, Gallery, Blog and Calendar are all optional — the block simply offers whatever you have
IPS5.0.0+
Community Stats — one block that fits wherever you put it
Invision's built-in stats block shows three things: total members, most ever online, and the newest member. No posts, no topics, no sense of whether any of it is growing.
This shows what a visitor actually wants to know, with the trend behind it — and it reflows to whatever space you give it.
The same block, both orientations
It measures its own container, not the browser window. Drop it in a 260px sidebar and it renders as a neat stacked list. Drop it across a content column and the same block becomes a row of tiles. Nothing to configure and no second block to maintain — a normal responsive block cannot do this, because a viewport media query cannot tell a narrow sidebar from a wide page.
If you would rather decide yourself, you can force it to always stack or always tile.
Who's online, with faces
A row of avatars linking to profiles, with an overflow count when there are more than will fit.
Anonymous browsing is respected, properly. A member who has chosen to browse anonymously is never shown and never counted — and neither are guests or search engine spiders. The number beside the avatars is derived from the same list that draws them, so the count and the faces can never disagree with each other.
Figures that mean something
Counts
Members, topics, posts, online now, newest member
And, if you run them
Files, images, blog entries, events
Trend
A rise or fall over a period you choose
Sparkline
A 30-day line beside each figure
Only the figures your community can actually produce are offered — install Gallery and an image count appears in the list by itself. Nothing runs a query for something you are not showing.
Trends work on the first day
Members, topics and posts can be rebuilt from their own timestamps, so one click gives you a month of history immediately rather than asking you to wait a month for the block to look finished. Everything else starts recording from now.
And until there is real history, no trend is shown at all. A "+0" on a fresh install would be a lie dressed up as data.
Built to sit on a busy page
Cached. Counting every row on a large community is not free, so figures are shared between visitors for an interval you set.
No JavaScript. The sparklines are drawn inline as SVG — no charting library is loaded, on any page the block appears on.
Big numbers stay readable. 12,300 becomes 12.3k rather than breaking the layout of a sidebar.
Follows your theme, or takes an accent colour of your choosing.
No core files are edited. Upgrading Invision Community will not break it.
Requirements
Invision Community 5.0 or newer (self-hosted)
Forums, Downloads, Gallery, Blog and Calendar are all optional — the block simply offers whatever you have
SEO Toolkit — find what's costing you traffic, then fix it
This does not claim Invision Community has no SEO. It has friendly URLs, sitemaps, canonical tags and JSON-LD, and they work. What it has no answer for is "is any of it actually set up correctly on my site, and what is search doing with it?" That is the gap.
The audit
One button. It reads your community and tells you what is wrong, worst first, with a link to each offender.
Site-wide
Friendly URLs turned off · friendly URLs not forced · site offline · no HTTPS · robots.txt blocking everything · sitemap missing from robots · no default share image · Twitter cards off
Content
Duplicate titles · titles too short or too long to survive a search result · thin topics that will never rank
Links
Dead outbound links, and which topic each one is in
Two findings that quietly cost the most. Friendly URLs being off means every page is served at a query string. And with them on but not forced, every page is reachable at two addresses — which search engines read as duplicate content. Invision's own note on that setting says so. Neither shows up anywhere in the AdminCP until something has gone wrong.
Findings are fingerprinted, so re-running updates what is still true rather than piling up duplicates — and anything you have dismissed stays dismissed instead of reappearing every week. Anything you fixed disappears on the next run.
Search Console and GA4, in the AdminCP
Clicks, impressions, click-through rate and average position. What people actually searched for. Which pages got the clicks. Sessions, users and landing pages from GA4 alongside them.
A service account, not OAuth. Paste one JSON key. No consent screen, no redirect URL to register, no refresh token to keep alive.
The last three days are deliberately excluded. Search Console lags, and including today makes every report look like a traffic collapse.
Answers are cached for the day, because the data only changes daily and the calls are metered.
Redirects that core cannot do
Core follows items that were merged into other items. It has nothing for "we restructured the forums and forty URLs moved" — which is exactly when a site loses its rankings.
301, 302, 307 or 308, with a hit counter so you can see what is still being used
Prefix rules that carry the rest of the path across, so /old/a/b lands on /new/a/b rather than dumping everything on one page
Loops are refused, not stored. A redirect loop is invisible until a crawler walks into one, and then the page is simply gone from the index
The tags core leaves out
Twitter card tags. Invision emits Open Graph tags from eight applications and no twitter: tags whatsoever. These are derived from the Open Graph tags already on the page, so the two can never disagree.
A fallback share image, used only when a page has none of its own.
Per-forum overrides. Core's meta tag feature is a flat list keyed by exact URL, so keeping one forum out of search means knowing every address inside it. Here you pick the forum, tick noindex, and choose whether it applies to sub-forums.
Built to be safe on a live site
The audit never crawls you over HTTP. Everything is answered from the database. A crawler on a large forum is slow and hammers the server it is meant to be helping.
Outbound links are the one exception, and they are fetched slowly, in small batches, on a daily schedule — never in a burst that looks like an attack on the sites you link to.
HEAD first, falling back to GET, because plenty of servers refuse HEAD while serving pages perfectly well. A refusal is not evidence a link is dead.
Requests are pinned to http and https, and private address space is skipped, so a background job cannot be steered somewhere it should not go.
No core files are edited. Upgrading Invision Community will not break it.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Optional: a Google service account, for Search Console and GA4 reporting
IPS5.0.0+
SEO Toolkit — find what's costing you traffic, then fix it
This does not claim Invision Community has no SEO. It has friendly URLs, sitemaps, canonical tags and JSON-LD, and they work. What it has no answer for is "is any of it actually set up correctly on my site, and what is search doing with it?" That is the gap.
The audit
One button. It reads your community and tells you what is wrong, worst first, with a link to each offender.
Site-wide
Friendly URLs turned off · friendly URLs not forced · site offline · no HTTPS · robots.txt blocking everything · sitemap missing from robots · no default share image · Twitter cards off
Content
Duplicate titles · titles too short or too long to survive a search result · thin topics that will never rank
Links
Dead outbound links, and which topic each one is in
Two findings that quietly cost the most. Friendly URLs being off means every page is served at a query string. And with them on but not forced, every page is reachable at two addresses — which search engines read as duplicate content. Invision's own note on that setting says so. Neither shows up anywhere in the AdminCP until something has gone wrong.
Findings are fingerprinted, so re-running updates what is still true rather than piling up duplicates — and anything you have dismissed stays dismissed instead of reappearing every week. Anything you fixed disappears on the next run.
Search Console and GA4, in the AdminCP
Clicks, impressions, click-through rate and average position. What people actually searched for. Which pages got the clicks. Sessions, users and landing pages from GA4 alongside them.
A service account, not OAuth. Paste one JSON key. No consent screen, no redirect URL to register, no refresh token to keep alive.
The last three days are deliberately excluded. Search Console lags, and including today makes every report look like a traffic collapse.
Answers are cached for the day, because the data only changes daily and the calls are metered.
Redirects that core cannot do
Core follows items that were merged into other items. It has nothing for "we restructured the forums and forty URLs moved" — which is exactly when a site loses its rankings.
301, 302, 307 or 308, with a hit counter so you can see what is still being used
Prefix rules that carry the rest of the path across, so /old/a/b lands on /new/a/b rather than dumping everything on one page
Loops are refused, not stored. A redirect loop is invisible until a crawler walks into one, and then the page is simply gone from the index
The tags core leaves out
Twitter card tags. Invision emits Open Graph tags from eight applications and no twitter: tags whatsoever. These are derived from the Open Graph tags already on the page, so the two can never disagree.
A fallback share image, used only when a page has none of its own.
Per-forum overrides. Core's meta tag feature is a flat list keyed by exact URL, so keeping one forum out of search means knowing every address inside it. Here you pick the forum, tick noindex, and choose whether it applies to sub-forums.
Built to be safe on a live site
The audit never crawls you over HTTP. Everything is answered from the database. A crawler on a large forum is slow and hammers the server it is meant to be helping.
Outbound links are the one exception, and they are fetched slowly, in small batches, on a daily schedule — never in a burst that looks like an attack on the sites you link to.
HEAD first, falling back to GET, because plenty of servers refuse HEAD while serving pages perfectly well. A refusal is not evidence a link is dead.
Requests are pinned to http and https, and private address space is skipped, so a background job cannot be steered somewhere it should not go.
No core files are edited. Upgrading Invision Community will not break it.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Optional: a Google service account, for Search Console and GA4 reporting
Live Topics — run a proper live event, and keep the topic afterwards
Schedule a session. Attendees see a countdown. A host presses start and the room opens: video on one side, moderated questions in the middle, live chat alongside. When it ends, everything worth keeping becomes an ordinary forum topic.
This is the feature Invision Community sells on its Cloud plans. It has never been available for self-hosted communities, and nobody else builds it.
What Cloud charges for it. Live Topics is not included on the entry plan at all. The next tier up allows two events a month. Ten a month arrives at $259/month, and unlimited only at $619/month. This application has no quota. Run one a week or one a day; it is the same price.
The room
Video
YouTube, Vimeo, Twitch, or a direct stream. Changeable mid-session, so a wrong link is not a disaster. Cloud supports YouTube only.
Main Questions
The curated stream. Sortable by newest or by what the room most wants answered.
Chat
The running conversation. A host can promote any message into a Main Question — which is also how they decide what survives.
Three columns on a desktop, with a draggable divider. Tabs on a phone.
What hosts and staff can actually do
Promote a chat message into a Main Question. The good question always arrives in the chat, never in the right box.
Close replies per question — to everyone, or to everyone but staff, so an answered question stops collecting "+1".
Mark when a question was answered against the video position. The converted topic then deep-links to that moment.
Approve questions or chat before they appear, when the session warrants it.
Mute or remove one person without locking chat for everybody. Cloud has neither; its only controls are global.
A staff-only channel where staff coordinate, and where reports arrive — during a live event nobody is watching the normal reports queue.
Four things Cloud does not do
Members can ask to be told when it starts. Cloud reminds the hosts and tells members nothing, so anyone who missed the start has to guess. Here anyone can opt in, and the notification fires when a host actually starts — which is the useful moment, since starting is manual.
A live attendee count. Visible in the room and on the block, so a session looks alive.
The chat can be kept. Cloud discards it outright. Keep it as one collapsed post at the end of the topic, or discard it — your call, per event.
An AI recap. Optional. At conversion, the questions and answers are summarised into the opening post, so somebody arriving a week later gets the point without reading forty posts. Cloud produces no post-event artifact of any kind.
It becomes a real topic
Main Questions and their replies are written into your chosen forum as a normal topic, each question attributed to whoever asked it and timestamped when they asked. Searchable, quotable, moderatable — an ordinary topic in every respect.
Real-time, without requiring anything
This works on its own. Out of the box the room updates on a short timer, which is how every live-chat application on this marketplace works. If you also run my Realtime application, this detects it and upgrades to its WebSocket gateway automatically — no configuration, nothing to connect. A socket that drops falls back to timed refresh rather than going silent.
Bounded on purpose
A session ends itself when every host has left, after a grace period you set.
A session ends itself at a maximum length you set. An abandoned room is a standing cost, and neither of these should depend on somebody remembering.
Nothing is visible to anyone until a host presses start.
What you control
Who may schedule live topics, and who may moderate any of them
Per event: hosts, staff groups, who may attend, approval rules, destination forum, whether the chat is kept
Refresh interval, maximum length, host-absence grace period
Whether recaps are written at all, and with which provider
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Optional: my Realtime application, for WebSocket delivery
Optional: an Anthropic or OpenAI-compatible key for recaps — or my AI Assistant, whose key this will borrow
No core files are edited. Upgrading Invision Community will not break it.
IPS5.0.0+
Live Topics — run a proper live event, and keep the topic afterwards
Schedule a session. Attendees see a countdown. A host presses start and the room opens: video on one side, moderated questions in the middle, live chat alongside. When it ends, everything worth keeping becomes an ordinary forum topic.
This is the feature Invision Community sells on its Cloud plans. It has never been available for self-hosted communities, and nobody else builds it.
What Cloud charges for it. Live Topics is not included on the entry plan at all. The next tier up allows two events a month. Ten a month arrives at $259/month, and unlimited only at $619/month. This application has no quota. Run one a week or one a day; it is the same price.
The room
Video
YouTube, Vimeo, Twitch, or a direct stream. Changeable mid-session, so a wrong link is not a disaster. Cloud supports YouTube only.
Main Questions
The curated stream. Sortable by newest or by what the room most wants answered.
Chat
The running conversation. A host can promote any message into a Main Question — which is also how they decide what survives.
Three columns on a desktop, with a draggable divider. Tabs on a phone.
What hosts and staff can actually do
Promote a chat message into a Main Question. The good question always arrives in the chat, never in the right box.
Close replies per question — to everyone, or to everyone but staff, so an answered question stops collecting "+1".
Mark when a question was answered against the video position. The converted topic then deep-links to that moment.
Approve questions or chat before they appear, when the session warrants it.
Mute or remove one person without locking chat for everybody. Cloud has neither; its only controls are global.
A staff-only channel where staff coordinate, and where reports arrive — during a live event nobody is watching the normal reports queue.
Four things Cloud does not do
Members can ask to be told when it starts. Cloud reminds the hosts and tells members nothing, so anyone who missed the start has to guess. Here anyone can opt in, and the notification fires when a host actually starts — which is the useful moment, since starting is manual.
A live attendee count. Visible in the room and on the block, so a session looks alive.
The chat can be kept. Cloud discards it outright. Keep it as one collapsed post at the end of the topic, or discard it — your call, per event.
An AI recap. Optional. At conversion, the questions and answers are summarised into the opening post, so somebody arriving a week later gets the point without reading forty posts. Cloud produces no post-event artifact of any kind.
It becomes a real topic
Main Questions and their replies are written into your chosen forum as a normal topic, each question attributed to whoever asked it and timestamped when they asked. Searchable, quotable, moderatable — an ordinary topic in every respect.
Real-time, without requiring anything
This works on its own. Out of the box the room updates on a short timer, which is how every live-chat application on this marketplace works. If you also run my Realtime application, this detects it and upgrades to its WebSocket gateway automatically — no configuration, nothing to connect. A socket that drops falls back to timed refresh rather than going silent.
Bounded on purpose
A session ends itself when every host has left, after a grace period you set.
A session ends itself at a maximum length you set. An abandoned room is a standing cost, and neither of these should depend on somebody remembering.
Nothing is visible to anyone until a host presses start.
What you control
Who may schedule live topics, and who may moderate any of them
Per event: hosts, staff groups, who may attend, approval rules, destination forum, whether the chat is kept
Refresh interval, maximum length, host-absence grace period
Whether recaps are written at all, and with which provider
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Optional: my Realtime application, for WebSocket delivery
Optional: an Anthropic or OpenAI-compatible key for recaps — or my AI Assistant, whose key this will borrow
No core files are edited. Upgrading Invision Community will not break it.
Related Topics — suggestions that understand what a topic is about
Invision Community can already show related content. It matches on tags. That means it works exactly as well as your members tag things, which on most communities is somewhere between patchily and not at all — and when everything in a forum carries the same three tags, "related" degrades to "everything".
This matches on meaning. It reads each topic, turns it into a vector, and compares topics by what they are actually about. No tags required, and no tagging discipline to enforce.
A real example from testing. A topic about a workflow-automation app for Invision matched a topic about an automation extension for a completely different forum platform, at 79%. Different forum, different category, no tags in common. Nothing tag-based could ever have found that.
Two ways to show it
Automatically
A "Related discussions" list appears below the posts on every topic. No block placement, no template editing.
As a block
A placeable widget for your sidebar, if you would rather choose where it goes. It only appears on topic pages.
Use either, or both.
It tells you when it has nothing to say
This is the part most "related content" features get wrong. If nothing clears your similarity threshold, nothing is shown at all — no empty box, no heading over a blank list, no five tenuous suggestions padding it out. Silence is the honest answer when nothing is related.
You tune it against your own content, not a guess
There is no threshold that is right for every community, and this application does not pretend otherwise. On a focused forum — where most topics are broadly the same kind of thing — even unrelated pairs score in the sixties. On a varied one the gap is much wider.
So the settings screen shows real matches from your own topics with their real scores, including the ones currently falling below your threshold and greyed out. You pick your number by looking at your own content. That takes about a minute and it is the difference between suggestions people click and suggestions they learn to ignore.
Costs, stated plainly
You need an embeddings API key — Voyage AI or any OpenAI-compatible provider.
One API call per topic, once. Editing a topic only re-embeds if the text actually changed, so fixing a typo costs nothing.
Embedding models are inexpensive. A few thousand topics is small money, but it is not zero and you should know that before you install.
Already running my AI Assistant? One switch and this borrows its provider, key and model, so you manage one key and one bill.
Built to stay out of the way
Nothing blocks posting. Indexing happens on the background queue. An outage at the embeddings provider means new topics wait their turn, never that members cannot post.
Permissions are respected. A topic a member cannot open is never suggested to them.
Changing the model is safe. Different models produce different vector sizes; mismatched entries are skipped rather than compared, so you get fewer results instead of confident nonsense. Rebuild and they come back.
No core files are edited. Upgrading Invision Community will not break it.
What you control
How many suggestions, and the minimum similarity
Whether suggestions can cross between forums, or stay within one
Which forums are indexed at all
Automatic placement on or off
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
An embeddings API key from Voyage AI or an OpenAI-compatible provider
IPS5.0.0+
Related Topics — suggestions that understand what a topic is about
Invision Community can already show related content. It matches on tags. That means it works exactly as well as your members tag things, which on most communities is somewhere between patchily and not at all — and when everything in a forum carries the same three tags, "related" degrades to "everything".
This matches on meaning. It reads each topic, turns it into a vector, and compares topics by what they are actually about. No tags required, and no tagging discipline to enforce.
A real example from testing. A topic about a workflow-automation app for Invision matched a topic about an automation extension for a completely different forum platform, at 79%. Different forum, different category, no tags in common. Nothing tag-based could ever have found that.
Two ways to show it
Automatically
A "Related discussions" list appears below the posts on every topic. No block placement, no template editing.
As a block
A placeable widget for your sidebar, if you would rather choose where it goes. It only appears on topic pages.
Use either, or both.
It tells you when it has nothing to say
This is the part most "related content" features get wrong. If nothing clears your similarity threshold, nothing is shown at all — no empty box, no heading over a blank list, no five tenuous suggestions padding it out. Silence is the honest answer when nothing is related.
You tune it against your own content, not a guess
There is no threshold that is right for every community, and this application does not pretend otherwise. On a focused forum — where most topics are broadly the same kind of thing — even unrelated pairs score in the sixties. On a varied one the gap is much wider.
So the settings screen shows real matches from your own topics with their real scores, including the ones currently falling below your threshold and greyed out. You pick your number by looking at your own content. That takes about a minute and it is the difference between suggestions people click and suggestions they learn to ignore.
Costs, stated plainly
You need an embeddings API key — Voyage AI or any OpenAI-compatible provider.
One API call per topic, once. Editing a topic only re-embeds if the text actually changed, so fixing a typo costs nothing.
Embedding models are inexpensive. A few thousand topics is small money, but it is not zero and you should know that before you install.
Already running my AI Assistant? One switch and this borrows its provider, key and model, so you manage one key and one bill.
Built to stay out of the way
Nothing blocks posting. Indexing happens on the background queue. An outage at the embeddings provider means new topics wait their turn, never that members cannot post.
Permissions are respected. A topic a member cannot open is never suggested to them.
Changing the model is safe. Different models produce different vector sizes; mismatched entries are skipped rather than compared, so you get fewer results instead of confident nonsense. Rebuild and they come back.
No core files are edited. Upgrading Invision Community will not break it.
What you control
How many suggestions, and the minimum similarity
Whether suggestions can cross between forums, or stay within one
Which forums are indexed at all
Automatic placement on or off
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
An embeddings API key from Voyage AI or an OpenAI-compatible provider
Font Awesome — use the icons you already pay for
Invision Community ships Font Awesome 6 Free and gives you no way to change it. If you have a Font Awesome Pro subscription, none of it works here. If you want an icon added since 2024, it isn't there.
This is a small, free application that fixes both.
It costs nothing. There is no licence key and nothing to renew. If you use Kit mode you are using the Font Awesome subscription you already have — this simply lets Invision Community see it.
Two modes
Mode
What you get
Font Awesome 7 Free
2,606 icons instead of 2,492 — 115 more than Invision ships. No account needed.
Your Kit
The full Pro set — around 68,000 icons across six styles, plus Sharp and Duotone if your plan includes them.
Both load from Font Awesome's own CDN, not a third-party mirror.
Kit setup is one field
Paste your Kit ID and save. It accepts whatever you have to hand — the bare ID, the kit URL, or the entire <script> tag copied from your Font Awesome dashboard. There is a Test the connection button that tells you what actually loaded before you go looking at your site.
Nothing breaks
This is the part worth understanding, because it is why the application is safe to install on a live community.
Invision Community loads its own Font Awesome from a core template that offers no way to remove it. Rather than edit that file — which an upgrade would overwrite — this loads afterwards and takes precedence.
That has a real benefit beyond upgrade safety. Font Awesome 7 dropped exactly one icon that existed in 6 (fa-vector-square). Because Invision's copy is still underneath, that icon keeps working. An application that replaced Font Awesome outright would have broken it silently on every site using it.
The cost is about 70KB of stylesheet that goes unused. That is the trade, stated plainly.
What you control
Which mode — Free 7 or your Kit
Which release of Font Awesome 7
Whether the AdminCP uses it too, or stays exactly as Invision ships it
Turn it off at any time and you are back to stock, immediately
Requirements
Invision Community 5.0 or newer (self-hosted)
For Kit mode: a Font Awesome account with a published kit. Free plans have kits too.
Outbound HTTPS from visitors' browsers to Font Awesome's CDN
No core files are edited, no database tables are created, and nothing is stored except your settings.
IPS5.0.0+
Font Awesome — use the icons you already pay for
Invision Community ships Font Awesome 6 Free and gives you no way to change it. If you have a Font Awesome Pro subscription, none of it works here. If you want an icon added since 2024, it isn't there.
This is a small, free application that fixes both.
It costs nothing. There is no licence key and nothing to renew. If you use Kit mode you are using the Font Awesome subscription you already have — this simply lets Invision Community see it.
Two modes
Mode
What you get
Font Awesome 7 Free
2,606 icons instead of 2,492 — 115 more than Invision ships. No account needed.
Your Kit
The full Pro set — around 68,000 icons across six styles, plus Sharp and Duotone if your plan includes them.
Both load from Font Awesome's own CDN, not a third-party mirror.
Kit setup is one field
Paste your Kit ID and save. It accepts whatever you have to hand — the bare ID, the kit URL, or the entire <script> tag copied from your Font Awesome dashboard. There is a Test the connection button that tells you what actually loaded before you go looking at your site.
Nothing breaks
This is the part worth understanding, because it is why the application is safe to install on a live community.
Invision Community loads its own Font Awesome from a core template that offers no way to remove it. Rather than edit that file — which an upgrade would overwrite — this loads afterwards and takes precedence.
That has a real benefit beyond upgrade safety. Font Awesome 7 dropped exactly one icon that existed in 6 (fa-vector-square). Because Invision's copy is still underneath, that icon keeps working. An application that replaced Font Awesome outright would have broken it silently on every site using it.
The cost is about 70KB of stylesheet that goes unused. That is the trade, stated plainly.
What you control
Which mode — Free 7 or your Kit
Which release of Font Awesome 7
Whether the AdminCP uses it too, or stays exactly as Invision ships it
Turn it off at any time and you are back to stock, immediately
Requirements
Invision Community 5.0 or newer (self-hosted)
For Kit mode: a Font Awesome account with a published kit. Free plans have kits too.
Outbound HTTPS from visitors' browsers to Font Awesome's CDN
No core files are edited, no database tables are created, and nothing is stored except your settings.
Workflows — when this happens, do that
Every community has jobs that get done by hand over and over. Tag the posts that mention billing. Message new members after their first post. Add buyers to a group. Push reports into the chat channel your team actually watches.
Workflows does them for you. You pick a trigger, add conditions if you need them, and choose what should happen.
27 things to trigger on
Content
Posted · edited · deleted · hidden, locked or pinned · moved · merged · split · reported
Members
Registers · validates · logs in · updates their profile · flagged as a spammer · reacts · follows · joins or leaves a club · RSVPs · completes a course
Commerce
Purchase paid · about to expire · expired · renewed · cancelled
Other
Poll voted · file downloaded · club created
Every one of those is wired to a real Invision Community event and tested on an install with the first-party applications present. The trigger list only ever offers events that genuinely fire — you cannot save a rule that quietly never runs.
Conditions, so rules stay precise
Forum or category, author's group, post count, account age, content contains text, content matches a pattern, tagged with, title contains, is the first post in a topic.
For example: when content is posted, and the author has fewer than 5 posts, and the content matches a URL pattern — hide it and send yourself a webhook.
Actions
Lock, unlock, pin, unpin, hide, approve, add tags, add or remove a secondary group, award points, award a badge, send a private message, and send a webhook.
The webhook action is the important one
Anything your community does can be pushed to Zapier, Make, n8n, or your own code, as JSON. That means Workflows isn't limited to what this application can do — it's the bridge to everything else you already use.
Set a signing secret and each request is signed, so the receiving end can tell a genuine call from anyone who guessed the URL.
A run log that answers the real question
Rules engines fail when you can't tell why a rule didn't fire. Workflows records every evaluation, with the reason:
"Forum 'Introductions' is not in the selected list."
"Bob has 3 posts; condition was at least 10."
"Content does not contain \"refund\"."
Filter by matched, skipped or errors, and by rule. Turn skipped logging on while you build a rule and off once it works.
Built not to get in the way
Nothing blocks posting. Conditions are evaluated inline because they're cheap; actions run on the background queue. A rule pointing at a slow webhook can never make a member wait, and an outage can't stop people posting.
Loops are impossible. "When a post is created, post a reply" would take a site down. The engine refuses to re-enter an event it's already handling — that's built into its structure, not a setting you can get wrong.
Only sensible options are offered. The builder hides conditions and actions the chosen trigger can't supply, so you're never offered "lock the topic" on a member-registered rule — there isn't one.
Actions report what they actually did, not what they attempted — including when Invision Community declines something, and why.
Rules run in order, and any rule can stop the ones after it.
No core files are edited. Upgrading Invision Community won't break it.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Nothing else. No external service and no API key — unless you use the webhook action, which needs somewhere to send to.
Commerce triggers require the Commerce application; club and course triggers require theirs. Everything else works on a stock install.
IPS5.0.0+
Workflows — when this happens, do that
Every community has jobs that get done by hand over and over. Tag the posts that mention billing. Message new members after their first post. Add buyers to a group. Push reports into the chat channel your team actually watches.
Workflows does them for you. You pick a trigger, add conditions if you need them, and choose what should happen.
27 things to trigger on
Content
Posted · edited · deleted · hidden, locked or pinned · moved · merged · split · reported
Members
Registers · validates · logs in · updates their profile · flagged as a spammer · reacts · follows · joins or leaves a club · RSVPs · completes a course
Commerce
Purchase paid · about to expire · expired · renewed · cancelled
Other
Poll voted · file downloaded · club created
Every one of those is wired to a real Invision Community event and tested on an install with the first-party applications present. The trigger list only ever offers events that genuinely fire — you cannot save a rule that quietly never runs.
Conditions, so rules stay precise
Forum or category, author's group, post count, account age, content contains text, content matches a pattern, tagged with, title contains, is the first post in a topic.
For example: when content is posted, and the author has fewer than 5 posts, and the content matches a URL pattern — hide it and send yourself a webhook.
Actions
Lock, unlock, pin, unpin, hide, approve, add tags, add or remove a secondary group, award points, award a badge, send a private message, and send a webhook.
The webhook action is the important one
Anything your community does can be pushed to Zapier, Make, n8n, or your own code, as JSON. That means Workflows isn't limited to what this application can do — it's the bridge to everything else you already use.
Set a signing secret and each request is signed, so the receiving end can tell a genuine call from anyone who guessed the URL.
A run log that answers the real question
Rules engines fail when you can't tell why a rule didn't fire. Workflows records every evaluation, with the reason:
"Forum 'Introductions' is not in the selected list."
"Bob has 3 posts; condition was at least 10."
"Content does not contain \"refund\"."
Filter by matched, skipped or errors, and by rule. Turn skipped logging on while you build a rule and off once it works.
Built not to get in the way
Nothing blocks posting. Conditions are evaluated inline because they're cheap; actions run on the background queue. A rule pointing at a slow webhook can never make a member wait, and an outage can't stop people posting.
Loops are impossible. "When a post is created, post a reply" would take a site down. The engine refuses to re-enter an event it's already handling — that's built into its structure, not a setting you can get wrong.
Only sensible options are offered. The builder hides conditions and actions the chosen trigger can't supply, so you're never offered "lock the topic" on a member-registered rule — there isn't one.
Actions report what they actually did, not what they attempted — including when Invision Community declines something, and why.
Rules run in order, and any rule can stop the ones after it.
No core files are edited. Upgrading Invision Community won't break it.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Nothing else. No external service and no API key — unless you use the webhook action, which needs somewhere to send to.
Commerce triggers require the Commerce application; club and course triggers require theirs. Everything else works on a stock install.
Guardian — moderation that keeps your team away from the worst of it
Invision Community gives you the tools to remove bad content once somebody finds it. Guardian finds it first, ranks it by how bad it is, and puts it in one queue your moderators can actually work through.
And for the category of material nobody should have to look at, it does something different: it never shows it to them at all.
What it checks
Post text — spam, scams and phishing, harassment, hate, threats, and breaches of your rules. Paste your rules in and they are used when judging a post, so "against the rules" means yours rather than a generic idea of them.
Attached images — adult content, graphic violence, hate symbols, and images posted purely to advertise.
Known illegal material — attachments are matched against a vetted hash service you have arranged access to.
Everything is scored from 0 to 100. You choose the score at which something enters the queue, and the score at which it is hidden before a human sees it.
One queue, worst first
Flagged content arrives in a single triage screen ordered by severity, with the reason each check gave, the labels it applied, and the post excerpt. Two buttons: Looks fine puts it straight back, Keep hidden leaves it down. Cleared and removed items keep their own tabs so you have a record.
Guardian never deletes anything. Content is hidden using Invision Community's own moderation tools, so a wrong call is always reversible — and genuinely illegal material is preserved rather than destroyed, which matters if you later have to account for it.
The part that is handled differently
When an attachment matches a known-illegal hash set, Guardian does not treat it as a moderation decision, because it isn't one.
The post is hidden immediately and the file is preserved.
The queue entry shows no image, no post text, and no link to the content. There is no "view" button. Nobody on your team has to look at it in order to deal with it.
The identifying details — account, email, IP at the time of posting, timestamps, file hashes — are captured at the moment of detection, because by the time a report is filed the account may be gone and the IP record rotated away.
Clearing it is not offered. A moderator clicking "looks fine to me" is not the right way to overturn a hash match.
Reporting, wherever you are
Reporting duties are national, and the mechanisms differ. Guardian supports both shapes.
Destination
Region
How
NCMEC CyberTipline
United States
Filed directly from your server
Internet Watch Foundation
United Kingdom
Hotline form + reference recorded
Cybertip.ca
Canada
Hotline form + reference recorded
eSafety Commissioner
Australia
Hotline form + reference recorded
INHOPE network
International
Routes you to your national hotline
Your own endpoint
Any
Evidence package posted as JSON
Where an API exists, the file goes straight from your server to the destination — never downloaded, never emailed, never handed to a staff member to upload by hand. Guardian submits under your credentials; it never reports under its own identity.
Where one doesn't, Guardian links you to the right hotline for your jurisdiction and records the reference number you are given. The evidence is preserved and the audit trail comes out identical either way.
Costs you can actually control
A monthly spend limit. When it is reached the paid checks pause — but hash matching keeps running, because that is the one you least want switched off.
Separate models for text and images. Image checks are the expensive half; point them at a cheaper model without giving up text checking.
Skip established members. Set a post count above which members aren't scanned. New and guest accounts are always checked. This is the single biggest saving on a busy site.
Per-forum scope and trusted groups. Staff are always skipped.
The settings screen shows exactly what is running, how much you have spent this month, and how many images have been examined.
If you already run AI Assistant
Guardian works entirely on its own. But if AI Assistant is installed, one switch lets it use that application's provider, key and spend ledger — so you manage one key and one budget instead of two, and spend from both counts against the same limit. It is a convenience, never a dependency.
Built to stay out of the way
Nothing blocks posting. All checking happens on the background queue. An API outage means posts are unchecked, never that members can't post.
Silence is never read as safe. If a check cannot reach its service or the model refuses to assess something, that is recorded as needing a human — not quietly scored as clean.
No core files are edited. Upgrading Invision Community will not break it.
A full audit trail. Every decision, who made it, and when.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
An API key from Anthropic or any OpenAI-compatible provider, for the text and image checks
For known-material matching and direct reporting: access to those services in your own name. Providers register with the relevant organisation themselves.
IPS5.0.0+
Guardian — moderation that keeps your team away from the worst of it
Invision Community gives you the tools to remove bad content once somebody finds it. Guardian finds it first, ranks it by how bad it is, and puts it in one queue your moderators can actually work through.
And for the category of material nobody should have to look at, it does something different: it never shows it to them at all.
What it checks
Post text — spam, scams and phishing, harassment, hate, threats, and breaches of your rules. Paste your rules in and they are used when judging a post, so "against the rules" means yours rather than a generic idea of them.
Attached images — adult content, graphic violence, hate symbols, and images posted purely to advertise.
Known illegal material — attachments are matched against a vetted hash service you have arranged access to.
Everything is scored from 0 to 100. You choose the score at which something enters the queue, and the score at which it is hidden before a human sees it.
One queue, worst first
Flagged content arrives in a single triage screen ordered by severity, with the reason each check gave, the labels it applied, and the post excerpt. Two buttons: Looks fine puts it straight back, Keep hidden leaves it down. Cleared and removed items keep their own tabs so you have a record.
Guardian never deletes anything. Content is hidden using Invision Community's own moderation tools, so a wrong call is always reversible — and genuinely illegal material is preserved rather than destroyed, which matters if you later have to account for it.
The part that is handled differently
When an attachment matches a known-illegal hash set, Guardian does not treat it as a moderation decision, because it isn't one.
The post is hidden immediately and the file is preserved.
The queue entry shows no image, no post text, and no link to the content. There is no "view" button. Nobody on your team has to look at it in order to deal with it.
The identifying details — account, email, IP at the time of posting, timestamps, file hashes — are captured at the moment of detection, because by the time a report is filed the account may be gone and the IP record rotated away.
Clearing it is not offered. A moderator clicking "looks fine to me" is not the right way to overturn a hash match.
Reporting, wherever you are
Reporting duties are national, and the mechanisms differ. Guardian supports both shapes.
Destination
Region
How
NCMEC CyberTipline
United States
Filed directly from your server
Internet Watch Foundation
United Kingdom
Hotline form + reference recorded
Cybertip.ca
Canada
Hotline form + reference recorded
eSafety Commissioner
Australia
Hotline form + reference recorded
INHOPE network
International
Routes you to your national hotline
Your own endpoint
Any
Evidence package posted as JSON
Where an API exists, the file goes straight from your server to the destination — never downloaded, never emailed, never handed to a staff member to upload by hand. Guardian submits under your credentials; it never reports under its own identity.
Where one doesn't, Guardian links you to the right hotline for your jurisdiction and records the reference number you are given. The evidence is preserved and the audit trail comes out identical either way.
Costs you can actually control
A monthly spend limit. When it is reached the paid checks pause — but hash matching keeps running, because that is the one you least want switched off.
Separate models for text and images. Image checks are the expensive half; point them at a cheaper model without giving up text checking.
Skip established members. Set a post count above which members aren't scanned. New and guest accounts are always checked. This is the single biggest saving on a busy site.
Per-forum scope and trusted groups. Staff are always skipped.
The settings screen shows exactly what is running, how much you have spent this month, and how many images have been examined.
If you already run AI Assistant
Guardian works entirely on its own. But if AI Assistant is installed, one switch lets it use that application's provider, key and spend ledger — so you manage one key and one budget instead of two, and spend from both counts against the same limit. It is a convenience, never a dependency.
Built to stay out of the way
Nothing blocks posting. All checking happens on the background queue. An API outage means posts are unchecked, never that members can't post.
Silence is never read as safe. If a check cannot reach its service or the model refuses to assess something, that is recorded as needing a human — not quietly scored as clean.
No core files are edited. Upgrading Invision Community will not break it.
A full audit trail. Every decision, who made it, and when.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
An API key from Anthropic or any OpenAI-compatible provider, for the text and image checks
For known-material matching and direct reporting: access to those services in your own name. Providers register with the relevant organisation themselves.
Tag Colours — your tags, finally telling them apart
Invision Community already has tags. What it does not have is any way to make them look like anything. Every tag on your site is the same shape and the same grey, so a topic tagged Solved is visually identical to one tagged Urgent, and members read every label one at a time.
Tag Colours fixes that in about a minute.
Solved Bug Report Feature Request Announcement Off Topic
It builds on the tags you already have
This is not a replacement tag system. There is nothing to migrate, no second set of labels to maintain, and no new way for your members to tag things. It reads the tags already on your community and lets you pick a colour for each one.
Because it works with the built-in system, the colours turn up everywhere tags already appear — topic view, topic lists, search results, tag pages, and the Blogs, Calendar and Pages applications too.
Setting it up
The admin screen lists every tag actually in use on your community, most-used first, with a note of how many items carry it. Click a tag, pick a colour, done.
Or click Colour them for me and every uncoloured tag is given a distinct colour from a readable palette — a sensible starting point you can then adjust. It never overwrites a colour you chose yourself, and it will not hand two tags the same colour.
Three styles
Solid — the tag is filled with your colour
Soft — a tinted background with coloured text, for a lighter touch
Outline — a coloured border and text on a transparent background
Pick one and it applies to every coloured tag, so your tags stay consistent with each other whatever your theme looks like.
Readable by default
Choose a tag colour and the text colour is worked out for you, using the same contrast maths the accessibility guidelines use — dark text on light colours, light text on dark ones. You never end up with a yellow tag nobody can read. If you want to override it on a particular tag, you can.
Built to stay out of the way
No core files are edited and no templates are overridden, so upgrading Invision Community will not break it and will not undo your work.
One small stylesheet is added to the page, cached permanently by the browser and only re-fetched when you actually change a colour. There is no JavaScript and no per-page work.
Turning it off restores your theme's own tag styling immediately — and keeps your colour choices, so turning it back on picks up where you left off.
Uninstalling leaves no trace. Your tags are Invision Community's tags; only the colours belong to this application.
Requirements
Invision Community 5.0 or newer (self-hosted)
Nothing else — no external service, no API key, no background jobs
IPS5.0.0+
Tag Colours — your tags, finally telling them apart
Invision Community already has tags. What it does not have is any way to make them look like anything. Every tag on your site is the same shape and the same grey, so a topic tagged Solved is visually identical to one tagged Urgent, and members read every label one at a time.
Tag Colours fixes that in about a minute.
Solved Bug Report Feature Request Announcement Off Topic
It builds on the tags you already have
This is not a replacement tag system. There is nothing to migrate, no second set of labels to maintain, and no new way for your members to tag things. It reads the tags already on your community and lets you pick a colour for each one.
Because it works with the built-in system, the colours turn up everywhere tags already appear — topic view, topic lists, search results, tag pages, and the Blogs, Calendar and Pages applications too.
Setting it up
The admin screen lists every tag actually in use on your community, most-used first, with a note of how many items carry it. Click a tag, pick a colour, done.
Or click Colour them for me and every uncoloured tag is given a distinct colour from a readable palette — a sensible starting point you can then adjust. It never overwrites a colour you chose yourself, and it will not hand two tags the same colour.
Three styles
Solid — the tag is filled with your colour
Soft — a tinted background with coloured text, for a lighter touch
Outline — a coloured border and text on a transparent background
Pick one and it applies to every coloured tag, so your tags stay consistent with each other whatever your theme looks like.
Readable by default
Choose a tag colour and the text colour is worked out for you, using the same contrast maths the accessibility guidelines use — dark text on light colours, light text on dark ones. You never end up with a yellow tag nobody can read. If you want to override it on a particular tag, you can.
Built to stay out of the way
No core files are edited and no templates are overridden, so upgrading Invision Community will not break it and will not undo your work.
One small stylesheet is added to the page, cached permanently by the browser and only re-fetched when you actually change a colour. There is no JavaScript and no per-page work.
Turning it off restores your theme's own tag styling immediately — and keeps your colour choices, so turning it back on picks up where you left off.
Uninstalling leaves no trace. Your tags are Invision Community's tags; only the colours belong to this application.
Requirements
Invision Community 5.0 or newer (self-hosted)
Nothing else — no external service, no API key, no background jobs
Topic Summary — 108 minutes of thread, in 8
Every busy community has them: the 200-post thread nobody new will ever read. Topic Summary offers a short version built from the posts that actually mattered, so a newcomer can catch up in minutes instead of bouncing off a wall of replies.
Your topics are never altered. Nothing is deleted, nothing is hidden — it is simply an alternative way to read.
What your members see
On any topic long enough to warrant it, a quiet banner appears above the posts:
"This topic contains 154 posts and takes about 108 minutes to read. A summary of the most significant posts takes about 8 minutes."
One click and they get those posts, in the order they were written, with the opening post and the accepted answer clearly marked, and honest "19 posts skipped" markers between them so the conversation still makes sense. Every post links back to its place in the full topic.
How the significant posts are chosen
Significance blends two kinds of signal, which matters more than it sounds:
Engagement — reactions, quotes, "helpful" marks, featured posts, and the accepted answer
Structure — the opening post, how substantial a post is relative to the rest of that topic, and the topic starter returning with an update
Short "thanks" and "+1" replies are pushed down. The opening post and a marked answer are always included.
Blending both is deliberate. A younger community with few reactions would get nothing useful from an engagement-only score — the structural half means the summary is worth reading from day one.
Honest by design
No banner unless it helps. If the summary would not actually save reading time, nothing is shown.
Nothing is hidden from anyone. The summary only ever shows posts from a topic the member can already read, and always offers the full topic.
Skipped posts are admitted. Gaps are labelled rather than glossed over, so nobody is misled about what they have and have not seen.
What you control
How many posts a topic needs before a summary is offered
How many posts a summary contains
The reading speed used for the estimates
Turn the whole thing off at any time — your topics are untouched
The settings screen also shows how many of your topics are currently long enough to qualify, so you can pitch the threshold sensibly.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Nothing else — no external service, no API key, no background jobs to configure
Summaries are worked out on demand and nothing is stored, so there is no index to build and nothing to keep in sync.
It is upgrade-safe — it reads Invision Community's own data and never edits a single core file.
IPS5.0.0+
Topic Summary — 108 minutes of thread, in 8
Every busy community has them: the 200-post thread nobody new will ever read. Topic Summary offers a short version built from the posts that actually mattered, so a newcomer can catch up in minutes instead of bouncing off a wall of replies.
Your topics are never altered. Nothing is deleted, nothing is hidden — it is simply an alternative way to read.
What your members see
On any topic long enough to warrant it, a quiet banner appears above the posts:
"This topic contains 154 posts and takes about 108 minutes to read. A summary of the most significant posts takes about 8 minutes."
One click and they get those posts, in the order they were written, with the opening post and the accepted answer clearly marked, and honest "19 posts skipped" markers between them so the conversation still makes sense. Every post links back to its place in the full topic.
How the significant posts are chosen
Significance blends two kinds of signal, which matters more than it sounds:
Engagement — reactions, quotes, "helpful" marks, featured posts, and the accepted answer
Structure — the opening post, how substantial a post is relative to the rest of that topic, and the topic starter returning with an update
Short "thanks" and "+1" replies are pushed down. The opening post and a marked answer are always included.
Blending both is deliberate. A younger community with few reactions would get nothing useful from an engagement-only score — the structural half means the summary is worth reading from day one.
Honest by design
No banner unless it helps. If the summary would not actually save reading time, nothing is shown.
Nothing is hidden from anyone. The summary only ever shows posts from a topic the member can already read, and always offers the full topic.
Skipped posts are admitted. Gaps are labelled rather than glossed over, so nobody is misled about what they have and have not seen.
What you control
How many posts a topic needs before a summary is offered
How many posts a summary contains
The reading speed used for the estimates
Turn the whole thing off at any time — your topics are untouched
The settings screen also shows how many of your topics are currently long enough to qualify, so you can pitch the threshold sensibly.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Nothing else — no external service, no API key, no background jobs to configure
Summaries are worked out on demand and nothing is stored, so there is no index to build and nothing to keep in sync.
It is upgrade-safe — it reads Invision Community's own data and never edits a single core file.
Quests — give your members something to chase
New members join, look around, and drift away because nothing tells them what to do next. Quests gives them a clear path: a set of goals, visible progress, and a reward when they finish.
Set up a quest once and it works retroactively — members who have been around for years see their real progress the moment you publish it.
How it works
Create a quest, then add the steps a member has to complete. A Getting Started quest might be: make 5 posts and upload a profile photo. A Community Regular quest might be: 100 posts, 5 topics started, 30 days as a member, and 10 reactions received.
Members see a board showing every quest, a progress bar, and a tick-list of the steps with their own numbers beside each one. There is nothing to claim and no button to press — progress updates as they take part, and rewards arrive on their own.
Eight goals to build from
Posts made
Topics started
Reactions received
Reactions given
Days as a member
Achievement points earned
Followers gained
Profile photo uploaded
Every one of these is read from activity your community already records. Nothing new is tracked, nothing needs backfilling, and switching the app on costs you no data.
Rewards that actually count
Finishing a quest awards your community's own achievement points and, if you like, an existing badge. Quest rewards flow straight into ranks, profiles and leaderboards — they are not a separate scoreboard sitting off to one side.
Each quest pays out exactly once. The completion is recorded before the reward is issued, so a member can never be paid twice.
What you control
Title, description and icon for each quest
Any number of steps, in the order you choose
How many achievement points completing it is worth
Which badge to award, if any
Whether the board is visible to signed-out visitors
Enable or disable a quest without deleting it
The admin screen shows how many members have finished each quest, so you can see which goals are landing and which are pitched too high.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Nothing else — no external service, no API key, no extra infrastructure
Built to stay out of the way
Progress is recalculated when a member posts, when they open the board, and by a nightly background task that catches time-based goals like "member for 30 days". Quest bookkeeping is wrapped so it can never interfere with someone posting.
It is upgrade-safe — it reads Invision Community's own data and never edits a single core file.
IPS5.0.0+
Quests — give your members something to chase
New members join, look around, and drift away because nothing tells them what to do next. Quests gives them a clear path: a set of goals, visible progress, and a reward when they finish.
Set up a quest once and it works retroactively — members who have been around for years see their real progress the moment you publish it.
How it works
Create a quest, then add the steps a member has to complete. A Getting Started quest might be: make 5 posts and upload a profile photo. A Community Regular quest might be: 100 posts, 5 topics started, 30 days as a member, and 10 reactions received.
Members see a board showing every quest, a progress bar, and a tick-list of the steps with their own numbers beside each one. There is nothing to claim and no button to press — progress updates as they take part, and rewards arrive on their own.
Eight goals to build from
Posts made
Topics started
Reactions received
Reactions given
Days as a member
Achievement points earned
Followers gained
Profile photo uploaded
Every one of these is read from activity your community already records. Nothing new is tracked, nothing needs backfilling, and switching the app on costs you no data.
Rewards that actually count
Finishing a quest awards your community's own achievement points and, if you like, an existing badge. Quest rewards flow straight into ranks, profiles and leaderboards — they are not a separate scoreboard sitting off to one side.
Each quest pays out exactly once. The completion is recorded before the reward is issued, so a member can never be paid twice.
What you control
Title, description and icon for each quest
Any number of steps, in the order you choose
How many achievement points completing it is worth
Which badge to award, if any
Whether the board is visible to signed-out visitors
Enable or disable a quest without deleting it
The admin screen shows how many members have finished each quest, so you can see which goals are landing and which are pitched too high.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
Nothing else — no external service, no API key, no extra infrastructure
Built to stay out of the way
Progress is recalculated when a member posts, when they open the board, and by a nightly background task that catches time-based goals like "member for 30 days". Quest bookkeeping is wrapped so it can never interfere with someone posting.
It is upgrade-safe — it reads Invision Community's own data and never edits a single core file.
Give your community a pulse. Trending adds a placeable block that surfaces the topics gaining momentum right now — ranked by recent replies and reactions, with time decay so fresh bursts rise and stale-but-busy threads step aside. It's the "what's hot" list your members expect from modern platforms, running entirely on your own server.
Why you'll want it
Recency-weighted, not just a reply count. A scoring formula blends recent replies, recent reactions, and how long ago the last activity happened — so the list feels alive, not like an all-time leaderboard.
Place it anywhere. Drop the Trending block into any sidebar or block area with the block manager — forum index, a Pages page, wherever your members look.
Tune it to your community. Time window, reply/reaction weights, and a "gravity" time-decay control are all adjustable from the AdminCP. Fast-moving community? Tighten the window. Quiet niche? Widen it.
Privacy-aware. Only lists topics a guest can see, so nothing from private forums leaks into a public block.
Zero maintenance. A lightweight background task refreshes the list on Invision Community's existing task runner. No extra services, no cron to set up.
Upgrade-safe. Reads Invision Community's own forum data and never edits core files, so IPS updates won't break it.
How it works
Every ~20 minutes a background task scores recent topic activity and caches a ranked list. The block renders that list instantly — light on every page load, always current.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
No third-party services; uses the task runner you already have
IPS5.0.0+
Give your community a pulse. Trending adds a placeable block that surfaces the topics gaining momentum right now — ranked by recent replies and reactions, with time decay so fresh bursts rise and stale-but-busy threads step aside. It's the "what's hot" list your members expect from modern platforms, running entirely on your own server.
Why you'll want it
Recency-weighted, not just a reply count. A scoring formula blends recent replies, recent reactions, and how long ago the last activity happened — so the list feels alive, not like an all-time leaderboard.
Place it anywhere. Drop the Trending block into any sidebar or block area with the block manager — forum index, a Pages page, wherever your members look.
Tune it to your community. Time window, reply/reaction weights, and a "gravity" time-decay control are all adjustable from the AdminCP. Fast-moving community? Tighten the window. Quiet niche? Widen it.
Privacy-aware. Only lists topics a guest can see, so nothing from private forums leaks into a public block.
Zero maintenance. A lightweight background task refreshes the list on Invision Community's existing task runner. No extra services, no cron to set up.
Upgrade-safe. Reads Invision Community's own forum data and never edits core files, so IPS updates won't break it.
How it works
Every ~20 minutes a background task scores recent topic activity and caches a ranked list. The block renders that list instantly — light on every page load, always current.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
No third-party services; uses the task runner you already have
Bring the "live" experience of the big platforms to your self-hosted community — without paying for a cloud subscription. Realtime makes topics feel alive: new posts appear the instant they're written, members can see who's in the room, and a typing indicator lets conversations flow like chat. It all runs on your own server, with no third-party service in the loop.
Three features, one lightweight app
⚡ Live Topics — New replies and reactions arrive the moment they're posted. Instead of hammering refresh, members get a tasteful "3 new replies" bar that loads the latest with a tap.
👀 Real-Time Viewing — A live "…is also here" presence pill sits by the topic title, showing who else is reading this very second. It turns a quiet thread into a room.
⌨️ Real-Time Typing — When someone starts writing a reply, everyone else sees a subtle "…is typing" indicator. Fewer duplicate posts, and the natural rhythm people expect from modern chat.
Why members and admins love it
Instant, no refresh over a persistent WebSocket connection
Runs entirely on your infrastructure — no SaaS, no per-seat pricing, no data leaving your servers
Never gets in the way — if the service is down, the community keeps working; realtime just pauses
Upgrade-safe — listens to IPS content events, never edits core files
Light on resources — a tiny Node.js process handling thousands of concurrent readers
IPS5.0.0+
Bring the "live" experience of the big platforms to your self-hosted community — without paying for a cloud subscription. Realtime makes topics feel alive: new posts appear the instant they're written, members can see who's in the room, and a typing indicator lets conversations flow like chat. It all runs on your own server, with no third-party service in the loop.
Three features, one lightweight app
⚡ Live Topics — New replies and reactions arrive the moment they're posted. Instead of hammering refresh, members get a tasteful "3 new replies" bar that loads the latest with a tap.
👀 Real-Time Viewing — A live "…is also here" presence pill sits by the topic title, showing who else is reading this very second. It turns a quiet thread into a room.
⌨️ Real-Time Typing — When someone starts writing a reply, everyone else sees a subtle "…is typing" indicator. Fewer duplicate posts, and the natural rhythm people expect from modern chat.
Why members and admins love it
Instant, no refresh over a persistent WebSocket connection
Runs entirely on your infrastructure — no SaaS, no per-seat pricing, no data leaving your servers
Never gets in the way — if the service is down, the community keeps working; realtime just pauses
Upgrade-safe — listens to IPS content events, never edits core files
Light on resources — a tiny Node.js process handling thousands of concurrent readers
Typesense Search — instant results, typos forgiven
Community search should feel like the search bar on a modern app: results the moment you start typing, and the right answer even when the word is misspelled. Typesense Search brings that to Invision Community, powered by the open-source Typesense engine running on your own server.
Typical searches return in under 50 milliseconds — on a test community, 2ms.
What your members get
Typo tolerance. Search for "instalation" and still find every post about installation. Adjustable from forgiving to exact.
Instant results. Matching content appears as they type, before they press enter.
Filter by content type. Topics, posts, files, gallery images, blog entries — counted and filtered in a sidebar, so a busy result set narrows in one click.
Highlighted matches. Results show the phrase in context with the matched words marked, so members can see at a glance which result they want.
What you get
It indexes everything, automatically. Rather than hooking each application one by one, the app mirrors Invision Community's own search index — so every content type your community has installed is covered, including ones you add later.
Permissions are never guessed. Each document carries Invision Community's own permission tokens, and every search is filtered against the member's real access. Members see exactly what they are allowed to see and nothing more.
Keeps itself in sync. A background task pushes new and updated content every few minutes, removes content that has been deleted, and can rebuild the whole collection on demand.
A status panel that tells the truth. Connection state, Typesense version, documents indexed versus documents available, and time of last sync — all on one screen.
Your community keeps working
This app runs alongside your community's built-in search rather than replacing its internals. Switch on Use for the main search page and members who search are taken to the Typesense results page; switch it off and everything reverts to stock instantly. If the Typesense server is ever unavailable, your community carries on exactly as before.
That also means it is completely upgrade-safe: no core file is modified, so an Invision Community update can't break it and can't silently switch it off.
Requirements
Invision Community 5.0 or newer (self-hosted)
A Typesense server reachable from your community — it runs comfortably in a single small Docker container alongside your site, or on Typesense Cloud
An admin API key for that Typesense server
Setup is a few minutes: point the app at your server, save, and press Rebuild collection.
Why Typesense
Invision Community ships with MySQL search and supports Elasticsearch. Typesense sits between them — dramatically faster and more forgiving than MySQL, while being far lighter to run than Elasticsearch. It is open source, it is a single binary, and it will happily run in a few hundred megabytes of memory next to your community.
IPS5.0.0+
Typesense Search — instant results, typos forgiven
Community search should feel like the search bar on a modern app: results the moment you start typing, and the right answer even when the word is misspelled. Typesense Search brings that to Invision Community, powered by the open-source Typesense engine running on your own server.
Typical searches return in under 50 milliseconds — on a test community, 2ms.
What your members get
Typo tolerance. Search for "instalation" and still find every post about installation. Adjustable from forgiving to exact.
Instant results. Matching content appears as they type, before they press enter.
Filter by content type. Topics, posts, files, gallery images, blog entries — counted and filtered in a sidebar, so a busy result set narrows in one click.
Highlighted matches. Results show the phrase in context with the matched words marked, so members can see at a glance which result they want.
What you get
It indexes everything, automatically. Rather than hooking each application one by one, the app mirrors Invision Community's own search index — so every content type your community has installed is covered, including ones you add later.
Permissions are never guessed. Each document carries Invision Community's own permission tokens, and every search is filtered against the member's real access. Members see exactly what they are allowed to see and nothing more.
Keeps itself in sync. A background task pushes new and updated content every few minutes, removes content that has been deleted, and can rebuild the whole collection on demand.
A status panel that tells the truth. Connection state, Typesense version, documents indexed versus documents available, and time of last sync — all on one screen.
Your community keeps working
This app runs alongside your community's built-in search rather than replacing its internals. Switch on Use for the main search page and members who search are taken to the Typesense results page; switch it off and everything reverts to stock instantly. If the Typesense server is ever unavailable, your community carries on exactly as before.
That also means it is completely upgrade-safe: no core file is modified, so an Invision Community update can't break it and can't silently switch it off.
Requirements
Invision Community 5.0 or newer (self-hosted)
A Typesense server reachable from your community — it runs comfortably in a single small Docker container alongside your site, or on Typesense Cloud
An admin API key for that Typesense server
Setup is a few minutes: point the app at your server, save, and press Rebuild collection.
Why Typesense
Invision Community ships with MySQL search and supports Elasticsearch. Typesense sits between them — dramatically faster and more forgiving than MySQL, while being far lighter to run than Elasticsearch. It is open source, it is a single binary, and it will happily run in a few hundred megabytes of memory next to your community.
AI Assistant — support that answers while you sleep
Your members ask the same questions at 2am that you answer every morning. AI Assistant replies for you. Mention its account in any topic and it answers in seconds — grounded in your own community's content, in your own words, on your own terms.
It runs on your API key with your provider. No subscription to us, no per-seat pricing, no member data passing through a third party.
What it does
Answers @mentions. A member mentions the bot account in a topic and gets a real reply, posted as a real member — notifications, search indexing and counters all behave exactly as they should.
Learns from your community. Optional knowledge retrieval pulls the most relevant passages from elsewhere on your forum and gives them to the model before it answers, so replies cite what your community already knows instead of guessing.
Captures bugs and suggestions. Every answered post is classified. Bug reports and feature requests land in a triage queue in your AdminCP — and, above a confidence threshold you set, are filed straight to GitHub as issues with the forum permalink attached.
Shows you exactly what it costs. Every call is logged with token counts and real dollar cost, with a monthly budget cap that stops the assistant when it's reached.
You stay in control
Persona and house rules. A free-text field that shapes every answer — who the assistant is, what your community is about, what it must never say, and when to escalate to a human.
Choose your forums. Pick exactly which forums it answers in. Leave it unselected for all of them.
Choose your model. Anthropic (Claude) or any OpenAI-compatible endpoint — OpenAI, OpenRouter, Groq, Azure, or a model you host yourself.
Never guesses out loud. The assistant is instructed to say plainly when it doesn't know, and to ask for the detail it needs rather than inventing a setting or a version number.
Knowledge retrieval, three ways
Off — answers from the current topic alone.
Keyword — searches your community with MySQL full-text. Needs no extra API key and works the moment you switch it on.
Semantic — true meaning-based retrieval using Voyage AI or any OpenAI-compatible embeddings endpoint. Finds the right answer even when the member's words don't match your wording.
Semantic mode degrades gracefully: if the embeddings key is missing or the service is unreachable, it quietly falls back to keyword search rather than answering with nothing. New and edited posts are indexed automatically, and a background job builds the index for your existing content in batches.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
An API key from Anthropic, OpenAI, or any OpenAI-compatible provider
Optional: a Voyage AI or OpenAI embeddings key for semantic retrieval
Optional: a GitHub token if you want bug reports filed automatically
Built to be safe
Slow model calls run in the background, so a member's post is never held up waiting for an answer, and a failed call never blocks a reply. The assistant will not answer its own posts, will not answer the same post twice, and stops entirely once your monthly budget is reached. It is upgrade-safe — it listens to Invision Community's own content events and never edits a single core file.
IPS5.0.0+
AI Assistant — support that answers while you sleep
Your members ask the same questions at 2am that you answer every morning. AI Assistant replies for you. Mention its account in any topic and it answers in seconds — grounded in your own community's content, in your own words, on your own terms.
It runs on your API key with your provider. No subscription to us, no per-seat pricing, no member data passing through a third party.
What it does
Answers @mentions. A member mentions the bot account in a topic and gets a real reply, posted as a real member — notifications, search indexing and counters all behave exactly as they should.
Learns from your community. Optional knowledge retrieval pulls the most relevant passages from elsewhere on your forum and gives them to the model before it answers, so replies cite what your community already knows instead of guessing.
Captures bugs and suggestions. Every answered post is classified. Bug reports and feature requests land in a triage queue in your AdminCP — and, above a confidence threshold you set, are filed straight to GitHub as issues with the forum permalink attached.
Shows you exactly what it costs. Every call is logged with token counts and real dollar cost, with a monthly budget cap that stops the assistant when it's reached.
You stay in control
Persona and house rules. A free-text field that shapes every answer — who the assistant is, what your community is about, what it must never say, and when to escalate to a human.
Choose your forums. Pick exactly which forums it answers in. Leave it unselected for all of them.
Choose your model. Anthropic (Claude) or any OpenAI-compatible endpoint — OpenAI, OpenRouter, Groq, Azure, or a model you host yourself.
Never guesses out loud. The assistant is instructed to say plainly when it doesn't know, and to ask for the detail it needs rather than inventing a setting or a version number.
Knowledge retrieval, three ways
Off — answers from the current topic alone.
Keyword — searches your community with MySQL full-text. Needs no extra API key and works the moment you switch it on.
Semantic — true meaning-based retrieval using Voyage AI or any OpenAI-compatible embeddings endpoint. Finds the right answer even when the member's words don't match your wording.
Semantic mode degrades gracefully: if the embeddings key is missing or the service is unreachable, it quietly falls back to keyword search rather than answering with nothing. New and edited posts are indexed automatically, and a background job builds the index for your existing content in batches.
Requirements
Invision Community 5.0 or newer (self-hosted), with the Forums application
An API key from Anthropic, OpenAI, or any OpenAI-compatible provider
Optional: a Voyage AI or OpenAI embeddings key for semantic retrieval
Optional: a GitHub token if you want bug reports filed automatically
Built to be safe
Slow model calls run in the background, so a member's post is never held up waiting for an answer, and a failed call never blocks a reply. The assistant will not answer its own posts, will not answer the same post twice, and stops entirely once your monthly budget is reached. It is upgrade-safe — it listens to Invision Community's own content events and never edits a single core file.

Top Developers

Last reviews

Applications Directory

A complete and convenient directory of applications for Invision Community, with categorization and sorting options.

Ratings and feedback

Only verified and trusted reviews!

Add new Application

Any developer can add their application to this directory.

You need to create account

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.