Back to Customizer

Custom Alert Text Guide

Overview

You can customize the text displayed on your alerts by creating a JSON file and hosting it on Pastebin (or similar service). This allows you to personalize the header and description text for each alert type.

How It Works

  1. Create a JSON file with your custom text
  2. Upload it to Pastebin.com
  3. Copy the raw URL (e.g., https://pastebin.com/raw/XXXXXXXX)
  4. Paste it in the "Custom Alert Text" field in the customizer
  5. Generate your overlay URL

User-Specific Theme Overrides

You can assign specific themes to individual users. When these users trigger any alert (follow, sub, bits, etc.), their alerts will use their assigned theme instead of the default.

Configuration

{
    "userOverrides": {
        "krookediles": "xboxachievement",
        "rod_legion": "xboxachievement"
    },
    "ps5trophy": {
        ...
    },
    "xboxachievement": {
        ...
    }
}

How It Works

Example Use Cases

Note: Usernames are matched case-insensitively. "Krookediles", "KROOKEDILES", and "krookediles" will all match.

JSON Template

Copy this template and customize it with your own text. You only need to include the events you want to customize - any missing events will use the default text.

{
    "TwitchFollow": {
        "header": "New Follower!",
        "subtitle": "%username% just followed!"
    },
    "TwitchCheer": {
        "header": "%bits% Bits!",
        "subtitle": "%username% cheered %bits% bits!"
    },
    "TwitchSub": {
        "header": "New Subscriber!",
        "subtitle": "%username% subscribed with %tiertext%!"
    },
    "TwitchReSub": {
        "header": "%months% Month Resub!",
        "subtitle": "%username% resubscribed for %months% months!"
    },
    "TwitchGiftedSub": {
        "header": "Gift Sub!",
        "subtitle": "%username% gifted a sub to %recipient%!"
    },
    "TwitchRaid": {
        "header": "Incoming Raid!",
        "subtitle": "%username% is raiding with %viewers% viewers!"
    },
    "YouTubeSuperChat": {
        "header": "Super Chat!",
        "subtitle": "%username% sent %amount%!"
    },
    "YouTubeSuperSticker": {
        "header": "Super Sticker!",
        "subtitle": "%username% sent a sticker!"
    },
    "YouTubeGiftReceived": {
        "header": "Gift Membership!",
        "subtitle": "%gifter% gifted a membership!"
    },
    "YouTubeNewSponsor": {
        "header": "New Sponsor!",
        "subtitle": "%username% became a sponsor!"
    },
    "KickFollow": {
        "header": "New Follower!",
        "subtitle": "%username% followed on Kick!"
    },
    "KickSubscription": {
        "header": "New Sub!",
        "subtitle": "%username% subscribed on Kick!"
    },
    "KickResubscription": {
        "header": "%months% Month Resub!",
        "subtitle": "%username% resubbed for %months% months!"
    },
    "KickMassGiftSubscription": {
        "header": "Gift Subs!",
        "subtitle": "%username% gifted subscriptions!"
    },
    "KofiDonation": {
        "header": "Ko-fi Donation!",
        "subtitle": "%from% donated %amount% %currency%!"
    },
    "KofiSubscription": {
        "header": "Ko-fi Member!",
        "subtitle": "%from% subscribed on Ko-fi!"
    },
    "KofiResubscription": {
        "header": "Ko-fi Resub!",
        "subtitle": "%from% resubscribed with %tier%!"
    },
    "KofiGiftPurchase": {
        "header": "Ko-fi Gift!",
        "subtitle": "%from% purchased a gift!"
    },
    "KofiShopOrder": {
        "header": "Shop Order!",
        "subtitle": "%from% ordered from the shop!"
    },
    "FourthwallDonation": {
        "header": "Fourthwall Donation!",
        "subtitle": "%from% donated %amount% %currency%!"
    },
    "FourthwallSubscriptionPurchased": {
        "header": "Fourthwall Sub!",
        "subtitle": "%from% purchased a subscription!"
    },
    "FourthwallGiftPurchase": {
        "header": "Fourthwall Gift!",
        "subtitle": "%from% purchased a gift!"
    },
    "FourthwallOrderPlaced": {
        "header": "Fourthwall Order!",
        "subtitle": "%from% placed an order!"
    },
    "FourthwallThankYouSent": {
        "header": "Thank You!",
        "subtitle": "%from% sent a thank you!"
    },
    "PatreonPledgeCreated": {
        "header": "New Patron!",
        "subtitle": "%from% pledged %amount%!"
    },
    "StreamlabsDonation": {
        "header": "Donation!",
        "subtitle": "%from% donated %amount% %currency%!"
    },
    "StreamElementsTip": {
        "header": "Tip!",
        "subtitle": "%from% tipped %amount%!"
    }
}

PS5 Trophy Theme Options

For the PS5 Trophy theme, you can customize the trophy color and image:

Simple Trophy Color

{
    "TwitchFollow": {
        "header": "New Follower!",
        "subtitle": "%username% followed!",
        "trophyColor": "bronze"
    },
    "TwitchSub": {
        "header": "New Subscriber!",
        "subtitle": "%username% subscribed!",
        "trophyColor": "gold",
        "customImage": "https://example.com/my-custom-image.png"
    }
}

Conditional Trophy Colors

You can set trophy colors based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": "%bits% Bits!",
        "subtitle": "%username% cheered!",
        "trophyColor": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "color": "platinum" },
                { "min": 5000, "color": "gold" },
                { "min": 1000, "color": "silver" },
                { "default": "bronze" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": "New Sub!",
        "subtitle": "%username% subscribed with %tiertext%!",
        "trophyColor": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "color": "platinum" },
                { "equals": "Tier 2", "color": "gold" },
                { "equals": "Tier 1", "color": "silver" },
                { "equals": "Prime", "color": "bronze" },
                { "default": "bronze" }
            ]
        }
    }
}

Based on Raid Viewers

