# Welcome to the Documentation

## What is Centox

[Centox](https://centox.io/) is an online platform for gaming communities. It simplifies creating and managing forums with smart features like Discord integration, enhancing communication and engagement in the gaming community.

[Centox](https://centox.io/) is used by several notable servers and is the hub for players to apply for various roles. Centox is used by all communities, especially in the gaming world, FiveM, Roblox, CS:GO & Minecraft servers and general Discord communities.

This is the official [Centox](https://centox.io/) docs site. Our documentation is a great place to find answers to all the questions you may have during the setup of your forum.

## Questions and Support

**Can't find what you're looking for? Don't hesitate to contact us for help setting up your forum.**\
Official link for our Discord server: [*https://discord.centox.io/*](https://discord.centox.io/)\
*Link for our terms of service:* [*https://centox.io/tos*](https://centox.io/tos)\
Official contact email: *<contact@centox.io>*

## Feature request & upcoming updates

We would love to receive feedback and suggestions for future updates. Take a look at our [changelog ](https://centox.featurebase.app/changelog)page or our [roadmap](https://centox.featurebase.app/) to see future updates.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FeduZbxNCSCTxmC1Njau6%2F201shots_so.png?alt=media&amp;token=8e58ad90-b2f4-4687-af81-115fdec51620" alt=""><figcaption></figcaption></figure>

<br>

***

##


# Login Providers

Login providers are the different services that users can login to your page with.

{% content-ref url="/pages/tIMw6U71aR6bxxvlUX9u" %}
[Discord](/login-providers/discord)
{% endcontent-ref %}


# Discord

Set up Discord as a login provider for your project.

<details>

<summary><mark style="color:blue;">Step 1:</mark> Create a Discord Application</summary>

To start, create a **Discord bot**. \
This is done through this link: <https://discord.com/developers/applications>

<img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FfyhWWYVzHZasqYbxTjgn%2F1-done.jpg?alt=media&amp;token=fb8a7c04-89b6-4552-ab89-4d24ab77d24c" alt="" data-size="original">

Give your discord-bot a appropriate name & and add a logo.

Follow <mark style="color:blue;">**Step 2**</mark> - for adding a correct **url-redirict** link for your application.&#x20;

</details>

<details>

<summary><mark style="color:blue;">Step 2:</mark> Add an url-redirect for your application</summary>

The next step is to add a **url link** to the bot a user goes to after they have **logged in.** \
This is a necessary step for your **Discord bot** to work.

<img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FVyiq4z1QL49Xxbus2iZl%2F2-done.png?alt=media&amp;token=87a846bf-48de-4428-a194-c9784ce08e66" alt="" data-size="original">

Click <mark style="background-color:blue;">**"Add redirect"**</mark> under the category <mark style="background-color:blue;">**"OAuth2"**</mark>

### What link should be inserted?

Here you need to **insert** the following link:\
`https://<yoururl>.centox.io/api/auth/login/discord/callback`

Be sure to click <mark style="background-color:red;">**"Save Changes"**</mark> at the bottom.

### An example where the name of your forum is "<mark style="color:blue;">demo</mark>"

If the link to your forum is <mark style="color:orange;">**demo.centox.io**</mark>, insert the following link:\
`https://demo.centox.io/api/auth/login/discord/callback`

Follow <mark style="color:blue;">**Step 3**</mark> - on how to insert your Discord bot information into Centox.

</details>

<details>

<summary><mark style="color:blue;">Step 3:</mark> Insert the Discord bot credentials into your Centox project</summary>

The next **step** is to copy information from your **Discord bot** into your project on <mark style="color:blue;">Centox.</mark>

Copy the **"Client ID"** & **"Client Secret"** into your project on Centox. Both of these pieces of information can be found under the "OAuth2" category of your discord bot.

<img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FolBLLCglor8dIpl04O6m%2F4-done.png?alt=media&amp;token=c2fa1a1f-bff5-485e-a989-bc388bc3836b" alt="" data-size="original"><br>

To copy them into your Centox project, you need to access the admin page for your project. \
And go to **Settings** -> **General** -> **Enable Provider**

<img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FxecpYYM07aVAJzb6ukRE%2F5-done.jpg?alt=media&#x26;token=569a392a-baae-4fc8-a7de-ad3367049f93" alt="" data-size="original">

**Once you have successfully copied them in, make sure to click "Enable Provider"**\
\
Follow <mark style="color:blue;">**Step 4**</mark> - on how to check if your bot **works** when users try to **log in**.

</details>

<details>

<summary><mark style="color:blue;">Step 4:</mark> Check if you can log in via Discord on your forum</summary>

</details>


# Domains


# Subdomain (.centox.io)

Information about your subdomain and how to change it.

## What is a subdomain

Your subdomain indicates the link to your forum if you haven't set up a [custom domain](/domains/custom-domain) for your forum. It is this link that is used to access the actual forum page for your project. \
All subdomains will always be **https\://\<yourproject>.centox.io/**

## How to change your subdomain?

You can change your subdomain for your project at any time.\
To do this, navigate to Settings under your [dashboard](https://app.centox.io/).

<div align="left"><figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FxghJWqp7H48nkW7fIcMN%2F506shots_so.png?alt=media&amp;token=4b6ee775-7875-4576-be9a-8ca880310d46" alt="" width="563"><figcaption></figcaption></figure></div>

From here, click **General**, where you will see the **Project URL** field. \
Here you can change your subdomain to whatever you want.

<div align="left"><figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FaIuDcLCKCpbCj5DXIUF1%2F615shots_so.png?alt=media&amp;token=dcc2f60e-46fd-471e-9aee-37b8a2801c1e" alt="" width="563"><figcaption></figcaption></figure></div>

Make sure to click **Save** for the change to take place.


# Custom domain

This is how you connect a custom domain to your Centox project.

## How to connect a custom domain to your project on Centox:

First go to **Domain** under **Settings.**\
From here enter the Domain you want to link to your project.\
Here you click on **+ Setup Domain**\
\
If you want to add a subdomain such as "forms.yourdomain.com" or "apply.yourdomain.com" type in the full domain.\
So if you want to link "forms.yourdomain.com" type in "forms.yourdomain.com" for the field.\
If you want to link your domain without a subdomain, you can do that to.

For demonstrating, we have typed in "**forum.unicmc.net**"

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FhmnmrEc4DFXP2kJbGxWi%2Fimage.png?alt=media&amp;token=9e081599-3311-4a54-abb5-2cc1edb50392" alt=""><figcaption></figcaption></figure>

## How to connect the DNS settings to your domain:

We always recommend using Cloudflare for your DNS settings, it's completely free and comes with a lot of benefits. Therefore, this guide is based on using Cloudflare to manage your DNS.

On your Cloudflare DNS fields, you have to create one CNAME record, and two TXT records.\
You have to name them exactly as the fields on Centox says.

## Here are pictures of how we enter our DNS settings to demonstrate:

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FAM3TNNT1SsVJgy61cDus%2Fimage.png?alt=media&amp;token=5b9f2849-cb33-4bfb-b9a5-17f0d108306b" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FKyWSLkrySBm73aDJjq9w%2Fimage.png?alt=media&amp;token=2e35345a-15f7-4d69-9f21-9e4e3c301abc" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2F78OhduRRkSDPLhWhHpPI%2Fimage.png?alt=media&amp;token=285e263b-3cb9-427d-bc61-3e7fed7b7382" alt="" width="563"><figcaption></figcaption></figure>

## Final step for making it work:

The final step is to wait **5-15 minutes**, and then click the **Refresh button.**\
When your domain is connected, it will turn <mark style="color:green;">green</mark> with a checkmark.

You can now enter your project by using the domain you have connected.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FlcqGINZuKIA1xasC9bD6%2Fimage.png?alt=media&amp;token=e3be84aa-5be3-4c6f-b4c2-a5f5a2645f1e" alt=""><figcaption></figcaption></figure>

## What if none of the steps above works for me?

Don't hesitate to contact us. We are ready to help you, including how to switch your DNS settings to Cloudflare.

Official link for our Discord server: [*https://discord.centox.io/*](https://discord.centox.io/)\
*Link for our terms of service:* [*https://centox.io/tos*](https://centox.io/tos)\
Official contact email: *<contact@centox.io>*

## Is using Cloudflare really a requirement?

It is not a requirement to use Cloudflare. We have just experienced that some DNS providers make it harder to connect a domain, as they do not offer the ability to proxy your settings to the same extent as Cloudflare. You are welcome to try it on your current platform, but we can't guarantee it will always work.


# Forms

Our application system enables you to receive applications on your website. You can choose several types of questions to target your application.

Follow our guides to help you properly set up your application forms for your website.

{% content-ref url="/pages/MnqxbwhrYPS3iJgepg8v" %}
[Creating An New Form](/forms/creating-an-new-form)
{% endcontent-ref %}

{% content-ref url="/pages/1JqubGiOYgc2t02q7hLd" %}
[Forms Question Types](/forms/forms-question-types)
{% endcontent-ref %}

{% content-ref url="/pages/IbqJKPTup96BgTIMNNok" %}
[Answer an Application on the Website](/forms/answer-an-application-on-the-website)
{% endcontent-ref %}

## FAQs regarding our Forms system

{% content-ref url="/pages/hlVppBIsiY5EZk8YodMJ" %}
[Forms FAQs](/forms/forms-faqs)
{% endcontent-ref %}


# Creating An New Form

Follow this guide to learn how to set up your first form.

## Guide for creating your Form using the admin-dashboard:

Navigate to the Forms section under Content in the sidebar.

<div align="left"><figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FREuFNKUDL5XgKWkO4Rl7%2Fforms1-1.png?alt=media&amp;token=ae7ee3df-c19d-4cff-9658-2544e4fe1cbf" alt=""><figcaption></figcaption></figure></div>

Here you click on "**Create Form**" - if you have already created a form, you can always click on the form you want to edit.

***

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FlaQStHW9eGbB9z70yt3J%2Fforms2.png?alt=media&amp;token=b40e1fae-ee9a-45bc-9c2a-9ec657ebe0ff" alt=""><figcaption></figcaption></figure>

**You now need to give your Form a title, slug and a category.** \
**Form Title:** Will appear in several places on the website and will be the name your users see.&#x20;

\
**Form Slug:** The name of the URL that the user arrives at when filling out the application. If you choose to type <mark style="color:blue;">**test**</mark>, the application can be accessed at this link: **\<yourpage>.centox.io/forms/**<mark style="color:blue;">**test**</mark>**/submit**&#x20;

\
**Category:** The group that the name should be placed under on the website. You can have multiple applications under the same category.

***

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FyfVayEJHYHTLE5lfLlt5%2Fforms3.png?alt=media&amp;token=a08f3822-5350-4c6f-be6d-bcaee998173e" alt=""><figcaption></figcaption></figure>

You will now be taken to a page where you can change a lot of things about your form.

***

## **What steps should you take next?**

1 - Set up your Form with the questions to answer. You can read all the types of fields you can use under [Forms Question Types](/forms/forms-question-types) - you can create drop-down menus, long-text fields, images, and checkmarks as fields.

2 - Turn on which groups can see and respond to applications for that specific group. By default, Default users can always respond to all applications made. You can create new groups under [Permissions & Groups](/permissions-and-groups) where you can also change which groups can view and respond to specific applications.

3 - Finally, when you are ready, press "**Enable**", this makes your Form visible on your website (only for groups that can see it). As long as your form is **Disabled**, it cannot be accessed via your project's website.

Always make sure to click "**Save Changes**" at the bottom when making changes to your application form, otherwise you risk your changes not being saved.

***

## Still need answers to your questions about Forms?

This was a guide on how to create your Forms via our admin dashboard. If you want to see a guide on how to reply to applications and generally view applications on your website, you can read more under [Answer an Application on the Website](/forms/answer-an-application-on-the-website)

You can read about all the types of questions you can use for your application forms under [Forms Question Types](/forms/forms-question-types) where we have described how they all work.

In addition, we have answered a wide range of questions regarding the Forms system that we have received over time under [Forms FAQs](/forms/forms-faqs)


# Forms Question Types

Here you can see an overview of all the different Forms Question Types that you can use when creating application forms.

## Fields related to Content:

**Heading:** This field can be used to create large headings inside your forms. You could create a field with the name of the application you are filling out. Or if the next questions are related to something specific.

**Text:** This field can be used to enter longer information that is relevant within the application form. It could be requirements for a content creator application, different requirements a staff member must comply with or something else entirely.

**Video:** This field can be used to insert embeds of YouTube videos directly below the application field. For example, you could insert a video about the requirements you need to comply with or information about your server.

**Image:** This field can be used to insert images inside the application form. It can primarily be used to improve the appearance, but can also be used for situations where it is useful to be able to show images.

## Fields related to Text input:

**Short-text:** This field is intended for fields where you answer with single words. It could be your age, gamertag or similar things. If people need to write longer sentences, we recommend using long-text.

**Long-text:** This field is used for people to respond with longer sentences. This could be about their experiences, their past history or similar things.

**Extra options for the fields above:** For both short-text and long-text, you can turn on the requirement that you must answer the question in order to answer the specific Form. You can also enter a placeholder, which will appear in the field if the user hasn't entered a response yet.

## Fields related to Select input:

Short-text:&#x20;

Long-text:


# Answer an Application on the Website


# Labels For Applications


# Forms FAQs

Here you can find answers to some of the questions we've received about our forms system in the previous time.

### Is there a limit to the number of questions per form?

If you are using our **Free Plan**, you can use a maximum of **10 blocks** when building your application forms. If your project is on the **Pro** or **Advanced plan**, there is no limit to the number of questions you can have.

### Can forms be filled out on mobile devices?

Yes, we do. Both your application forms and your website can easily be accessed on mobile, we've made sure that users accessing your website on mobile have a great experience. That said, your users will probably get the best experience by filling out their application forms on desktop.

### Can I add images or videos to my forms?

Yes, you can. You can both add images from links and insert YouTube videos that can be played directly below where people apply. Use the blocks called "Image" and "YouTube Video" when building your application form.&#x20;

### Is it possible to edit a form after it has been published?

You can access your application forms from our admin page at any time. Here you can always change all the questions people need to answer, as well as add new questions or change the design of the current questions. Follow our guide at [Creating An New Form](/forms/creating-an-new-form)for a tutorial on how to create and modify forms.

### How do I set up notifications for new form responses?

With a single click, you can enable your users to receive private messages on Discord when the status of their application changes or when it is commented on. You can follow the guide to enable this under [Discord Bot Private Messages](/integrations/discord-bot-private-messages)

### How does a user delete a form?

A user can access all their previous answers to forms on your website at any time. You can click on your profile picture at the top where you will see an overview of your previous applications and their status.

<div align="left"><figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FdWx0lzqkQCusuIi6et4B%2Ffinal1.png?alt=media&amp;token=5573af43-0101-4ae7-a119-0566fcfa5942" alt="" width="375"><figcaption></figcaption></figure></div>

From here, a user can click on the application they want to see more information about. They can also see what they themselves answered to the questions, as well as any comments from staff.

<div align="left"><figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FOheZzlbFkMxmcfKjZqyR%2Ffinal2.png?alt=media&amp;token=f3b1fe95-04ce-4a18-af8a-6c4731d20e3f" alt="" width="375"><figcaption></figcaption></figure></div>

Here you can click on "Delete Submission" and all information will be permanently deleted. Admins of your project will also not be able to access deleted data.

### Is it possible to make certain fields mandatory?

Yes. For all types of questions, you can check if it is a requirement to answer it.

<div align="left"><figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FnjNo5Jip1XT5NuDmClQw%2Frequired.png?alt=media&amp;token=b11dde90-ed74-4a42-9fc8-c4a6fab8185c" alt="" width="375"><figcaption></figcaption></figure></div>

### Can I set different permissions for viewing form responses?

Yes, you can. You can follow our guide under [Permissions & Groups](/permissions-and-groups) where we walk you through how to set up groups for your project. You can give all your users unique groups with different permissions, limiting who has access to view and respond to other people's applications.

### How do I prevent spam submissions?

### Can I set up auto-responses for submitted forms?

### Where can I find more help or support for creating forms in Centox?

### Can I export the data collected from forms?

### Can I customize the look of my forms?


# Permissions & Groups


# About Groups

Understand what groups are, and how to use them!

## Understanding Groups in Centox: Customizable User Management

## **What Are Groups?**

In the context of Centox, 'Groups' are a fundamental feature that facilitate efficient and streamlined user management. This feature allows community administrators to organize users into groups, each with its own set of permissions and access levels.

## **How Do Groups Work, and what is the upside?**

**Creation and Customization**: Administrators can create various groups based on roles, responsibilities, or interests. Each group can be uniquely defined, for instance, 'Moderators', 'Administrators', or 'Event Organizers'.

**Assigning Access and Permissions**: For each group, administrators can customize access to different sections of the community's website. This could include access to specific application forms and pages.

**Color Coding for Easy Identification**: Groups can be assigned different colors, making it easier for members to identify each other’s roles within the community.

**Scalability and Flexibility**: As the community grows, so do its needs. Groups in Centox are designed to be scalable, meaning administrators can easily add new groups or modify existing ones to suit the evolving requirements of the community.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FkPly9ApXXH5kbC7zy6Wv%2Fpermissions.png?alt=media&amp;token=eb3656a5-c2d4-4a17-a9ee-4ca6b3289d5f" alt=""><figcaption></figcaption></figure>

<br>


# Creating a group

Here, you'll see how you can create a group, and then manage permissions on it! Click on the images to enlarge them!

{% hint style="warning" %} <mark style="color:orange;">**Pro feature**</mark>

Custom domains are only available for projects on the **Pro** or **Advanced** plan.
{% endhint %}

## Creating a Group:

1. Firstly, Select the "Groups" option from the sidebar, on the Centox Administrator Panel.<br>

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2Fxo5r4DHRT6CjjpeG7koo%2Fimage%20(3).png?alt=media&amp;token=f296fd09-f4c2-4124-acf6-38e0ca2ec0f5" alt=""><figcaption></figcaption></figure>

1. By Default, you will only see two groups, "Default" & "Administrator".<br>

   <figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FS9lRthxqAJ579PSp3APn%2Fimage.png?alt=media&amp;token=d6c91ad5-7c54-4455-86fc-21196ae44b24" alt=""><figcaption></figcaption></figure>
2. To create a new group, Click on the "+" icon beside the "Groups" heading on the Groups Management Sidebar.<br>

   <figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FzNWzDYzkb4vUZo9niKXE%2Fimage.png?alt=media&amp;token=9f349a44-5502-4777-bc83-79ed748eda94" alt=""><figcaption></figcaption></figure>
3. Give your group a unique name. Also give your group a color. (This doesn't have to be unique). You will see a preview of how to group name would look like below the Group Color Settings. For this instance, we will name the group "Staff", & set the color to "Pink".<br>

   <figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2F17TCqEGjcJS5n9lBYWp8%2Fimage.png?alt=media&amp;token=5bca1b77-f4f3-461f-8156-f9d62d375287" alt=""><figcaption></figcaption></figure>
4. Click the "Create" Button, and Viola! Your group has been created!


# Managing Groups & Permissions

Here, you'll see how you can manage the groups, and tweak the permissions! Click on the images to enlarge them!

## Manage Group Permissions:

To manage a group's permission, you must first create one, or use the default ones which are created automatically upon the creation of a project (Default & Administrator).

Assuming that you're following the documentation from the start, we will continue on editing the "Staff" group we created in the previous step. If you have a different group, you can do so by following the same steps.

***

## Steps to Manage A Group:

1. Head over to the "Groups" tab on the Centox Administrator Panel.
2. Select the group that you wish to edit. For this instance, we will be editing our "Staff" group that we created in the previous step.<br>

   <figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FFZRe8t6ZApsQwQXKYn7F%2Fimage.png?alt=media&amp;token=cd884865-75ae-4c90-afcc-31f8e65737f5" alt=""><figcaption></figcaption></figure>
3. Select the form for which you wish to edit the settings for that group. For this instance, we will be editing our "Staff Applications" form. You can choose any of the forms you've made beforehand. <br>

   <figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FGtLMUM0hdOsRKnKZYZLD%2Fimage.png?alt=media&amp;token=c656c996-3606-4660-a639-85c3d8382c21" alt=""><figcaption></figcaption></figure>
4. Now give the group the permissions that you wish that group to access. You can checkout this page to see which permission node means what: [Permission Nodes & Their Uses](/permissions-and-groups/managing-groups-and-permissions/permission-nodes-and-their-uses)
5. For this instance, we will give the "Staff" role all permissions of the "Moderator Permissions" and "Admin Permissions".
6. Once you're done with it, you may scroll down and click "Save Permissions" to save the permissions of that specific group.<br>

   <figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FUdY98l6Nkfd0F7bYyOtI%2Fimage.png?alt=media&amp;token=cf7b6e4e-6727-48cf-985f-c61a8e3b3027" alt=""><figcaption></figcaption></figure>
7. Boom! Your permissions have been setup. Now head over to the next article to see how you can assign your users the permission groups!


# Permission Nodes & Their Uses

Here you can see which permission node does what. Read carefully 👀.

It is preferred to read and understand everything on this page before you read [Managing Groups & Permissions](/permissions-and-groups/managing-groups-and-permissions) , Though you can always do vice-versa!

## Permission Nodes & Their Uses:

### User Permissions:

* Submit Submissions: Users that have the group with this permission node enabled will be able to view the specific form from the sidebar, and will be able to submit their responses for it as well.

### Moderator Permissions:

* See other submissions: Users that have the group with this permission node enabled will be able to view the submissions of all other users for the selected form.
* Create Comments: Users that have the group with this permission node enabled will be able to add comments to responses in the selected form.
* Use labels: Users that have the group with this permission node enabled will be able assign labels on the responses of the specific form, such as "Pending", "Approved", or "Rejected" etc.

### Admin Permissions:

* Delete Other's Comments: Users that have the group with this permission node enabled will be able to delete comments made on the responses by other admins/moderators.
* Change Status: Users that have the group with this permission node enabled can change the status of the form, such as "Pending" etc.
* Delete Submissions: Users that have the group with this permission node enabled can delete the submissions in the specific form. NOTE: The user who submitted the form will always be able to delete their own submissions!
* Assign Users: Users that have the group with this permission node enabled can assign other users to manage submissions of the specific form.
* Users that have the group with this permission node enabled can see and edit notes made by administrators on submissions in the specific form.


# Custom Pages

Guide for using Centox custom Pages.

## What is a custom page?

A custom page is essentially a subpage with text. They can be used to gather different information for your project.

## What can a page be used for?

Examples of what a Page can be used for would be a place to collect any Server Rules, page with various external links, general text about partners or about the project history.

## Get started using custom pages:

**Follow this guide to start creating custom pages** [How To Create And Modify A Page](/custom-pages/how-to-create-and-modify-a-page)


# How To Create And Modify A Page

## Step 1: Creating a Custom Page

The first step is to head to "**Pages**" under Content.\
From here click the button "**Create a new page**"

*Note: The page called "Home" can not be deleted, and includes the content of your landing page for your project.*

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2F9PEjeMTfbASSM3ZrwnrW%2Fimage.png?alt=media&amp;token=c25fab26-3304-4905-aa91-9f4cc1606e3c" alt="" width="563"><figcaption></figcaption></figure>

## Step 2: Naming your Custom Page

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FkoCtFAP9dl5R2tQM12Zp%2Fimage.png?alt=media&amp;token=2c6d05bb-ef3c-4c16-babf-1b3dbbc8caa1" alt="" width="563"><figcaption></figcaption></figure>

## Step 3: Fill in the context for your Page

Now you can fill your page with all relevant information. You can insert links, tables, headings, use colors and much much more.

**Important:** Remember to click the “**Save**” button when you are done. The site will not save your changes automatically.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2Fjpm3Q9OBil81a6yMhgyw%2Fimage.png?alt=media&amp;token=8a04a0a6-20e7-401e-8459-3db90906bcc4" alt="" width="563"><figcaption></figcaption></figure>

## Step 4: Choose where to view the page on your website

Now all you need to do is set where the page should be viewed on your website.\
In short, go to Layout and drag it up to the category you want your page under.

You can read more about Layout under #


# Pages FAQ

Questions we often get about our Pages system.

## Can you add images to pages?

Yes. All photos can be added to your pages.

## Can I add external links to pages?

Yes. We have made it smart, so just hower over text you want to make a link and click the button.

## Can you change the colors of the texts?

Yes. You can change both the text color and the background color.

## Can I connect custom fonts?

At this time it is not possible to connect custom fonts.

## How many Pages can you create?

You can make all the seats you need.


# Layout

Here are the most frequently asked questions about our Layout system.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FG2kBioEJhfHxAU5uQJ1F%2Fimage.png?alt=media&amp;token=0a19730a-dc37-4e38-9aa6-8f3fd08cc5b9" alt="" width="563"><figcaption></figcaption></figure>

Under **Content** click **Layout**. From here you get a list of all the categories that the project has.

## What if I want to create a new category?

If you want to create a new category, click the button that says “Manage Category”, from here you can create a new one.

## How do I change the order in which the categories are displayed?

Use the small arrow keys that are next to the category name. Here you can move the category name up or down. Remember to always click Save when you are done.

## How do I delete a category?

Click Manage category and tap the trash can next to the category you want to delete. \
Note: If your category contains forms/pages/links, they will go to the bottom of the page, where you need to assign a category for the missing elements.

## Can I move the forms/pages/links around?

Yes, you can drag-n-drop things around as you please. Just remember to press Save.


# Integrations


# Discord Bot Private Messages

This integration enables your users from your Discord server to receive private messages from the "**Centox**" bot when their applications are either commented or updated through your website. \
You can enable this with a click under the "**Integration**" button on the page.

Follow our guide under [How To Activate](/integrations/discord-bot-private-messages/how-to-activate) for help on how to set this up.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FV4APHj6zhOZxYKYUJTuT%2F3-2.png?alt=media&amp;token=6dd2d47d-9ca4-4a84-a12b-8bf834537e4f" alt=""><figcaption></figcaption></figure>


# How To Activate

## Step 1: Go to the Integration Page

Then click on "**Setup Discord Bot**" and a box will pop up where you need to enter your Discord server ID and a name for the integration.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2Fuva2y87GVkwDQ40hXkys%2Ffrontpage.png?alt=media&amp;token=4e085d20-383a-4b6f-91a8-1ee7230214a5" alt=""><figcaption></figcaption></figure>

## Step 2: Find Your Discord Server ID

Next, find the ID of your Discord Server. To do this, right-click on your server and find the button that says "Copy Server ID". Copy this ID and save it for the next step in the process. Note that this ID is not secret and cannot be used for anything.

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2F6rnMUYtmw3T2GXP8vExx%2Fcopyid.png?alt=media&amp;token=c455b7dc-bf1a-4ab9-a261-cdc569b85a18" alt=""><figcaption></figcaption></figure>

## Step 3: Insert your Server ID and a name

Next, you need to insert a name in the top box. It doesn't matter what you write here, it's just so you can keep track of it yourself. It is possible to set up multiple Discord servers so that the bot looks for users across multiple servers.&#x20;

Insert the Discord ID from your server in the bottom box. \
\* If the "**Centox**" bot is already on your discord server, click "**Complte Setup**" - if it is not, click "**Invite Bot**" and follow **Step 4.**

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FgseZfd9DYgS3Lag2ncRK%2Ffinish1.png?alt=media&amp;token=05e42cd5-0a61-4aad-aa7b-c903aab03aad" alt=""><figcaption></figcaption></figure>

## Step 4: Invite Centox Bot To Your Server (required)

In order for the bot to send messages to your users, it needs to be on the server your users are on. You can't just invite it to any server, it can only send messages to a user if they are on the Discord server you have entered.&#x20;

Click "**Invite Bot**" and invite it to the server you are setting up. \
Although it asks for a few permissions, you can choose to turn them off, the only requirement is that it is on the server, it doesn't need any permissions. \
*These permissions are for future features related to automatic roles and automatic notifications on the server for different events.*

<figure><img src="https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2FU1aZd3CYszzVv0bVk10q%2Finvitebot.png?alt=media&amp;token=5e52bf5f-2cc6-4db9-8661-fea719f2d15c" alt=""><figcaption></figcaption></figure>


# Webhooks

Webhooks are used to create custom applications where you can listen for events from Centox.&#x20;

This category is **not** related to "Discord Webhooks", if you want to enable automatic messages to users from your Discord server, read our guide under [Discord Bot Private Messages](/integrations/discord-bot-private-messages)


# Verifying request

When creating a Webhook, a unique secret key is generated. This key is used to verify the incoming requests.

![](https://3139465325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGRDiw4P8uVibYkc3wqxQ%2Fuploads%2Fm7uzBueZnfI2nSTNEnZ9%2Fimage.png?alt=media\&token=44254ebc-d493-428e-9b68-48ffe3a9d3d8)

When receiving a webhook from Centox the following headers are appended:

`` X-Centox-Webhook-Secret: `The secret of the webhook` ``

`` X-Centox-Webhook-Identifier: `The name of the webhook` ``

`` X-Centox-Webhook-Timestamp: `UNIX timestamp (millis) of when the Webhook was sent.` ``


# Events & Data

## Type of events:

* [#submission.commented](#submission.commented "mention")
* [#comment.replied](#comment.replied "mention")
* [#application.submitted](#application.submitted "mention")
* [#submission.status.updated](#submission.status.updated "mention")

***

{% hint style="info" %}
When someone replies to a comment, the event 'comment.replied' is fired instead of 'submission.commented'
{% endhint %}

### submission.commented

{% code fullWidth="false" %}

```typescript
{
    event: 'application.commented'
    project: {
        id: string;
        name: string;
        slug: string;
        language: string;
        iconUrl: string;
    };
    comment: {
        id: string;
        content: string;
        user: {
            id: string;
            displayName: string;
            name: string;
            avatarUrl: string;
            loginProvidersIds: {
                DISCORD: string;
            }
        },
        createdAt: Date;
    },
    submission: {
        id: string;
        user: {
            id: string;
            displayName: string;
            name: string;
            avatarUrl: string;
            loginProvidersIds: {
                DISCORD: string;
            }
        },
        form: {
            id: string;
            name: string;
            slug: string;
        },
        createdAt: Date;
    }
}
```

{% endcode %}

### comment.replied

```typescript
{
    event: 'application.replied'
    project: {
        id: string;
        name: string;
        slug: string;
        language: string;
        iconUrl: string;
    };
    comment: {
        id: string;
        content: string;
        user: {
            id: string;
            displayName: string;
            name: string;
            avatarUrl: string;
            loginProvidersIds: {
                DISCORD: string;
            }
        },
        parentComment: {
            id: string;
            content: string;
            user: {
                id: string;
                displayName: string;
                name: string;
                avatarUrl: string;
                loginProvidersIds: {
                    DISCORD: string;
                }
            },
            createdAt: Date;
        },
        createdAt: Date;
    },
    submission: {
        id: string;
        status: 'PENDING' | 'REJECTED' | 'APPROVED',
        user: {
            id: string;
            displayName: string;
            name: string;
            avatarUrl: string;
            loginProvidersIds: {
                DISCORD: string;
            }
        },
        form: {
            id: string;
            title: string;
            slug: string;
        },
        createdAt: Date;
    }
}
```

### application.submitted

```typescript
{
    event: 'application.submitted'
    project: {
        id: string;
        name: string;
        slug: string;
        language: string;
        iconUrl: string;
    }
    submission: {
        id: string;
        form: {
            id: string;
            title: string;
            slug: string;
        };
        answers: {
            fieldId: string;
            fieldName: string;
            value: string;
        }[];
        createdAt: Date;
    }
    user: {
        id: string;
        displayName: string;
        name: string;
        avatarUrl: string;
        loginProvidersIds: {
            DISCORD: string;
        }
    }

}
```

### submission.status.updated

```typescript
{
    event: 'submission.status.updated'    
    project: {
        id: string;
        name: string;
        slug: string;
        language: string;
        iconUrl: string;
    }
    submission: {
        id: string;
        status: 'PENDING' | 'REJECTED' | 'APPROVED',
        form: {
            id: string;
            title: string;
            slug: string;
        }
        user: {
            id: string;
            displayName: string;
            name: string;
            avatarUrl: string;
            loginProvidersIds: {
                DISCORD: string;
            }
        }
        createdAt: Date;
    }
}
```


