Custom Commands docsCustom CommandsDocs

Search docs

Find a page, function or guide

HomeSupportDashboard

Getting started

  • Introduction
  • Your first command
  • How a command runs
  • Variables in replies
  • Text commands
  • Events
  • Using Slushy

Guides

  • Welcome messages
  • Role menus
  • Auto moderation
  • Automations
  • Forms
  • Social alerts
  • Moderation commands
  • Levels and XP
  • Economy and coins
  • Ticket system
  • Giveaways
  • Poll
  • Button game
  • Reminders

Concepts

  • Buttons and menus
  • Forms
  • Saving data
  • Permissions and cooldowns
  • Limits and premium
  • Common mistakes

API reference

  • Response
  • Messages
  • Embeds
  • Members and roles
  • Channels
  • Storage
  • Checks
  • Views
  • Components
  • Modals
  • Interactions
  • Paginators
  • Web and files
  • Scheduling
  • Server events and polls
  • Time
  • Waiting
  • Utilities
  • Objects
  • Event variables

Examples

  • /8ball
  • /coinflip
  • /avatar
  • /serverinfo
  • /rank
  • /remind

Guides

View .md

Forms

Ask members questions on the web or on Discord, then see every answer and the totals in the dashboard.

A form is a list of questions for your members. Use one for staff applications, appeals, event sign-ups or feedback.

Members can answer in two places:

  • On the web. Every form has a short link, like ccbot.app/f/aB3x9KqZ. Members log in with Discord and fill it in.
  • On Discord. A command starts the form. The bot opens a private thread and asks the questions one at a time.

Make a form#

  1. Open Forms on the dashboard and press New form, or pick a ready-made one.
  2. Add questions with Add question. Drag them to change the order.
  3. Click a question to edit it. The preview shows how it looks on the web and on Discord.
  4. Open Settings to choose the rules (see below).
  5. Press Save. Open Share to copy the link.

Question types#

TypeWhat members do
Short text, ParagraphType an answer
Number, Email, Link, DateType an answer. The bot checks the format. Dates can have an earliest and latest day, and on Discord can be typed like 2 Feb 1980
Date and timePicked in your server's time zone (Settings → Timezone), shown on the form. On Discord, type it like 2026-10-26 17:00 or tomorrow 5pm. Answers show in each viewer's own time
Single choice, Multiple choicePick from your options
Yes / No, RatingPress a button
Member, Role, ChannelPick from the server
File uploadAttach a file (premium)
Info textRead it, then continue
Page breakStarts a new page on the web. Discord asks one question at a time anyway

Start it on Discord#

Put this in a slash command's script:

python
await start_form("staff-application")

Use the Form ID from the form's Settings. The command replies with a link to the member's thread, following the command's own settings. Opening the thread takes a few seconds, so the command must answer Discord first:

  • Show thinking… on (the default): nothing else to do. Turn on Only the user sees the reply to keep the link private.
  • Show thinking… off: your script answers first and picks private or public itself:
python
await defer_response(ephemeral=True)
await start_form("staff-application")

Automations can do the same with the Start a form block.

How the thread works:

  • Only the member, the bot and moderators with Manage Threads can see it.
  • A header message stays at the top with a Cancel button. The bot asks one question at a time below it, and removes each answered question and the member's reply, so the thread stays clean.
  • The bot asks one question at a time. Typed answers are checked. 3 wrong answers in a row end the form, and the member starts again.
  • At the end the member sees all their answers and presses Submit or Edit an answer.
  • 10 minutes with no answer ends the form.
  • The thread is deleted 30 seconds after the form ends.

Tip

Pick a Discord threads channel in Settings, for example #applications. Members need View Channel and Send Messages in Threads there. The bot needs Manage Messages to clear answers as it goes. The dashboard checks this and can fix it for you.

Settings#

  • Answers per member: one only, as many as they like, or a new answer replaces the old one.
  • Deadline and Max answers in total: after either, the form stops taking answers.
  • Post each answer: the bot posts every new answer to a channel you pick.
  • Roles after sending: give or remove roles when a member sends the form.

See the answers#

Open a form's Answers:

  • Summary shows a bar for each option with its percent, rating averages, number ranges and the latest text answers.
  • Each answer lists every member's answers. Click one to see it all, or delete it.
  • Export to Excel downloads everything (premium).

Limits#

FreeStarterBasicAdvanced
Forms31550200
Questions per form10255050
Answers per month1002,00010,00050,000
File upload questionsNoYesYesYes
Excel exportNoYesYesYes

Uploaded files count toward your server's storage on the Files page. If a plan ends, forms over the limit turn off, and file questions are skipped until you upgrade again. Nothing is deleted.

PreviousAutomationsNext Social alerts

On this page

  • Make a form
  • Question types
  • Start it on Discord
  • Settings
  • See the answers
  • Limits
Custom CommandsCustom Commands

The #1 Custom Commands Discord bot — build commands, events and databases with zero boilerplate.

Join the support server

Product

  • Overview
  • Why us?
  • Premium
  • Template shop

Features

  • AI Agent
  • Reaction roles
  • Welcome messages
  • Embed builder
  • Social alerts
  • Custom bot

Resources

  • Docs
  • Blog
  • Support
  • Dashboard

Company

  • Privacy
  • Terms
  • Contact
contact@ccbot.app

2 Frederick Street, London, WC1X 0ND

Payments secured by Stripe

© WEiRDSOFT LTD. All rights reserved.

Custom Commands