> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Application Panels

> Recruit staff and process role requests with question forms, eligibility gates, reviewer voting and automated actions.

A member clicks a button, answers your questions, and staff accept or deny. On acceptance Vetox can assign roles, DM them, rename them, open an interview channel and more.

## Limits

|                           | Starter | Basic | Max | Black |
| ------------------------- | ------- | ----- | --- | ----- |
| Panels                    | 1       | 3     | 10  | 10    |
| Questions per form        | 5       | 15    | 50  | 50    |
| Actions per stage         | 1       | 3     | 10  | 10    |
| Forms (buttons) per panel | 1       | 3     | 5   | 10    |

<Warning>
  **Downgrading permanently deletes questions above the new limit.** This is the one place in Vetox where a downgrade destroys data rather than disabling it.

  Going from Max (50 questions) to Basic (15) removes questions 16 onward for good. Upgrading again does not bring them back.

  **Export or copy your questions before you downgrade.**
</Warning>

Everything else on a downgrade is disabled rather than deleted, and returns on upgrade.

## Two submission flows

<CardGroup cols={2}>
  <Card title="Dialog Button" icon="window-maximize">
    A Discord pop-up form. Free on every tier. **Maximum 5 questions.**
  </Card>

  <Card title="Private Message" icon="envelope">
    Vetox DMs the applicant and asks questions one at a time. Supports the full question limit.
  </Card>
</CardGroup>

<Warning>
  **A dialog form with 6 or more questions where any question past the fifth is required can never be submitted.**

  Discord pop-ups hold 5 fields. Questions beyond that are not shown, but a required one is still checked — so the applicant is told a required answer is missing, with no way to provide it. Nothing warns you when you save this.

  If you need more than 5 questions, use the **Private Message** flow.
</Warning>

### What the DM flow cannot do

The DM flow asks questions as chat messages, so the richer question types degrade:

| Question type         | Dialog Button | Private Message             |
| --------------------- | ------------- | --------------------------- |
| Short text, Paragraph | Native        | Native                      |
| Dropdown              | Native        | Native picker               |
| **User picker**       | Native        | **Typed text, unvalidated** |
| **Role picker**       | Native        | **Typed text, unvalidated** |
| **Channel picker**    | Native        | **Typed text, unvalidated** |
| **User/Role picker**  | Native        | **Typed text, unvalidated** |
| **File upload**       | Native        | **Filenames only**          |

<Warning>
  In the DM flow, the four picker types accept **any text** with no validation. An applicant can type anything and it is stored as their answer. Do not rely on a picker answer being a real user, role or channel in a DM form.
</Warning>

## Questions

Eight types. Text questions take a 0–4,000 character range; dropdowns take up to 25 choices; file uploads take up to 10 files.

## Eligibility

Who is allowed to apply:

| Gate                          | What it checks                                    |
| ----------------------------- | ------------------------------------------------- |
| **Minimum account age**       | How old their Discord account is                  |
| **Minimum server membership** | How long they have been in your server            |
| **Required roles**            | Must hold **any** or **all** of these             |
| **Blocked roles**             | Cannot hold **any** or **all** of these           |
| **Multi-server verification** | Must be a member of other named servers (**Max**) |
| **Cooldown**                  | 0–1,440 minutes between applications              |
| **Max pending**               | 1–5 open applications per person                  |
| **DM reachable**              | Their DMs must be open (on by default)            |

<Info>
  Required and blocked roles, and auto-deny, require **Basic**. Multi-server verification requires **Max**.
</Info>

<Warning>
  **There is no "already accepted" gate.** Once someone is accepted they can apply again as soon as the cooldown expires. If you do not want repeat applications, set a long cooldown or add the accepted role to **Blocked roles**.
</Warning>

## Workflow actions

What happens on submit, accept or deny.

| Action                          | Tier  |
| ------------------------------- | ----- |
| Add roles, Remove roles         | Free  |
| Send embed, Send DM, Ping roles | Free  |
| Edit nickname, Set forum tags   | Free  |
| Kick, Ban, Timeout member       | Basic |
| Edit thread name                | Basic |
| Create interview channel        | Basic |
| Auto-assign probation role      | Max   |
| Delay an action / chain actions | Max   |
| **Execute command**             | Max   |

