Trace documentationRoblox moderation & administration

Trace.Notify - Send Notifications to Players from a Server Script

Send informational, important, and critical notifications to a specific player from a trusted server script using Trace.Notify and its variants.

Trace.Notify delivers a Trace-styled notification card to a single player. Trusted server scripts can use it to surface information, escalate an important message, or deliver a critical alert that plays a sound and never dismisses silently. Notifications are subject to the recipient's Do Not Disturb preference - critical alerts always deliver.

Signature

Trace.Notify(player, title, description, duration, alertType)
Trace.NotifyImportant(player, title, description, duration)
Trace.CriticalAlert(player, title, description, duration)

Parameters

playerPlayerrequired

The recipient of the notification. Must be a Player instance currently in the server.

titlestringrequired

The bold heading shown at the top of the notification card. Keep it short - the panel truncates long titles.

descriptionstringrequired

The body text of the notification. Multi-line strings are supported.

durationnumber

How long the card stays visible, in seconds. Defaults to 5 for normal notifications, 7 for important, and 10 for critical.

alertTypestring

Passed only to Trace.Notify. Accepts "Normal" (default), "Important", or "Critical". Use the dedicated helpers NotifyImportant and CriticalAlert for readability.

Alert types

Alert typeSoundDo Not DisturbUse case
NormalSilent when the player has disabled notification sounds; a gentle chime otherwise.Suppressed.Confirmations, tips, non-urgent status.
ImportantSame chime as normal, but with a highlighted card.Suppressed.Player-visible warnings, moderator alerts.
CriticalLoud critical alert sound; card is highlighted red.Always delivered.Security incidents, forced-review situations.

Examples

Inform a player after a purchase

local Trace = _G.Trace

MarketplaceService.ProcessReceipt = function(receipt)
    local player = Players:GetPlayerByUserId(receipt.PlayerId)
    if player then
        Trace.Notify(player, "Purchase confirmed",
            "Your VIP pass is now active. Enjoy the perks!", 6)
    end
    return Enum.ProductPurchaseDecision.PurchaseGranted
end

Surface an important account message

local Trace = _G.Trace
Trace.NotifyImportant(player,
    "Session recovered",
    "Your progress was restored after a temporary DataStore issue.", 8)

Deliver a critical security alert

local Trace = _G.Trace
Trace.CriticalAlert(player,
    "Suspicious sign-in",
    "A moderator needs to speak with you. Please stay in the lobby.", 12)

Return value

Notification helpers do not return a value. If the target player leaves before the notification is delivered, the call is a safe no-op.