# Applications

## <mark style="color:blue;">Introduction</mark>

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.

***

## <mark style="color:blue;">Part 1: Basic Configuration</mark>

### <mark style="color:yellow;">Understanding Basic Settings</mark>

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

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

***

### <mark style="color:yellow;">Configuration Options</mark>

#### <mark style="color:orange;">staff\_management\_hook</mark>

**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

{% hint style="info" %}
**Note:** For this feature to work properly, ensure your staff\_management plugin is configured with the appropriate role assignments and promotion messages.
{% endhint %}

***

#### <mark style="color:orange;">application\_channel\_name</mark>

**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:**

```json
// Using random number (recommended for privacy)
application_channel_name: "app-%random%"
// Result: app-7382

// Using creator name
application_channel_name: "application-%creator%"
// Result: application-john_doe

// Using category and number
application_channel_name: "%category%-app-%created_total%"
// Result: staff-app-42

// Combining multiple placeholders
application_channel_name: "%category%-%creator%-%random%"
// Result: staff-john_doe-5821
```

{% hint style="success" %}
**Best Practice:** Use `%random%` to maintain applicant privacy and prevent channel name conflicts.
{% endhint %}

{% hint style="warning" %}
**Privacy Warning:** Using `%creator%` exposes the applicant's username to anyone who can see the channel category. Consider privacy implications before using this placeholder.
{% endhint %}

***

#### <mark style="color:orange;">default\_cooldown</mark>

**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:**

```json
// 7-day cooldown (most common)
default_cooldown: "7d"

// 2-week cooldown for serious positions
default_cooldown: "14d"

// 12-hour cooldown for testing/casual applications
default_cooldown: "12h"

// 30-day cooldown for highly competitive roles
default_cooldown: "30d"
```

{% hint style="info" %}
**Tip:** Longer cooldowns encourage applicants to put more effort into their applications rather than spam submissions.
{% endhint %}

***

## <mark style="color:blue;">Part 2: Application Categories</mark>

### <mark style="color:yellow;">Understanding Application Categories</mark>

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.

```json
applications: [
    {
        application: "Staff",
        description: "Select to start a Staff Application",
        emoji: "👮",
        category_id: "1160209305593716776",
        questions: "first_question_set",
        permission_list: ["804354019455139900"],
        mention_roles: ["804354019455139900"]
    },
]
```

***

### <mark style="color:yellow;">Category Configuration Options</mark>

#### <mark style="color:orange;">application</mark>

**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

***

#### <mark style="color:orange;">description</mark>

**Type:** String

Brief explanation shown to users when selecting an application type.

**Examples:**

```json
// Clear and action-oriented
description: "Apply to join our staff team"

// Informative with requirements hint
description: "Apply for Moderator (Must be active member)"

// Welcoming and encouraging
description: "Join our build team! Show us your creativity"

// Professional with expectations
description: "Content Creator application - Provide portfolio"
```

**Best Practices:**

* Be clear about what the role entails
* Mention any key requirements
* Keep it under 50 characters
* Use encouraging language

***

#### <mark style="color:orange;">emoji</mark>

**Type:** String

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

**Emoji Options:**

**Default Discord Emojis:**

```json
emoji: "👮"  // Police officer (Staff/Security)
emoji: "🛡️"  // Shield (Moderator)
emoji: "🔨"  // Hammer (Builder)
emoji: "💻"  // Computer (Developer)
emoji: "🎨"  // Art palette (Designer)
emoji: "🎥"  // Camera (Content Creator)
emoji: "❓"  // Question (Helper/Support)
emoji: "🌟"  // Star (Premium/VIP)
```

**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>`

```json
// Custom emoji example
emoji: "<:staff:123456789>"
```

**Animated Emojis:**

```json
emoji: "<a:sparkle:123456789>"
```

***

#### <mark style="color:orange;">category\_id</mark>

**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

```json
category_id: "1160209305593716776"
```

***

#### <mark style="color:orange;">questions</mark>

**Type:** String

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

```json
questions: "first_question_set"
```

This links to your question configuration:

```json
application_questions: {
    "first_question_set": [
        // questions here
    ],
    "moderator_questions": [
        // different questions
    ]
}
```

**Examples:**

```json
// Staff applications
questions: "staff_questions"