<Warning>
  **Execute command does not do anything.** It saves, it is gated behind Max, and the bot logs it and moves on without running the command. The editor labels it accordingly, but it is still presented as a paid capability.

  Do not build a workflow that depends on it.
</Warning>

### Variables in action messages

<Warning>
  Member and server variables — `{username}`, `{user.displayName}`, `{nickname}`, `{guildname}`, `{server.name}`, `{server.memberCount}` — **resolve to nothing inside workflow action templates.**

  A template like `[{answer1}] {username}` renders as `[their answer]` with a trailing space. Use answer variables and static text in workflow actions; put member details in the DM messages instead, where they work.
</Warning>

## Staff review

Applications post to a review channel where reviewers accept or deny.

| Option                       | Notes                                                        |
| ---------------------------- | ------------------------------------------------------------ |
| **Review channel**           | Text, announcement or forum                                  |
| **Reviewer roles**           | Up to 10                                                     |
| **Add thread to submission** | A thread per application (**Basic**)                         |
| **Voting**                   | Require N approvals or denials before a decision (**Basic**) |
| **Auto-deny**                | Deny after 1–720 hours pending (**Basic**)                   |

<Note>
  The **private thread** option for review threads has no effect — review threads are always public to anyone who can see the review channel. Restrict the channel itself instead.
</Note>

<Note>
  A reviewer cannot review their own application.
</Note>

## Permissions Vetox needs

| Action                | Permission                                               |
| --------------------- | -------------------------------------------------------- |
| Add or remove roles   | **Manage Roles**, and the role must sit **below** Vetox  |
| Edit nickname         | **Manage Nicknames**, and the member must be below Vetox |
| Kick / Ban / Timeout  | The matching permission, and the member below Vetox      |
| Post the review embed | **View Channel**, **Send Messages**, **Embed Links**     |
| Review threads        | **Manage Threads**                                       |
| Interview channels    | **Manage Channels**                                      |

<Warning>
  **If Vetox cannot post into the review channel, the applicant is still told their application was submitted** — while staff never see it. Verify the bot can post in the review channel before going live.
</Warning>

Most other failures are reported into the review channel so staff can see what went wrong.

## Setting one up

<Steps>
  <Step title="Turn Applications on in Server Setup" />

  <Step title="Start from a template">
    Six are provided — Staff Application, Game Member, Role Request, Event Signup, Partner Inquiry, Verification — or start blank.
  </Step>

  <Step title="Choose the flow">
    Five questions or fewer, Dialog Button is fine. More than five, use Private Message.
  </Step>

  <Step title="Set the review channel and reviewer roles">
    Confirm Vetox can post there.
  </Step>

  <Step title="Add accept actions">
    Typically: add the role, send a welcome DM. Check the role is below Vetox.
  </Step>

  <Step title="Set eligibility">
    A minimum account age blocks throwaway accounts at almost no cost to genuine applicants.
  </Step>

  <Step title="Send the panel and test it yourself">
    Submit a real application and take it through to acceptance before announcing it.
  </Step>
</Steps>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Applicants get a missing-required-answer error they cannot fix">
    A dialog form with more than 5 questions where a later one is required. Switch to the Private Message flow, or make questions 6+ optional.
  </Accordion>

  <Accordion title="Applications submit but staff never see them">
    Vetox cannot post in the review channel. The applicant is told it worked regardless.
  </Accordion>

  <Accordion title="The role is not assigned on acceptance">
    Manage Roles, and the role must be below Vetox in the role list.
  </Accordion>

  <Accordion title="Someone who was already accepted applied again">
    Expected — there is no gate for this. Add the accepted role to Blocked roles.
  </Accordion>

  <Accordion title="My variables render blank in an accept action">
    Member and server variables do not resolve in workflow actions. Move that text into the acceptance DM.
  </Accordion>

  <Accordion title="Questions vanished after I changed plan">
    A downgrade truncates questions past the new limit and they cannot be recovered.
  </Accordion>

  <Accordion title="The button does nothing when clicked">
    Usually a panel that was edited or recreated after the message was sent. Send the panel again.
  </Accordion>
</AccordionGroup>

<CardGroup cols={2}>
  <Card title="Submissions" icon="inbox" href="/en/utility/applications/submissions">
    Review, filter and export applications.
  </Card>

  <Card title="Analytics" icon="chart-line" href="/en/utility/applications/analytics">
    Acceptance rates and where applicants drop off.
  </Card>
</CardGroup>
