Skip to content

Application Messages & Component Builder

import { Tabs, TabItem } from ‘@astrojs/starlight/components’;

TicketForge provides a visual dual-engine message builder for your entire application workflow. Deliver application notices using traditional Discord Embeds (V1) or design rich, modular review cards with Components (V2).

Application Message Canvas Editor


1. Choosing Your Application Message Format

Section titled “1. Choosing Your Application Message Format”

At the top of the canvas editor in Application Editor > Messages, you can toggle between both engines:

Classic Embeds (V1) Classic Application Embeds (V1) Canvas Editor
Components (V2) Premium Application Components (V2) Canvas Editor
Feature Embeds (V1) Components (V2)
Layout Style Standard vertical embed cards with accent borders Modular layout: containers, question blocks, and inline buttons
Max Capacity Up to 4 embeds per message Up to 9 root blocks & 36 total nested components
Character Limit 6,000 characters total across embeds 4,000 characters total
Staff Review Actions Fixed button rows at the very bottom Embedded directly inside review containers or section rows
Submission Logs Required (V1 only) ❌ Unavailable for persistent HTML archives

(Premium Feature)

Components V2 allows you to build review cards where applicant details, specific answers, and reviewer controls (Accept, Deny, Notes) are logically grouped.

Application Review Card Anatomy

Block Type Description Application Use Case
Container Outer card with an optional left accent border. Grouping submission answers or reviewer decision logs.
Section Two-column split row: content on the left, accessory on the right. Displaying applicant summary with their avatar or a quick Review button.
Text Display Markdown block. Supports bold text, links, and code blocks. Showing question prompts, candidate answers, and requirements.
Image Wide media banner (max height: 300px). Recruitment banners or department headers.
Thumbnail Compact square graphic (56×56px / 64×64px). Server branding or applicant avatar accessory.
Separator Visual horizontal rule. Dividing applicant answers from reviewer controls.
Link Button Clickable URL button pointing to external websites. Linking to external portfolios, Google Docs, or GitHub profiles.
Action Button System-managed interactive button. Triggering application logic (Accept, Deny, Request Info).
Select Menu Interactive dropdown anchor. Department selection or denial reason presets.

To ensure application messages reliably send without Discord API payload errors:

  1. Hierarchy Limits:
    • Root Blocks: Maximum of 9 top-level blocks.
    • Total Components: Maximum of 36 total components (including all nested items).
    • Text Budget: Maximum of 4,000 characters across all questions, labels, and text displays.
  2. Container Restrictions:
    • Containers cannot be nested inside other containers.
  3. Section Restrictions:
    • A Section can contain Markdown text and a single accessory (thumbnail or button). It cannot contain another Section or Container.
  4. Mobile Responsive Stacking:
    • On mobile devices, sections with review action buttons automatically stack the button full-width beneath the text to preserve readable answers.

When working with review controls (Accept, Deny, Hold):

  • Reviewer Action Sync: When switching review formats (e.g., Button Actions vs. Modal Deny Reasons), the builder preserves and synchronizes the Accept and Deny action anchors.
  • Orphan Button Safeguard: Deleting a container that holds active review buttons will automatically move those buttons into the next available container, preventing applications from becoming un-reviewable.
  • One-Click V1 $\rightarrow$ V2 Converter: Convert classic application embeds into styled V2 containers and answer blocks with one click.

The V1 engine provides classic embed cards with high-density field grids, ideal for reading multi-question responses.

Application Embed Q&A Field Structure

  • Multi-Embed Support: Up to 10 embeds per application message.
  • Character Budget: Up to 6,000 characters total per message.
  • Accent Colors: Custom hex color pickers per embed state (e.g., pending gold, accepted green, denied red).
  1. Author: Applicant’s avatar, username, and ID.
  2. Title: Application title or target position (e.g., Staff Application — Senior Moderator).
  3. Description: Introduction, application overview, or reviewer notes.
  4. Fields (Q&A Pairs):
    • Inline Fields: Displays short answers (e.g., Age, Timezone, Mic Available?) side-by-side in 2 or 3 columns.
    • Standard Fields: Spans the full width for long essay responses.
  5. Media:
    • Thumbnail: Small top-right icon (e.g., applicant avatar or role badge).
    • Main Image: Full-width recruitment banner below questions.
  6. Footer: Submission timestamp and application reference ID (#APP-0042).

Organize question blocks, answers, and staff action rows with drag-and-drop:

Application Block Drag and Drop Highlighting

  • Pointer Grab: Grab the grip icon (⋮⋮) on any question card, embed, or component block.
  • Drop Highlighting:
    • Blue top/bottom bar: Places the item before or after the targeted block.
    • Blue inner box: Places the item inside an answer container or section.
  • Arrow Controls (V1): Use the Up and Down arrow buttons on embed headers to reorder embeds directly.

Inject live applicant and review data anywhere across your text blocks, embed fields, or URLs:

  • {applicant_mention} — Mentions the applicant (@User).
  • {applicant_name} — Plain username of the applicant.
  • {applicant_id} — Discord Snowflake ID of the applicant.
  • {applicant_avatar} — Direct avatar image URL of the applicant.
  • {app_title} — The title of the application form.
  • {app_id} — The internal ID of the application configuration.
  • {submission_id} — Unique reference code for the submission.
  • {submission_url} — Direct URL to the submission on the web portal.
  • {reviewer_mention} — Mentions the staff member who processed the application.
  • {reviewer_name} — Username of the reviewing staff member.
  • {status} — Current status (Pending, Accepted, Denied, Waitlisted).
  • {reason} — Denial or hold reason entered by the reviewer.

6. Available Application Lifecycle Triggers

Section titled “6. Available Application Lifecycle Triggers”

Customize your messages across each stage of the application workflow under Application Editor > Messages:

Trigger Name Format Options Delivery Location When It Fires
Apply Portal Message V1 Embed or V2 Components Public Channel Posted in your apply channel; contains the “Apply” button or dropdown.
Submission Review Card V1 Embed or V2 Components Staff Review Channel Sent to staff containing candidate answers and Accept / Deny action buttons.
Applicant Receipt DM V1 Embed or V2 Components User DMs Automated confirmation receipt sent to the user immediately upon submission.
Accepted DM V1 Embed or V2 Components User DMs Sent when staff approve the application (often accompanied by automated role assignment).
Denied DM V1 Embed or V2 Components User DMs Sent when staff deny the application; supports the {reason} placeholder.
Under Review Notice V1 Embed or V2 Components User DMs / Channel Optional notice sent if an application is placed on hold or moved to an interview stage.
Archive Log V1 Embed Only Private Log Channel Permanent record posted with the attached application history and staff audit log.