{
    "TwitchRaid": {
        "header": "Incoming Raid!",
        "subtitle": "%username% raided with %viewers% viewers!",
        "trophyColor": {
            "variable": "viewers",
            "rules": [
                { "min": 1000, "color": "platinum" },
                { "min": 100, "color": "gold" },
                { "min": 25, "color": "silver" },
                { "default": "bronze" }
            ]
        }
    }
}

Conditional Header & Subtitle

You can also make the header and subtitle change based on values:

Based on Bits Amount

{
    "TwitchCheer": {
        "header": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": "MASSIVE BIT BOMB!" },
                { "min": 1000, "text": "Huge Cheer!" },
                { "min": 100, "text": "Nice Cheer!" },
                { "default": "Thanks for the bits!" }
            ]
        },
        "subtitle": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": "%username% dropped %bits% bits! INSANE!" },
                { "min": 1000, "text": "%username% cheered %bits% bits!" },
                { "default": "%username% cheered %bits% bits!" }
            ]
        },
        "trophyColor": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "color": "platinum" },
                { "min": 1000, "color": "gold" },
                { "min": 100, "color": "silver" },
                { "default": "bronze" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "LEGENDARY SUB!" },
                { "equals": "Tier 2", "text": "Epic Subscriber!" },
                { "equals": "Tier 1", "text": "New Subscriber!" },
                { "equals": "Prime", "text": "Prime Gaming!" },
                { "default": "New Subscriber!" }
            ]
        },
        "subtitle": "%username% subscribed with %tiertext%!",
        "trophyColor": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "color": "platinum" },
                { "equals": "Tier 2", "color": "gold" },
                { "equals": "Tier 1", "color": "silver" },
                { "equals": "Prime", "color": "bronze" },
                { "default": "bronze" }
            ]
        }
    }
}

Rule Types

Rule Description Example (color) Example (text)
"min": number Value must be >= this number { "min": 1000, "color": "gold" } { "min": 1000, "text": "Huge!" }
"equals": value Value must equal exactly { "equals": "Prime", "color": "bronze" } { "equals": "Prime", "text": "Prime Sub!" }
"default" Fallback if no other rules match { "default": "bronze" } { "default": "Thanks!" }
Important: Rules are evaluated from top to bottom. For min rules, put the highest values first!

Trophy Colors

Color Sound
bronze Default trophy sound
silver Default trophy sound
gold Default trophy sound
platinum Platinum trophy sound
Custom Image: Use customImage to override the default platform icon with your own image URL. Images are automatically proxied through DuckDuckGo to bypass CORS.

Xbox Achievement Theme Options

For the Xbox Achievement theme, you can customize the gamerscore, isRare, and themeColor:

Simple Theme Color

{
    "TwitchFollow": {
        "header": "%username% Followed!",
        "gamerscore": "25",
        "themeColor": "blue"
    },
    "TwitchSub": {
        "header": "%username% Subscribed!",
        "gamerscore": "100",
        "isRare": true,
        "themeColor": "purple"
    }
}

Conditional Theme Colors

You can set theme colors based on variable values using rules (same format as PS5 trophy colors):

Based on Bits

{
    "TwitchCheer": {
        "header": "%bits% Bits!",
        "gamerscore": "50",
        "themeColor": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "color": "purple" },
                { "min": 5000, "color": "pink" },
                { "min": 1000, "color": "blue" },
                { "default": "green" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": "New Sub!",
        "gamerscore": "100",
        "themeColor": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "color": "purple" },
                { "equals": "Tier 2", "color": "blue" },
                { "equals": "Tier 1", "color": "green" },
                { "equals": "Prime", "color": "yellow" },
                { "default": "green" }
            ]
        }
    }
}

Available Colors

Color Text Color Description
green White Default Xbox green
blue White Xbox blue
pink White Vibrant pink
yellow Black Bright yellow
orange White Warm orange
purple White Rich purple
brown White Earthy brown
black White Dark black
white Black Clean white (icons inverted)
red White Vibrant red
grey White Neutral grey
coral White Warm coral/salmon
lightblue White Sky blue
darkblue White Deep navy blue
Note: Setting "isRare": true will trigger the rare achievement animation and sound.

RPG Quest Theme Options

For the RPG Quest theme, you can customize the questRarity and title fields. This theme uses a fantasy RPG aesthetic with rarity-based colors.

Simple Quest Rarity

{
    "TwitchFollow": {
        "header": "Quest Update",
        "title": "%username%",
        "subtitle": "Has joined the party!",
        "questRarity": "common"
    },
    "TwitchSub": {
        "header": "New Ally!",
        "title": "%username%",
        "subtitle": "Pledged allegiance!",
        "questRarity": "rare"
    }
}

Conditional Quest Rarity

You can set quest rarity based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": "Treasure Received!",
        "title": "%username%",
        "subtitle": "Donated %bits% gold coins!",
        "questRarity": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "rarity": "legendary" },
                { "min": 1000, "rarity": "epic" },
                { "min": 100, "rarity": "rare" },
                { "min": 10, "rarity": "uncommon" },
                { "default": "common" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "Legendary Ally!" },
                { "equals": "Tier 2", "text": "Epic Warrior!" },
                { "equals": "Tier 1", "text": "New Companion!" },
                { "equals": "Prime", "text": "Royal Decree!" },
                { "default": "New Ally!" }
            ]
        },
        "title": "%username%",
        "subtitle": "Pledged allegiance with %tiertext%!",
        "questRarity": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "rarity": "legendary" },
                { "equals": "Tier 2", "rarity": "epic" },
                { "equals": "Tier 1", "rarity": "rare" },
                { "equals": "Prime", "rarity": "uncommon" },
                { "default": "uncommon" }
            ]
        }
    }
}

Based on Resub Months

{
    "TwitchReSub": {
        "header": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": "Legendary Hero!" },
                { "min": 24, "text": "Epic Warrior!" },
                { "min": 12, "text": "Veteran Knight!" },
                { "min": 6, "text": "Trusted Ally!" },
                { "default": "Loyal Companion!" }
            ]
        },
        "title": "%username%",
        "subtitle": "%months% moons of loyalty!",
        "questRarity": {
            "variable": "months",
            "rules": [
                { "min": 48, "rarity": "legendary" },
                { "min": 24, "rarity": "epic" },
                { "min": 12, "rarity": "rare" },
                { "min": 6, "rarity": "uncommon" },
                { "default": "common" }
            ]
        }
    }
}