// Moderator applications
questions: "moderator_questions"

// Builder applications  
questions: "builder_questions"
```

{% hint style="info" %}
**Tip:** Create different question sets for different roles. Moderators need different questions than builders or developers.
{% endhint %}

***

#### <mark style="color:orange;">permission\_list</mark>

**Type:** Array of Strings (Role IDs)

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

```json
permission_list: [
    "804354019455139900",  // Head Staff
    "805123456789012345",  // Moderators
]
```

**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:**

{% hint style="success" %}
**Recommended Structure:**

* Include management/admin roles
* Include the specific team leads (e.g., Head Moderator for mod applications)
* Don't give access to roles that shouldn't review (prevents bias)
* Consider creating a dedicated "Application Reviewer" role
  {% endhint %}

**Examples:**

```json
// Only senior staff
permission_list: [
    "123456789012345678"  // Admin
]

// Multiple review tiers
permission_list: [
    "123456789012345678",  // Admin
    "234567890123456789",  // Head Moderator
    "345678901234567890"   // Senior Moderator
]

// Team-specific reviewers
permission_list: [
    "123456789012345678",  // Admin
    "456789012345678901"   // Build Team Lead
]
```

***

#### <mark style="color:orange;">mention\_roles</mark>

**Type:** Array of Strings (Role IDs)

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

```json
mention_roles: [
    "804354019455139900"
]
```

**Best Practices:**

{% hint style="warning" %}
**Mention Carefully:**

* Don't mention large roles (can cause spam)
* Only mention roles that actively review applications
* Consider using a dedicated "Application Notifications" role
* Ensure mentioned users have notifications enabled
  {% endhint %}

**Examples:**

```json
// No mentions (silent applications)
mention_roles: []

// Mention application reviewers only
mention_roles: [
    "123456789012345678"  // Application Reviewers
]

// Mention multiple roles
mention_roles: [
    "123456789012345678",  // Head Staff
    "234567890123456789"   // Moderators
]
```

***

### <mark style="color:yellow;">Complete Category Examples</mark>

#### <mark style="color:orange;">Example 1: Staff Application</mark>

General staff position for your server:

```json
{
    application: "Staff",
    description: "Apply to join our staff team",
    emoji: "👮",
    category_id: "1160209305593716776",
    questions: "staff_questions",
    permission_list: [
        "804354019455139900",  // Admin
        "805123456789012345"   // Head Staff
    ],
    mention_roles: [
        "805123456789012345"   // Head Staff only
    ]
}
```

***

#### <mark style="color:orange;">Example 2: Multiple Application Categories</mark>

Server with multiple different application types:

```json
applications: [
    {
        application: "Staff",
        description: "General staff application",
        emoji: "👮",
        category_id: "1160209305593716776",
        questions: "staff_questions",
        permission_list: ["804354019455139900"],
        mention_roles: ["804354019455139900"]
    },
    {
        application: "Moderator",
        description: "Apply for Moderator role",
        emoji: "🛡️",
        category_id: "1160209305593716776",
        questions: "moderator_questions",
        permission_list: ["804354019455139900", "805123456789012345"],
        mention_roles: ["805123456789012345"]
    },
    {
        application: "Developer",
        description: "Join our development team",
        emoji: "💻",
        category_id: "1160209305593716776",
        questions: "developer_questions",
        permission_list: ["804354019455139900", "806234567890123456"],
        mention_roles: ["806234567890123456"]
    },
    {
        application: "Content Creator",
        description: "Apply to be a content creator",
        emoji: "🎥",
        category_id: "1160209305593716776",
        questions: "creator_questions",
        permission_list: ["804354019455139900"],
        mention_roles: ["804354019455139900"]
    }
]
```

***

## <mark style="color:blue;">Part 3: Application Questions</mark>

### <mark style="color:yellow;">Understanding Question Structure</mark>

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

```json
application_questions: {
    "first_question_set": [
        {
            question: "What is your IGN?",
            max_length: 20,
            min_length: 2,
            placeholder: "Enter a value...",
            select_options: [],
            required: true,
        },
    ],
}
```

***

### <mark style="color:yellow;">Question Configuration Options</mark>

#### <mark style="color:orange;">question</mark>

**Type:** String

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

**Best Practices:**

{% hint style="success" %}
**Writing Good Questions:**

* Be specific and clear
* Ask one thing per question
* Use proper grammar and punctuation
* Avoid yes/no questions (unless using select options)
* Ask questions that reveal character, skills, and fit
  {% endhint %}

**Examples:**

```json
// Good questions
question: "What is your in-game name?"
question: "Describe your previous moderation experience"
question: "Why do you want to join our team?"
question: "How would you handle a conflict between members?"
question: "What timezone are you in?"

