Skip to content

Message Moderation

Message Moderation checks direct messages in Voxel's Messages (VX) inbox in real time, before the message is created. A flagged message can notify an administrator, be blocked from sending, or both.

Not the same as Messages Admin

This function screens messages as they're sent. Messages Admin is the admin screen for browsing and moderating messages after the fact. They're independent and can be used together.

Setup

  1. Go to Voxel Toolkit → Functions
  2. Find Message Moderation and toggle it on
  3. Open its settings and configure the checks below

The two checks

A message is flagged if either check matches. They work independently — use one or both.

Keyword list

A line-by-line list of words or phrases. Matching is case-insensitive and looks anywhere in the message.

Useful for phone numbers, competitor names, or specific phrases you know are used to move a conversation off-platform.

AI check

A plain-language description of what to flag, sent to the provider configured in AI Settings. For example:

Flag messages that attempt to arrange payment or contact outside the platform, contain harassment, or look like a scam.

The AI check understands intent and paraphrasing, so it catches attempts a keyword list can't anticipate. It costs an API call per message, so on a busy site consider using the keyword list as the first line and the AI check for tone or intent.

Configure AI Settings first

The AI check stays inert until an AI provider is configured. See AI Settings.

What happens when a message is flagged

ActionEffect
Notify adminFires an App Event; the message still sends
Block messageThe message is never created and the sender sees a notice
BothThe message is blocked and an admin is notified

The message shown to a blocked sender is configurable, and deliberately generic — it never reveals which keyword or rule matched, so senders can't probe the list by trial and error.

The admin notification

The notification is a real Voxel App Event: "Voxel Toolkit: Message flagged by moderation", under Voxel → App Events. Recipient, in-app notification and email subject and body are all editable there.

Dynamic tags available in the notification:

TagReturns
SenderWho sent the message
ReceiverWho it was addressed to
ReasonWhat matched
Detection sourceWhether the keyword list or the AI check flagged it
ContentThe message text

Notes

  • Screening runs before the message is stored, so a blocked message leaves no record in the conversation.
  • Both checks run on the message body. Attachments are not inspected.
  • With no keywords entered and no AI prompt set, nothing is flagged and the function is inert.

Built by Code Wattz.