Quest Rarity Levels

Rarity Color Sound Animation
common Gold (#d4af37) Default quest sound Standard slide-in
uncommon Green (#32cd32) Default quest sound Standard slide-in
rare Blue (#4169e1) Default quest sound Standard slide-in
epic Purple (#9932cc) Default quest sound Pulse glow effect
legendary Orange (#ff8c00) Legendary quest sound Shimmer effect

RPG Quest Fields

Field Description Example
header Top banner text (e.g., "Quest Update") "header": "New Ally!"
title Main large text (usually username) "title": "%username%"
subtitle Description text below title "subtitle": "Has joined the party!"
questRarity Rarity level (affects color & effects) "questRarity": "legendary"
Tip: The RPG Quest theme uses fantasy-themed language. Consider using terms like "moons" instead of months, "gold coins" instead of bits, and "warriors" instead of viewers for a more immersive experience!

Luxury Theme Options

The Luxury theme features an elegant, minimalist design with gold gradient accents. Perfect for a sophisticated, high-end streaming aesthetic.

Simple Luxury Tier

{
    "TwitchFollow": {
        "header": "New Follower",
        "title": "%username%",
        "subtitle": "Has joined the community",
        "luxuryTier": "gold"
    },
    "TwitchSub": {
        "header": "New Subscriber",
        "title": "%username%",
        "subtitle": "Subscribed with elegance",
        "luxuryTier": "platinum"
    }
}

Conditional Luxury Tiers

You can set luxury tiers based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": "Bits Received",
        "title": "%username%",
        "subtitle": "Cheered %bits% bits",
        "luxuryTier": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "tier": "diamond" },
                { "min": 5000, "tier": "platinum" },
                { "min": 1000, "tier": "gold" },
                { "min": 100, "tier": "rosegold" },
                { "default": "gold" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "Elite Membership" },
                { "equals": "Tier 2", "text": "Premium Membership" },
                { "equals": "Tier 1", "text": "New Subscriber" },
                { "equals": "Prime", "text": "Prime Member" },
                { "default": "New Subscriber" }
            ]
        },
        "title": "%username%",
        "subtitle": "Subscribed with %tiertext%",
        "luxuryTier": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "tier": "diamond" },
                { "equals": "Tier 2", "tier": "platinum" },
                { "equals": "Tier 1", "tier": "gold" },
                { "equals": "Prime", "tier": "rosegold" },
                { "default": "gold" }
            ]
        }
    }
}

Based on Resub Months

{
    "TwitchReSub": {
        "header": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": "Legendary Patron" },
                { "min": 24, "text": "Distinguished Member" },
                { "min": 12, "text": "Esteemed Supporter" },
                { "min": 6, "text": "Valued Member" },
                { "default": "Resubscription" }
            ]
        },
        "title": "%username%",
        "subtitle": "%months% months of support",
        "luxuryTier": {
            "variable": "months",
            "rules": [
                { "min": 48, "tier": "diamond" },
                { "min": 24, "tier": "platinum" },
                { "min": 12, "tier": "gold" },
                { "default": "rosegold" }
            ]
        }
    }
}

Luxury Tier Levels

Tier Color Scheme
gold Warm gold gradient (#bf953f → #fcf6ba)
platinum Silver/white gradient (#c0c0c0 → #ffffff)
diamond Cyan/blue sparkle (#4fc3f7 → #e1f5fe)
rosegold Pink/rose gradient (#b76e79 → #f4d4d8)
emerald Green gradient (#2e7d32 → #a5d6a7)
ruby Red gradient (#c62828 → #ffcdd2)
sapphire Deep blue gradient (#1565c0 → #bbdefb)
amethyst Purple gradient (#7b1fa2 → #e1bee7)

Sound Options

The Luxury theme uses a single sound for all alerts, selectable in the customizer:

Luxury Theme Fields

Field Description Example
header Small caps text at top "header": "New Follower"
title Large main text (usually username) "title": "%username%"
subtitle Small text below divider "subtitle": "Has joined the community"
luxuryTier Tier level (affects color scheme) "luxuryTier": "diamond"
Design Tip: The Luxury theme works best with concise, elegant text. Use formal language and avoid excessive punctuation for a sophisticated look.

GTA V Theme Options

The GTA V theme features the iconic "Mission Passed" style from Grand Theft Auto V. You can customize the header and subtitle text colors using headerColor and subtitleColor.

Simple Color Customization

{
    "TwitchFollow": {
        "header": "FOLLOWER +",
        "subtitle": "%username%",
        "headerColor": "#c9a227",
        "subtitleColor": "#ffffff"
    },
    "TwitchSub": {
        "header": "SUBSCRIPTION +",
        "subtitle": "%username% (%tiertext%)",
        "headerColor": "#00ff00",
        "subtitleColor": "#ffffff"
    }
}

Conditional Header Colors

You can set header colors based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": "LEGENDARY HEIST!" },
                { "min": 5000, "text": "BIG SCORE!" },
                { "min": 1000, "text": "NICE HAUL!" },
                { "default": "CHEERS +" }
            ]
        },
        "subtitle": "%username% (%bits%)",
        "headerColor": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "color": "#ffd700" },
                { "min": 5000, "color": "#00ff00" },
                { "min": 1000, "color": "#4cc9f0" },
                { "default": "#c9a227" }
            ]
        },
        "subtitleColor": "#ffffff"
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "VIP MEMBERSHIP!" },
                { "equals": "Tier 2", "text": "PREMIUM ACCESS!" },
                { "equals": "Tier 1", "text": "SUBSCRIPTION +" },
                { "equals": "Prime", "text": "PRIME TIME!" },
                { "default": "SUBSCRIPTION +" }
            ]
        },
        "subtitle": "%username% (%tiertext%)",
        "headerColor": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "color": "#ffd700" },
                { "equals": "Tier 2", "color": "#00ff00" },
                { "equals": "Tier 1", "color": "#c9a227" },
                { "equals": "Prime", "color": "#9146ff" },
                { "default": "#c9a227" }
            ]
        }
    }
}