// Avoid these
question: "Tell me about yourself"  // Too vague
question: "Are you active?"  // Yes/no without context
question: "Why should we pick you?"  // Too generic
```

***

#### <mark style="color:orange;">max\_length & min\_length</mark>

**Type:** Number

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

**Text Input Behavior:**

```json
// Short answer (username, IGN, etc.)
max_length: 20
min_length: 2

// Medium answer (timezone, age range)
max_length: 50
min_length: 3

// Long answer (experience, scenarios)
max_length: 800
min_length: 50

// Essay-style answer
max_length: 2000
min_length: 100
```

**Select Menu Behavior:**

```json
// Single selection only
max_length: 1
min_length: 1

// Multiple selections allowed (1-3 options)
max_length: 3
min_length: 1

// Multiple selections required (at least 2)
max_length: 5
min_length: 2
```

{% hint style="warning" %}
**Important:** Discord has a maximum of 4000 characters for text inputs. Keep `max_length` reasonable to prevent hitting Discord's limits.
{% endhint %}

***

#### <mark style="color:orange;">placeholder</mark>

**Type:** String

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

**Examples:**

```json
// Generic placeholder
placeholder: "Enter a value..."

// Helpful hints
placeholder: "e.g., Steve123"
placeholder: "EST, PST, GMT+1, etc."
placeholder: "Describe in detail..."
placeholder: "Select one or more options"

// Format examples
placeholder: "Format: DD/MM/YYYY"
placeholder: "Example: 2-3 hours daily"
```

**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

***

#### <mark style="color:orange;">select\_options</mark>

**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:**

```json
select_options: []  // User types free-form text
```

**With Options = Select Menu:**

```json
select_options: ['Option 1', 'Option 2', 'Option 3']
```

**Examples:**

```json
// Yes/No questions
select_options: ['✅ Yes', '❌ No']
select_options: ['Yes', 'No']

// Age ranges
select_options: ['Under 13', '13-17', '18-24', '25-34', '35+']

// Experience levels
select_options: ['No experience', 'Beginner', 'Intermediate', 'Advanced', 'Expert']

// Time commitment
select_options: ['Less than 5h/week', '5-10h/week', '10-20h/week', '20+h/week']

// Platforms
select_options: ['PC', 'Console', 'Mobile', 'Multiple']

// Hobbies/Interests (multi-select)
select_options: ['Gaming', 'Coding', 'Art', 'Music', 'Sports', 'Reading', 'Other']

// Time zones
select_options: ['EST', 'CST', 'MST', 'PST', 'GMT', 'CET', 'Other']

// Minecraft versions
select_options: ['Java', 'Bedrock', 'Both']
```

{% hint style="info" %}
**Tip:** Use emojis in select options to make them more visually appealing and easier to scan (e.g., `'✅ Yes'`, `'❌ No'`).
{% endhint %}

***

#### <mark style="color:orange;">required</mark>

**Type:** Boolean

Whether the question must be answered to submit the application.

```json
// Must answer this question
required: true

// Optional question
required: false
```

**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:**

{% hint style="success" %}

* Keep most questions required for complete applications
* Use 1-2 optional questions at the end for additional context
* Don't make critical questions optional
  {% endhint %}

***

### <mark style="color:yellow;">Question Examples</mark>

```json
// In-game name (text input)
{
    question: "What is your in-game name (IGN)?",
    max_length: 20,
    min_length: 2,
    placeholder: "e.g., Steve123",
    select_options: [],
    required: true
}

