Ticket System

A full support platform — departments, conditional forms, SLA timers, staff routing, automation, satisfaction ratings and searchable transcripts.

Tickets have their own documentation page.

Departments & forms

Separate teams with their own staff, response targets and conditional intake forms.

SLAs & automation

Response targets that pause while you wait on the member, plus trigger-condition-action workflows.

Analytics & transcripts

Response times, satisfaction, workload and heatmaps — with searchable, exportable transcripts.

Read the ticket system docs

Reaction Roles

Let members self-assign roles using emoji reactions, clickable buttons, or dropdown select menus.

Required Plan Reaction Roles require the reaction_roles feature on your subscription.

Panel Types

Reaction Panel

Classic emoji-reaction style. Members react to the message to get/remove a role. The bot lists available roles and their emojis in the embed, then adds its own reactions as prompts. Requires the bot to have Add Reactions permission in the channel.

Button Panel

Discord component buttons — each role becomes a labeled button with an optional emoji. Clicking a button toggles the role on or off. Supports up to 25 roles per panel (5 buttons per row).

Dropdown Panel

A Discord select menu. Members pick one or more roles from a dropdown list. Their selection replaces whatever roles from that panel they previously held. Supports up to 25 options, each with an optional description.

Setup Flow (Dashboard)

Editing a Panel

Open Dashboard → Reaction Roles, expand the panel, make your changes, and click Save. Saving a panel deletes the old message and reposts a fresh one in the same channel — the panel's position in the channel will move to the bottom. If you need it pinned, re-pin it after saving.

Old panels If you created a panel before June 2026, button and dropdown interactions may not respond. Re-save the panel from the dashboard to repost it with the updated interaction format.

How Each Type Works for Members

TypeHow to get a roleHow to remove a role
ReactionReact with the emoji shown next to the roleRemove your reaction
ButtonClick the role's button (toggles on)Click the same button again (toggles off)
DropdownOpen the dropdown, tick the roles you want, submitOpen the dropdown, untick the role, submit — selection replaces previous

Commands

/
reactionroles setup-reaction
Create an emoji-reaction role panel with a custom title and description.
/
reactionroles setup-button
Create a button-based role panel.
/
reactionroles setup-dropdown
Create a dropdown select-menu role panel.
/
reactionroles add
Add a role (+ emoji/label) to an existing panel.
/
reactionroles remove
Remove a role entry from an existing panel.
/
reactionroles list
List all role panels in this server with type, channel, and message ID.
/
reactionroles delete
Delete a panel and remove the original panel message.
Dashboard-first Dashboard → Reaction Roles is the recommended way to manage panels — it provides a visual role picker, emoji selector, and lets you edit or delete panels without any commands.
Sticky Messages

A message that automatically re-posts to the bottom of a channel whenever new messages push it up — perfect for rules, FAQs, or pinned announcements.

Required Plan Sticky Messages require the sticky_messages feature on your subscription.

How It Works

When a member sends a message in a channel that has a sticky, the bot waits 1.5 seconds (debounce) and then:

  1. Deletes the previous copy of the sticky from that channel
  2. Re-posts it as a fresh message at the very bottom
  3. Saves the new message ID so the next cycle knows which copy to replace

The 1.5-second debounce means rapid messages collapse into a single repost — the bot won't flood the channel if several messages arrive in quick succession.

One sticky per channel Each channel supports exactly one sticky message at a time. Setting a new sticky replaces the existing one — the old copy is deleted from Discord automatically.
How it looks A sticky is posted as a normal message from the bot, so Markdown renders exactly as you typed it. Mentions are shown but never ping — a sticky re-posts every time the channel is active, so an @everyone in one would otherwise notify the server over and over.
Where stickies work Anywhere the bot can post: text and announcement channels, the text chat of voice and stage channels, and threads, private threads and forum posts. The bot needs permission to send and delete messages there. Only active threads can be picked — an archived thread can't be posted in until someone reopens it.

Setting Up from the Dashboard

Behaviour Reference

ScenarioWhat happens
New message in channelBot waits 1.5 s, deletes old embed, reposts sticky at bottom
Several rapid messagesTimer resets on each message — only one repost fires after the burst
Sticky updated via dashboard or /sticky setOld embed deleted, new embed posted immediately; next repost cycle uses fresh content
Sticky deleted via dashboard or /sticky removeEmbed removed from Discord, no further reposts in that channel
Bot message in channelIgnored — bot's own messages do not trigger the repost timer

Commands

/
sticky set <message>
Set or replace the sticky message for the current channel. The bot posts the embed immediately and records the message ID. Requires Manage Messages permission.
/
sticky remove
Remove the sticky from the current channel and delete the embed from Discord.
/
sticky view
Show the current sticky content, who set it, and when — without reposting it.
Dashboard-first Dashboard → Sticky Messages lets you manage stickies across all channels from one place — including editing content and removing stickies from channels you can't easily access. The /sticky commands are best used when you're already in the channel.
Ghost Ping

