---
title: "Set up a suggestion box"
description: "A command that posts suggestions to a channel with voting reactions already on them, and keeps a record you can search later."
canonical_url: "https://www.bondbot.gg/use-cases/suggestion-box"
last_updated: "2026-10-05"
---

# Set up a suggestion box

A command that posts suggestions to a channel with voting reactions already on them, and keeps a record you can search later.

Categories: Custom slash commands, Data & storage, Messages.

## The request

"@Bond Make a /suggest command that posts to #suggestions with thumbs up and down on it"

## What Bond does after the first message

- Create a custom slash command for this server, such as /rank, /daily or /profile. (`create_custom_command`)
- List every custom slash command this server has, with its kind, enabled state, Discord registration status and usage counts. (`list_custom_commands`)
- Get the full definition of one custom slash command: what it runs, its options, who may use it, whether Discord has it registered, and its last few runs. (`get_custom_command`)
- Update an existing custom slash command's description, body, options, access restrictions, ephemeral setting, confirmation step or enabled state. (`update_custom_command`)
- Delete a custom slash command from this server and unregister it from Discord. (`delete_custom_command`)
- Dry-run a custom slash command before it is saved, so a broken one is caught first. (`test_custom_command`)
- Read one document from this server's data store by collection and ID. (`get_document`)
- Create a document in this server's data store, or replace one whole. (`set_document`)
- Merge fields into a document (shallow), keeping the fields you do not mention; creates it if missing. (`merge_document`)
- Delete a document from this server's data store. (`delete_document`)
- Browse a collection: its documents with their IDs and data, paged, optionally narrowed by one field comparison. (`list_documents`)
- Get one field of a document by dot path. (`get_field`)
- Send a message to a channel or thread, optionally with components (buttons, select menus, modals) that make it an interactive panel members click. (`send_message`)
- Edit a message the bot already sent: its text, embeds, attachments or interactive components. (`edit_message`)
- Toggle whether Discord displays embeds and link previews on an existing message. (`suppress_message_embeds`)
- Forward an existing Discord message into another text-based channel. (`forward_message`)
- Delete one message from a Discord channel, given the channel and message ID. (`delete_message`)
- Delete many messages at once from a Discord channel (purge), far faster than one at a time. (`bulk_delete_messages`)

See also: [all custom slash commands tools](https://www.bondbot.gg/tools/custom-commands), [all data & storage tools](https://www.bondbot.gg/tools/data-store), [all messages tools](https://www.bondbot.gg/tools/messages).

## More in commands and panels

- [Create custom slash commands](https://www.bondbot.gg/use-cases/custom-slash-commands): Ask for a command and get a real Discord slash command with typed arguments and per-role access, registered in your server.
- [Set up a support ticket system](https://www.bondbot.gg/use-cases/ticket-system): A button that opens a private thread between the member and your support team, with a close button and a summary in a staff-only log.
- [Collect applications with a form command](https://www.bondbot.gg/use-cases/application-forms): A slash command with typed questions like age, timezone and why they want the role, that saves the answers and posts them for staff to read.
- [Restrict a command to certain roles](https://www.bondbot.gg/use-cases/restrict-commands-to-roles): Every command Bond builds can be limited to specific roles or a Discord permission, so staff commands stay staff-only.