// Age range (select menu)
{
    question: "What is your age range?",
    max_length: 1,
    min_length: 1,
    placeholder: "Select your age range",
    select_options: ['13-17', '18-24', '25-34', '35+'],
    required: true
}

// Timezone (select menu)
{
    question: "What is your timezone?",
    max_length: 1,
    min_length: 1,
    placeholder: "Select your timezone",
    select_options: ['EST', 'CST', 'MST', 'PST', 'GMT', 'CET', 'Other'],
    required: true
}

// Timezone (text input for more flexibility)
{
    question: "What is your timezone?",
    max_length: 20,
    min_length: 1,
    placeholder: "e.g., EST, GMT+1, PST",
    select_options: [],
    required: true
}
```

***

### <mark style="color:yellow;">Question Set Example</mark>

#### <mark style="color:orange;">Basic Staff Questions</mark>

Simple question set for general staff positions:

```json
application_questions: {
    "staff_questions": [
        {
            question: "What is your in-game name?",
            max_length: 20,
            min_length: 2,
            placeholder: "Enter your IGN",
            select_options: [],
            required: true
        },
        {
            question: "What is your age range?",
            max_length: 1,
            min_length: 1,
            placeholder: "Select one",
            select_options: ['13-17', '18-24', '25-34', '35+'],
            required: true
        },
        {
            question: "What is your timezone?",
            max_length: 20,
            min_length: 1,
            placeholder: "e.g., EST, PST, GMT+1",
            select_options: [],
            required: true
        },
        {
            question: "How many hours per week can you dedicate?",
            max_length: 1,
            min_length: 1,
            placeholder: "Select one",
            select_options: ['Less than 5h', '5-10h', '10-20h', '20+h'],
            required: true
        },
        {
            question: "Why do you want to join our staff team?",
            max_length: 1000,
            min_length: 100,
            placeholder: "Explain your motivation...",
            select_options: [],
            required: true
        },
        {
            question: "Have you been punished on our server before?",
            max_length: 500,
            min_length: 2,
            placeholder: "Be honest - we can check logs",
            select_options: [],
            required: true
        }
    ]
}
```

***

## <mark style="color:blue;">Complete Configuration Example</mark>

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

```json
{
    config: {
        staff_management_hook: true,
        application_channel_name: "app-%random%",
        default_cooldown: "7d",

        applications: [
            {
                application: "Staff",
                description: "Apply to join our general staff team",
                emoji: "👮",
                category_id: "1160209305593716776",
                questions: "staff_questions",
                permission_list: [
                    "804354019455139900",  // Admin
                ],
                mention_roles: [
                    "804354019455139900",  // Admin
                ]
            },
            {
                application: "Moderator",
                description: "Apply for Moderator position (Experienced)",
                emoji: "🛡️",
                category_id: "1160209305593716776",
                questions: "moderator_questions",
                permission_list: [
                    "804354019455139900",  // Admin
                    "805123456789012345",  // Head Moderator
                ],
                mention_roles: [
                    "805123456789012345",  // Head Moderator
                ]
            },
            {
                application: "Builder",
                description: "Join our creative build team",
                emoji: "🔨",
                category_id: "1160209305593716776",
                questions: "builder_questions",
                permission_list: [
                    "804354019455139900",  // Admin
                    "806234567890123456",  // Build Team Lead
                ],
                mention_roles: [
                    "806234567890123456",  // Build Team Lead
                ]
            },
        ],

        application_questions: {
            "staff_questions": [
                {
                    question: "What is your in-game name?",
                    max_length: 20,
                    min_length: 2,
                    placeholder: "Enter your IGN",
                    select_options: [],
                    required: true,
                },
                {
                    question: "What is your timezone?",
                    max_length: 20,
                    min_length: 1,
                    placeholder: "e.g., EST, PST, GMT+1",
                    select_options: [],
                    required: true
                },
                {
                    question: "How old are you?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select age range",
                    select_options: ['14-18', '18-24', '25-34', '35+'],
                    required: true
                },
                {
                    question: "Do you have a working microphone?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['✅ Yes', '❌ No'],
                    required: true
                },
                {
                    question: "Are you able to record videos?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['✅ Yes', '❌ No'],
                    required: true
                },
                {
                    question: "What are your favorite hobbies?",
                    max_length: 5,
                    min_length: 1,
                    placeholder: "Select your interests",
                    select_options: ['Gaming', 'Coding', 'Art', 'Music', 'Sports', 'Reading', 'Traveling', 'Cooking', 'Other'],
                    required: true
                },
                {
                    question: "Have you been punished before?",
                    max_length: 800,
                    min_length: 2,
                    placeholder: "Be honest - we can check logs",
                    select_options: [],
                    required: true
                },
            ],

            "moderator_questions": [
                {
                    question: "What is your Discord username?",
                    max_length: 32,
                    min_length: 2,
                    placeholder: "e.g., Username#1234",
                    select_options: [],
                    required: true
                },
                {
                    question: "What is your age range?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['16-17', '18-21', '22-25', '26+'],
                    required: true
                },
                {
                    question: "What is your timezone?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select your timezone",
                    select_options: ['EST', 'CST', 'MST', 'PST', 'GMT', 'CET', 'Other'],
                    required: true
                },
                {
                    question: "Do you have a working microphone?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Required for voice moderation",
                    select_options: ['✅ Yes', '❌ No'],
                    required: true
                },
                {
                    question: "How would you rate your moderation experience?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Be honest",
                    select_options: ['No experience', 'Beginner', 'Intermediate', 'Advanced'],
                    required: true
                },
                {
                    question: "Describe your previous moderation experience",
                    max_length: 1000,
                    min_length: 50,
                    placeholder: "Server names, roles, duration, responsibilities...",
                    select_options: [],
                    required: true
                },
                {
                    question: "How many hours per week can you moderate?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['5-10 hours', '10-15 hours', '15-20 hours', '20+ hours'],
                    required: true
                },
                {
                    question: "Why do you want to become a moderator?",
                    max_length: 1500,
                    min_length: 150,
                    placeholder: "Explain your motivation...",
                    select_options: [],
                    required: true
                },
                {
                    question: "How would you handle two members arguing in chat?",
                    max_length: 1000,
                    min_length: 100,
                    placeholder: "Describe your approach step-by-step...",
                    select_options: [],
                    required: true
                },
                {
                    question: "Have you been punished on our server before?",
                    max_length: 800,
                    min_length: 2,
                    placeholder: "Be honest - we can check. Explain if yes.",
                    select_options: [],
                    required: true
                },
            ],

            "builder_questions": [
                {
                    question: "What is your in-game name?",
                    max_length: 20,
                    min_length: 2,
                    placeholder: "Minecraft username",
                    select_options: [],
                    required: true
                },
                {
                    question: "What Minecraft version do you build in?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['Java Edition', 'Bedrock Edition', 'Both'],
                    required: true
                },
                {
                    question: "What is your building specialty?",
                    max_length: 3,
                    min_length: 1,
                    placeholder: "Select your strengths",
                    select_options: ['Medieval', 'Modern', 'Fantasy', 'Redstone', 'Terraforming', 'Interiors'],
                    required: true
                },
                {
                    question: "How long have you been building?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['Less than 1 year', '1-2 years', '2-5 years', '5+ years'],
                    required: true
                },
                {
                    question: "Describe your building experience",
                    max_length: 1500,
                    min_length: 100,
                    placeholder: "Projects, servers, achievements...",
                    select_options: [],
                    required: true
                },
                {
                    question: "Portfolio links (at least 3 images required)",
                    max_length: 500,
                    min_length: 10,
                    placeholder: "Imgur, Planet Minecraft, etc.",
                    select_options: [],
                    required: true
                },
                {
                    question: "How many hours per week can you build?",
                    max_length: 1,
                    min_length: 1,
                    placeholder: "Select one",
                    select_options: ['5-10 hours', '10-20 hours', '20+ hours'],
                    required: true
                },
                {
                    question: "Why do you want to join our build team?",
                    max_length: 1000,
                    min_length: 100,
                    placeholder: "What excites you?",
                    select_options: [],
                    required: true
                },
            ],
        },
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iynxdev.com/configuration-files/applications.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