Silently ping every new member in a channel with a short message, then delete the ping about a second later — they keep the notification, the channel stays clean. Set up as many as you like across different channels.

Required Plan Ghost Ping requires the ghost_ping feature on your subscription.

How It Works

When a member joins, the bot — for each configured channel — mentions the new member with your message, then deletes that message after ~1 second. The member still gets the ping notification, but no permanent message is left behind.

Works with Captcha If Captcha verification is enabled, a brand-new member can't see your channels yet, so the ghost ping would be invisible. Azra detects this and holds the ping until the member finishes verifying, then sends it. With Captcha off, the ping fires the moment they join.
One ghost ping per channel Each channel supports one ghost ping (up to 25 per server). Adding one to a channel that already has it simply updates the message. Each can be individually enabled or disabled.

Setting Up from the Dashboard

Commands

/
ghostping add <channel> <message>
Add or update a ghost ping for a channel. Requires Manage Server.
/
ghostping remove <channel>
Remove the ghost ping from a channel.
/
ghostping list
List every ghost ping configured for the server.

These also work as prefix commands — e.g. !ghostping add #welcome Welcome aboard! (alias !gp); omit the channel to target the current one.

Welcome & Goodbye System

Greet new members with a rich embed, a custom-designed image, or plain text — and mark departures the same way. Plus auto-roles, welcome DMs, and link buttons.

Free plan vs Pro Welcome & Goodbye keeps working without an active plan. On the Free tier you get the whole message — both messages, all three styles including the image designer, the channel post and the DM, auto-roles, the mention line and every placeholder — plus one link button under the message. Pro (an active trial or paid plan) adds up to five link buttons under the message, link buttons in the DM, and auto-nicknames for new members. Anything you configured on Pro stays saved when a plan lapses and starts working again the moment you renew — nothing is deleted.

Two Messages, One Page

Welcome (posted when someone joins) and Goodbye (posted when someone leaves) are configured independently — their own channel, their own on/off switch, their own style and their own text. The Welcome / Goodbye switch at the top of Dashboard → Welcome picks which one you are editing; both are saved together, so flipping between them never loses work.

Message Styles

Each message is built in exactly one of three styles — they can't be combined. Welcome and Goodbye can each use a different one.

Embed

The bordered card Discord renders from text you fill in: author line, title, description, up to 10 fields, thumbnail, banner image, footer and timestamp — in your accent colour.

Image

A picture Azra draws for every member in the layered designer — their avatar, name, your server icon, the member count. Arrange it yourself; what you see is what Discord gets.

Text

A plain chat message with Discord markdown. Lowest overhead, and the only style that needs no extra bot permissions beyond Send Messages.

Placeholders

Anywhere you type text — embed title, description, fields, footer, plain text, the welcome DM, the auto-nickname, a text layer on the image — these are swapped for the real member's details when the message is sent.

PlaceholderBecomes
{user}A real @mention that pings the member. On an image layer it is drawn as their display name — a picture cannot mention anyone — so reach for {username} or {displayName} there and say which name you mean.
{username}Their unique Discord handle (e.g. jane_doe) — never localised, never per-server.
{displayName}What Discord actually shows in chat: their nickname in this server if they have one, otherwise their account display name, otherwise their handle. This is the one to use in a greeting.
{server}Your server's name.
{rules}A clickable #channel link to your rules channel — pick it under Rules channel on the Welcome page. Azra stores the channel itself, not its name, so renaming it never breaks your message. With no channel picked the word is simply left out.
{memberCount}The member count, formatted (e.g. 4,218).
{count}The same number as an ordinal (e.g. 4,218th).
{joinDate}The date they joined (e.g. Jul 14, 2026).

Image text layers support {username}, {displayName}, {server}, {memberCount} and {joinDate} — the chips under the TEXT box insert them for you. {rules} is not among them: a picture cannot hold a clickable link, so put it in the message, embed or DM instead. {user} still works on a layer saved earlier (it draws the display name), but it is no longer offered as a chip — it was indistinguishable from {displayName} on a picture.

The Image Designer