Based on Resub Months

{
    "TwitchReSub": {
        "header": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": "4 YEAR VETERAN!" },
                { "min": 24, "text": "2 YEAR LEGEND!" },
                { "min": 12, "text": "1 YEAR ANNIVERSARY!" },
                { "default": "RESPECT +" }
            ]
        },
        "subtitle": "%username% resubbed for %months% months!",
        "headerColor": {
            "variable": "months",
            "rules": [
                { "min": 48, "color": "#ffd700" },
                { "min": 24, "color": "#00ff00" },
                { "min": 12, "color": "#4cc9f0" },
                { "default": "#c9a227" }
            ]
        }
    }
}

GTA V Theme Fields

Field Description Example
header Large title text (e.g., "MISSION PASSED") "header": "RESPECT +"
subtitle Smaller text below the header "subtitle": "%username%"
headerColor Color of the header text (hex code) "headerColor": "#c9a227"
subtitleColor Color of the subtitle text (hex code) "subtitleColor": "#ffffff"

Suggested Colors

Color Hex Value Description
GTA Gold (Default) #c9a227 Classic GTA mission passed gold
Bright Gold #ffd700 For legendary/high-value events
Green #00ff00 Money/success color
Cyan #4cc9f0 Cool accent color
Twitch Purple #9146ff For Prime subs
White #ffffff Default subtitle color
Tip: The GTA V theme also has preset options in the customizer for default header and subtitle colors. JSON overrides will take priority over the preset options for individual events.

ESports Classic Theme Options

The ESports Classic theme features an aggressive, competitive esports design with angled elements, bold colors, and a carbon fiber texture. Perfect for gaming streams with a competitive edge.

Simple Accent Color

{
    "TwitchFollow": {
        "header": "NEW FOLLOWER",
        "title": "%username%",
        "value": "",
        "esportsColor": "red"
    },
    "TwitchSub": {
        "header": "SUBSCRIBER",
        "title": "%username%",
        "value": "TIER 1",
        "esportsColor": "blue"
    }
}

Conditional Accent Colors

You can set accent colors based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": "BITS RECEIVED",
        "title": "%username%",
        "value": "%bits% BITS",
        "esportsColor": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "color": "purple" },
                { "min": 5000, "color": "blue" },
                { "min": 1000, "color": "green" },
                { "min": 100, "color": "yellow" },
                { "default": "red" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "TIER 3 SUB!" },
                { "equals": "Tier 2", "text": "TIER 2 SUB!" },
                { "equals": "Tier 1", "text": "NEW SUB!" },
                { "equals": "Prime", "text": "PRIME SUB!" },
                { "default": "SUBSCRIBER" }
            ]
        },
        "title": "%username%",
        "value": "%tiertext%",
        "esportsColor": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "color": "purple" },
                { "equals": "Tier 2", "color": "blue" },
                { "equals": "Tier 1", "color": "green" },
                { "equals": "Prime", "color": "cyan" },
                { "default": "red" }
            ]
        }
    }
}

Based on Raid Viewers

{
    "TwitchRaid": {
        "header": {
            "variable": "viewers",
            "rules": [
                { "min": 500, "text": "MEGA RAID!" },
                { "min": 200, "text": "MASSIVE RAID!" },
                { "min": 50, "text": "RAID INCOMING!" },
                { "default": "RAIDERS!" }
            ]
        },
        "title": "%username%",
        "value": "%viewers% RAIDERS",
        "esportsColor": {
            "variable": "viewers",
            "rules": [
                { "min": 500, "color": "purple" },
                { "min": 200, "color": "blue" },
                { "min": 50, "color": "green" },
                { "default": "red" }
            ]
        }
    }
}

Custom Background & Accent Colors

You can customize the background and accent colors using hex color codes:

{
    "TwitchFollow": {
        "header": "NEW FOLLOWER",
        "title": "%username%",
        "value": "",
        "esportsColor": "red",
        "esportsBgColor": "#111111",
        "esportsAccentColor": "#ff4655"
    }
}

Available Preset Colors

Color Hex Value Description
red #ff4655 Default esports red (Valorant-style)
blue #00d4ff Bright cyan blue
green #00ff87 Neon green
yellow #ffd700 Gold yellow
orange #ff8c00 Warm orange
purple #9d4edd Vibrant purple
pink #ff69b4 Hot pink
cyan #00ffff Bright cyan
white #ffffff Clean white

ESports Classic Fields

Field Description Example
header Small header text with bolt icon "header": "NEW FOLLOWER"
title Large main text (usually username) "title": "%username%"
value Right-side value panel (bits, months, etc.) "value": "%bits% BITS"
esportsColor Accent color preset name "esportsColor": "purple"
esportsBgColor Custom background color (hex) "esportsBgColor": "#1a1a2e"
esportsAccentColor Custom accent color (hex) "esportsAccentColor": "#00d4ff"
Design Tip: The ESports Classic theme uses uppercase text for maximum impact. Keep headers short and punchy. The value field on the right is perfect for displaying numbers like bits, months, or viewer counts.

Modern Theme Options

The Modern theme features a clean, minimalist design with a rotating mesh gradient background, rounded corners, and smooth animations. Perfect for a contemporary, professional streaming aesthetic.

Simple Color Scheme

{
    "TwitchFollow": {
        "header": "New Follower",
        "title": "%username%",
        "subtitle": "",
        "colorScheme": "default"
    },
    "TwitchSub": {
        "header": "Subscriber",
        "title": "%username%",
        "subtitle": "Tier 1",
        "colorScheme": "ocean"
    }
}

Conditional Color Schemes

