# Permissions

Most Formify problems come down to missing Discord permissions or role order. This page lists what you need and where it matters.

---

## Who can use the dashboard?

- You must sign in with Discord.
- You need **Manage Server** on the guild you are editing.
- Formify must already be in that server.

The dashboard only lists servers where both are true.

---

## Bot permissions (recommended baseline)

When you invite Formify, accept the default permission set. At minimum, Formify needs:

| Permission | Used for |
|------------|----------|
| View Channels | See channels you publish to |
| Send Messages | Post forms, panels, and ticket messages |
| Embed Links | Send rich embeds |
| Read Message History | Edit its own published messages |
| Use Slash Commands | Register and run commands |
| Manage Channels | Create ticket channels |
| Change Nickname | Per-server bot profile (optional but recommended) |

If you use role automation (approve/deny roles), Formify also needs **Manage Roles**, and its highest role must be **above** the roles it should assign.

---

## Channel permissions

For every channel where Formify posts forms, panels, or ticket buttons:

1. Open **Channel settings → Permissions**.
2. Make sure the **@everyone** or member role can **View Channel** (if the channel is not staff-only).
3. Make sure **Formify** can **View Channel** and **Send Messages**.

If Formify can see a channel but cannot send messages, submissions and publish actions will fail with a permission error.

---

## Role hierarchy (for role automation)

Discord will block role changes if Formify's role is too low.

1. Open **Server settings → Roles**.
2. Drag **Formify's role** above any role it should give or remove on approve/deny.
3. Avoid stacking deny permissions on Formify's role in channel overrides.

This is separate from channel visibility. A bot can see a channel but still fail to assign a role that sits above it.

---

## Who can review submissions in Discord?

On each form you can set **Mod roles**. Members with one of those roles — or **Manage Server** — can use the response buttons (Approve, Deny, Ticket Response, and so on).

If staff say buttons do nothing, check:

- They have a mod role on that form, or Manage Server
- The submission output message still exists
- Someone did not run `/clearsubmissions` and delete the backing record

---

## Ticket permissions

- Formify needs **Manage Channels** to create ticket channels.
- `/ticket add` and `/ticket remove` require the person running the command to have **Manage Server**.
- Other `/ticket` actions (claim, close, reopen, close request) use the ticket template's **support roles** or Manage Server.

Ticket channel overwrites are set when the ticket opens. If the submitter cannot see their ticket, check the template's support/mod roles and whether they were removed from the server.

---

## Bot profile editing

To change Formify's nickname, avatar, or banner per server from the dashboard, Formify needs **Change Nickname** in that server. Avatar and banner updates also require the bot to be present and online.

See [Bot profile](/guides/bot-profile/).

---

## Related

- [Troubleshooting](/help/troubleshooting/)
- [Forms](/guides/forms/) — output channel setup
- [Tickets](/guides/tickets/) — support roles
