Create your first Formie 🌵
Create the best Discord forms for your server — right inside Discord, with no external tools required. Everything is driven by slash commands.
/create — it will guide you through every step of building your Formie.The /create Wizard
When you run /create, Formie opens an interactive wizard. You'll first set a Title (the embed title) and a Description (the embed description shown to members).
Once your Formie is named, click "Choose Action" to start adding components. There are three actions available:
Adding Text Input
Text inputs are the questions your members will answer. Each input has several properties you can configure:
Label — "Question Title"
The label is the title shown above the input field inside the Discord modal. This is what your members see as the question prompt.
Length — min & max characters
Sets a minimum and maximum character count for the response. Useful for ensuring members write enough detail (e.g. min 50, max 4000).
Required — Yes / No
Marks whether this question must be answered before the form can be submitted. Set to Yes for mandatory fields, No for optional ones.
Placeholder — hint text
Grey hint text shown inside the empty input field. Helps members understand what to write before they start typing.
Pre-Text — auto-filled value
Pre-filled text that appears in the field automatically. Members can edit it or submit it as-is. Great for guiding responses or providing a template answer.
Adding a Custom Button
Buttons are what your members click to open the form. You can fully customise the look and feel of each button.
Button Label — "Button Text"
The text displayed on the button that members click.
Button Emoji ID
You can add a custom Discord emoji to your button by providing its emoji ID. See the How to find Emoji IDs section for a full guide.
Button Style — 4 Discord colors
Due to Discord's limitations, buttons support 4 color styles:
Blue · Green · Red · Grey — color does not affect button functionality.
Sending Your Formie
Once you've finished building and saving your Formie, use /send to deploy it to a channel. Anyone who can view that channel will be able to submit a response.
dropdown argument and set it to true to combine multiple Formies into a dropdown on the same message.embed argument to True to unlock the title, description, color, image, thumbnail, and note arguments.title appears bold at the top of the embed. description is the body text beneath it. Custom server emotes can be used — see the Emoji IDs guide.color argument.thumbnail adds a small image in the top-right. image adds a large image at the bottom of the embed.note argument.embed: false), the title becomes bold text and description becomes plain text. The image, thumbnail, color, and note arguments will not work.Setup Actions ⚙️
Actions are additional automated tasks Formie performs after someone submits a form. You can chain multiple actions together on a single Formie.
All actions are added with /actions add. Available actions:
Reply Action
Sends a private reply to the member who submitted the form. Only they can see it — no channel clutter. No optional arguments are needed.
/actions add action:Reply
After running the command, select which Formie to apply the action to. The reply embed supports custom server emotes — see the Emoji IDs guide.
Voting Action
Adds anonymous Upvote and Downvote buttons to the submission log. Because it uses buttons, votes remain private.
/actions add action:Voting
Send Message to Text Channel
Sends a formatted embed (webhook-style) to a channel of your choice whenever someone submits the form. Use it to log applications, receive suggestions, or relay answers anywhere in your server.
/actions add action:Send Message To Text Channel channel:#application-logging
The channel argument is required. After selecting the Formie, you'll be prompted to write the embed content using variables:
Variable Guide
| Variable | Description |
|---|---|
| {user} | Mentions the member who submitted the form. |
| {value-1} | The member's answer to question 1. |
| {value-2} | The member's answer to question 2 (and so on). |
| {value-N} | Replace N with any question number. Order doesn't matter. |
Create Ticket
Automatically creates a private text channel (ticket) for the member when they submit the form. Perfect for support requests.
/actions add action:Create ticket category:#Ticket Testing
The category argument is required — this is the Discord category where tickets will be created. The embed content inside the ticket also supports variables:
| Variable | Description |
|---|---|
| {user} | Mentions the ticket creator. |
| {value-N} | The member's answer to question N. |
| {name} | Sets the ticket channel name (e.g. ticket-{name}). |
Add Role to Member
Automatically grants the member a role upon form submission. Ideal for giving an "Applied" or "Applicant" role.
/actions add action:Add Role To Member role:@Applied
Remove Role from Member
The opposite of Add Role — removes a role from the member when they submit. Useful for removing a "pending" or "applicant" role after they apply.
/actions add action:Remove Role From Member role:@Applicant
Feedback Template 📄
A ready-made feedback form with 3 questions. Start with /create and select template as an option to use it instantly.
/create and choose the template option./edit./send.Ready-to-use placeholder (Send Message Action)
User Mention: {user} **How do you feel that we're doing?** {value-1} **How do you feel about the staff team?** {value-2} **Additional Information:** {value-3}
Ticket Template 🎫
A ready-made support ticket form with 3 questions. Uses the Create Ticket action — a private channel is created for each submission.
/create and choose the template option./edit, deploy with /send.Ready-to-use placeholder (Ticket embed)
Welcome {user}, support will arrive soon.
Feel free to include information that you may miss below.
Ticket Reason: {value-1}
Staff Template 🗒️
A comprehensive staff application form with 10 questions. Built for servers that want thorough, structured applications from candidates.
/create and choose the template option./edit, deploy with /send.Ready-to-use placeholder (Send Message Action)
User Mention: {user} **Age:** {value-1} **Why would you like to apply for staff?** {value-2} **Have you ever been staff on any other server?** {value-3} **Have you ever broken a rule?** {value-4} **What's your native/main language?** {value-5} **How professional can you be?** {value-6} **Do you have any anger issues?** {value-7} **How long can you be active?** {value-8} **What are your top 3 strengths?** {value-9} **What are your top weaknesses?** {value-10}
Polls 📈
Create anonymous polls with up to 10 options, custom colors, images, and descriptions — all through Discord's native slash command interface.
Overview
Creating a Poll
/poll create in the channel where you want the poll to appear. Members won't see your slash command — only the final poll embed./poll create title:"Is Formie the best form bot?" option1:"For Sure" option2:"Definitely!" option3:"Oh well..."
Ending a Poll
Use /poll end — a dropdown will appear listing all active polls. Select the one you want to end. Votes will be locked and a winner will be displayed automatically.
/poll end — then select the poll from the dropdown
How to find Emoji IDs 🍕
Custom Discord server emojis can be used in form buttons and embed replies. Here's how to find an emoji's ID on both desktop and mobile.
Desktop / PC
\:emoji-name: in any text channel and press Enter. Discord will expand it into the full emoji tag.
<:emojiname:123456789012345678> — copy only the number and paste it into the Button Emoji ID field.Type in chat: \:arlove: Discord sends: <:arlove:955465895793283073> Your emoji ID: 955465895793283073
Mobile (Android / iOS)
:tag:.:-:emoji-name: in a channel, then hit send. Discord will display the emoji tag with the ID.
Guide reference: UniTopTen