You can set color schemes based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": "Bits Received",
        "title": "%username%",
        "subtitle": "%bits% bits",
        "colorScheme": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "scheme": "sunset" },
                { "min": 5000, "scheme": "rose" },
                { "min": 1000, "scheme": "ocean" },
                { "default": "default" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": "Subscriber",
        "title": "%username%",
        "subtitle": "%tiertext%",
        "colorScheme": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "scheme": "sunset" },
                { "equals": "Tier 2", "scheme": "ocean" },
                { "equals": "Prime", "scheme": "forest" },
                { "default": "default" }
            ]
        }
    }
}

Available Color Schemes

Scheme Colors Description
default Indigo/Pink/Cyan Default vibrant gradient
ocean Blue/Teal/Cyan Cool ocean tones
sunset Orange/Pink/Purple Warm sunset colors
forest Green/Emerald/Teal Natural green tones
midnight Purple/Blue/Indigo Dark mode with purple accents
rose Pink/Rose/Red Romantic pink tones
monochrome Gray tones Neutral grayscale

Show Avatars Option

The Modern theme supports displaying user avatars instead of icons. Enable this in the Preset Options when selecting the Modern theme in the customizer.

When enabled, the icon area will display the user's profile picture (when available) instead of the default SVG icons.

Modern Theme Fields

Field Description Example
header Small uppercase text at top "header": "New Follower"
title Large main text (usually username) "title": "%username%"
subtitle Colored text below title "subtitle": "Month 10"
colorScheme Background gradient color scheme "colorScheme": "ocean"
Design Tip: The Modern theme works best with concise text. Keep headers short (1-2 words) and subtitles brief. The rotating mesh gradient adds visual interest without overwhelming the content.

Available Variables

Use these variables in your text - they will be replaced with actual values when the alert is shown.

Common Variables

Variable Description Available In
%username% The user's display name All events
%userid% The user's ID All events

Twitch Variables

Variable Description Available In
%bits% Number of bits cheered TwitchCheer
%tier% Subscription tier number (1, 2, or 3) TwitchSub, TwitchReSub, TwitchGiftedSub
%tiertext% Tier text (Tier 1, Tier 2, Tier 3, or Prime) TwitchSub, TwitchReSub
%isprime% "true" or "false" - whether sub is Prime TwitchSub, TwitchReSub
%months% Cumulative subscription months TwitchReSub
%recipient% Gift sub recipient's name TwitchGiftedSub
%viewers% Number of raid viewers TwitchRaid
%message% User's message TwitchCheer, TwitchSub, TwitchReSub

YouTube Variables

Variable Description Available In
%amount% Super Chat/Sticker amount YouTubeSuperChat, YouTubeSuperSticker
%gifter% Name of the person who gifted YouTubeGiftReceived

Kick Variables

Variable Description Available In
%from% User's display name All Kick events
%login% User's login name KickFollow, KickMassGiftSubscription
%months% Subscription months KickResubscription

Ko-fi Variables

Variable Description Available In
%from% Supporter's name All Ko-fi events
%amount% Donation amount KofiDonation
%currency% Currency code (USD, EUR, etc.) KofiDonation
%tier% Subscription tier KofiSubscription, KofiResubscription
%items% Number of items ordered KofiShopOrder
%itemcount% Number of items (alias for %items%) KofiShopOrder
%message% User's message KofiDonation, KofiSubscription, KofiResubscription, KofiShopOrder

Streamlabs Variables

Variable Description Available In
%from% Donor's name StreamlabsDonation
%amount% Donation amount StreamlabsDonation
%currency% Currency code StreamlabsDonation
%message% Donation message StreamlabsDonation

StreamElements Variables

Variable Description Available In
%from% Tipper's name StreamElementsTip
%amount% Tip amount StreamElementsTip
%currency% Currency code StreamElementsTip
%message% Tip message StreamElementsTip

Fourthwall Variables

Variable Description Available In
%from% Buyer's name All Fourthwall events
%amount% Donation amount FourthwallDonation
%currency% Currency code FourthwallDonation
%items% Number of items FourthwallGiftPurchase, FourthwallOrderPlaced
%itemcount% Number of items (alias) FourthwallGiftPurchase, FourthwallOrderPlaced
%message% Donation message FourthwallDonation

Patreon Variables

Variable Description Available In
%from% Patron's name PatreonPledgeCreated
%amount% Pledge amount PatreonPledgeCreated
%tier% Tier name PatreonPledgeCreated

Theme-Specific Customization

You can set different text for each theme by nesting your customizations under the theme name:

{
    "ps5trophy": {
        "TwitchFollow": {
            "header": "Trophy Unlocked!",
            "subtitle": "%username% earned the Follow trophy!"
        }
    },
    "xboxachievement": {
        "TwitchFollow": {
            "header": "%username% Followed!",
            "gamerscore": "10"
        }
    },
    "rpgquest": {
        "TwitchFollow": {
            "header": "Quest Update",
            "title": "%username%",
            "subtitle": "Has joined the party!",
            "questRarity": "common"
        }
    },
    "luxury": {
        "TwitchFollow": {
            "header": "New Follower",
            "title": "%username%",
            "subtitle": "Has joined the community",
            "luxuryTier": "gold"
        }
    },
    "esportsclassic": {
        "TwitchFollow": {
            "header": "NEW FOLLOWER",
            "title": "%username%",
            "value": "",
            "esportsColor": "red"
        }
    },
    "modern": {
        "TwitchFollow": {
            "header": "New Follower",
            "title": "%username%",
            "subtitle": "",
            "colorScheme": "default"
        }
    }
}
Theme Names:

Multi-Condition Rules (AND Logic)

You can combine multiple conditions using the conditions array. All conditions must be true for the rule to match (AND logic).

Example: Tier + Months Combined

