NewCommand BuilderFree

Introducing Forms V2

The Send a Form block now has 11 field types, from dropdowns and user pickers to file uploads and tick boxes, and every answer comes back as a variable.

BotGhost team3 min read
Ghost Café BotAPP
mmika used /apply
Ghost Café BotAPPToday at 21:04
New staff application
Applicant
@mika
Team
@Events Team
Available
Weekends
Files
2
Posted from the answers to a Send a Form block
A staff application form's answers, posted with its variables.

What changed

The Send a Form block used to ask for typed answers only. With Forms V2, one Discord form can mix 11 field types, so members can pick a role, choose a member, tick a box or attach a screenshot instead of typing IDs and links. Your existing forms keep working unchanged.

The 11 field types

  • Text Input: a short or long text answer.
  • Dropdown: pick one or more of up to 25 options you define.
  • User Select, Role Select and Channel Select: pick members, roles or channels from the server.
  • Mentionable Select: pick users or roles.
  • File Upload: upload up to 10 files in one field.
  • Checkbox: a single yes or no tick box.
  • Multiple Choice: tick boxes for up to 10 choices, with Maximum Selections setting how many can be ticked.
  • Single Choice: pick exactly one of 2 to 10 choices.
  • Header Text: text shown in the form to explain it. It is not a question.

Build a form

  1. Add a Send a Form block to a command and give it a Form Name, such as apply.
  2. Click Open Form Builder and fill in the Form Title.
  3. Click + Add Field and pick a field type.
  4. Give the field a label. Its Variable Name fills in from the label, and you can change it.
  5. Check the preview, shown at Discord's real form size, then click Done.

On a phone, the Form Builder switches between Configure and Preview tabs.

Use the answers

Every answer comes back as a variable made from the form name and the field's variable name, such as {apply.team}. Pickers, choices and uploads add extra details you can use in any block after the form. The Form Builder lists every variable a field makes, and you can click one to copy it.

{apply.team}The ID of the role picked in a Role Select field
{apply.team.mentions}The picked role as a mention
{apply.team.names}The name of the picked role
{apply.days.labels}The labels of the options picked in a Dropdown or Multiple Choice field
{apply.rules}true or false from a Checkbox field
{apply.files.length}How many files were uploaded in a File Upload field

Good to know

  • A Discord form shows up to 5 fields, and Header Text counts as one of them.
  • A form can only open if it is the first reply. Put the Send a Form block before any block that replies, such as Send or Edit a Message set to reply.
  • Uploads follow the server's normal file size limit. Discord's file links expire after about a day, so send the files as an attachment if you need to keep them.
  • Set a field's Hidden setting to true, or a variable that resolves to true, to leave it out of the form.
  • Forms you built before keep working exactly as they did. Their text fields open as Text Input fields with the same settings.

Full list of changes

  • NewForms V2: one Send a Form block can now mix 11 field types in a single Discord form
  • NewDropdown, Multiple Choice and Single Choice fields for picking from options you set
  • NewUser Select, Role Select, Channel Select and Mentionable Select fields that pick straight from the server
  • NewFile Upload field for up to 10 files, and a yes or no Checkbox
  • NewHeader Text to explain a form inside the form itself
  • NewExtra answer variables such as {form.field.mentions}, .names, .labels and .length
  • ImprovedHidden now works on every field type, not just text fields, and can be set with a variable
  • ImprovedForm Builder preview at Discord's real form size, Configure and Preview tabs on phones, and every variable a field makes ready to copy
See 14 Sep in the changelog