Choosing the Image style opens a layer editor, the same idea as Photoshop: a 600×300 canvas holding up to 40 layers stacked back to front. The bottom layer is the background (it can't be deleted), and everything else is a text or picture layer you place yourself. The bot re-draws the design for each member with their own avatar and name.

Layer optionWhat it does
X / YPosition of the layer's centre in pixels (300, 150 is dead centre of the card)
Width / HeightThe layer's box. For text it's the box the text is laid out and aligned in
Rotation / OpacityTilt around the centre; how see-through the layer is (dim a background so text stays readable)
FontSans, Display, Serif, Mono or Impact. Azra resolves the closest family it has installed when it draws the real image — Test render shows the truth
Size / Weight / Align / Line heightStandard type controls. Align positions the text inside its own box
Colour or Gradient fillA flat colour, or a two-colour fade at any angle (the gradient replaces the flat colour while it's on)
Stroke (outline)A border around every letter — the reliable way to keep text readable over a busy background
ShadowA drop shadow with blur, colour and an offset you can drag on a small pad
GlowA coloured halo radiating evenly around the layer (text or picture)
Image sourceMember avatar and Server icon are filled in live per member; Image URL is a fixed picture you upload or link
Fitcover fills the box and crops, contain shows the whole picture, fill stretches it
Circle %0 = square, 50 = a perfect circle. This is how you get a round profile picture
Guilds that never open the designer Servers still on the old generated card keep it exactly as it was. Opening the Image designer and saving replaces it with your layered design.

Extra Actions (Welcome only)

ActionWhat it does
Welcome DMAlso greets the member privately. Turn on Mirror the welcome message to send the exact same message you post in the channel — embed, image or text, with the same buttons — or leave it off to write a separate DM as plain text or an embed. Members can block DMs from servers, so a DM may silently fail — never put anything essential only in the DM. The DM's own link buttons are Pro; the DM itself is free. Azra always adds a greyed-out button naming your server, on every plan, so the member can tell which server the DM is from.
Auto-rolesRoles handed out the moment a member joins. Azra can only assign roles below its own highest role, and never bot/integration-managed roles — the picker flags any role it can't grant. Needs Manage Roles. Free on every plan.
Auto-nickname (Pro)Renames new members to a pattern like {username} | Guest. Needs Manage Nicknames. Discord never lets a bot rename the server owner, so the owner keeps their name. Requires an active plan — without one the pattern stays saved but nobody is renamed.
Separate bot welcomeJoining bots get their own short announcement in a channel you choose (usually staff-only) instead of the normal welcome message.
Message buttonsLink buttons under the welcome message — your rules channel, a guide, your website. Discord only allows link buttons here, so every URL must start with https://. One on the Free tier, up to 5 on Pro; extras you set up on Pro are kept and simply not shown until you renew.
Auto-roles wait for Captcha If Captcha verification is on, auto-roles and the auto-nickname are held until the member passes the captcha — an unverified member never gets the access the gate exists to withhold. With Captcha off they are applied the instant the member joins. Joining bots are never gated (they can't solve a captcha) and get their roles immediately.

Permissions Azra Needs

PermissionNeeded for
View Channel + Send MessagesPosting any welcome or goodbye message at all
Embed LinksThe Embed style
Attach FilesThe Image style (the card is uploaded as a PNG)
Manage RolesAuto-roles — and Azra's own role must sit above every role it hands out
Manage NicknamesAuto-nickname (never applies to the server owner)

Commands

/
welcome set-channel
Set the channel where welcome messages are posted.
/
welcome enable / disable
Toggle the welcome system on or off.
/
welcome info
Show the current welcome configuration summary.
Dashboard-first The commands only cover the welcome channel and on/off switch. Everything else — the goodbye message, the three styles, the image designer, auto-roles, DMs and buttons — lives on Dashboard → Welcome, next to a live Discord preview that updates as you type and follows you as you scroll. Hover any ? on that page for an explanation of the setting beside it.
Branding

Make the bot look like it belongs to your server — set a per-server nickname, brand name, logo, accent colour, and footer that appear on everything it posts.

Included with any active plan Branding isn't a separate add-on — like the command prefix and bot nickname, it's a customization available on both the Free Trial and Pro plan.
What can't be changed per server A Discord bot has one global avatar, username, and online status shared by every server it's in — Discord doesn't allow those to differ per server. What branding controls is the bot's nickname in your server plus everything it posts on your behalf: webhook messages (like the mod-log) carry your name & logo, and embeds carry your accent colour & footer.

Options

OptionWhere it shows up
Bot nicknameThe bot's display name in your server (this server only). Needs the bot's Change Nickname permission; applied to Discord instantly.
Brand nameThe sender name on webhook posts (mod-log, etc.) and the author line on branded embeds.
LogoA direct https image URL used as the webhook avatar and embed author icon.
Accent colourThe colour bar on embeds the bot posts. Picked as a hex value (e.g. #5865F2).
Footer text & iconOptional small text and icon at the bottom of branded embeds.

Setup Flow (Dashboard)

Where branding appears today Branding is currently applied to mod-log webhook posts — your brand name & logo front the message and your accent colour & footer style the embed. More features will adopt branding over time.