{
    "TwitchReSub": {
        "subtitle": {
            "rules": [
                {
                    "conditions": [
                        { "variable": "months", "min": 12 },
                        { "variable": "tiertext", "equals": "Tier 3" }
                    ],
                    "text": "A year of Tier 3 support! You are incredible!"
                },
                {
                    "conditions": [
                        { "variable": "months", "min": 12 },
                        { "variable": "tiertext", "equals": "Tier 2" }
                    ],
                    "text": "A year of Tier 2! Amazing dedication!"
                },
                {
                    "conditions": [
                        { "variable": "months", "min": 6 },
                        { "variable": "isprime", "equals": "true" }
                    ],
                    "text": "6+ months of Prime support!"
                },
                { "min": 12, "text": "One year anniversary!" },
                { "default": "Thanks for %months% months!" }
            ],
            "variable": "months"
        }
    }
}

Example: Bits + Message Combined

{
    "TwitchCheer": {
        "header": {
            "rules": [
                {
                    "conditions": [
                        { "variable": "bits", "min": 1000 },
                        { "variable": "bits", "max": 4999 }
                    ],
                    "text": "Big Cheerer!"
                },
                {
                    "conditions": [
                        { "variable": "bits", "min": 5000 }
                    ],
                    "text": "MEGA CHEERER!"
                },
                { "default": "Thanks for the bits!" }
            ]
        }
    }
}

Condition Types

Condition Description Example
min Value must be greater than or equal to { "variable": "bits", "min": 1000 }
max Value must be less than or equal to { "variable": "months", "max": 11 }
equals Value must exactly match (case-insensitive for strings) { "variable": "tiertext", "equals": "Tier 3" }
Note: Multi-condition rules are checked first, then single-condition rules. Put your most specific rules at the top!

Hacker Theme Options

The Hacker theme features a terminal-style design with typing animations, ASCII art banners, and a retro CRT aesthetic. When an event triggers, a terminal window opens and a command is "typed" followed by ASCII art displaying the event type.

Simple Terminal Color

{
    "TwitchFollow": {
        "title": "%username%",
        "subtitle": "has connected to the network",
        "hackerColor": "green"
    },
    "TwitchSub": {
        "title": "%username%",
        "subtitle": "subscribed with %tiertext%",
        "hackerColor": "cyan"
    }
}

Conditional Terminal Colors

You can set terminal colors based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "title": "%username%",
        "subtitle": "transferred %bits% bits",
        "hackerColor": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "color": "red" },
                { "min": 5000, "color": "purple" },
                { "min": 1000, "color": "cyan" },
                { "min": 100, "color": "amber" },
                { "default": "green" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "title": "%username%",
        "subtitle": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "subscribed with TIER 3 access" },
                { "equals": "Tier 2", "text": "subscribed with TIER 2 access" },
                { "equals": "Tier 1", "text": "subscribed with TIER 1 access" },
                { "equals": "Prime", "text": "subscribed with PRIME access" },
                { "default": "subscribed to the network" }
            ]
        },
        "hackerColor": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "color": "purple" },
                { "equals": "Tier 2", "color": "cyan" },
                { "equals": "Tier 1", "color": "green" },
                { "equals": "Prime", "color": "amber" },
                { "default": "green" }
            ]
        }
    }
}

Based on Resub Months

{
    "TwitchReSub": {
        "title": "%username%",
        "subtitle": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": "VETERAN STATUS: %months% months connected" },
                { "min": 24, "text": "ELITE STATUS: %months% months connected" },
                { "min": 12, "text": "TRUSTED STATUS: %months% months connected" },
                { "default": "resubscribed for %months% months" }
            ]
        },
        "hackerColor": {
            "variable": "months",
            "rules": [
                { "min": 48, "color": "red" },
                { "min": 24, "color": "purple" },
                { "min": 12, "color": "cyan" },
                { "default": "green" }
            ]
        }
    }
}

Available Terminal Colors

Color Description
green Classic Matrix green (default)
cyan Bright cyan/teal
amber Retro amber terminal
red Red alert style
purple Vibrant purple
blue Cool blue
pink Hot pink
white Clean white

Hacker Theme Fields

Field Description Example
title Username displayed in the terminal "title": "%username%"
subtitle Description text below username "subtitle": "has connected to the network"
hackerColor Terminal color scheme "hackerColor": "cyan"

Preset Options (Customizer)

ASCII Art Events

The theme includes unique ASCII art banners for each event type:

Design Tip: The Hacker theme works best with tech/hacker-themed language. Use terms like "connected", "transferred", "access granted", "breach detected" for an immersive experience!

GTA V Theme Options

The GTA V theme recreates the iconic "Mission Passed" screen from Grand Theft Auto V. Features the Pricedown font, golden text, and optional green screen flash effect.

Simple Configuration

{
    "TwitchFollow": {
        "header": "MISSION PASSED",
        "subtitle": "%username% has followed!"
    },
    "TwitchSub": {
        "header": "RESPECT +",
        "subtitle": "%username% subscribed!"
    }
}

Conditional Headers

You can change the header text based on variable values:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": "HEIST COMPLETE" },
                { "min": 1000, "text": "RESPECT +" },
                { "min": 100, "text": "MISSION PASSED" },
                { "default": "MISSION PASSED" }
            ]
        },
        "subtitle": "%username% cheered %bits% bits!"
    }
}

Based on Raid Viewers

{
    "TwitchRaid": {
        "header": {
            "variable": "viewers",
            "rules": [
                { "min": 500, "text": "HEIST COMPLETE" },
                { "min": 100, "text": "RESPECT +" },
                { "default": "MISSION PASSED" }
            ]
        },
        "subtitle": "%username% raided with %viewers% viewers!"
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "HEIST COMPLETE" },
                { "equals": "Tier 2", "text": "RESPECT +" },
                { "equals": "Tier 1", "text": "MISSION PASSED" },
                { "equals": "Prime", "text": "MISSION PASSED" },
                { "default": "MISSION PASSED" }
            ]
        },
        "subtitle": "%username% subscribed with %tiertext%!"
    }
}

GTA V Theme Fields

Field Description Example
header Large golden text (Pricedown font) "header": "MISSION PASSED"
subtitle Smaller white text below header "subtitle": "%username% has followed!"

Suggested Header Text

