clipboard-userApplications

Complete guide to configuring your application system

Introduction

The Applications system allows your server members to apply for staff positions, roles, or other opportunities directly through Discord. Applications are managed through private channels with customizable questions, review permissions, and automated workflows.

This guide covers every aspect of the application configuration file (applications.json) to help you create a professional application system for your server.


Part 1: Basic Configuration

Understanding Basic Settings

The basic configuration section controls global application behavior, including staff management integration, channel naming, and cooldown periods.

config: {
    staff_management_hook: true,
    application_channel_name: "app-%random%",
    default_cooldown: "7d",
    // ... applications and questions below
}

Configuration Options

staff_management_hook

Type: Boolean (true or false)

Controls automatic integration with the Staff Management plugin when applications are accepted.

When enabled (true):

  • Accepted applicants automatically receive their designated roles

  • Staff roster panel is automatically updated

  • Promotion message is generated based on staff_management configuration

When disabled (false):

  • Manual role assignment required

  • No automatic roster updates

Recommended: true if you have the Staff Management plugin configured

circle-info

Note: For this feature to work properly, ensure your staff_management plugin is configured with the appropriate role assignments and promotion messages.


application_channel_name

Type: String

Defines the naming pattern for application channels that are created when a user starts an application.

Available Placeholders:

Placeholder
Description
Example

%random%

Random 4-digit number

1234

%creator%

Username of the applicant

john_doe

%created_total%

Total number of applications created

42

%category%

Application category name

staff

Examples:

circle-check
circle-exclamation

default_cooldown

Type: String (Time Duration)

Sets how long users must wait before submitting a new application after being denied.

Time Format:

  • s = seconds (e.g., 30s)

  • m = minutes (e.g., 15m)

  • h = hours (e.g., 12h)

  • d = days (e.g., 7d)

  • w = weeks (e.g., 2w)

Recommended Values:

Server Type
Recommended Cooldown
Reasoning

Small/Casual

3d to 5d

Allows quick reapplication with improvements

Medium

7d to 14d

Balances feedback time with persistence

Large/Competitive

14d to 30d

Ensures applicants take time to improve

Examples:

circle-info

Tip: Longer cooldowns encourage applicants to put more effort into their applications rather than spam submissions.


Part 2: Application Categories

Understanding Application Categories

Application categories define different types of applications (Staff, Helper, Builder, etc.) with their own questions, permissions, and settings. Users select which category to apply for, and a private channel is created for their application.


Category Configuration Options

application

Type: String

The display name of the application type.

Examples:

  • "Staff" - General staff position

  • "Helper" - Support team member

  • "Moderator" - Moderation role

  • "Builder" - Minecraft/Creative role

  • "Developer" - Development team

  • "Content Creator" - Media/Content team

Best Practices:

  • Keep names short and clear (1-2 words)

  • Use title case for professionalism

  • Match the role name for clarity


description

Type: String

Brief explanation shown to users when selecting an application type.

Examples:

Best Practices:

  • Be clear about what the role entails

  • Mention any key requirements

  • Keep it under 50 characters

  • Use encouraging language


emoji

Type: String

Icon displayed next to the application option in the selection menu.

Emoji Options:

Default Discord Emojis:

Custom Server Emojis:

To use custom emojis, you need the emoji ID:

  1. Enable Developer Mode in Discord (User Settings → Advanced → Developer Mode)

  2. Right-click your custom emoji and select "Copy Link"

  3. Extract the ID from the URL: https://cdn.discordapp.com/emojis/123456789.png

  4. Format: <:emoji_name:emoji_id>

Animated Emojis:


category_id

Type: String

The Discord category ID where application channels will be created.

How to Get Category ID:

  1. Enable Developer Mode in Discord

  2. Right-click the category in your server

  3. Click "Copy ID"

  4. Paste the ID as a string


questions

Type: String

The ID of the question set to use for this application category (references application_questions configuration).

This links to your question configuration:

Examples:

circle-info

Tip: Create different question sets for different roles. Moderators need different questions than builders or developers.


permission_list

Type: Array of Strings (Role IDs)

List of role IDs that can view and review applications in this category.

How to Get Role IDs:

  1. Enable Developer Mode

  2. Go to Server Settings → Roles

  3. Right-click a role and select "Copy ID"

Best Practices:

circle-check

Examples:


mention_roles

Type: Array of Strings (Role IDs)

List of role IDs to mention (@ping) when a new application is submitted.

Best Practices:

circle-exclamation

Examples:


Complete Category Examples

Example 1: Staff Application

General staff position for your server:


Example 2: Multiple Application Categories

Server with multiple different application types:


Part 3: Application Questions

Understanding Question Structure

Application questions are what applicants must answer to submit their application. Questions can be text inputs or selection menus with predefined options.


Question Configuration Options

question

Type: String

The actual question text displayed to the applicant. Max length is set to 45 characters by Discord!

Best Practices:

circle-check

Examples:


max_length & min_length

Type: Number

For text inputs, these define character limits. For select menus, they define how many options can be selected.

Text Input Behavior:

Select Menu Behavior:

circle-exclamation

placeholder

Type: String

Hint text shown in the input field before the user types.

Examples:

Best Practices:

  • Provide examples when format matters

  • Keep it short (under 50 characters)

  • Use "e.g.," or "Example:" for clarity

  • Don't repeat the question text


select_options

Type: Array of Strings

When this array has items, the question becomes a dropdown/select menu instead of a text input.

Empty Array = Text Input:

With Options = Select Menu:

Examples:

circle-info

Tip: Use emojis in select options to make them more visually appealing and easier to scan (e.g., '✅ Yes', '❌ No').


required

Type: Boolean

Whether the question must be answered to submit the application.

When to Use Optional Questions:

  • Supplementary information (e.g., "Anything else you'd like to add?")

  • Portfolio links (nice to have, not required)

  • Social media handles

  • Referrals ("Who referred you?")

Best Practices:

circle-check

Question Examples


Question Set Example

Basic Staff Questions

Simple question set for general staff positions:


Complete Configuration Example

Here's a complete, production-ready application configuration for a server with multiple application types:

Last updated