Text Suggested Use
MISSION PASSED Default for most events (follows, basic subs)
RESPECT + Higher value events (resubs, medium donations)
HEIST COMPLETE Big events (large donations, raids, Tier 3 subs)
WASTED Fun alternative for special occasions

Preset Options (Customizer)

Design Tip: Keep subtitles short and punchy. The GTA V style works best with concise text that fits the "mission complete" aesthetic. Use ALL CAPS for headers to match the game's style.

Assassin's Creed Origins Theme Options

The Assassin's Creed Origins theme features an Egyptian-inspired quest completion style with animated XP counters. The alert displays a golden eagle background, "QUEST COMPLETED" header, username with decorative lines, and an XP value that animates from 0 to the target value.

Simple XP Value

{
    "TwitchFollow": {
        "header": "QUEST COMPLETED",
        "title": "%username%",
        "xp": 100
    },
    "TwitchSub": {
        "header": "QUEST COMPLETED",
        "title": "%username%",
        "xp": 500
    }
}

Conditional Headers & XP

You can set headers and XP values based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "header": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": "LEGENDARY QUEST" },
                { "min": 5000, "text": "EPIC QUEST" },
                { "min": 1000, "text": "RARE QUEST" },
                { "default": "QUEST COMPLETED" }
            ]
        },
        "title": "%username%",
        "xp": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": 10000 },
                { "min": 5000, "text": 5000 },
                { "min": 1000, "text": 1000 },
                { "min": 100, "text": 500 },
                { "default": 100 }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "header": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "LEGENDARY QUEST" },
                { "equals": "Tier 2", "text": "EPIC QUEST" },
                { "equals": "Tier 1", "text": "QUEST COMPLETED" },
                { "equals": "Prime", "text": "QUEST COMPLETED" },
                { "default": "QUEST COMPLETED" }
            ]
        },
        "title": "%username%",
        "xp": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": 1500 },
                { "equals": "Tier 2", "text": 1000 },
                { "equals": "Tier 1", "text": 500 },
                { "equals": "Prime", "text": 500 },
                { "default": 500 }
            ]
        }
    }
}

Based on Resub Months

{
    "TwitchReSub": {
        "header": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": "LEGENDARY QUEST" },
                { "min": 24, "text": "EPIC QUEST" },
                { "min": 12, "text": "RARE QUEST" },
                { "default": "QUEST COMPLETED" }
            ]
        },
        "title": "%username%",
        "xp": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": 4800 },
                { "min": 24, "text": 2400 },
                { "min": 12, "text": 1200 },
                { "min": 6, "text": 600 },
                { "default": 250 }
            ]
        }
    }
}

Suggested Header Text

Text Suggested Use
QUEST COMPLETED Default for most events (follows, basic subs)
RARE QUEST Medium value events (resubs 6-12 months, 100+ bits)
EPIC QUEST Higher value events (resubs 12-24 months, Tier 2 subs)
LEGENDARY QUEST Big events (large donations, 48+ month resubs, Tier 3 subs)

ACO Theme Fields

Field Description Example
header Golden text at top (e.g., "QUEST COMPLETED") "header": "LEGENDARY QUEST"
title Username displayed with decorative lines "title": "%username%"
xp XP value that animates from 0 "xp": 500
XP Animation: The XP value animates from 0 to the target value over 1 second using a smooth easing function. This creates an engaging visual effect similar to the game's quest completion screen.
Design Tip: Use XP values that feel meaningful - 100 XP for follows, 500 XP for subs, and scale up based on the value of the event. The animation makes larger numbers more impactful!

iOS Notification Theme Options

The iOS Notification theme mimics the notification pop-up style from iOS devices. It features a clean, rounded design with the user's name at the top, message below, and "now" timestamp on the right.

iOS Version Styles

Choose between two iOS styles in the customizer:

Style Description
ios26 Transparent glass effect with animated shiny border - the modern iOS 26 look
ios18 Classic frosted glass effect - the traditional iOS notification style

Simple Customization

{
    "TwitchFollow": {
        "title": "%username%",
        "subtitle": "Started following you"
    },
    "TwitchSub": {
        "title": "%username%",
        "subtitle": "Subscribed with %tiertext%"
    }
}

Conditional Text

You can set different text based on variable values using rules:

Based on Bits (for Cheers)

{
    "TwitchCheer": {
        "title": "%username%",
        "subtitle": {
            "variable": "bits",
            "rules": [
                { "min": 10000, "text": "Dropped a massive %bits% bits! 🎉" },
                { "min": 1000, "text": "Cheered %bits% bits!" },
                { "min": 100, "text": "Sent %bits% bits" },
                { "default": "Cheered %bits% bits" }
            ]
        }
    }
}

Based on Sub Tier

{
    "TwitchSub": {
        "title": "%username%",
        "subtitle": {
            "variable": "tiertext",
            "rules": [
                { "equals": "Tier 3", "text": "Subscribed at the highest tier! 🌟" },
                { "equals": "Tier 2", "text": "Subscribed with Tier 2" },
                { "equals": "Tier 1", "text": "Just subscribed!" },
                { "equals": "Prime", "text": "Used their Prime sub" },
                { "default": "Subscribed!" }
            ]
        }
    }
}

Based on Resub Months

{
    "TwitchReSub": {
        "title": "%username%",
        "subtitle": {
            "variable": "months",
            "rules": [
                { "min": 48, "text": "4 years of support! 🏆" },
                { "min": 24, "text": "2 years strong! 🎊" },
                { "min": 12, "text": "1 year anniversary! 🎂" },
                { "min": 6, "text": "6 months of loyalty!" },
                { "default": "Resubscribed for %months% months" }
            ]
        }
    }
}

iOS Notification Theme Fields

Field Description Example
title Bold text at top (usually username) "title": "%username%"
subtitle Message text below the title "subtitle": "Started following you"
sound Custom sound for this event (sound name or full URL) "sound": "critical"

Available Sounds

You can use these built-in sound names in the sound field:

Sound Name Description
defaultDefault iOS notification sound (default for iOS 26)
classicClassic iOS notification sound (default for iOS Classic)
airdropAirDrop received sound
chargingDevice charging sound
criticalCritical alert sound
dingDing notification sound
facetime-callFaceTime incoming call
facetime-inviteFaceTime invite sound
homepodHomePod notification sound
new-emailNew email notification
photo-memoryPhoto memory sound
startupDevice startup sound

Custom Sounds Per Event

You can set different sounds for different events:

{
    "TwitchFollow": {
        "title": "%username%",
        "subtitle": "Started following you",
        "sound": "default"
    },
    "TwitchCheer": {
        "title": "%username%",
        "subtitle": "Cheered %bits% bits!",
        "sound": "critical"
    },
    "TwitchSub": {
        "title": "%username%",
        "subtitle": "Subscribed!",
        "sound": "facetime-invite"
    }
}

Conditional Sounds

You can also use conditional rules for sounds based on event values:

{
    "TwitchCheer": {
        "title": "%username%",
        "subtitle": "Cheered %bits% bits!",
        "sound": {
            "variable": "bits",
            "rules": [
                { "min": 1000, "sound": "critical" },
                { "min": 100, "sound": "facetime-invite" },
                { "default": "default" }
            ]
        }
    }
}

FirstWord Alerts (User's First Message on the Stream)

The iOS Notification theme supports TwitchFirstWord events, which trigger when a user sends their first message in chat per stream session (Not to be confused with First Chat Message which is for the first message in the channel). You can customize the subtitle based on specific usernames:

{
    "TwitchFirstWord": {
        "title": "%username%",
        "subtitle": {
            "variable": "username",
            "rules": [
                { "equals": "krookediles", "text": "Has come to snap!" },
                { "equals": "playingcatchup", "text": "Has catched up to the stream!" },
                { "equals": "nightbot", "text": "The bot has awakened!" },
                { "default": "Has entered the stream!" }
            ]
        },
        "sound": "ding"
    }
}

This allows you to create personalized welcome messages for specific viewers. The username variable is matched case-insensitively.

Available Variables for TwitchFirstWord

Variable Description
%username%The username of the person who sent their first message
%message%The actual message they sent
Design Tip: The iOS Notification theme works best with concise, natural language messages. Keep subtitles short and conversational, similar to how real iOS notifications appear.
Custom Sound URLs: You can also use a full URL to a custom sound file: "sound": "https://example.com/my-sound.mp3"

Animus Theme Options

The Animus theme is inspired by the Abstergo / Animus interface from the Assassin's Creed franchise. It features 10 visual designs and 10 independent logo animations, all selectable in the Customizer. You can override the three text fields — header, title, and subtitle — using your JSON file.

Pastebin Support: Yes — the Animus theme fully supports JSON files hosted on Pastebin. Use the raw Pastebin URL as your Custom Data URL in the Customizer. The JSON key for this theme is "animus".

Basic Example

{
    "animus": {
        "TwitchFollow": {
            "header": "NEW INITIATE",
            "title": "%username%",
            "subtitle": "Has joined the Brotherhood"
        },
        "TwitchSub": {
            "header": "BROTHERHOOD BOND",
            "title": "%username%",
            "subtitle": "Has sworn the Creed"
        },
        "TwitchRaid": {
            "header": "RAID INCOMING",
            "title": "%username%",
            "subtitle": "%viewers% assassins have entered the Animus"
        }
    }
}

Conditional Headers Based on Sub Tier

{
    "animus": {
        "TwitchSub": {
            "header": {
                "variable": "tiertext",
                "rules": [
                    { "equals": "Tier 3", "text": "MASTER ASSASSIN" },
                    { "equals": "Tier 2", "text": "HIDDEN BLADE" },
                    { "equals": "Tier 1", "text": "BROTHERHOOD BOND" },
                    { "equals": "Prime", "text": "PRIME INITIATE" },
                    { "default": "NEW MEMBER" }
                ]
            },
            "title": "%username%",
            "subtitle": {
                "variable": "tiertext",
                "rules": [
                    { "equals": "Tier 3", "text": "Sworn to the Creed at Tier 3" },
                    { "equals": "Tier 2", "text": "Joined the Brotherhood at Tier 2" },
                    { "equals": "Prime", "text": "Prime — Nothing is true" },
                    { "default": "Has joined the Brotherhood" }
                ]
            }
        }
    }
}

Conditional Headers Based on Bits

{
    "animus": {
        "TwitchCheer": {
            "header": {
                "variable": "bits",
                "rules": [
                    { "min": 10000, "text": "LEGENDARY TRIBUTE" },
                    { "min": 5000, "text": "GRAND TRIBUTE" },
                    { "min": 1000, "text": "TRIBUTE RECEIVED" },
                    { "default": "MEMORY FRAGMENT" }
                ]
            },
            "title": "%username%",
            "subtitle": "Offered %bits% bits to the Brotherhood"
        }
    }
}

Conditional Headers Based on Raid Size

{
    "animus": {
        "TwitchRaid": {
            "header": {
                "variable": "viewers",
                "rules": [
                    { "min": 500, "text": "EAGLE'S ARMY" },
                    { "min": 100, "text": "RAID INCOMING" },
                    { "min": 25, "text": "BROTHERHOOD RAID" },
                    { "default": "RAIDERS" }
                ]
            },
            "title": "%username%",
            "subtitle": "%viewers% assassins have entered the Animus"
        }
    }
}

Animus Theme Fields

Field Description Example
header Small caps label at the top (event type label) "header": "NEW INITIATE"
title Large main text, usually the username "title": "%username%"
subtitle Smaller description text below the title "subtitle": "Has joined the Brotherhood"
Design Tip: The Animus theme looks great with short, punchy header text in ALL CAPS (e.g. "MEMORY FRAGMENT", "SYNC COMPLETE"). The visual design and logo animation are set separately in the Customizer and cannot be overridden per-event via JSON.

Tips

Important: If your JSON has syntax errors, the custom text won't load and defaults will be used instead. Check your browser's console (F12) for error messages.