# Webhook Logging Webhooks can be used to log events to a channel of your choice. This can be useful for keeping track of what is happening on your server. Webhooks can be used to log events to a channel of your choice. This can be useful for keeping track of what is happening on your server. ## Events that will be logged - Creating a task - Putting a task into the bin - Restoring a task from the bin - Deleting a task - A task is repeated - Task status changes - Assigning a user/role - Unassigning a user/role - Changing the deadline of a task - Commenting on a task - Deleting a comment on a task - Creating a project - Deleting a project - Renaming a project - Moving a project to the bin - Restoring a project from the bin - Granting a permission - Revoking a permission - Applying a permission preset - Creating a label - Deleting a label - Editing a label - Creating a topic - Putting a topic into the bin - Restoring a topic from the bin - Deleting a topic - Renaming a topic - Moving a topic to another project - Creating a document - Deleting a document - Editing a document - Moving a document to another topic ![Logging example](https://bnder.net/images/help/tmb/webhook-logging-example-message.webp) ## Log Levels You can set the log level to one of the following: - `Everything` - Logs all events - `Create & Delete` - Logs creating, deleting events (task creation, project creation, task deletion, etc.) and permission changes - `Permissions only` - Logs only permission changes (granting, revoking, applying permission presets) ### Setting the log level You can set the log level by running the `/settings log_level` command and selecting the desired log level. ## How to set up logging ::md-step{number="1" title="Creating a webhook"} :::md-hint-box{type="info"} Webhooks can only be created on Discord Desktop or Discord Web. You can not create webhooks on Discord Mobile. ::: 1. **Go to the server settings:** Click on the server name in the top left corner of the screen and select `Server Settings`. 2. **Go to the integrations tab:** Click on the `Integrations` tab in the left sidebar. 3. **Create a webhook:** Click on the `Create Webhook` button and fill in the name and channel you want to log to. 4. **Copy the webhook URL:** Copy the webhook URL and save it somewhere. You will need it later. :: ::md-step{number="2" title="Set up logging"} Run the `/settings logging` command and insert the copied url. :: ::md-step{number="3" title="Testing logging"} The bot sends a test message to the webhook, after the url was set. :: ## Project scope When no project is specified, the logging will be done for the whole server. If you want to log only for a specific project, you can specify the project by running the `/settings logging` command and defining the project. This will log events for the specified project to the specified webhook. ## Empty log messages When the log messages appear empty, it is likely you have disabled the link preview for Discord. You can enable it by going to `User Settings > Text & Images > Embeds & Link Previews`. ## Difference between logging and event logs ::md-hint-box{type="hint"} You can get information about event logs [here](https://bnder.net/../event-logs). :: Logging is a feature that logs events to a channel of your choice. Event logs are a feature that logs events to a storage managed by bnder, which can not be modified or deleted by users. ## Third-party services You can set the webhook url to whatever service you want. But keep in mind that the service must support the Discord webhook format documented [here](https://discord.com/developers/docs/resources/webhook#execute-webhook){rel=""nofollow""}. While the webhook request will contain data according to the Discord format, there will be an additional field with the objects data in JSON format. This field is called `_data` and contains all relevant information about the event that was logged. This can be useful for third-party services that want to process the data further. # Object linking ::md-hint-box{type="info"} Object linking works with Task Manager and Knowledge Manager in the same way, with Tasks and Documents across our bots. :: Object Linking is a way to link other [Tasks](https://bnder.net/help/tasks) or [Documents](https://bnder.net/help/documents) inside a Task or Document. ## Linking Objects To link an object, you need to use the following syntax: ```text #[Object ID] ``` For example, if you want to link a Task with the ID `42`, you need to use the following syntax: ```text #42 ``` This will add a link to the task with the ID `42` inside the Task Text or Document Content. ![Example of linked object inside task text](https://bnder.net/images/help/tmb/Object-Linking-Example.png) ## View linked Object Any linked Object is shown when using the "task info" command. A button will appear underneath the message. ![Button for a linked object](https://bnder.net/images/help/tmb/linked-task-button.png) When clicking on the button, the Bot will send a new message with the Object information. # All Commands On this page you will find a list of all supported commands. ## Task Commands ::md-hint-box{type="hint"} To understand the concept of tasks, take a look at [Tasks](https://bnder.net/tasks). :: ::md-hint-box{type="info"} Task commands are exclusive to the Task Manager Bot. :: :br :md-task-commands ## Project Commands ::md-hint-box{type="hint"} To understand the concept of projects, take a look at [the projects page](https://bnder.net/projects). :: ::md-hint-box{type="info"} Project commands are exclusive to the Task Manager and Knowledge Manager Bot. :: :br :md-project-commands ## Milestone Commands ::md-hint-box{type="hint"} To understand the concept of milestones, take a look at [the milestones page](https://bnder.net/milestones). :: ::md-hint-box{type="info"} Milestone commands are exclusive to the Task Manager Bot. :: :br :md-milestone-commands ## Event Commands ::md-hint-box{type="hint"} To understand the concept of events, take a look at [the events page](https://bnder.net/events). :: ::md-hint-box{type="info"} Event commands are exclusive to the Calendar Manager Bot. :: :br :md-event-commands ## Document Commands ::md-hint-box{type="hint"} To understand the concept of documents, take a look at [the documents page](https://bnder.net/documents). :: ::md-hint-box{type="info"} Document commands are exclusive to the Knowledge Manager Bot. :: :br :md-document-commands ## Topic Commands ::md-hint-box{type="hint"} To understand the concept of topics, take a look at [the topics page](https://bnder.net/topics). :: ::md-hint-box{type="info"} Topic commands are exclusive to the Knowledge Manager Bot. :: :br :md-topic-commands ## Label Commands ::md-hint-box{type="hint"} To understand the concept of labels, take a look at [the labels page](https://bnder.net/labels). :: :br :md-label-commands ## Permission Commands :md-permission-commands ## Preferences Commands :md-preferences-commands ## General commands :md-general-commands # Keyboard Shortcuts ## Task The following shortcuts are available when working with tasks. | Shortcut | Description | | -------- | ------------------------------------ | | `N` | Open the dialog to create a new task | | `S` | Open the Settings dialog | ## Inside the Settings Dialog The following shortcuts are available when working with the settings dialog. | Shortcut | Description | | -------------- | ------------------- | | `Ctrl` + `Esc` | Close the dialog | | `Ctrl` + `1` | Open the first tab | | `Ctrl` + `2` | Open the second tab | | `Ctrl` + `3` | Open the third tab | | `Ctrl` + `4` | Open the fourth tab | # Troubleshooting This page will help you troubleshoot common issues with the app. ## No guilds found If you see a message that says "No guilds found", it means that the app was unable to find any guilds where you and one of our bots are both members. This can happen if you freshly invited one of our bots to your server and haven't executed any commands yet. To fix this, try executing a command (for example `/help`) in the server where you invited the bot. After that, reopen the app and you should see the guilds. # Integrate Calendar Manager with your Calendar App Calendar Manager allows you to integrate it with your favorite calendar app. This integration will sync your calendar events from Calendar Manager to your calendar app. ## Subscription URL To integrate Calendar Manager with your calendar app, you need to use the subscription URL provided by Calendar Manager. This URL is unique to your account and will sync all your calendar events to your calendar app. To get the subscription URL, run the following command `/event subscription` in a server text channel. The bot will ask for confirmation and then provide you with the subscription URL. ::md-hint-box{type="warning"} Keep your subscription URL private. Anyone with access to your subscription URL can sync your calendar events to their calendar app. :: ## Add Subscription to Calendar App ### Google Calendar To add the subscription URL to Google Calendar, follow these steps: 1. Open Google Calendar. 2. On the left side, click on the `+` icon next to `Other calendars`. 3. Select `From URL`. 4. Paste the subscription URL in the `URL of calendar` field. 5. Click on `Add calendar`. ### Apple Calendar (macOS) To add the subscription URL to Apple Calendar, follow these steps: 1. Open Apple Calendar. 2. Go to `File` > `New Calendar Subscription`. 3. Paste the subscription URL in the `Calendar URL` field. 4. Click on `Subscribe`. ### Apple Calendar (iOS) To add the subscription URL to Apple Calendar on iOS, follow these steps: 1. Open the `Settings` app. 2. Scroll down and tap on `Calendar`. 3. Tap on `Accounts` > `Add Account`. 4. Tap on `Other`. 5. Tap on `Add Subscribed Calendar`. 6. Paste the subscription URL in the `Server` field. 7. Tap on `Next`. ### Microsoft Outlook To add the subscription URL to Microsoft Outlook, follow these steps: 1. Open Microsoft Outlook. 2. Go to `File` > `Account Settings` > `Account Settings`. 3. Go to the `Internet Calendars` tab. 4. Click on `New`. 5. Paste the subscription URL in the `Location` field. 6. Click on `Add`. ### Thunderbird To add the subscription URL to Thunderbird, follow these steps: 1. Open Thunderbird. 2. Go to `Events and Tasks` > `Subscribe`. 3. Paste the subscription URL in the `Calendar URL` field. 4. Click on `Next`. 5. Enter a name for the calendar and click on `Next`. 6. Click on `Finish`. ### Other Calendar Apps If you are using a different calendar app, you can usually find an option to add a calendar subscription in the settings. Look for an option to add a calendar by URL and paste the subscription URL there. ## Sync Frequency The sync frequency is limited to 2 hours. This means that your calendar app will sync with Calendar Manager every 2 hours. ## Regenerate Subscription URL If you think that your subscription URL has been compromised, you can regenerate a new subscription URL by running the following command `/event subscription regenerate:true` in a server text channel. The bot will ask for confirmation and then provide you with the new subscription URL. You will need to update the subscription URL in your calendar app with the new URL. # Events The main object in the Calendar Manager is the event. An event can be an appointment, a meeting, a reminder, or any other event that you want to keep track of. The Calendar Manager provides a set of features to manage events, such as creating, updating, and deleting events. ## Event Properties An event has the following properties: - **Name**: The name of the event. - **Location**: The location of the event. - **Start Date**: The date and time when the event starts. - **End Date**: The date and time when the event ends. - **Repeated**: A boolean value that indicates if the event is repeated. - **Repeat Interval**: The interval at which the event is repeated. - **Repeat Until**: The date when the event stops repeating. ## Commands :md-event-commands # Sync other Calendar Apps You can sync your calendar app to Bnder by using the iCal link provided in Bnder. This allows you to view your Bnder events in your preferred calendar application. ## Steps to Sync 1. Open the Bnder app and navigate to the Workspace settings 2. Locate the "Preferences" section 3. Click on "Add Calendar" in the calendar syncs section 4. Set a name for the calendar sync 5. Copy the iCal Link from your preferred calendar app 6. Paste the iCal Link into the Bnder app 7. Save the changes Once you've completed these steps, your third party calendar app will be synced with Bnder, allowing you to view your events seamlessly across both platforms. ## Restrictions Please note that syncing is one-way from your calendar app to Bnder. Changes made in Bnder will not be reflected in your third-party calendar app. # Work Hours Setting up your work hours in Bnder allows you to define when you are available for appointments and meetings. This helps streamline scheduling and ensures that clients or colleagues can only book time slots during your designated working hours. ## Configuring Work Hours To set your work hours in Bnder, follow these steps: 1. Log in to the [App](https://bnder.net/app). 2. Navigate to the **Settings** menu. 3. Select **Calendar** tab from the sidebar. 4. Type your work hour start and end times in the respective fields. ## Where Work Hours are Used Your configured work hours will be applied in the following areas: - **Meeting Invitations**: Colleagues will see your availability based on your work hours when scheduling meetings. - **Task deadlines**: You will be shown as unavailable outside of your work hours when assigning deadlines. # Date formats The bot can use different date formats to to display dates. The bot will try to parse the date and time from the user input and display it in the format you specify. ## Supported formats - dd.MM.yyyy HH\:mm - MM/dd/yyyy HH\:mm - dd/MM/yyyy HH\:mm Where `dd` is the day, `MM` is the month, `yyyy` is the year, `HH` is the hour and `mm` is the minute. ## Input When inputting a date, you can use the configured date format. If you don't use the configured date format, the bot will try to parse the date and time from the user input. | Input | Example | Note | | ---------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------- | | dd.MM.yyyy HH\:mm | 31.01.2020 12:00 | Only when the configured date format is `dd.MM.yyyy HH:mm` | | dd.MM.yy HH\:mm | 31.01.20 12:00 | Only when the configured date format is `dd.MM.yyyy HH:mm` | | dd.MM.yyyy HH\:mm AM/PM | 31.01.2020 12:00 AM | Only when the configured date format is `dd.MM.yyyy HH:mm` | | dd.MM.yy HH\:mm AM/PM | 31.01.20 12:00 AM | Only when the configured date format is `dd.MM.yyyy HH:mm` | | dd.MM.yyyy | 31.01.2020 | Only when the configured date format is `dd.MM.yyyy HH:mm` | | dd.MM.yy | 31.01.20 | Only when the configured date format is `dd.MM.yyyy HH:mm` | | dd/MM/yyyy HH\:mm | 31/01/2020 12:00 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd/MM/yy HH\:mm | 31/01/20 12:00 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd/MM/yyyy HH\:mm AM/PM | 31/01/2020 12:00 AM | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd/MM/yy HH\:mm AM/PM | 31/01/20 12:00 AM | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd/MM/yyyy | 31/01/2020 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd/MM/yy | 31/01/20 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd-MM-yyyy HH\:mm | 31-01-2020 12:00 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd-MM-yy HH\:mm | 31-01-20 12:00 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd-MM-yyyy HH\:mm AM/PM | 31-01-2020 12:00 AM | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd-MM-yy HH\:mm AM/PM | 31-01-20 12:00 AM | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd-MM-yyyy | 31-01-2020 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | dd-MM-yy | 31-01-20 | Only when the configured date format is `dd/MM/yyyy HH:mm` or `dd.MM.yyyy HH:mm` | | today | today | The bot will use the current date and time | | today HH\:mm | today 12:00 | The bot will use the current date and the specified time | | tomorrow | tomorrow | The bot will use the next day and the current time | | tomorrow HH\:mm | tomorrow 12:00 | The bot will use the next day and the specified time | | Xy/mw/d/h | 1y 2w 3d 4h | The bot will use the current date and time and add the specified years (y), weeks (w), days (d) and hours (h) | | weekday | monday | The bot will use the next weekday and the current time | | weekday HH\:mm | monday 12:00 | The bot will use the next weekday and the specified time | | HH\:mm | 12:00 | The bot will use the current date and the specified time | | HH\:mm AM/PM | 12:00 AM | The bot will use the current date and the specified time | | Month day | January 31 | The bot will use the current year and the specified month and day | | Month day HH\:mm | January 31 12:00 | The bot will use the current year and the specified month, day and time | | Month day HH\:mm AM/PM | January 31 12:00 AM | The bot will use the current year and the specified month, day and time | | Short month day | Jan 31 | The bot will use the current year and the specified month and day | | Short month day HH\:mm | Jan 31 12:00 | The bot will use the current year and the specified month, day and time | | Short month day HH\:mm AM/PM | Jan 31 12:00 AM | The bot will use the current year and the specified month, day and time | # Languages The language configuration affects the output language of the bots. ## Supported languages - Bulgarian - English - German - Spanish - French - Hindi - Italian - Japanese - Portuguese (Brazil) - Russian - Simplified Chinese - Turkish - Polish - Dutch - Indonesian ## Server languages Server administrators can set the language of the bot for the server. The bot will respond in the server's language if it is available. ### Change server language via the bot ::md-command --- bots: - Task Manager - Calendar Manager - Knowledge Manager options: - name: language value: fr required: true description: The language code to set the bot to. command: settings language description: Changes the language of the bot. required-permissions: MANAGE_SETTINGS title: Set language --- :: ### Change server language via the app 1. Open the app. 2. Navigate to the settings from the sidebar. 3. Select the language you want to use from the dropdown menu. ## User preferences Users can set their preferred language for the bot to respond in. The bot will respond in the user's preferred language if it is available. ::md-command --- bots: - Task Manager - Calendar Manager - Knowledge Manager options: - name: language value: fr required: true description: The language code to set the bot to. command: preferences language description: Changes the language of the bot. title: Set language --- :: This can be disabled by a server administrator via the command: ::md-command --- bots: - Task Manager - Calendar Manager - Knowledge Manager options: - name: enabled value: false required: true description: Whether to enable user language preferences. command: settings user_languages description: Enable or disable user language preferences. required-permissions: MANAGE_SETTINGS title: Enable or disable user language preferences --- :: If set to false, the users preferences will be ignored and the server language will be used. # Preferences Preferences are settings that affect only the user. These settings can be changed by the user via the `/preferences` command or by administrators in the app. ::md-hint-box{type="info"} Preferences can be disabled by the server administrator in the server [settings](https://bnder.net/settings). If they are disabled, changing these will have no effect. :: ## Available preferences | Preference | Description | Can be disabled by the server administrator | | ---------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------- | | language | The language the bot and all other bots by bnder use to respond to commands | Yes | | timezone | The timezone the bot and all other bots by bnder use | Yes | | direct\_messages | If enabled, the bot will send direct messages to users for certain actions, like task assignments. | No | | event\_reminders | If enabled, the Calendar Manager will send reminders for upcoming events. | No | ## Changing preferences by server administrators Server administrators can change the preferences of a user in the app. To do this, go to the server settings and navigate to the users tab. There you can select a user and change their preferences by expanding the preferences section. # Settings The Bots have two types of settings - server wide and user [preferences](https://bnder.net/preferences). ## Workspace settings Server wide settings are settings that affect the entire server. These settings can only be changed by users with the `MANAGE_SETTINGS` [permission](https://bnder.net/help/permissions) via the `/settings` command. ### Available settings | Setting | Description | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | logging | Allows you to set a discord webhook url that will be used to [log several actions](https://bnder.net/help/advanced/logging) on tasks. | | auto\_labeling | Enables/Disabled [auto labeling](https://bnder.net/help/tasks#auto-labeling). When enabled the bot uses AI to determine the best fitting label based on a task title and description, when the task is created. | | auto\_priority | Enables/Disables [auto priority](https://bnder.net/help/tasks#auto-priority). When enabled the bot uses AI to determine the most fitting priority based on the task title and description, when the task is created. | | private\_responses | When enabled responses from some commands (e.g. `/task list` or `/task info`) are only visible to the user executing the command. When this is disabled, these responses will be visible to everyone. | | default\_assignee | Allows changing the default assignee for a task where no one was assigned when the task is created. | | user\_languages | If enabled, users can set their own preferred language via `/preferences language`. | | user\_timezones | If enabled, users can set their own preferred timezone via `/preferences timezone`. | | language | Sets the language the bot and all other bots by bnder use. | | timezone | Sets the timezone the bot and all other bots by bnder use. | | dateformat | Sets the dateformat the bot and all other bots by bnder use. | | direct\_messages | If disabled, the bot will not send direct messages to any user on the server for certain actions, like task assignments. | ### Available only in the app | Setting | Description | | ----------------- | ------------------------------------------------------------------------------------------------------ | | Label suggestions | When enabled, users in the app will receive label suggestions based on the task title and description. | | Todo suggestions | When enabled, users in the app will receive todo suggestions based on the task title and description. | # Timezones Timezones affect the time displayed in the bots and apps. Dates and times inputted by users are converted to the timezone set in the bot or app. The following is a list of timezones available in the bots and apps. ## America - America/Adak - America/Anchorage - America/Juneau - America/Metlakatla - America/Nome - America/Sitka - America/Yakutat - America/Los\_Angeles - America/Tijuana - America/Vancouver - America/Boise - America/Cambridge\_Bay - America/Chihuahua - America/Creston - America/Dawson - America/Dawson\_Creek - America/Denver - America/Edmonton - America/Fort\_Nelson - America/Hermosillo - America/Inuvik - America/Mazatlan - America/Ojinaga - America/Phoenix - America/Whitehorse - America/Yellowknife - America/Bahia\_Banderas - America/Belize - America/Chicago - America/Costa\_Rica - America/El\_Salvador - America/Guatemala - America/Indiana/Knox - America/Indiana/Tell\_City - America/Managua - America/Matamoros - America/Menominee - America/Merida - America/Mexico\_City - America/Monterrey - America/North\_Dakota/Beulah - America/North\_Dakota/Center - America/North\_Dakota/New\_Salem - America/Rainy\_River - America/Rankin\_Inlet - America/Regina - America/Resolute - America/Swift\_Current - America/Tegucigalpa - America/Winnipeg - America/Atikokan - America/Bogota - America/Cancun - America/Cayman - America/Detroit - America/Eirunepe - America/Grand\_Turk - America/Guayaquil - America/Havana - America/Indiana/Indianapolis - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Iqaluit - America/Jamaica - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Lima - America/Nassau - America/New\_York - America/Nipigon - America/Panama - America/Pangnirtung - America/Port-au-Prince - America/Rio\_Branco - America/Thunder\_Bay - America/Toronto - America/Anguilla - America/Antigua - America/Aruba - America/Asuncion - America/Barbados - America/Blanc-Sablon - America/Boa\_Vista - America/Campo\_Grande - America/Caracas - America/Cuiaba - America/Curacao - America/Dominica - America/Glace\_Bay - America/Goose\_Bay - America/Grenada - America/Guadeloupe - America/Guyana - America/Halifax - America/Kralendijk - America/La\_Paz - America/Lower\_Princes - America/Manaus - America/Marigot - America/Martinique - America/Moncton - America/Montserrat - America/Porto\_Velho - America/Port\_of\_Spain - America/Puerto\_Rico - America/Santiago - America/Santo\_Domingo - America/St\_Barthelemy - America/St\_Kitts - America/St\_Lucia - America/St\_Thomas - America/St\_Vincent - America/Thule - America/Tortola - America/St\_Johns - America/Araguaina - America/Argentina/Buenos\_Aires - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La\_Rioja - America/Argentina/Mendoza - America/Argentina/Rio\_Gallegos - America/Argentina/Salta - America/Argentina/San\_Juan - America/Argentina/San\_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Bahia - America/Belem - America/Cayenne - America/Fortaleza - America/Godthab - America/Maceio - America/Miquelon - America/Montevideo - America/Paramaribo - America/Punta\_Arenas - America/Recife - America/Santarem - America/Sao\_Paulo - America/Noronha - America/Scoresbysund - America/Danmarkshavn ## Africa - Africa/Abidjan - Africa/Accra - Africa/Bamako - Africa/Banjul - Africa/Bissau - Africa/Casablanca - Africa/Conakry - Africa/Dakar - Africa/El\_Aaiun - Africa/Freetown - Africa/Lome - Africa/Monrovia - Africa/Nouakchott - Africa/Ouagadougou - Africa/Sao\_Tome - Africa/Algiers - Africa/Bangui - Africa/Brazzaville - Africa/Ceuta - Africa/Douala - Africa/Kinshasa - Africa/Lagos - Africa/Libreville - Africa/Luanda - Africa/Malabo - Africa/Ndjamena - Africa/Niamey - Africa/Porto-Novo - Africa/Tunis - Africa/Windhoek - Africa/Blantyre - Africa/Bujumbura - Africa/Cairo - Africa/Gaborone - Africa/Harare - Africa/Johannesburg - Africa/Juba - Africa/Khartoum - Africa/Kigali - Africa/Lubumbashi - Africa/Lusaka - Africa/Maputo - Africa/Maseru - Africa/Mbabane - Africa/Tripoli - Africa/Addis\_Ababa - Africa/Asmara - Africa/Dar\_es\_Salaam - Africa/Djibouti - Africa/Kampala - Africa/Mogadishu - Africa/Nairobi ## Asia - Asia/Amman - Asia/Beirut - Asia/Damascus - Asia/Famagusta - Asia/Gaza - Asia/Hebron - Asia/Jerusalem - Asia/Nicosia - Asia/Kabul - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Atyrau - Asia/Dushanbe - Asia/Karachi - Asia/Oral - Asia/Qyzylorda - Asia/Samarkand - Asia/Tashkent - Asia/Yekaterinburg - Asia/Colombo - Asia/Kolkata - Asia/Kathmandu - Asia/Almaty - Asia/Bishkek - Asia/Dhaka - Asia/Omsk - Asia/Qostanay - Asia/Thimphu - Asia/Urumqi - Asia/Yangon - Asia/Bangkok - Asia/Barnaul - Asia/Hovd - Asia/Ho\_Chi\_Minh - Asia/Jakarta - Asia/Krasnoyarsk - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Phnom\_Penh - Asia/Pontianak - Asia/Tomsk - Asia/Vientiane - Asia/Aden - Asia/Baghdad - Asia/Bahrain - Asia/Kuwait - Asia/Qatar - Asia/Riyadh - Asia/Tehran - Asia/Baku - Asia/Dubai - Asia/Muscat - Asia/Tbilisi - Asia/Yerevan - Asia/Brunei - Asia/Choibalsan - Asia/Hong\_Kong - Asia/Irkutsk - Asia/Kuala\_Lumpur - Asia/Kuching - Asia/Macau - Asia/Makassar - Asia/Manila - Asia/Shanghai - Asia/Singapore - Asia/Taipei - Asia/Ulaanbaatar - Asia/Chita - Asia/Dili - Asia/Jayapura - Asia/Khandyga - Asia/Pyongyang - Asia/Seoul - Asia/Tokyo - Asia/Yakutsk - Asia/Ust-Nera - Asia/Vladivostok - Asia/Magadan - Asia/Sakhalin - Asia/Srednekolymsk - Asia/Anadyr - Asia/Kamchatka ## Europe - Europe/Dublin - Europe/Guernsey - Europe/Isle\_of\_Man - Europe/Jersey - Europe/Lisbon - Europe/London - Europe/Amsterdam - Europe/Andorra - Europe/Belgrade - Europe/Berlin - Europe/Bratislava - Europe/Brussels - Europe/Budapest - Europe/Copenhagen - Europe/Gibraltar - Europe/Ljubljana - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Monaco - Europe/Oslo - Europe/Paris - Europe/Podgorica - Europe/Prague - Europe/Rome - Europe/San\_Marino - Europe/Sarajevo - Europe/Skopje - Europe/Stockholm - Europe/Tirane - Europe/Vaduz - Europe/Vatican - Europe/Vienna - Europe/Warsaw - Europe/Zagreb - Europe/Zurich - Europe/Athens - Europe/Bucharest - Europe/Chisinau - Europe/Helsinki - Europe/Kaliningrad - Europe/Kyiv - Europe/Mariehamn - Europe/Riga - Europe/Sofia - Europe/Tallinn - Europe/Uzhgorod - Europe/Vilnius - Europe/Zaporizhzhia - Europe/Istanbul - Europe/Kirov - Europe/Minsk - Europe/Moscow - Europe/Simferopol - Europe/Volgograd - Europe/Astrakhan - Europe/Samara - Europe/Saratov - Europe/Ulyanovsk ## Pacific - Pacific/Midway - Pacific/Niue - Pacific/Pago\_Pago - Pacific/Honolulu - Pacific/Rarotonga - Pacific/Tahiti - Pacific/Marquesas - Pacific/Gambier - Pacific/Pitcairn - Pacific/Easter - Pacific/Galapagos - Pacific/Palau - Pacific/Chuuk - Pacific/Guam - Pacific/Port\_Moresby - Pacific/Saipan - Pacific/Bougainville - Pacific/Efate - Pacific/Guadalcanal - Pacific/Kosrae - Pacific/Norfolk - Pacific/Noumea - Pacific/Pohnpei - Pacific/Auckland - Pacific/Fiji - Pacific/Funafuti - Pacific/Kwajalein - Pacific/Majuro - Pacific/Nauru - Pacific/Tarawa - Pacific/Wake - Pacific/Wallis - Pacific/Chatham - Pacific/Apia - Pacific/Enderbury - Pacific/Fakaofo - Pacific/Tongatapu - Pacific/Kiritimati ## Australia - Australia/Perth - Australia/Eucla - Australia/Adelaide - Australia/Broken\_Hill - Australia/Darwin - Australia/Brisbane - Australia/Currie - Australia/Hobart - Australia/Lindeman - Australia/Melbourne - Australia/Sydney - Australia/Lord\_Howe ## Atlantic - Atlantic/Bermuda - Atlantic/Stanley - Atlantic/South\_Georgia - Atlantic/Azores - Atlantic/Cape\_Verde - Atlantic/Canary - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/St\_Helena ## Antarctica - Antarctica/Troll - Antarctica/Syowa - Antarctica/Mawson - Antarctica/Vostok - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Casey - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Rothera ## Indian - Indian/Antananarivo - Indian/Comoro - Indian/Mayotte - Indian/Mahe - Indian/Mauritius - Indian/Reunion - Indian/Kerguelen - Indian/Maldives - Indian/Chagos - Indian/Cocos - Indian/Christmas ## Others - Arctic/Longyearbyen # Data deletion When you stop using our services, we will delete your data from our systems. This process happens automatically and can take up to 30 days. ## How do we determine when to delete your data? ### For server members Periodically, we check the members of a discord server. When we detect that a user has left a server, we will delete their data from our systems. This includes data associated with that user, like assigned tasks, but not data associated with the server itself or other users in the server. [Event log](https://bnder.net/event-logs) entries will be kept as described in [here](https://bnder.net/advanced/event-logs#how-long-are-logs-stored), even if the user leaves the server. ### For server data When a server stops using our services, we will delete all data associated with that server from our systems. We detect this by checking if the server has any of our bots ([Task Manager](https://bnder.net/task), [Knowledge Manager](https://bnder.net/knowledge) or [Calendar Manager](https://bnder.net/calendar)) in it. If the server has none of our bots, we will delete all data associated with that server from our systems. ## Backups In case of a data loss on our site, we have daily backups of our systems. These backups are stored for 30 days and are used to restore the data in case of a data loss. We do not restore data from backups for individual users. These backups are only used in case of a desaster recovery, which did not happen yet. # Documents Documents are the main object type in the Knowledge Manager Bot. They contain a title and a content. ## Structure Documents are structured inside of topics, but it is not necessary to place a document in a topic. They can also live outside of topics. Each topic is placed inside of a [project](https://bnder.net/projects). This creates the following tree structure: ```text Project 1 └── Topic 1 └── Document 1 └── Document 2 └── Document 3 └── Topic 2 └── Document 4 └── Document 5 └── Document 6 Project 2 └── Topic 3 └── Document 7 └── Document 8 └── Document 9 ``` ## Markdown formatting Every Document content has multiple options for formatting. The formatting standard is [Markdown](https://www.markdownguide.org/basic-syntax/){rel=""nofollow""}, but not every feature is support. ### Headings You can structure your document by having 3 level of headings. Each Heading level is represented by a `#` at the beginning of the line. ```markdown # Heading 1 ## Heading 2 ### Heading 3 ``` ### Bold You can make text bold by surrounding it with `**`. ```markdown **Bold text** ``` ### Italic You can make text italic by surrounding it with `*`. ```markdown *Italic text* ``` ### Bold and Italic You can make text bold and italic by surrounding it with `***`. ```markdown ***Bold and italic text*** ``` ### Links You can add links to your document by surrounding the text you want to link with `[` and `]` and the link with `(` and `)`. ```markdown [Link text](https://www.example.com) ``` ### Images You can add images to your document by surrounding the alt text with `[` and `]` and the image URL with `(` and `)` and prefixing it with a `!`. ```markdown ![Alt text](https://www.example.com/image.png) ``` If you want to use images in a public document via Bnder pages, the image needs to be served via our CDN. To do so, you can upload the image to the [File storage](https://bnder.net/help/file-storage) and make it public. Then copy the public URL and use it in your document. ## Commands :md-document-commands # Public Documents [Documents](https://bnder.net/) can be made public so that anyone with the link can access them without needing to log in. This requires the [Bnder Pages](https://bnder.net/../pages) feature to be configured in your workspace. ## Making a Document Public To make a document public, follow these steps: 1. Navigate to the document you want to make public in your Bnder workspace. 2. Click to edit the document. 3. While editing the document content you will see a "Public" toggle switch at the top. 4. Toggle the "Public" switch to enable public access. 5. "Save and publish" the document to apply the changes. Once the document is public you can view it by visiting your [Bnder Pages](https://bnder.net/../pages) URL followed by `/doc/` and the document's unique identifier (e.g., `https://company.bnder.page/doc/13`). ## Draft Documents If you make changes to a public document and save it as a draft, the public version will remain accessible until you publish the changes. This allows you to work on updates without affecting the live public version until you're ready to publish. ::md-hint-box{type="info"} The draft option is only available for public documents. :: Other workspace members will see the draft version when they access the document in the app and can make further edits if needed. # Event Logs Event logs are a feature that logs events to a storage managed by bnder, which can not be modified or deleted by users. Users with the `MANAGE_PERMISSIONS` permission can access the event logs in the app by clicking on the settings icon in the top left and selecting `Event Logs`. ## How long are logs stored? Logs are stored for 30 days, while for now, only the first 7 days are accessible in the app. ## How to access logs? To access the logs, click on the settings icon in the top left and select `Event Logs` from the left navigation. Only users with the `MANAGE_PERMISSIONS` permission can access the event logs. ![Event Logs](https://bnder.net/images/help/app/Screenshot-Event-Log.webp "Event Logs as seen in the App") Event logs are sorted by date with the most recent logs at the top. They contain a headline to describe the event and a detailed description with additional information when being clicked on. ## Can event logs be deleted? No, logs are stored for 30 days and can not be deleted by users. ## Logged Events - Task created - Task updated - Task deleted - Project created - Project updated - Project deleted - Label created - Label updated - Label deleted - Permissions granted to user or role - Permissions revoked from user or role - Change server language - Change server logging webhook url - Change server log level - Enable or disable auto labeling - Enable or disable auto priority - Change server timezone - Change server date format - Enable or disable user languages - Enable or disable user timezones - Change default assignee - Change week start day - Enable or disable private responses - Enable or disable direct message notifications - Topic created - Topic updated - Topic deleted - Document created - Document updated - Document deleted - Webhooks received from [GitHub Integration](https://bnder.net/help/integration#github) - [Logging Webhook](https://bnder.net/help/advanced/logging) delivery fails - [Auto priority](https://bnder.net/help/tasks#auto-priority) fails - [Auto labeling](https://bnder.net/help/labels#auto-labeling) fails - Subscription updated - Subscription canceled ### Task Manager specific events This list shows the events that are logged by the Task Manager from the above list. - Task created - Task updated - Task deleted - Project created - Project updated - Project deleted - Label created - Label updated - Label deleted - Permissions granted to user or role - Permissions revoked from user or role - Change server language - Change server logging webhook url - Change server log level - Enable or disable auto labeling - Enable or disable auto priority - Change server timezone - Change server date format - Enable or disable user languages - Enable or disable user timezones - Change default assignee - Change week start day - Enable or disable private responses - Enable or disable direct message notifications - Webhooks received from [GitHub Integration](https://bnder.net/help/integration#github) - [Logging Webhook](https://bnder.net/help/advanced/logging) delivery fails - [Auto priority](https://bnder.net/help/tasks#auto-priority) fails - [Auto labeling](https://bnder.net/help/labels#auto-labeling) fails - Subscription updated - Subscription canceled ### Knowledge Manager This list shows the events that are logged by the Knowledge Manager from the above list. - Project created - Project updated - Project deleted - Label created - Label updated - Label deleted - Permissions granted to user or role - Permissions revoked from user or role - Change server language - Enable or disable auto labeling - Change server timezone - Change server date format - Enable or disable user languages - Enable or disable user timezones - Enable or disable private responses - Topic created - Topic updated - Topic deleted - Document created - Document updated - Document deleted - Subscription updated - Subscription canceled ### Calendar Manager This list shows the events that are logged by the Calendar Manager from the above list. - Permissions granted to user or role - Permissions revoked from user or role - Change server language - Change server timezone - Change server date format - Enable or disable user languages - Enable or disable user timezones - Change week start day - Enable or disable private responses - Enable or disable direct message notifications - Subscription updated - Subscription canceled # File storage The file storage feature allows you to upload files to a dedicated storage space. ## File upload restrictions - The maximum file size is 1 GB. - The file size can not be bigger than the remaining storage space of your server. - To upload a file, you need to have the `MANAGE_FILES` [permission](https://bnder.net/help/permissions). ## File access Files can be accessed from everywhere by all users with access to the storage location of the file. Access can be granted on a file-by-file basis or by granting access to a folder. When granting access to a folder, the access is inherited by all files in the folder and its subfolders. When configured a file can be made publicly accessible. This means that anyone with the link to the file can access it, even if they do not have access to the storage location. By default files are not publicly accessible. ## Deleting files To delete a file, you need to have the `MANAGE_FILES` [permission](https://bnder.net/help/permissions). Once a file is deleted, it can not be restored. The occupied storage space will be freed up and can be used for new files. # Getting started with Bots from Bnder ::md-hint-box{type="info"} You must have “Manage Server” permissions or be the owner of the server to add a bot to a Discord server. :: Once you have clicked on the “Authorise” button, the bot will join your server, and you will be able to see its slash commands. ## Getting a basic understanding ::md-tabs --- tabs: - Task Manager - Calendar Manager - Knowledge Manager query-param-default-tab-name: bot --- :::md-tab{tab="Task Manager"} ::::md-step{number="1" title="Setup"} After adding the bot to your server, you can get a guided tour to set up some basic settings by running the following command: :md-command{command="setup" disable-padding="true"} :::: ::::md-step{number="2" title="Basic commands"} We will go through some of the most common commands to get a basic understanding. First, create a task: :::::md-command --- disable-padding: true options: - name: title value: My first task required: true description: The title of the task. command: task create --- ::::: To then display tasks, use: :md-command{command="task list" disable-padding="true"} You will notice that there are no tasks displayed. This is because the task you created is not assigned to you. So, to see all the tasks that have been created so far, we can run: :md-command{command="task project" disable-padding="true"} The task will now appear in the *todo* category. To keep track of your progress, each task has a status of *todo*, *in progress* or *done*. When you create a new task, the default status is *todo*. To change the status of a task, we need the task ID, which can be found when creating or listing tasks. The following command sets the status of the task with the ID 1 from *todo* to *in progress* :::::md-command --- disable-padding: true options: - name: task_id value: 1 required: true description: The ID of the task to update. - name: status value: IN_PROGRESS required: true description: The new status of the task. command: task status --- ::::: [All task commands can be found here.](https://bnder.net/help/all-commands#task-commands) :::: ::::md-step{number="3" title="Assign tasks"} You can distribute tasks by assigning them to other users or discord roles. To assign the previously created task (*My first task*) to a user or role, you can use the *task assign* command: :::::md-command --- disable-padding: true options: - name: task_id value: 1 required: true description: The ID of the task to update. - name: assignee value: "@SomeUser" mentionable: true required: true description: The user or role to assign the task to. command: task assign --- ::::: This command assigns the task with the ID 1 to the user SomeUser. It is also possible to assign a user (or role) to a task directly when creating it: :::::md-command --- disable-padding: true options: - name: title value: My second task required: true description: The title of the task. - name: assignee value: "@SomeUser" mentionable: true required: true description: The user or role to assign the task to. command: task create --- ::::: When a task is assigned to a user, the user will receive a DM notification from the bot. :::: ::::md-step{number="4" title="Projects"} If your team is working on different things at the same time, projects come in handy. In short, a project is an isolated place for tasks. [Read more about projects here](https://bnder.net/help/projects). By the way, the task “*My first task*” was also created in a project. This is the *default* project, and unless you create another, all tasks will be created in this project. If you want to keep track of which books you want to read and which you have already read, without being distracted by other tasks, you can create a project called *books*: :::::md-command --- disable-padding: true options: - name: name value: books required: true description: The name of the project. command: project create --- ::::: You can now select the project by clicking on the blue “Select project” button or using this command: :::::md-command --- disable-padding: true options: - name: name value: books required: true description: The name of the project. command: project select --- ::::: Tasks you create will now be placed in books until you select another project. [For a list of all project commands, click here.](https://bnder.net/help/all-commands#project-commands) :::: ::: :::md-tab{tab="Calendar Manager"} ::::md-step{number="1" title="Setup"} After adding the bot to your server, you can get a guided tour to set up some basic settings by running the following command: :md-command{command="setup" disable-padding="true"} :::: ::::md-step{number="2" title="Create an event"} We will go through some of the most common commands to get a basic understanding. First, create an event: :::::md-command --- disable-padding: true options: - name: name value: My first event required: true description: The name of the event - name: start value: 12/31/2024 23:59 required: true description: The start date and time of the event command: event create --- ::::: To then display your calendar, use: :md-command{command="event list" disable-padding="true"} Depending on the time of year, you may see the event “My first event” in the list. If not, click the buttons till you find it. :::: ::::md-step{number="3" title="Inviting someone"} To invite someone to the event, use: :::::md-command --- disable-padding: true options: - name: event_id value: 1 required: true description: The ID of the event to invite to - name: invitee value: "@SomeUser" mentionable: true required: true description: The user to invite to the event command: invite --- ::::: The user *SomeUser* will now receive a DM notification from the bot where they can accept or decline the invitation. [All event commands can be found here.](https://bnder.net/help/all-commands#event-commands) :::: ::: :::md-tab{tab="Knowledge Manager"} ::::md-step{number="1" title="Setup"} After adding the bot to your server, you can get a guided tour to set up some basic settings by running the following command: :md-command{command="setup" disable-padding="true"} :::: ::::md-step{number="2" title="Documents"} We will go through some of the most common commands to get a basic understanding. First, create a new document. This will open a dialog where you can enter the title and content of your first document: :md-command{command="document create" disable-padding="true"} Now you can see your new created document here and the document will appear in the "default" [project](https://bnder.net/help/projects): :md-command{command="document list" disable-padding="true"} To read the content of your document use this command: :::::md-command --- disable-padding: true options: - name: document value: Your Document required: true description: The name of the document command: document read --- ::::: [All document commands can be found here.](https://bnder.net/help/all-commands#document-commands) :::: ::::md-step{number="3" title="Topics"} You can use topics to categorize your documents. Now we will create our first topic called “website”: :::::md-command --- disable-padding: true options: - name: topic value: website required: true description: The name of the topic command: topic create --- ::::: We can check if the topic is created, by listing all topics: :md-command{command="topic list" disable-padding="true"} To move a document inside the topic, use this command: :::::md-command --- disable-padding: true options: - name: document value: Your Document required: true description: The name of the document - name: topic value: website required: true description: The name of the topic command: document topic --- ::::: Now when we run “document list”, your document will be displayed inside the topic. :::: ::::md-step{number="4" title="Projects"} If your team is working on different things at the same time, projects come in handy. In short, a project is a container for your topics. [Read more about projects here.](https://bnder.net/help/projects) Your first document was already created in a project. This is the *default* project, and unless you create another, all documents and topics will be created in this project. [For a list of all project commands, click here.](https://bnder.net/help/all-commands#project-commands) :::: ::: :: ## I need help Join [our Discord server here](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""} to get help from the developers and moderators. :br If you want to get a list all commands take a look at [this page](https://bnder.net/help/all-commands). ## Next steps - [View all commands](https://bnder.net/help/all-commands) - [Learn about permissions](https://bnder.net/help/permissions) - [Learn about projects](https://bnder.net/help/projects) # Code Integrations Currently, the Task Manager Bot can only be integrated with GitHub. More integrations will be added in the future. If you have any suggestions for integrations, please let us know in the [support server](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""}. ## GitHub The Task Manager Bot can be integrated with GitHub. This integration allows you to mention tasks in commits, which will produce a new entry in the task history with a link to the commit. Tasks can be closed by mentioning them in a commit message with the keyword `closes` or `closed` following a "#" and the task number. ### Setup ::md-step{number="1" title="Get the API URL"} Use the `/integration github` command to get a URL. :: ::md-step{number="2" title="Set the Webhook"} Go to the repository settings and add a new webhook with the URL you got from the previous step. ![GitHub webhook settings](https://bnder.net/images/help/tmb/github-webhook-setup.webp) Select the "push" event. This will trigger the webhook when a commit is pushed to the repository. :: ::md-step{number="2" title="Save the webhook"} Save the webhook and you are done. :: ### Keywords to close tasks You can close tasks by mentioning them in a commit message with the following keywords followed by a "#" and the task number: - closes - closing - close - closed - fix - fixes - fixed - resolve - resolves - resolved ### Example commit messages ```plaintext Added a new feature. Closes #12 ``` Would move task 12 to the "Done" state. ```plaintext Fixed a bug. Resolved #3, #41 ``` Would move tasks 3 and 41 to the "Done" state. ```plaintext Closed a task. Fixes #5. Fixed an issue which resolves #13,#14, #15 ``` Would move task 5 to the "Done" state and tasks 13, 14, and 15 to the "Done" state. ## GitLab The Task Manager Bot can be integrated with GitLab. This integration allows you to mention tasks in commits, which will produce a new entry in the task history with a link to the commit. Tasks can be closed by mentioning them in a commit message with the keyword `closes` or `closed` following a "#" and the task number. ### Setup ::md-step{number="1" title="Get the API URL"} Use the `/integration gitlab` command to get a URL. :: ::md-step{number="2" title="Set the Webhook"} Go to the repository settings and webhooks. ![GitLab webhook settings](https://bnder.net/images/help/tmb/gitlab-webhook-setup.webp) Select the "Push events" event. This will trigger the webhook when a commit is pushed to the repository. :: ::md-step{number="3" title="Save the webhook"} Save the webhook and you are done. :: ### Keywords to close tasks You can use the same keywords as in the [GitHub integration](https://bnder.net/#keywords-to-close-tasks). # Labels Labels are a new way to categorize tasks inside a project. They are shown in the `/task info` command, `/document info` command or in the app. Optionally, labels can contain a description and color. The description is shown as a tooltip in the app when hovering over the label and in the discord bot when using the discord integration. ## Auto Labeling With auto labeling you can have labels automatically assigned to tasks and documents when they are created. ### How it works 1. **Create labels** in your server. 2. **Check if "auto labeling" is enabled** in your server settings (`/settings auto_labeling` or in the app server settings "General"). 3. **Create a new task** 4. **Check if a label was applied** via `/task info` or in the app. When a new task or document is created and there a labels created in the server, the task title, description and all labels will be sent to an AI that will determine the label that fits best. ## Label Suggestions With label suggestions you can have labels suggested to you when creating a task in the app. AI will look at the task title and description and suggest labels that fit best. The suggested label will be shown in the app when creating a task and can be added with a single click. ::md-hint-box{type="info"} AI label suggestions are only available for [pro users](https://bnder.net/pricing). :: ::md-hint-box{type="info"} To give the AI enough context about your labels, it is recommended to add descriptions to your labels. :: ## Commands :md-label-commands # Limits To prevent spam and abuse, we have some service limitations. ## Task Limits | Task Limits | Details | | :--------------------------------------------------------------------------------------------- | :---------- | | Max [tasks](https://bnder.net/help/tasks) title length | 1250 | | Max [tasks](https://bnder.net/help/tasks) description length | 2000 | | Number of [tasks](https://bnder.net/help/tasks) per server | No Limit | | Number of assignees per [task](https://bnder.net/help/tasks) (including bots, users and roles) | 15 | | Time to interact with a button after the message was sent for most buttons | 120 minutes | | Max number of linked tasks per message | 20 | | Max number of labels per task | 5 | | Max number of comments per task | 100 | ## Workspace Limits | Workspace Limits | Details | | :----------------------------------------------------------- | :------ | | Number of [labels](https://bnder.net/help/labels) per server | 10 | | Max [label](https://bnder.net/help/labels) name length | 32 | ## Event Limits | Limit | Details | | :------------------------------ | :--------------------------------------- | | Max amount of events per server | No limit | | Max invites per event | See [pricing](https://bnder.net/pricing) | ## Document Limits | Document Limits | Details | | :--------------------------------- | :------- | | Max amount of documents per server | No Limit | | Max document title length | 80 | | Max document content length | 4000 | | Max number of labels per document | 5 | ## Topic Limits | Topic Limits | Details | | :------------------------------ | :--------------------------------------- | | Max amount of topics per server | See [pricing](https://bnder.net/pricing) | | Max topic title length | 80 | ## Custom limits If you are in need of a limit increase, please contact us on [Discord](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""}. # Milestones Milestones are a way to group tasks together and track progress on a project. They can be created, listed, edited, and deleted. Each milestone has a name and an optional due date. ## Milestone Data - Name - Due Date ## Use Cases - Group tasks together - Track progress on a project ## Milestone Commands :md-milestone-commands # Notifications Notifications are sent to users via direct messages. They are used to inform users about important events, such as task assignments, task state changes, or mentions in comments. ::md-hint-box{type="warning"} The bot can not send notifications to users who have their privacy settings in Discord set to not receive direct messages from server members. :: ## Notification Types There are several types of notifications: - **Task Assignment**: Sent when a user or a role of the user is assigned to a task. - **Task deadline due**: Sent when a task deadline is due within 12 hours. - **Task deadline was missed**: Sent when a task deadline was in the past 12 hours and the task is still not done. - **Task deadline was missed on urgent tasks**: Sent when a task deadline was in the past 36 hours and the task is still not done and the priority is high or urgent. - **Assigned task was repeated**: Sent when a task was repeated and the user was assigned to the new task. - **Task has a new comment**: Sent when a task is assigned to a user and a new comment is added to the task or when the user previously commented on the task. - **Milestone is due**: Sent to the project manager when a milestone is due within 6 hours and has tasks that are not done. ## Notification restrictions - Notifications to role members are sent only if the role has less than 10 members. If a role has more members, no notifications are sent to the role members. # Pages Bnder pages is your solution to connect your team with your users. ## What are Pages? Pages are static content that you can create and manage inside your Bnder workspace. They are perfect for creating landing pages, documentation, FAQs, and other types of content that need to be easily accessible to your users. Pages can be hosted on a Bnder subdomain (e.g., `company.bnder.page`) or on a custom domain that you own (e.g., `www.company.com`). Each page can have a custom display name that will be shown to the user when visiting the page. ## Create a Page ### Requirements - `MANAGE_SETTINGS` [permission](https://bnder.net/permissions) in your workspace - Access to your domain DNS settings (if using a custom domain) To create a new page in your Bnder workspace, follow these steps: ### Using Bnder Subdomain 1. Navigate to the "Pages" section in your Bnder workspace. 2. Click on the "Create Page" button. 3. Select the option to use a Bnder subdomain. 4. Type the subdomain you want to use (e.g., `company` for `company.bnder.page`). 5. Type a display name for your page. 6. Click "Create" to finalize the setup. ### Using Custom Domain 1. Navigate to the "Pages" section in your Bnder workspace. 2. Click on the "Create Page" button. 3. Select the option to use a custom domain. 4. Enter the name of your custom domain (e.g., `www.company.com`). 5. Type a display name for your page. 6. Follow the instructions to configure your DNS settings to point to Bnder's servers. 7. Click "Create" to finalize the setup. 8. Wait for the DNS changes to propagate, which may take up to 48 hours. ## What counts as a Session? A session is counted each time a user visits your page. It doesn't matter how many documents the user views during their visit. A session will be terminated once the page is fully loaded again. # Permissions We have implemented a custom permissions system that allows users to give others access to individual commands. ::md-hint-box{type="info"} Users with Discord administrator permissions and server owners are ignored by the permissions system. They have to execute any command. :: ## How does it work? The bot first checks if the user is the owner of the server or has a role with Discord Administrator permissions. If this isn't the case, it checks what permissions have been granted to the user directly and to their roles. If any of their roles have permission, he will be able to execute the command that requires that permission. ### Example The user has Role A and Role B. Role A has been granted the MANAGE\_TASKS and MANAGE\_PROJECTS permissions. Role B has only been granted the SET\_STATE permission and no others. Because the user has both roles, they can create tasks, set tasks state and create projects. ## Grant permissions Permissions can be granted by running the [`permission grant` command](https://bnder.net/help/all-commands#permission-commands). After a permission was added, the bot will apply the changes immediately and the user can run the command that requires the permission. ## Revoke permissions Permissions can be revoked by executing the [`permission revoke` command](https://bnder.net/help/all-commands#permission-commands). ::md-hint-box{type="warning"} Even after revoking a user's permissions, they may still have access to certain commands through their roles that provide the same permissions. :: ## Project based permissions All permissions can be granted to a user or role for a specific project. This means that the user or role will only have access to the command if they specify the project in the command or have the project selected. This will work only on commands that have a project option. Use it with caution. The project will be determined by the following order: 1. The project specified in the command 2. The project of a task that is specified in the command 3. When a project could be specified in the command, but isn't, the user's selected project will be used Whichever condition is met first will be used to determine the project. ## Permission presets Permission presets are an easy way to grant a user or role multiple permissions at once. They can be used to grant a basic set of permissions to a user or role specific to a role in the server. When a preset is applied, all permissions that are already granted to the user or role will be removed and replaced with the permissions of the preset. After applying a preset, more permissions can be granted to the user or role. The permissions granted by the preset can be revoked too. ### Available presets | Preset name | Permissions granted | | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | admin | Includes every permission available | | contributor | - MANAGE\_TOPICS :br - MANAGE\_DOCUMENTS :br - READ\_DOCUMENTS :br - MANAGE\_TASKS :br - VIEW\_TASKS :br - SET\_STATE :br - MANAGE\_MILESTONES | | guest | - VIEW\_TASKS :br - READ\_DOCUMENT | ## All permissions | Bot | Permission | Use case | | ------------------------------------------------- | ------------------- | --------------------------------------------------------------------------------------------- | | Task Manager | VIEW\_TASKS | Is required to view tasks (for example via "/task list" and for viewing projects) | | Task Manager | SET\_STATE | Is required to update the state (todo, in progress, done) of a task. | | Task Manager | MANAGE\_TASKS | Is required to create, delete, edit, assign, unassign and restore a task. | | Task Manager | MANAGE\_MILESTONES | Required to create, edit or delete milestones | | Knowledge Manager | READ\_DOCUMENTS | Is required to read a document and list all documents and viewing projects | | Knowledge Manager | MANAGE\_DOCUMENTS | Is required if a user needs to create, edit, change the topic, delete and restore a document. | | Knowledge Manager | MANAGE\_TOPICS | Is required to create, rename, delete and restore a topic and all of its documents. | | Task Manager, Knowledge Manager | MANAGE\_PROJECTS | Is required to create, rename, delete and restore projects. | | Calendar Manager | CREATE\_EVENTS | Is required to create a new event. | | Task Manager, Calendar Manager, Knowledge Manager | MANAGE\_PERMISSIONS | Is required to show all permissions, grant or revoke permissions | | Task Manager, Calendar Manager, Knowledge Manager | MANAGE\_SETTINGS | Required to change settings by the `/settings` command | ## Permission commands :md-permission-commands # Manage the subscription We offer a subscription-based service to access pro features in the app and our discord bots. This page will help you understand how subscriptions work and how you can manage them. ## What is a subscription? A subscription is a recurring payment that you make to access pro features in the app and our discord bots. It is a monthly payment that you can cancel at any time. If you cancel your subscription, you will lose access to pro features at the end of the billing cycle. ## What are pro seats? Pro seats are the number of users that can access pro features in the app and our discord bots. With a subscription you buy a certain number of pro seats. You can add or remove pro seats at any time. You can manage the users that have access to pro features in the app by adding or removing them from the pro seats list. To manage your pro seats, follow these steps: 1. Open the [App](https://bnder.net/app) and log in. 2. Choose the server you want to buy a subscription for. 3. Click on the `Settings` Icon in the sidebar. 4. Select the `Pro Seats` tab. 5. Click on an empty seat to add a user or click on a user to remove them. ## Supported currencies The currency is determined by the country you are in when visiting the checkout page. If you are in a country that is not supported, the currency will be in EUR (€). We support the following currencies for subscriptions: - EUR (€) - USD ($) ## How do I upgrade/downgrade my subscription? ::md-hint-box{type="info"} Only the user who bought the subscription can upgrade or downgrade it. :: To upgrade your subscription, follow these steps: 1. Open the [App](https://bnder.net/app) and log in. 2. Choose the server you want to buy a subscription for. 3. Click on the `Settings` Icon in the sidebar. 4. Select the `Pro Seats` tab. 5. Click on the `Manage Subscription` button. This will redirect you to the customer portal. 6. Click on the `Update Plan` button. 7. Choose the amount of pro seats you want to buy. ## Where can I see my invoices? To see your invoices, follow these steps: 1. Open the [App](https://bnder.net/app) and log in. 2. Choose the server you want to buy a subscription for. 3. Click on the `Settings` Icon in the sidebar. 4. Select the `Pro Seats` tab. 5. Click on the `Manage Subscription` button. This will redirect you to the customer portal. 6. You can see your invoices in the `Invoice History` at the bottom of the page. ## How do I change my payment method? ::md-hint-box{type="info"} Only the user who bought the subscription can change the payment method. :: To change your payment method, follow these steps: 1. Open the [App](https://bnder.net/app) and log in. 2. Choose the server you want to buy a subscription for. 3. Click on the `Settings` Icon in the sidebar. 4. Select the `Pro Seats` tab. 5. Click on the `Manage Subscription` button. This will redirect you to the customer portal. 6. Click on the `Payment Method` tab. 7. Click on the `Add Payment Method` button. 8. Enter your payment details and click on the `Save` button. ## How do I cancel my subscription? ::md-hint-box{type="info"} Only the user who bought the subscription can cancel it. :: ::md-hint-box{type="warning"} The subscription will be automatically canceled if the user who bought it leaves the server or all our bots are removed from the server. :: To cancel your subscription, follow these steps: 1. Open the [App](https://bnder.net/app) and log in. 2. Choose the server you want to buy a subscription for. 3. Click on the `Settings` Icon in the sidebar. 4. Select the `Pro Seats` tab. 5. Click on the `Manage Subscription` button. 6. Click on the `Cancel Plan` button. # Default Project The Default Project is a foundational part of your project management system. It provides a universal workspace that every user has access to by default. ## Key Features - **Immutable Name**: The default project is permanently named `default` and cannot be deleted or renamed. - **Universal Access**: It is active for every user, ensuring that there is always a central workspace available. - **Seamless Switching**: Even though the default project cannot be modified in name or removed, you can switch to it at any time for a consistent starting point. ## How It Works When you create or log in to your project management environment, the default project is automatically active. All tasks and documents that do not belong to a specific user-created project will be housed here, ensuring that there is always a designated area for your work. # Projects Overview Projects are essential containers that help you organize tasks and documents effectively across multiple projects. This document provides an overall understanding of the project system, including its concept, management roles, and the commands available to interact with projects. ## The Concept A project acts as a container where all tasks and documents reside when you select it. Only the items within the active project are visible and accessible, which keeps your workspace focused and clutter-free. You can create new projects and switch between them as needed to organize different sets of work. ## Project Managers Project managers play a key role in ensuring tasks are handled efficiently. Although they do not possess special permissions beyond those of regular users, they can be configured as the default assignee for tasks. This means that if no other assignee is specified, tasks will automatically be assigned to the project manager. Additionally, project managers receive notifications for all tasks in their project when deadlines approach. To set up a project manager as the default assignee, use the command: ```text /settings default_assignee ``` Then select the appropriate project manager from the list. ## Project Commands The system provides a range of commands to help you interact with and manage your projects. These commands allow you to switch between projects, adjust settings, and customize notifications. For a comprehensive list and usage instructions of project commands, please refer to the dedicated project commands documentation. :md-project-commands # Task state columns Project columns—also known as status columns—help you visually track the progress of tasks within a project. They are an integral part of your project’s workflow, allowing you to see at a glance which tasks are pending, in progress, or completed. ## Default Setup By default, each project is set up with three status columns: - **To Do**: For tasks that have not yet been started. - **In Progress**: For tasks currently being worked on. - **Done**: For tasks that have been completed. The default columns are automatically translated into every language supported by the system. Once you have changed the name of a column it will no longer be translated. To reset the column name to the default translation, rename it to the following: - **To Do**: `todo_tasks` - **In Progress**: `in_progress_tasks` - **Done**: `done_tasks` ## Customization Options You can tailor the status columns to better fit your project needs: - **Reordering**: Rearrange the columns to align with your workflow. - **Adding New Columns**: Introduce additional columns to track more detailed stages of task progress. - **Deleting Columns**: Remove any columns that are not needed, keeping your interface clean. ### Default column The default column is the first column in the project, if not configured otherwise. It is used to place tasks in until another column is selected. ### Tasks considered done Each column can be toggled to contain tasks that are considered done. This is necessary for the system to know when a task is completed and can be moved to the first column, if the task is having a repeat cycle. ## Limits - **Minimum Requirement**: Each project must have at least one status column. - **Maximum Columns**: You can have up to 10 status columns in a project. ## How to Configure To modify the status columns: 1. Open the [app](https://bnder.net/app). 2. Navigate to the project settings for the desired project. 3. Use the interface options to reorder, add, or delete columns as needed. This configuration flexibility ensures that you can optimize your project management process according to your specific workflow requirements. # Trash bin The Trash Bin is a temporary storage location for deleted [tasks](https://bnder.net/tasks) and [documents](https://bnder.net/documents) before permanent deletion. It serves as a safety net, enabling the recovery of accidentally removed items. ## Deletion Process for Tasks, Documents, and Project Files When a task or document is deleted from a project, it's moved to the Trash Bin instead of being immediately and permanently removed. This provides an opportunity to restore the item if needed. ## Item Retention Period in the Trash Bin Items remain in the Trash Bin for **30 days**. After this period, they are automatically and permanently deleted from the system and cannot be recovered. Restoration after 30 days is not possible. ## Accessing the Trash Bin The Trash Bin can be accessed by clicking the "Trash Bin" menu underneath a project name. This opens a page displaying all tasks and documents of the project currently stored within the Trash Bin. ## Restoring Items from the Trash Bin 1. Navigate to the Trash Bin. 2. Locate the desired task or document for restoration. 3. Click the "Restore" button in the "more" options icon. The restored item will be relocated to its original position within the project from which it was initially deleted. ## Permanently Deleting Items from the Trash Bin To immediately and permanently delete an item, follow these steps within the Trash Bin: 1. Navigate to the Trash Bin. 2. Identify the specific task, document, or project file intended for permanent deletion. 3. Click the "Delete immediately" button in the objects options. ::md-hint-box{type="warning"} This action is irreversible. Once an item has been permanently deleted, it cannot be recovered. :: ## Important Considerations - **Irreversible Deletion:** Keep in mind that items are permanently deleted after 30 days and cannot be retrieved. The same applies when using the "Delete Permanently" option. - **Access Permissions:** Access to the Trash Bin is usually determined by user roles and permissions within the project. Project administrators generally have full access, while other users may have limited or no access. - **Performance Impact:** Although there's no strict limit to the number of items that can be stored in the Trash Bin, having a very large number of items may affect performance. Regularly reviewing and clearing the Trash Bin is a good practice. # Support We are here to help you with the Task Manager Bot. If you have any questions, need help with something, or have found a bug, you can ask for support on our [Discord server](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""} in the `#support` channel. ## General support If you need help with the Task Manager Bot, you can ask for support on our [Discord server](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""} in the `#support` channel. ## Enterprise support If you are an enterprise user, for example, a company, a school or a non-profit organization, you can contact us for enterprise support. This means we will provide you with a dedicated text channel on our [Discord server](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""} where you can ask for help and get support, without letting other users see your workflows or other potentially sensitive information. # Availability Check The availability check feature in Tasks helps you ensure that the people you need for your tasks are available. ## Requirements To use the availability check feature, you need to have the permission `CREATE_EVENTS` in the project or global scope and a deadline must be set for the task. ## How it works When you open the task popup, while creating, editing or viewing a task, the app will check the availability of the assigned users for the task's deadline. The calendar will be checked for events by the type "Out of Office". If any of the assigned users are not available, a warning message will be displayed in the task popup underneath the assigned users field. ![Availability check warning](https://bnder.net/images/help/app/availability-check-warning.webp) # Comments Comments are a way to communicate and collaborate on tasks. They allow users to discuss the task, provide updates, and share relevant information. ## Notifications When a comment is added to a task, all users assigned to the task will receive a notification. If you are subscribed to the task, you will also receive a notification. ## Mentioning Users You can mention users in comments by using the `@username` syntax. Mentioned users will receive a notification about the comment. ## AI Assistant You can add comments to your tasks and mention the AI Assistant to get him to comment on your tasks. To mention the AI Assistant, use the `@` symbol followed by "Assistant". After posting your comment, the AI Assistant will add a new comment to the task, which responds to your comment. ![AI Assistant Comment](https://bnder.net/images/help/app/ai-assistant-add-comment.webp) After sending your comment, the AI Assistant will respond with a comment. ![AI Assistant Response](https://bnder.net/images/help/app/ai-assistant-response.webp) The AI Assistant has access to the task title, description and all previous comments, as well as the comment it is responding to. # Dependencies Dependencies allow you to define relationships between tasks, indicating that one task depends on the completion of another. This helps in managing task workflows and ensuring that tasks are completed in the correct order. When a task has dependencies and a user tries to move it to another state, the dependencies will be checked. If all dependencies are completed, the task can be moved. If not, the user will see a message indicating which dependencies are not yet completed. # Exporting Tasks You can export tasks from Bnder in CSV format for use in other applications. Follow these steps to export your tasks: 1. Navigate to the **Tasks** section in Bnder. 2. Click on the table view to switch to the table layout. 3. Next to the filter icon, click on the "Save" icon (usually represented by a floppy disk or download symbol). 4. In the new window that appears, select everything you want to export. 5. Click on the "Export" button to download the CSV file to your device. The exported CSV file can be opened in spreadsheet applications like Microsoft Excel or Google Sheets for further analysis or record-keeping. The CSV file will contain every selected property of the tasks for the selected project. To export tasks from another project, select the desired project in the table view and repeat the steps above. # Tasks Overview A task has several arguments. It contains a title and a description describing what the assigned users or roles should do, it contains an ID which is used to identify the task in any command, and it has one of three [states](https://bnder.net/#states). It can optionally contain a deadline. ## States Each task has a state. These can be configured to be custom for each [project](https://bnder.net/help/projects) or can be the default ones. The default states are: - Todo: The state with which each task starts. It means that no one has started working on the task. - In Progress: This state means that someone has started working on the task. - Done: The last state means that the task has been completed. The state of a task can be changed by executing the [`task status` command](https://bnder.net/all-commands#task-commands). ## Assignees A task can be assigned to [multiple](https://bnder.net/help/limits#task-limits) users and roles. When a user is assigned to a task, the will receive a direct message from the bot with the task details and a link to the task in the app. The message will contain two buttons to set the state to "In Progress" or "Done", if the user has the " SET\_STATE" [permission](https://bnder.net/help/permissions) at the moment of the assignment. If the assigning user is the same as the assigned user, the bot will not send a direct message. ![Task assignment message](https://bnder.net/images/help/tmb/task-assign-notification.webp) **When you don't receive a direct message from the bot, check the following:** - You have direct messages from server members enabled in your [privacy settings](https://support.discord.com/hc/en-us/articles/217916488-Blocking-Privacy-Settings){rel=""nofollow""} - You don't have direct messages in your preferences disabled (`/preferences direct_messages`) - Direct messages aren't disabled server-wide by an admin (`/settings direct_messages`) - When a role is assigned to a task, we may have not been able to find all role members due to Discord limitations. In this case, the user should execute a command and we will store their roles for future assignments ## Deadline The deadline is set by executing the [`task deadline` command](https://bnder.net/help/all-commands#task-commands). ### Deadline reminders When a deadline is set and due in less than 24 hours and the task is not done, the bot will send a reminder to every assigned user (not to assigned roles), the manager of the project the task is in and a logging message, if [logging](https://bnder.net/help/advanced/logging) is configured. Deadline reminders for upcoming deadlines are sent every half hour (so 00:00, 00:30, 01:00, ...), if the deadline is due in less than 24 hours. Users in pro seats will receive daily reminders about tasks, with a deadline set in the past and the task not done. These reminders will be sent at 00:00 CEST and can be turned off for each task by clicking the "Turn off reminders" button in the message. ### Deadlines in calendar When using the [Calendar Manager](https://bnder.net/calendar){rel=""nofollow""} you can see all tasks with a deadline in the calendar. View how to set it up [here](https://bnder.net/help/calendar-integration). ## ToDos ::md-hint-box{type="info"} The ToDos feature is only available to users in a pro seat. :: A task can hold multiple ToDos in it. Other than the normal tasks, they don't have three states as they just can be completed or not completed. All ToDos can be viewed by using the `/task info` command. ## Auto priority With the auto priority feature enabled, the bot will use AI to determine the priority of a task based on the title and description of the task. This feature is disabled by default and has to be enabled manually. ## Auto labeling With the auto labeling feature enabled, the bot will use AI to determine the labels of a task based on the title and description of the task. This requires [labels](https://bnder.net/help/labels) to be set up and the feature to be enabled. ::md-hint-box{type="info"} See [labels](https://bnder.net/help/labels#how-it-works) page to learn how to set up auto labeling. :: Shortly after a task has been created, the bot will check the title and description of the task and assign the label that fits best. If the task already has labels, the bot will not change them. When a user is placed in a [pro seat](https://bnder.net/help/pro-seats), they can get label recommendations for a task by using the app. The app will suggest a label while the user is typing the title or description of the task. This works only when auto labeling is enabled. This can be disabled in the server settings. Auto Labeling is not required for this feature to work. ## History Every task has a history. This history contains all changes made to the task, like changing the state, the deadline, the priority, etc. ::md-hint-box{type="info"} The history is only fully visible to users placed in a pro seat. Users in a free seat can only see the last 2 changes. :: ![Response of task history command](https://bnder.net/images/help/tmb/task-history-command-response.webp) ## Subscribers ::md-hint-box{type="info"} The subscribers feature is only available to users in a pro seat. :: Subscribers are users who are not assigned to a task but want to be informed about changes to the task. They will receive a direct message from the bot with the task details and a link to the task in the app. ## Task Commands :md-task-commands # People View The people view provides an overview of all tasks assigned to each member of your workspace. It helps you manage workloads and ensure that tasks are evenly distributed among team members. ![Example screenshot showing the people view](https://bnder.net/images/app_screenshot/raw/tasks-people-view.webp) ## Accessing the People View To access the people view, click on the "Tasks" section in the left navigation. If will open the Kanban view by default. After that, you will see more options underneath the "Tasks" section. Click on "People" to switch to the people view. ## Changing assignees In the people view, you can easily change the assignees of tasks. To do so, simply drag and drop tasks between different team members. This allows you to quickly reassign tasks and balance workloads as needed. # Repeating tasks Tasks can be set to be repeated. This means the task will be moved to the `Todo` state after it has been completed and the interval has passed. The interval can be set to a specific amount of days, between 1 and 365. Otherwise it can be set to a specific day of the month, like the 15th of every month. Once the interval is reached, the task will be checked if it has been completed. If it has, it will be moved to the first column (by default `To Do`) state. If it hasn't, the task will not be moved, but the next check will happen after the set interval. This process will repeat until the repeat end date is reached. If no repeat end date is set, the task will repeat forever. Our services will determine whether a task is done by checking the state of the task. If the task is placed in a column, that is configured to contain done tasks (can be configured in [project settings](https://bnder.net/../projects/projects-overview)) the task will be considered done. If the task is not in such a column, the task will be considered not done and the task will not be repeated. In all lists, a repeating task will be marked with a `🔁` symbol. # Table View The table view provides a structured way to see all tasks in your workspace. It allows you to sort, filter, and manage tasks efficiently. ![Example screenshot showing the table view](https://bnder.net/images/app_screenshot/raw/tasks-table-view.webp) ## Filtering and Sorting You find a filter icon in the top left at the beginning of the table header row. Click on it to open the filtering options. You can filter tasks based on every column available in the table view. To sort tasks, click on the column headers. Clicking once will sort the tasks in ascending order, clicking again will sort them in descending order and a third click will remove the sorting. # Topics Topics are an optional way to organize tasks inside a project. You can create multiple topics inside a project and put documents inside them. ```text Project 1 └── Topic 1 └── Document 1 └── Document 2 └── Document 3 └── Topic 2 └── Document 4 └── Document 5 └── Document 6 Project 2 └── Topic 3 └── Document 7 └── Document 8 └── Document 9 ``` ## Topic Commands :md-topic-commands :topic-commands # App Update on 10/24/2023 ## New Features: - Rename projects - Move projects to bin - Delete projects - Restore projects from bin - Configure Webhook Logging URL in Settings - Keyboard Shortcuts added ([See all](https://bnder.net/help/app/shortcuts){rel=""nofollow""}) ## Bug fixes: - Roles & Permissions will load faster - Missing translations added - Permissions wouldn't load in some cases - Changing a deadline ignored users permissions - Revoking user/role permissions would not work - Guilds would not load in some cases - Task could be created in project in bin # App Update on 11/14/2023 ## New Features - When creating a new project you get instant feedback if the name is already taken - You can now use all Knowledge Manager features in our App - Added workflow to add a new guild without interacting with a bot ## Bug fixes - In some cases permissions would not be loaded correctly, preventing users from creating tasks & projects - In some cases projects were not correctly updated when a new one was created - Topics were not loaded according to selected project - Improved some dialog feedbacks to make errors more clear ...and many more improvements # April Release Notes The following changes have been deployed in multiple deployments during April. ## Task Manager - Fix: Deleting a task with attachment might not update server storage used ## App - Option added to rename column from kanban view - Option added to sort tasks in column in kanban view - Files in file storage can be set to public and be accessed via url - Task attachments do not require a pro seat anymore - Reworked task watchers to allow adding other users - Fix: Switching project while in table view would reset to kanban view - Fix: Renaming a column that is set to be a column where tasks are done in, would result in error - Fix: Drag and drop was hard when column was empty - Fix: Spanish, Portuguese and Chinese not available to set in app - Fix: Deleting a task with attachment might not update server storage used ## Website - Added info to webhook logging help page that creating webhooks does not work on discord mobile ## API - We closed a critical security vulnerability that would allow users to retrieve tasks from other servers. This vulnerability was not exploited by anyone - Fix: Possible error when loading users guilds - Fix: Some pro benefits were not applied to api keys by pro users # August Release Notes The following changes have been deployed in multiple deployments during August. ## Task Manager - Logging Webhooks can be scoped to a project - Task Watchers: You can now watch a task and get notifications when something on the task changes - New Command: “/task watch” to watch a task - New Command: “/task unwatch” to no longer watch a task - Task Attachments - New Command: “/task attach” to attach a file to a task - New Command: “/task attachments” to list all attachments of a task - New Command: “/task detach” to remove an attachment from a task - Daily followup reminders for pro users - Deadline notifications contain buttons to easily extend the deadline - Project manager will receive deadline due notification if a task nears the deadline inside its project - Fix: Visual bug would show wrong project name - Fix: Auto Priority would change priority of tasks that were explicitly set to normal ## Knowledge Manager - Added Webhook Logging - Fix: Visual bug would show wrong project name ## App - Own comments can be edited now - Many texts (comments, tasks, events, and more) are selectable now - Logging Webhooks can be scoped to a project - Task Attachments - Month view for calendar - Hidden guilds get synced across devices - Showing api key usage for rate limit - “Save Changes” button of TaskPopup better indicates error - Open external links requires explicit confirmation - Fix: Error when refreshing the app too fast - Fix: Error loading servers after many reloads - Fix: Task Popup Subtasks can be added by clicking next to the text - Fix: Desync would result in tasks shown in multiple columns - Fix: Text was scrollable in some places ## Website - Documented API Limits ## API - Increased monthly rate limit to 20.000 - Increased hourly rate limit to 5.000 - New endpoint /consumer/v1/apikeys/KEY/usage to get usage of api key - Fix: Regenerating an api key would lead to resetting rate limit - Fix: Some routes would lead to an error when accessing them through an api key - Logging Webhooks can be scoped to a project - Fix: Requests with rate limit exceeded were still executed normally - Fix: Some requests with a “limit” query parameter would fail # August Release Notes The following changes have been deployed in multiple deployments during August. ## Discord Bots - Fix: Webhook logging message had no profile picture ## App - Reworked error message when a limit is reached that can be raised by buying pro seats - Reworked "noguilds" page - Improved pro seat page with more info & reasons to upgrade - In ToDo suggestions the AI uses the users configured language or workspace language to create todos - Removed task id from task popup title - Cleaned up the "Sort column" dialog - Showing button in settings & preferences to set language, timezone and dateformat to local - Moved pro seats in workspace settings higher up the navigation - Fix: Default column was not working in Task Popup - Fix: Editing document on mobile did not work - Fix: Wrong german & spanish translations for “In bin” in project settings - Fix: Settings option to open external pages is now clickable on entire row - Fix: Milestones were not deleted if project gets deleted - Fix: TextField errors can now be multiline - Fix: Mode names were truncated in some languages - Fix: Workspace member drop down "None" was not localized - Fix: Login with discord button load infinitely when api is not reachable - Fix: With very extensive usage the event log would run full and no new action would be logged - Fix: Open invoices now get voided if they can’t be paid and the retries all failed ## API - Fix: When creating event via api/app it is not checked for pro access in repeat interval and repeat end - Fix: Update ical calendar description in calendar export - Fix: Deleting a task from custom column did not remove id from column but the task data got deleted ## Website - Restructured side navigation for better overview in “/help” - Fix: API docs at “/rest” did not show request body - Fix: Invalid link in /configuration/settings # Changing the way task ids are generated On Sunday 07/16/2023 we released an update for the Task Manager Bot that changed the way task ids were generated. ## How it was before Previously, task ids were always generated from the numbers 0 to 9 by concatenating 5 random numbers. This way of generation arose from a technical limitation and was the default since the beginning of Task Manager Bots 2019. ![Old task ids shown by the 'task project' command.](https://bnder.net/images/news/changing-task-id-generation/old-task-ids.png) Old task ids shown by the "task project" command. Newer infrastructure and future plans allow us to fundamentally revise the generation of task ids. ## How it is from now on. The ids for new tasks will now be generated incrementally. So the first task created after the changeover will get id 1, the second task will get id 2 and so on. ![New task ids shown by the 'task project' command.](https://bnder.net/images/news/changing-task-id-generation/new-task-ids.png) New task ids shown by the "task project" command. Ids will not be assigned twice. If the last created task (e.g. with id 5) is deleted, the next task will get a new id (in this case 6). A collision with existing tasks from the old generation is not possible, because for five-digit ids we check if the same id already exists from a task from the time before the update. ### Advantages Basically, this results in the following advantages for users: 1. the new ids no longer require 5 characters, which means that entries can be significantly shorter. 2. users get an overview of the number of tasks they have created. 3. task ids are no longer historically duplicated. If a task was deleted, the id could be reassigned in the old system. This is no longer possible. Each task now has a unique id, even if tasks are deleted. 4. task ids can no longer have preceding zeros, which should make it more logical to use, especially for new users. We hope you like the changes. If you have any questions, please contact us at our discord. # December Release Notes ## Task Manager - Added timezone info to "/task deadline" messages - Added data delete note to setup completed message - Icons added to “/task list” & “/task project” indicating column - Custom task status column support - Added response to preferences when server setting disables configuration - 100MB file storage without pro seats - Fix: Milestone autocomplete did not work on some commands ## Calendar Manager - Added response to preferences when server setting disables configuration ## App - Tasks column headline on desktop is static - Customer Portal error dialog contains button to support server - Server owner can cancel subscription for server - Subscriptions can be viewed in user settings - "Noguilds" page contains user avatar with access to user settings - Added categories in settings - Added notification when a payment fails - Performance improvements - Task status columns can now be customized in project settings - Task columns on mobile use same drag and drop behaviour as on desktop - Added hint for empty file area - Fix: Downloading files would not work with some file contents - Fix: Files/Folders could contain line breaks in their names - Fix: Task filter by creator would show user id instead of username - Fix: Task Attachments would not open in some cases - Fix: Self data download did not work - Fix: With “Error reporting to bnder” enabled an error would be reported in a loop - Fix: In General Settings the default assignee options were not localized - Fix: Fixed some small visual issues - Fix: Showing used storage in other units than GB - Fix: Empty space at bottom when keyboard was active - Fix: Server settings did not reload when changing servers - Fix: File Area did not show on mobile ## Website - Fix: Various links would lead to 404 page # December Changelog ## Task Manager - Added link to help page in “/task todos” error responses ## Calendar Manager - Only showing time in “event starts soon” message (removed date) - Fix: Depending on the timezone, the bot showed wrong dates to weekdays in „/event list“ ## App - AI Chat - Labels are sorted alphabetically - Users can now request a pro seat from the workspace or subscription owner - Fix: TaskPopup has padding at the bottom when the popup goes full screen height - Fix: Scrollbar in TaskPopup should be completely to the right - Fix: Could not scroll to next year in the calendar view - Fix: Linebreak in the task repeat interval days field - Fix: User unavailable warning overflowed - Fix: TaskPopup had a colored scrollbar - Fix: “Create task” button loading state remained till popup was closed ## Website - New API Documentation on {rel=""nofollow""} - LLMs can request {rel=""nofollow""} to get all help documents and news content ## API - New endpoint to get a single project - New endpoint to get a single milestone and list all milestones - Webhook Logging contains a new field “\_data” December Changelog ## Task Manager - Added link to help page in “/task todos” error responses ## Calendar Manager - Only showing time in “event starts soon” message (removed date) - Fix: Depending on the timezone, the bot showed wrong dates to weekdays in „/event list“ ## App - AI Chat - Labels are sorted alphabetically - Users can now request a pro seat from the workspace or subscription owner - Fix: TaskPopup has padding at the bottom when the popup goes full screen height - Fix: Scrollbar in TaskPopup should be completely to the right - Fix: Could not scroll to next year in the calendar view - Fix: Linebreak in the task repeat interval days field - Fix: User unavailable warning overflowed - Fix: TaskPopup had a colored scrollbar - Fix: “Create task” button loading state remained till popup was closed ## Website - New API Documentation on {rel=""nofollow""} - LLMs can request {rel=""nofollow""} to get all help documents and news content ## API - New endpoint to get a single project - New endpoint to get a single milstone and list all milestones - Webhook Logging contains a new field “\_data” # February Release Notes The following changes have been deployed in multiple deployments during February. ## Task Manager - Project autocompletes are case insensitive - Date inputs can be set by providing only the time - Date inputs can handle years with two digits - Date inputs can handle month name (e.g. Feb 21st) - Respond to comment button has no timeout - Fix: Timezone regions in setup are sorted alphabetically - Fix: Some autocomplete inputs would result in errors ## Knowledge Manager - Project autocompletes are case insensitive - Fix: Timezone regions in setup are sorted alphabetically - Fix: Some autocomplete inputs would result in errors ## Calendar Manager - Date inputs can be set by providing only the time - Date inputs can handle years with two digits - Date inputs can handle month name (e.g. Feb 21st) - “/event list” starts on midnight current day when no other day is specified - “/event list” contains notice about used timezone - Fix: Error with some date inputs in some cases - Fix: Timezone regions in setup are sorted alphabetically - Fix: Some autocomplete inputs would result in errors - Fix: Event autocomplete puts repeating events dozens of times in the autocomplete suggestion ## App - Milestones were moved into project settings - Aligned style of guild member dropdown of other dropdown menus - Tasks can be filtered by status - Suggesting other times where invitees are free when creating an event - Calendar export link can be generated - Failed webhooks show response code and body in audit logs - Added confirmation dialog when clicking outside of task dialog or exiting by pressing escape - Confirmation dialog can now be confirmed by pressing enter - Audit log shows more information while loading - Suggested label shines in bright colors - Fix: Sometimes the auto labeling/priority would fail due to rate limits - Fix: Member selector in project settings for manager had no hint text - Fix: Files could not get deleted from file storage - Fix: Deleting folder with files did not reduce the guilds used storage amount - Fix: Infinite loading state when no task was ever created in kanban - Fix: Labels/Users/Roles were not removed from suggestion when nothing is typed in and the suggestion is clicked - Fix: Labels/Users/Roles are clickable on the entire row to add - Fix: Possible error when switching to a server with no tasks while in kanban view - Fix: Error not shown when document content is too long - Fix: Calendar key could not be generated - Fix: Tasks snapping back in kanban and not reordering - Fix: Infinite loading of pro seats for users without manage\_settings permission - Fix: Infinite loading of audit log page for users without manage\_settings permission - Fix: Text overflow in guild selector with long guild names - Fix: Logging webhook url is hidden for users without permissions - Fix: Typo in english message when getting placed in a pro seat - Fix: Textfield for webhook logging url has max width - Fix: Creating new document inside topic did not preselect the topic - Fix: Documents in knowledge area were not sorted alphabetically - Fix: Error message was not shown in knowledge area - Fix: When updating document the topic is not selected - Fix: Removing a label from task does not make it reappear in the selector until a character is typed - Fix: Logging webhook url in project settings is hidden when user does not have Manage\_Projects permission - Fix: Setting a task to repeat at day of month would not set repeat day to the current day until the button was clicked - Fix: Task Watch state could only be changed once - Fix: Disabled switches (that can not be changed) are indicated with grey color - Fix: Error when displaying some user avatars in audit log # Streamline Project Management with Discord: A Guide to Using Bots for Effective Collaboration In today's fast-paced digital landscape, effective project management is essential for keeping teams organized and productive. With the rise of remote work and distributed teams, finding the right tools to facilitate collaboration and communication is more important than ever. Discord, a popular communication platform originally designed for gamers, has emerged as a powerful tool for project management when paired with specialized bots. In this article, we'll explore how you can leverage Discord bots like Task Manager, Calendar Manager, and Knowledge Manager to streamline your project management processes. ## Why Discord for Project Management? Discord offers a versatile platform for project management thanks to its robust text and voice communication features, as well as its customizable server structures. With the addition of bots, Discord becomes even more powerful, allowing teams to manage tasks, schedules, and documents without leaving the platform. Plus, Discord's user-friendly interface and wide adoption make it accessible to teams of all sizes and backgrounds. ## Managing Your Team's Tasks with [Task Manager](https://bnder.net/task) One of the most critical aspects of project management is task management. Keeping track of who is responsible for what, when tasks are due, and their status is essential for ensuring projects stay on track. With the Task Manager bot, you can create, assign, and track tasks directly within Discord. - **Create tasks**: Use the /task create command to create a new task, specifying the task text, deadline, and assignee. Additional options like priority level and labels can also be included. - **Assign tasks**: Use the /task assign command to assign a task to a team member or entire role. - **Track tasks**: Use the /task list command to view all tasks, filter by assignee, status, or label, and mark tasks as complete. - **Receive notifications**: Task Manager can send notifications for upcoming deadlines, overdue tasks, and task assignments, ensuring everyone stays informed and accountable. By centralizing task management within Discord, teams can streamline their workflows and reduce the need for multiple tools and platforms. ## Scheduling Meetings and Deadlines with [Calendar Manager](https://bnder.net/calendar) In addition to task management, scheduling meetings, deadlines, and milestones is another critical aspect of project management. The Calendar Manager bot allows teams to create and manage events directly within Discord, ensuring everyone is on the same page. - **Create events**: Use the /event create command to create a new event, specifying the event title, date, time, and location. - **Invite attendees**: Use the /event invite command to invite team members to the event. - **Receive reminders**: Calendar Manager can send reminders for upcoming events, ensuring everyone is prepared and on time. - **View event details**: Use the /event info command to view event details, attendees, and additional information. By integrating event management into Discord, teams can streamline their scheduling processes and reduce the risk of miscommunication or missed deadlines. With preferred timezones, you can also ensure that every team member is aware of the event time in their local time. ## Sharing Knowledge and Resources with [Knowledge Manager](https://bnder.net/knowledge) Finally, effective project management requires access to relevant information, resources, and documentation. The Knowledge Manager bot allows teams to create, organize, and share knowledge directly within Discord, ensuring everyone has access to the information they need. - **Create knowledge base**: Use the /document create command to create a new document, specifying the document title, content, and a topic. - **Organize documents**: Use the /document topic command to organize documents by topic, making it easy to find and reference information. By centralizing knowledge management within Discord, teams can reduce the risk of information silos and ensure that everyone has access to the resources they need to succeed. ## The Ecosystem of Project Management Bots by bnder The Task Manager, Calendar Manager, and Knowledge Manager bots are part of the Project Management Bots ecosystem developed by bnder. These bots are designed to work seamlessly together, providing teams with a comprehensive suite of tools for managing tasks, schedules, and knowledge within Discord. To minimize duplication of effort and ensure consistency across projects, the Project Management Bots ecosystem allows teams to share projects and access information from everywhere on the server. A comprehensive app even allows team members without much knowledge of Discord to interact with the bots and access the information they need. ## Conclusion By harnessing the power of Discord and specialized bots like Task Manager, Calendar Manager, and Knowledge Manager, you can streamline your project management processes and keep your team organized and productive. With seamless integration into Discord's communication platform, these bots make it easy to manage tasks, schedule meetings, and share documents—all in one place. So why not give them a try and take your project management to the next level? # Introducing: **Object Linking**. ## What is Object Linking? Object linking allows you to reference other tasks and easily retrieve information about those tasks. If other objects are added later, you will be able to mention and reference them as well. ## How do you link objects? Items can be easily linked in text form with a hashtag in front of the item id. For example, if you have a task with id 32, you would link it with "#32".  ![Example of a linked object in task info](https://bnder.net/images/news/introducing-object-linking/Object-Linking-Example.png) In this example, task "19336" is linked to task "03606" by including "#03606" in the task text. ## Viewing linked objects When a linked object is detected in a task, a button is added to the message. Pressing the button displays information about the object. Up to 20 buttons can be displayed in a message. ![Button for a linked object](https://bnder.net/images/news/introducing-object-linking/linked-task-button.png) The button that's shown when a linked object is detected. We hope you enjoy this new feature. For feedback, we are available on our [Discord](https://discord.com/invite/BhpGmxkyYf){rel=""nofollow""}. # January Release Notes The following changes have been deployed in multiple deployments during January. ## Task Manager - Added more information to "object\_not\_found" message on “/label add”, “/label remove” - Timezone set message - Deadline date can be set to “today” and “tomorrow” - Deadline date can be set via “am” or “pm” - Deadline date can be set with dashes in format (e.g. 2024-01-17) - Deadline date can be set to weekday - Added japanese language - Added simplified chinese language - Added italian language - Fix: Reducing max amount of tasks listed in “/task list” to prevent runing into discords 2000 character limit ## Calendar Manager - increased max event invitees for free users to 2 - dates can be set to “today” and “tomorrow” - dates can be set via “am” or “pm” - dates can be set with dashes in format (e.g. 2024-01-17) - dates can be set to weekday - added japanese language - added simplified chinese language - added italian language ## Knowledge Manager - Added more information to "object\_not\_found" message on “/label add”, “/label remove” - Added japanese language - Added simplified chinese language - Added italian language ## App - Added notifications when data is ready for download - Add new todo on task by pressing enter in todo field - Button to delete a todo on a task is hidden until hovered - project name is shown in delete dialog - Task todos can be removed via swipe - task todos can be reordered - Added japanese language - Added simplified chinese language - Added italian language - Added description to each permission - Added dialog when trying to create subscription but payment flow is not done - Added table view for tasks - Added support for multiple currencies - Reworked kanban logic, which should remove issues in some edge cases - Fix: Checkbox does not show purple color when unchecking - Fix: Task Description would show scrollbar when hovering over it - Fix: Settings -> Pro Seats showed no seats for a short moment - Fix: no padding on assigned user avatars in task box - Fix: task box wouldn't have symmetric padding - Fix: error when changing date range in calendar view - Fix: deleted task may not be removed from kanban - Fix: Error when loading server members - Fix: Text Color in some dialogs for seats management wrong - Fix: Could not find self in user selections - Fix: Loading circle on text buttons was too high ## API - Fix: When hourly rate limit is reached, the monthly counter is still going up # July Release Notes The following changes have been deployed in multiple deployments during July. ## Task Manager - Projects are now hidden unless user has “VIEW\_TASKS” permission in the project or globally - Direct messages that contain a server name now also include a link to the server - We removed the task limit - When you are notified of a new comment you can now click a button to instantly respond - Timezones can now be searched by country - "/label add", "... remove" shows task or document data when no input is given - Fix: Auto Priority ran even when priority was set to something other than “normal” - Fix: Commands are only shown on guilds - Fix: “/task comment” would send a notification, even if no comment was added, to others when command executor did not have the required permission - Fix: specific special characters in “task\_id” option would return errors ## Knowledge Manager - Projects are now hidden unless user has “READ\_DOCUMENTS” permission in the project or globally - Timezones can now be searched by country - "/label add", "... remove" shows task or document data when no input is given - Fix: Commands are only shown on guilds ## Calendar Manager - Direct messages that contain a server name now also include a link to the server - Timezones can now be searched by country - Fix: Commands are only shown on guilds - Fix: Events of a user that is no longer member of the server did not get deleted - Fix: Calendar subscription link could return error in some cases ## App - Tasks can now be filtered by deadline - Task filters can now be edited - Tasks can be moved to other projects by drag and drop - Tasks with low priority have light grey border - Projects are now hidden unless the user has the “view tasks” or “read documents” permission, depending on the selected view mode - Selected tab in server settings is now preserved when sharing the link - Login should be faster with less redirects - Login screen shows current step in login progress - Links are highlighted in textfields - Events View refreshes data every 10 minutes - Assignee Filter for Tasks is searchable now - Repeated events can now be created - “No guilds”-Screen has Logout button now - Fix: Repeated events were not correctly shown in app - Fix: Deleting event would not remove it from calendar - Fix: Event Popup End Date did not change with start date - Fix: Task Filter operators missed translations - Fix: Drop down for assignees went off the screen on large servers - Fix: Changing textfields in Task Popup did not work as expected, including an invisible focus point - Fix: “More” Button on tasks was not alligned correctly - Fix: In server settings “Audit Log” showed wrong permission requirement - Fix: Better error handling when adding first server - Fix: Expanding audit log entries would result in errors in some cases ## Website - Redesign & improvements - Fix: Wrong button interaction timeout was documented ## API - New Documentation with more details - New path: {rel=""nofollow""} - Fix: Calendar subscription link could return error in some cases # July Release Notes The following changes have been deployed in multiple deployments during July. ## Task Manager - Fix: Wrong input in object id field would lead to error - Fix: When the default project was renamed and gets deleted, the error message still mentioned default name ## Calendar Manager - Different event types: Event, Out of Office, Birthday ## Knowledge Manager - Fix: When the default project was renamed and gets deleted, the error message still mentioned default name ## App - Account creation via Email/Password - Knowledge documents support rendering LaTeX - Task todos have drag handle in front to allow easy reordering - User/Role permissions include categories for better overview - Settings dialogs have max width for better usability - User avatars are now loaded from Bnder all the time - User avatars default to own color if no picture is available - User profile picture can be custom uploaded - Workspace image can be custom uploaded - Workspace names can be customized - Added confirmation before closing event dialog when changes are unsaved - Calendar events can be rescheduled via drag and drop - Different event types: Event, Out of Office, Birthday - Showing a warning when a user gets assigned to a task with deadline and is out of office at the time of the deadline - Showing word & character count when editing a document - Fix: Selecting topic when creating new document cleared all input fields - Fix: Event log would infinite load additional data on document - Fix: Calendar day separator invisible in light mode - Fix: Button text color had low contrast in some places - Fix: Cursor color was purple sometimes - Fix: Legal content did not break into new line when device is too small - Fix: User general settings were not scrollable - Fix: Background color in loading page did not adapt to device settings - Fix: Loading text was same color as background in light mode - Fix: Calendar events not loading in month view - Fix: Calendar showed from month name in month view - Fix: Month name was not updated in calendar when jumping to today - Fix: Login with discord would stay on login page after logging in - Fix: Event tile background and text color had bad contrast - Fix: Start/End dates are next to each other in event popup - Fix: Clicking on event didn’t opened event popup - Fix: Calendar did not scroll to current time when opened - Fix: Renaming a topic could contain line breaks - Fix: When renaming a Topic the Documents stay at the Same Position - Fix: Embedding an image in markdown crashed the app - Fix: With completely new accounts the email verification may not proceed correctly - Fix: Show outline of event when event is created by dragging - Fix: Task popup better handles keyboard dismiss on mobile devices - Fix: When discord login errors the button loading state did not reset - Fix: Confirmation before closing task popup did not close correctly - Fix: Renaming a column that is marked as a column with done state didn't work - Fix: Clicking on task text in kanban view did not open the task popup ## API - Fix: Documents were always returned as in bin - Fix: Updating guild settings returned settings from before the update - Fix: Some special characters were not respected as special characters in password complexity check ## Website - We redesigned and restructured the website by moving the discord bots into an integration section - Added OpenAPI spec # June Release Notes The following changes have been deployed in multiple deployments during June. ## Task Manager - Improved response text of “/task edit” command - Added “task edit” response when neither title nor description was changed - An Audit Log entry is added when Auto Priority fails, including a reason for failure - An Audit Log entry is added when Auto Labeling fails, including a reason for failure - You can now use GitLab to integrate with the bot ({rel=""nofollow""}) - “todo”, “in progress” & “done” messages now contain task title - Fix: The guild name is stored earlier to be used in notifications - Fix: Auto Labeling would not work in some cases, due to harmful content settings - Fix: In some cases “/task assign” would not recognize the mentioned user - Fix: Repeating tasks get logged in audit log - Fix: In “/label add” and “/label remove” using special characters at the “object\_id” lead to an error - Fix: “/integration github” help button had wrong url set - Fix: Project based permission is determined by the task id - Fix: Timezone step in “/setup” process had issues resulting in errors when handling date inputs - Fix: “todo”, “in progress” & “done” messages did not contain the task id in some languages ## Knowledge Manager - Fix: In some cases Auto Labeling would not work - Fix: In “/label add” and “/label remove” using special characters at the “object\_id” lead to an error - Fix: Timezone step in “/setup” process had issues resulting in errors when handling date inputs ## Calendar Manager - Fix: 120 minutes timeout on event accept/deny buttons removed - Fix: Timezone step in “/setup” process had issues resulting in errors when handling date inputs ## App - When a logging webhook delivery fails it will be written to the audit log - Improved hint when server roles could not be loaded because no bot is on the server - Tasks can be mentioned via “#” - Reduced the time until tasks get draggable - Fix: Roles were not loaded in some cases - Fix: Audit log shows “System” on actions done by the system - Fix: Audit log shows “API” on actions done by an api key - Fix: Brackets were detected as part of links - Fix: Multiple labels with the same name could be created - Fix: Assigned roles/users were not copied when duplicating a task ## API - Fix: Label create endpoint did not check for duplicate names - Fix: Label create endpoint did not check for maximum allowed labels per server - Fix: Label create endpoint did not check for maximum allowed label name ## Website - Help articles are now sorted alphabetically - Documented data deletion process - Documented when notifications are sent by the Task Manager - Added python example to API documentation - Fix: Wrong http-method written in API documentation - Fix: Fixed some internal links which did not directly used https - Fix: Some pages did not have correct meta tags # June Release Notes The following changes have been deployed in multiple deployments during June. ## Task Manager - Improved locales for preferences - Replaced supported timezone list with a link to own help page - Indexing up to 500 members on new servers (from 100) - Fix: Tasks could get repeated every two days without a pro seat ## Calendar Manager - Indexing up to 500 members on new servers (from 100) - Changing event start/end clears every accept/deny - Event reminders now run every 15 minutes (from 30) ## Knowledge Manager - Indexing up to 500 members on new servers (from 100) ## App - Improved message when payment fails to clarify urgency - New annual billing plan for pro seats - More payment methods are supported for purchasing pro seats - Added option to move full column to trash bin - Changing event start/end clears every accept/deny - Fix: Crash when uploading file to file area - Fix: Colors in deadline picker too bright in light mode - Fix: Error message for an invalid repeat interval was shown when not correct - Fix: Adding a suggested todo did not remove it from suggestions ## Website - Pricing page contains billing period selector - Fix: Pricing page was missing info about a minimum task repeat interval - Fix: Some discord bot invitation links would result in 404 error # March Release Notes The following changes have been deployed in multiple deployments during March. ## Task Manager - Language options contain english name next to native - “Audit log” is now called “Event log” - Premium seats are renamed to pro seats - Localization changes - “/settings timezone" case insensitive - "/task status" status value is case insensitive - Link to dateformat help page in "Invalid dateformat" message - Getting started link in setup completed message - Support for polish language added - Fix: Enabling auto labeling when server language is configured as german would result in faulty response - Fix: Task assigned dm did not contain link in some languages - Fix: Repeating tasks did not get moved back into default column ## Knowledge Manager - Language options contain english name next to native - “Audit log” is now called “Event log” - Premium seats are renamed to pro seats - Localization changes - “/settings timezone" case insensitive - Getting started link in setup completed message - Support for polish language added - Fix: Enabling auto labeling when server language is configured as german would result in faulty response ## Calendar Manager - Language options contain english name next to native - “Audit log” is now called “Event log” - Premium seats are renamed to pro seats - Localization changes - “/settings timezone" case insensitive - Link to dateformat help page in "Invalid dateformat" message - Getting started link in setup completed message - Support for polish language added ## App - New server setting to enable/disable label suggestions - Disabled settings for user languages & timezones when disabled by server setting - Columns can be configured if a task in there should be considered as done - Default column for new tasks can be configured - Added "Assign to me" button to TaskPopup - Tasks and documents moved to the bin are moved into a trash bin section - Events can be created by dragging across calendar timeline - “Audit log” is now called “Event log” - Premium seats are renamed to pro seats - Localization changes - Lightmode added - Settings button for seats is rainbow colored - Todo suggestions for Pro users - When first payment fails a button allows managing the payment info - Info & Link to help in calendar link export dialog - Showing duration until deadline - Added settings tab to manage github/gitlab integrations - Added client side language setting - Moved ViewMode selector to left pane - Support for polish language added - Setup with no bots is easier - Does not require selecting the server beforehand in app - Showing empty info when first column is empty - Fix: Licenses page showed copyright with 2024 instead of 2025 - Fix: License page did not show app version - Fix: Blocking specific column names that could cause issues - Fix: Canceling the file picker when adding task attachment did not stop loading animation - Fix: Events had no long press action for mobile users - Fix: Tasks would duplicate when drag and dropped in same column - Fix: Sometimes deleted tasks would show as infinite loading ## Website - Brand new website with support for multiple languages - Improved pricing page to support other currencies - Support for polish language added # May Release Notes The following changes have been deployed in multiple deployments during May. ## All bots ### Setup All of our bots include a new setup step to configure the timezone used in the server. This is necessary to ensure that all time-based features work correctly. Also, the setup can only be run by users with the "MANAGE\_SETTINGS" permission, to prevent unauthorized changes. A bug caused the last step in the setup to be skipped, this has been fixed. When the last step was not skipped, it could not be skipped by the user. This has also been fixed. ### AI Features We have introduced an AI Assistant in the task comments when using the [App](https://bnder.net/app). This assistant gains information about the task, to enable translation or question answering features. [Learn how it works](https://bnder.net/help/app/ai-assistant). ![AI Assistant](https://bnder.net/images/help/app/ai-assistant-response.webp) AI Assistant in the task comments We have changed the AI models used for auto labeling ([Task Manager](https://bnder.net/task) and [Knowledge Manager](https://bnder.net/knowledge)) and auto priority ([Task Manager](https://bnder.net/task)). This change makes the AI features faster and more accurate. Another way to improve the accuracy of the AI models was to experiment with the prompt text that gets sent to the AI model. We've made some changes to the prompt text to improve the accuracy of the AI models and prevent edge cases where the AI Feature would not work as expected. ### Audit Log We have introduced a new feature called the Audit Log. This log stores every action made on the server and can be accessed via the server settings in the [App](https://bnder.net/app). The log contains detailed information about the action, the user who executed the action, and the time the action was executed. For example, when a task is modified, the log will contain every information about the task before and after the modification. ![Audit Log](https://bnder.net/images/help/app/Screenshot-Event-Log.webp) Audit Log in the server settings The log is stored for 30 days, while only the last 7 days are accessible for now. The log can not be deleted or modified by users, making it a secure way to track changes on the server. To see the log, users need the "MANAGE\_SETTINGS" permission. ### No Permissions We have improved the way we handle permissions in the bots. When a user does not have the necessary permissions to execute a command, the bot will respond with a message that only the command executor can see. This prevents a method that could be used to spam a channel with error messages. ### Date Input In some commands it is possible to input a date, for example when setting a deadline with the [Task Manager](https://bnder.net/task) or creating an event with the [Calendar Manager](https://bnder.net/calendar). We improved the way we handle specific date inputs, to prevent errors in some specific edge cases. ## Task Manager ### Task Comments You can now leave comments on tasks with the `/task comment` command or when viewing a task in the app. When a new comment is added, the task assignees and previous commentators will receive a notification. ![Task Comments](https://bnder.net/images/help/app/ai-assistant-response.webp) Task Comments in the app ### Notifications The notifications you receive via direct message when a task is assigned, a deadline is reached or a task is repeated contain more information now. These messages now include the task description, together with the task title, if it does not exceed a certain limit set by discord. ![Task Notification](https://bnder.net/images/help/tmb/task-assign-notification.webp) Task Notification in direct messages The notifications you receive when a task gets assigned to you or a role of yours now contain buttons to set the task state. These buttons are only visible to users with the "SET\_STATE" permission and they don't have a timeout anymore. ### Other Changes - Fix: `/task project` next page did not work as expected in some cases - Fix: Urls containing links with underlines were corrupted in [logging messages](https://bnder.net/help/advanced/logging) - Fix: Fixed an issue where user information was deleted - Fix: Label autocompletes are case insensitive now - Fix: Webhook logging message did apply Markdown formatting on project names - Fix: Task assigned notification doesn't contain buttons if user does not have “SET\_STATE” permission - Fix: Direct message notifications missed translation for subtasks field ## Knowledge Manager ### Fixes - Fix: Urls containing links with underlines were corrupted - Fix: Fixed an issue where user information was deleted - Fix: Label autocompletes are case insensitive now ## Calendar Manager ### Fixes - Fix: Limited max amount of events per server to 1000 - Fix: Error when creating a event without end date - Fix: Urls containing links with underlines were corrupted - Fix: Fixed an issue where user information was deleted - Fix: Missing translation when user was removed from event ## App - Tasks can now get commented on - Task Popup is wider on desktop - Improved task repeat configuration in Task Popup - Selecting a topic when creating/editing a document can be searched - An audit log stores every action made on the server and can be accessed via the server settings. [Learn how it works](https://bnder.net/help/advanced/event-logs){rel=""nofollow""} - Users can be mentioned in most textfields (task title, task description, task comment, event title, event location) - Introducing an AI Assistant in the task comments. [Learn how it works](https://bnder.net/help/app/ai-assistant){rel=""nofollow""} - Fix: Task title & description will show user & role mentions correctly - Fix: Create Label dialog wasn't styled correctly - Fix: General settings could not be scrolled on mobile - Fix: Continuous styled textfields - Fix: Task repeat interval could not be removed - Fix: Icon when task is repeated was not aligned with deadline icon - Fix: Loading circle had wrong color in some cases - Fix: Suggestions on textfields have same width as textfield - Fix: Keyboard on mobile could obstruct parts of the Task popup - Fix: Login loading text would go out of screen on small mobile devices - Fix: Could not change bot language to hindi from app - Fix: Topic could not be restored from bin - Fix: Task description could not be edited - Fix: Max and current amount of events can be seen in the guild settings “Limits” ## Website - Documented limits for Calendar Manager - Added some screenshots to help pages - Improvements to help page visuals - API: Documented Task History Action Ids - Fix: Command `/settings direct_messages` was not documented - Fix: `/settings direct_messages` was not documented in settings page - Fix: `/preferences direct_messages` was not documented in settings page - Fix: Calendar Manager help pages had wrong tab title - Fix: Rest API mentioned in help pages tab title # May Release Notes The following changes have been deployed in multiple deployments during May. ## Task Manager - Add a message when todo number is not found on a task - Add info about "/task attach" to no attachment message - Added support for Dutch language - Better response to "/label list" - Added specific responses when settings are already enabled/disabled for user\_languages, user\_timezones, auto\_labeling, auto\_priority, direct\_messages & private\_responses - Fix: WebhookLogging would indicate a task as done while ignoring custom columns - Fix: Task history did not show custom columns - Fix: Response to "/settings logging" would indicate the url is not a discord webhook even when it is - Fix: Clicking next page in "task list"/"task project" with filter for a default project that was renamed, the project name will fall back to "default" - Fix: Searching for tasks while in a pro seat would fail - Fix: Markdown issues in some texts in some languages ## Calendar Manager - Added support for Dutch language - Added specific responses when settings are already enabled/disabled for user\_languages, user\_timezones, direct\_messages & private\_responses - Fix: Searching for tasks while in a pro seat would fail ## Knowledge Manager - Added support for Dutch language - Better response to "/label list" - Added specific responses when settings are already enabled/disabled for user\_languages, user\_timezones, auto\_labeling, direct\_messages & private\_responses - Fix: Searching for tasks while in a pro seat would fail ## App - Search for tasks/documents/events in app by object id - Add info when no project can be seen - Added support for Dutch language - Update message when invoice payment failed, including invoice url - Fix: Calendar view crashed - Fix: Events were not immediately shown after being created in the app - Fix: TaskPopup status would not show correctly when a project contains default column - Fix: Dropping a task in first column when first column is empty might not let task drop - Fix: Task history did not show custom columns - Fix: In some cases, the columns with done tasks of a project would not save changes - Fix: When editing event via app, no update message was sent to invitees - Fix: Messages were not sent if a pro seat payment failed - Fix: Search for tasks/events/documents might fail ## Website - Added support for Dutch language - Fix: Some pages had links to localized content that did not exist # Migrating boards to projects ## What is changing? Starting today, we are starting the migration away from boards and towards projects. The functionality stays the same, the name changes. Boards are now projects. ## How does using the bot change? Every "board" command is now available as a "project" command, while the "board" commands remain available for the time being. We will monitor the usage of the "board" commands and eventually disable the command so that the functionality can only be accessed via the "project" command. So "project create" will be used instead of "board create", "board list" will be replaced by "project list", etc. We have also reworked some of the bot's output to improve usability. ## Why did we make this change? We decided to better explain the functionality of the commands and the feature, thus simplifying the user experience. Especially new users should find it easier to use the old "boards". We hope you like the changes. # November Release Notes ## Important notice for users of the Task Manager Bot: The commands “/task todo”, “/task in\_progress” and “/task done” will be removed in a few days. The functionality is replaced by “/task status”. Please use “/task status” from now on! ## We launched a file storage in beta You can now upload files in the app to share them with others and organize them in folders. Each pro seat gives your server 3 gigabyte of file storage. ## Task Manager - Added “/task dependency” command to set estimated effort a task takes - Added “/task status” command - Deadline reminders will run more frequently - More options in “/task edit”: milestone, priority, effort - Removed “/task priority” command - replaced by “/task edit” - Removed “/task milestone” command - replaced by “/task edit” - Fix: Wrong translations in setup in pt-br ## Calendar Manager - Many messages using dates will show the used timezone - Fix: Event invite notifications did not contain start time in some locales - Fix: Missing event id in “/event edit” message - Fix: Wrong translations in setup in pt-br ## App - Updated design for task deadline button - Updated design for event start/end button - Added estimated task effort in hours - Added task dependencies - Added a dependency graph to the task popup - Redesigned layout when editing a document - Showing document meta data in reading layout - Can drag and drop documents to another topic - Can drag and drop topic to another project - Task Attachments have file icons representing the file types - Fix: “Delete Project” button was shown on default project - Fix: “Buy pro seats” button was not localized - Fix: Pro Chip was not localized - Fix: Moving document to another topic did not hide it from old topic - Fix: Create topic dialog no longer multiline - Fix: Showed Polish language option in settings but would not support it - Fix: Did not showed bulgarian language option in settings - Fix: Milestones were loaded globally not on project scope - Fix: Changing projects did not reload milestones for the new projects - Fix: Links in documents can be clicked and will open - Fix: Milestone showed as "noooo" - Fix: Clicking on links to another part of the app does not open the app in a new tab # November Release Notes ## Task Manager - Removed personal projects - Renamed “/task watch” to “/task subscribe” - Renamed “/task unwatch” to “/task unsubscribe” ## Knowledge Manager - Removed personal projects ## Calendar Manager - DMs when accepting an event show event times ## App - More subtle design in task assignee, watchers and event invitees list - Confirmation dialog to remove user from assignees, watchers or invitees contains username - Small tag shows if a document is public or private - Documents can have draft state that is not visible on public pages - Document content can be previewed while editing - Connect a custom domain to deliver public pages - Images and files can be included in the document content by pasting them into the text field - Images and files can be drag and dropped into the document content textfield - Moved calendar settings into separat settings tab - You can now set your work hours in calendar settings - Working hours will be considered in event planning and deadline availability - New “People” view shows you the tasks assigned to each team member - Deadline icon gets read if deadline is in past - You can now export all tasks of a project in the table view - Settings where something gets deleted use a red button instead of the external page opening component - Removed personal projects - Renamed “Task Watchers” to “Task Subscribers” - People View is only available to Pro Users - Added comment summary feature - Added “AI generated content notice” to ai generated content - Removed full screen loading screen while loading projects - Showing Skeletons when loading projects - Moved Comment input field to top of comment area - Save button in TaskPopup is now floating - Fix: Redirecting to document page when new document is created - Fix: Very long document title breaks correctly now - Fix: Deleting document confirmation dialog was not destructive - Fix: Error in document area was not cleared when switching document - Fix: Events synced from another calendar are not deleted if the source deleted them - Fix: Missing localization on pro seat page - Fix: Task popup crashes when task has milestone that does not exist in the project - Fix: Moving a task into a different project did not remove the milestone from it - Fix: Task popup crashes if task history contained entry of task moved to another project - Fix: Displaying error message when availability check on deadline could not be done due to missing permissions - Fix: Expand Icon in Project element did not change when switching project - Fix: EventPopup showed title "Invitees" if no user could be invited - Fix: Own profile picture was loaded in too little resolution - Fix: Kanban view shows scrollbar for horizontal scrolling - Fix: User profile picture color was not consistent across the app for the same user if no profile picture is set - Fix: In “Pro Seats” settings the user profile picture did not fill the seat circle - Fix: No plural localization in task history title - FIx: Alignment of workspace icon showing first character when no icon is uploaded - Fix: Instant load status bar in task popup when coming from kanban - Fix: In Project settings default column is not set to "To Do" - Fix: Missing permission check on /buy-pro - Fix: Could create a comment with many line breaks at the end - Fix: AI assistant comment could have a redundant line break at end ## API - Fix: Error in some cases when getting calendar data as ical - Fix: Wrongly showing document as in bin ## Bnder Pages - Added search bar to search across public documents ## Website - Added help page for task exports - Added help page for people view - Added help page for table view - Reordered all features listed on /pricing - Fix: Top nav does not change language correctly - Fix: Link on /pricing leading to 404 page # October Release Notes The following changes have been deployed in multiple deployments during October. ## Task Manager - Made clear that auto priority is available for users in pro seats by mentioning it in setup - Project delete message includes information about topics and documents - Webhook Logging url opened for third party urls - Added milestone option to “/task create” - Subtasks have been renamed to “To dos” - “/task subtasks” is now “/task todos” - Pro users benefit from better autocompletes for tasks - “/task info” will show empty fields to make it easier to explore more features of the bot - Fix: server name would update on every command if server is named "Unknown" - Fix: Some french texts had issues using parameters - Fix: “/settings task\_cleanup\_policy” would error if value “Never” was provided - Fix: Task priority & project was wrong in history - Fix: “/project restore” could not restore all tasks in some cases - Fix: Webhook was not send when project scoped on task create event - Fix: Webhook was not send when project scoped on delete create event - Fix: Webhook was not send when project scoped on task repeated event - Fix: Webhook was not send when project scoped on task deadline event - Fix: Missing translation for “/task milestone” command ## Knowledge Manager - Project delete message includes information about topics and documents - Pro users benefit from better autocompletes for documents - Fix: server name would update on every command if server is named "Unknown" - Fix: Project delete text was in english when it should be in french ## Knowledge Manager - Project delete message includes information about topics and documents - Fix: server name would update on every command if server is named "Unknown" ## Calendar Manager - Added “/event edit” command - Fix: server name would update on every command if server is named "Unknown" ## App - Search for tasks & events for pro users - Debounce in textfields reduced to 300ms - Event can be directly opened from url - Webhook Logging url opened for third party urls - Reduced update check interval from 30 minutes to 10 minutes - Reduced initial loaded file by 26.58% - Added link to rest api docs in development settings - Subtasks have been renamed to “To dos” - Users can download their data now - Redesigned side bar and server switcher - Fix: missing translations in development settings - Fix: Error in TaskPopup when label not loaded - Fix: TaskPopup was opened twice when opening app with task id in path - Fix: Collapsing a project and scrolling it out of sight will make it be expanded again - Fix: Project settings webhook url change would change the url for the whole server - Fix: Creating new task could fail when a milestone was selected and removed before creating the task - Fix: Not every keystroke is transmitted when changing a project name - Fix: Labels in TaskPopup are sorted alphabetically - Fix: Clicking Milestones or Project Settings multiple times would require closing the menu multiple times to go back - Fix: Could not update task with milestone in some cases - Fix: Server could not be added when only Calendar Manager is on the server - Fix: “No servers” page would reload while “Add server” dialog was open - Fix: For big servers, tasks would become hidden in the app in some cases - Fix: Calendar view mode switch button was shown on mobile devices - Fix: Error message when label name is empty in label create dialog ## Website - Added an FAQ section on the pricing page - Fix: Milestones were missing from pricing calculator - Fix: CDN endpoints not documented in api documentation ## API - API users can retrieve task attachments - Improved performance on endpoints using discord api in some cases - Fix: Api limits did not include free limits when having pro seats # October Release Notes ## Task Manager - Labels can now contain a description to explain the label to team members or AI - Fix: Error when using buttons in direct message to change status to a column that was deleted ## Knowledge Manager - Labels can now contain a description to explain the label to team members or AI ## App - Added new “My day” page to get an overview of a days agenda - Improved performance for Chromium Browsers by using WASM - Faster loading times by removing the StripeJS library - Labels can now contain a description to explain the label to team members or AI - When creating a subscription it automatically places the subscription owner in a pro seat - Removed 14 day trial for pro subscription - Default page is “My day” page instead of kanban - Fix: Myday "Other tasks" did not show many tasks - Fix: Event Popup did not open - Fix: Task deadline reminders were not sent in some edge cases - Fix: More reliable when downloading files or task attachments - Fix: Document not scrollable on mobile - Fix: Scrollbar in Project settings column configuration always visible - Fix: Task repeat interval settings did not show correctly - Fix: Text overflow on small devices in event repeat interval - Fix: Task history would not load correctly in Chromium Browsers - Fix: Inviting user to non-discord workspace missed error texts - Fix: Showing error when end date is before start date - Fix: Made all error texts in event popup show inline - Fix: Workspaces with active subscriptions will not be deleted, even if no bot is on the discord workspace - Fix: When changing task status in task popup the permission “MANAGE\_TASKS” was needed. Now only “SET\_STATE” is needed ## Website - LLMs can now access {rel=""nofollow""} to get a more efficient overview of website content - Anual prices are shown in monthly rates # Release Notes in July ## Task Manager ### Features - Several improvements to messages in all languages - Command option “project\_name” was renamed to “project” - “/language” command option “language\_code” was renamed to “language” - Started migration from “boards” to “projects” - Task ids are generated incrementally - “task project” command displays tasks of all projects when no project is set in command - Removed “/version” command, since it provided no benefit to users - Task linking feature added - [Limits](https://bnder.net/help/limits) changed to guild wide limits - [Object linking](https://bnder.net/help/advanced/object-linking) added ### Fixes - Dates were not correctly formatted - Some commands replied in english when another language was set - Project autocompletes sometimes returned nothing - Project names containing Markdown formatting characters where shown incorrectly - Project names can contain upper case letters now - Couldn’t create a new project when 8 other projects existed (limit should be 10) - “task project” pages were not working when project name contained an asterix (\*) - Markdown Headlines (“#”, “##”, “###”) were not shown correctly in some cases - Task/Project delete confirmations don’t show the discriminator of a user anymore - “task info” list of assigned users/roles had wrong formatting when more than one user or role was assigned - “support” command contained wrong help page url & includes new buttons for our discord & help page in addition to the plain links - When creating a task with an assignee no direct message notification was sent to the assignee - “task list” command had issues with project names including asterix - “task list” displays tasks across all projects if no project is set as option - “task assign” did not send a direct message to the assigned user - “task create” did not send a direct message to the assigned user if specified in command - “task list” did not show the correct text when no tasks were found for a specific role ## Website ### Features - help page added ({rel=""nofollow""}) - News page added ({rel=""nofollow""}) ### Fixes - Loading speed improvements - Accessibility improved # Releasing "Knowledge Manager" We proudly present our new bot: "Knowledge Manager". The bot, like our "Task Manager", is aimed at enterprise users and is a central place to store the knowledge of their teams. With "Knowledge Manager", documents can be created in which users can write important information, instructions and much more. Each document can be assigned to a topic, which provides structure within a project. Within the documents other documents or tasks from the "Task Manager" can be mentioned by the [object-linking](https://bnder.net/help/advanced/object-linking) feature. This bot is also run by us on our reliable infrastructure, which means for users that their data is highly available and securely stored. To learn more about getting started with "Knowledge Manager", visit our [home page](https://bnder.net/knowledge) or check out the [help section](https://bnder.net/help/). [Try the "Knowledge Manager" today](https://discord.com/oauth2/authorize?client_id=1130522848478384239&scope=bot+applications.commands&permissions=18432){rel=""nofollow""} # September Release Notes The following changes have been deployed in multiple deployments during September. ## Task Manager - Task deadline notification contains task title in the text message - Task watcher notification contains task title in the text message - Task assigned notification contains task id & title in the text message - Task repeat notification contains task id & title in the text message - File name on “/task detach” shows file size for better identification - Invalid date message shows example date in the configured date format - Task Id autocomplete shows more text - “/task assign” response includes task title for better identification - Response for invalid task/document/event id format includes links to help pages - New permission: “MANAGE\_MILESTONES” to create/edit/delete milestones - Notifications to role members will only be sent if the role has less than 10 members - “Max labels reached” message did not include a link to the pro seats and pricing page - “/task deadline” message responds with correct message when deadline should be removed but none is set - “Default project cant be deleted” error now contains reference to “/project rename” command - Permission preset “contributor” includes “MANAGE\_MILESTONES” permission - Fix: Visual bug would show wrong project name - Fix: Adding two attachments with the same file name would show one attachment two times - Fix: Removing an attachment with the same name as another would remove both - Fix: Audit log shows task attachments - Fix: Deleting a task would not cause comments to be deleted and send webhook logging message in some very rare cases - Fix: Setting task repeat interval to non-numeric values would return generic error message - Fix: GitLab Integration url could not be retrieved - Fix: Text channel mentions were not working correctly inside messages sent by the bot ## Knowledge Manager - Response for invalid task/document/event id format includes links to help pages - “Max labels reached” message did not include a link to the pro seats and pricing page - “Default project cant be deleted” error now contains reference to “/project rename” command - Fix: Text channel mentions were not working correctly inside messages sent by the bot ## Calendar Manager - Invalid date message shows example date in the configured date format - Response for invalid task/document/event id format includes links to help pages - “/event create” references “/event invite” command - Event not invited message references “/event delete” command - Event accepted message contains event title - Event denied message contains event title - Fix: “Max event invitees reached” message did not contain link to pro page - Fix: Some characters would break commands when using in “event id” input - Fix: Text channel mentions were not working correctly inside messages sent by the bot ## App - Support-Server Button moved to user avatar submenu - “Create Task” button has a different design - Task attachments can be added by pasting files into the Task Popup - “No Servers” page contains refresh button to reload servers the user can use - Border on Task Box fills up as deadline gets closer, if a deadline is set - Project Settings can be easily accessed - User/Role permissions for a single project are better placed - Simplified “Create Project” dialog - After creating a new project, the settings will open - Added a filter by milestone - Bot names were removed and replaced by more obvious titles - The initial location gets restored after login - Automatic update detection and notification - The progress of subtasks is shown with a circular progress indicator - Checkboxes for subtasks have a petrol color now - Fix: In some cases the app loading screen would just be black - Fix: Errors would not show on create/edit project dialog - Fix: Task Attachments were not shown in audit log - Fix: Project webhook logging url is now shown in audit log - Fix: Creating a task with attachment without having pro would create the task anyway - Fix: Entering a number in textfield would change tab inside settings dialog - Fix: Some small devices would use desktop layout - Fix: Audit log did not load in some cases - Fix: Duplicating a task did not copy the status - Fix: Project manager could not get removed - Fix: Selected project would not expand when first opening the app - Fix: Opening the app without a selected server will no longer choose a hidden server if another one is not hidden ## Website - Cleaned up navigation on mobile devices - Reduced number of pages in help section to make it better searchable - Fix: News headlines and order was wrong - Fix: Projects help page did not display all intended information ## API - Endpoint “consumer/v1/guilds/\:guildId/projects/\:projectId/tasks” includes task objects of this project - New endpoint “consumer/v1/calendar/events/\:guildId/\:start/\:end” to get users events - New endpoints to manage milestones - Fix: When creating personal projects only "MANAGE\_PROJECTS" was checked - Fix: Some dates on task responses were not using iso format # September Release Notes The following changes have been deployed in multiple deployments during September. ## Task Manager - Fix: Last setup step in french was missing the total steps amount ## Calendar Manager - The event reminders start one minute earlier ## App - External calendars can now be synced to Bnder via iCal link - Event log is stored & loaded more efficiently, showing only the data changed of a task - When checking assignee availability at task deadline check only for Out of office - We added privacy preserving analytics for us to better improve our products - Add info from which calendar an event gets synced from in event popup - When a payment fails you will receive a mail to update payment info - Changed date and time input for events and task deadlines - Made workspace settings layout similar to other layouts in the app - Fix: Discord links now do not have link preview in discord direct messages - Fix: Availability check did not work correctly - Fix: Better handling multiple legal updates - Fix: If API is not reachable, the task popup would close without error - Fix: Sequential file upload to prevent errors - Fix: Showing which attachment gets uploaded by displaying loading indicator - Fix: Legal updates dialog could be dismissed by clicking outside of it - Fix: Wrong layout on task attachments - Fix: Mentioning more than one user did not work in many places (e.g. task text, description, comment, …) - Fix: Event title overflows in calendar view - Fix: Deleting an external calendar sync also deletes all synced events - Fix: Update calendar title text color had bad contrast in light mode - Fix: Some dropdowns had incorrect visuals - Fix: Not uploading task attachments when creating task fails - Fix: event log was called "audit log" in some texts - Fix: Filter by milestone not possible because milestones would not load in filter popup - Fix: Create/edit milestone dialog would not open ## Website - Documented availability check feature - Added about page at {rel=""nofollow""} - Redesigned landingpage - Showcasing some organizations relying on Bnder on landingpage ## API - Fix: When querying tasks with limit query param the api would return an 400 error # New updates ## App - You now have the option to clean up your server list, by selecting “hide” when right clicking server - The app will now open the last server you had open in the previous session - Fix: Tasks would not be moved in the correct column when the state was changed by someone else or via the bot ## Task Manager - Added command “/settings dateformat” - Improved visual style of logging messages - When setting a webhook via “/settings webhook\_logging” a test message will be send - Fix: “/task history” would not work on a task where a deadline had be removed - Fix: No direct message will be send when self assigning a task - Fix: A bug would allow users without permission to execute “/project create”, “/project create-personal”, “/task create” and “/label create” - Fix: Deadline reminders will now use the language configured for the guild - Fix: Modifications to tasks & projects made through the app will trigger webhook logging ## Knowledge Manager - Added command “/settings dateformat” - Fix: A bug would allow users without permission to execute “/project create”, “/project create-personal” and “/label create” We also improved the help page for logging: {rel=""nofollow""} # New updates ## App - Task priority can be changed - Task priority “high” or “urgent” are shown via a coloured border - Fix: Updating a task with only users or roles assigned would not send a logging message ## Task Manager - New command: “/task priority” with priorities “low”, “normal”, “high”, “urgent” - Follow-up message up to 12 hours after task deadline when task priority is normal, high or urgent and task is not done - Follow-up message 36 to 48 hours after deadline if task priority is high or urgent and task is not done - Fix: Removed fields without data from logging messages - Fix: Repeating tasks triggered a logging message when the status did not change. Now only when task is moved back to “todo” # Update for all services ## Task Manager - Command “/settings logging\_webhook” is renamed to “/settings logging” - When a task or project gets deleted, no public message will be sent to make this action public. Use the logging feature instead - The text of a deleted task is now shown in the logging message - Commands “/task undo” & “/task proceed” were removed and replaced by “/task todo” & “/task inprogress” - Introducing private responses - Commands “/task list” & “/task project” have a new “show” option. When this is set to “true”, the bots response will be shown to everyone. Otherwise its only visible to the executing user - Command “/settings private\_responses” can be used to disable private responses - Introducing auto priority - The bot can now determine the priority of a task via its text - This feature is disabled by default - “/settings auto\_priority” can be used to enable it - Users own language - Using „/preferences language“ - The bot will prefer the users set language, if not disabled - Admins can disable this via „/settings user\_languages“ - Project managers - “/project manager” allows users to see the current project manager - “/project manager” with the manager option sets the project manager - A new default assignee option via “/settings default\_assignee” allows the project manager to be set as this - Fix: When users were inactive for more than 30 days, their settings would be resetted - Fix: When the last task in a “task project” or “task list” message was deleted and the “next page” were requested, the bot were not able to fulfil the request - Fix: In some cases, additional data in the default project would not be shown - Fix: The “task assigned” notification was different when a task was assigned via the bot or via the app - Fix: Logging messages are now send when the system automatically adds a label, priority or assignee - Fix: When assigning a role to a task, all role members will receive a notification ## App - API-Keys can be generated & managed by users - The guilds date format can be configured - Users with “MANAGE\_SETTINGS” permission can now change other users selected project - Private responses can be configured - AI-Features are now marked as these - Auto Priority can be enabled/disabled - User languages can be disabled server-wide - Admins can change other users preferred language - App will use less bandwidth and loads faster - “Rename project” dialog was changed to “Edit dialog”, because the project manager can be configured too - Can change the default assignee in settings - Fix: Changing the bots language no longer takes up to 30 minutes to take effect - Fix: The confirmation dialog when deleting a project would not close automatically - Fix: A guilds timezone could not be changed - Fix: The changed name, while renaming a project would not get applied - Fix: A crash would occur when renaming a project - Fix: History of Tasks with the status changed were not shown - Fix: Guild settings dialog would not use its space correctly - Fix: When creating a task the priority box did not had any value ## Knowledge Manager - Fix: Commands with no effect to the bot are no longer visible ## API We’ve created a new API, available to all users. Learn more at {rel=""nofollow""} # New feature: Subtasks ## Task Manager - New Feature: **Subtasks** - New command: “/task subtasks” can be used to add, remove, complete or uncomplete subtasks - Learn more: {rel=""nofollow""} - “/task info” now has pages, which allows to see more information - The autocompletion on “task\_id” options now show a snippet of the task text - Logging message when deleting a task shows all task information - Fix: “/permission list” would not show the correct permission for roles ## App - Added support for Subtasks - Improved initial loading speed - Task text field is automatically focused when creating a new task - Fix: Logging message would show wrong data when task status was changed via the app on mobile - Fix: In some cases users were not able to view data on their servers ## Website - We made significant speed improvements to our website - Fix: The page no longer contains dark elements when going from the help page back to the landingpage Leave feedback in #suggestions @everyone # Bug fix update ## Task Manager - The message after creating a task gives hints to the “task info” command to make the usage easier for beginners - When assigning a role to a task the response will inform the user about role tasks not being shown in “task list” command - Fix: The color of the logging message when a task was created is now blue ## App - Links to legal resources are placed inside of the user settings - Added a new option to opt-out from sharing errors with us (server wide) - When creating a project the project manager can be configured - Fix: Everytime a task was updated the repeat interval was sent, even when it wasn’t changed - Fix: In some cases the “Select in Discord” action on a project would not work - Fix: Selected project would not show correctly - Fix: Hidden guilds where the user is no longer a member where not removed from the hidden menu - Fix: On mobile when scrolling in the task list and switching the column the scroll progress would reset - Fix: Projects can be set to personal/public after they were created - Fix: On mobile the „View\_Tasks“ permission was not respected ## Website - Improved documentation for the usage of tasks in the rest api # New update ## Task Manager - Improved the date capabilities: Dates can now be set without leading zeros (e.g. 1/3/2024) - Removed “Remove deleted users” button from “task info” message, because users that are no longer on the guild are automatically removed task assignees - Task assigned notifications via direct message now include the server name - Task deadline reminders via direct message now include the server name - Added “/preference timezone” to configure the own timezone - Added “/settings user\_timezones” to enable/disable user custom timezones - Added “/help” command which leads to additional resources - Increased the number of maximum labels per task from 3 to 5 - Fix: Task assigned notification via direct message escapes special characters in task text - Fix: Task deadline reminders did not use personal user language preferences - Fix: “/settings user\_languages” would require “Manage\_Permissions” permission. Now “Manage\_Settings” - Fix: “/task history” would show the wrong label name in “label removed” entry - Fix: Theoretically it was possible to generate a task and a document from Knowledge Manager with the same id, when they were generated in the exactly same time ## Knowledge Manager - Added “/preference timezone” to configure the own timezone - Added “/settings user\_timezones” to enable/disable user custom timezones ## App - Guild settings now includes setting to change whether users can set their own timezone - User preferences can now be changed in the app too - Users in server settings now load faster - Fix: Wrong description alignment in guild settings ## Website - Our help section lists available permissions only for the bot currently selected - Expanded the explanation around project managers - Explanation of settings & preferences added at {rel=""nofollow""} - Fix: “Getting started” for all bots would not specify which options are required and which are optional # New update ## Task Manager - Added “Todo and in Progress” filter to “task list” and “task project” commands - Added “/setup” command for easy base configuration - Added “/integration github” command to link commits to a task - Added “/settings private\_messages” which enables/disables the direct messages when a new task gets assigned - When deleting a task, the logging message contains the task text - Fix: Logging message would show “—“ if only a role is assigned - Fix: “/task list” with filters would not work with multiple pages - Fix: “/task create” would not apply the label correctly when set as option - Fix: Wrong logging title when applying a preset ## Knowledge Manager - Added “/setup” command for easy base configuration ## Calendar Manager - Added “/setup” command for easy base configuration ## App - Fix: History expandable icon did not change on expand/collapse ## Website - Every command option is now documented with separate description - Fix: On mobile the page would overflow in some cases # New update ## Task Manager - Added “Todo and in Progress” filter to “task list” and “task project” commands - Added “/setup” command for easy base configuration - Added “/integration github” command to link commits to a task - Added “/settings private\_messages” which enables/disables the direct messages when a new task gets assigned - When deleting a task, the logging message contains the task text - Fix: Logging message would show “—“ if only a role is assigned - Fix: “/task list” with filters would not work with multiple pages - Fix: “/task create” would not apply the label correctly when set as option - Fix: Wrong logging title when applying a preset ## Knowledge Manager - Added “/setup” command for easy base configuration ## Calendar Manager - Added “/setup” command for easy base configuration ## App - Fix: History expandable icon did not change on expand/collapse ## Website - Every command option is now documented with separate description - Fix: On mobile the page would overflow in some cases # New update ## Task Manager - Fix: Task creation date would not stay same when task was edited - Fix: Merging github commits that closed tasks into different branches would not move them to done correctly - Fix: In some cases the “/task list” next/previous page buttons would not work ## Calendar Manager - Fix: Some responses would not use the users preferred timezone ## App - Moved bot selection inside project pane - Moved filter button into top bar to have more vertical space, especially on mobile devices - Task filters now include assigned roles - On mobile devices a page indicator is shown at the bottom - Fix: On some mobile devices the general settings would not show all content # Small update ## Task Manager - Added “/settings log\_level” to change what kind of actions should be logged - Fix: Pages in “/task list” would not work as expected in some cases ## Calendar Manager - Fix: Tasks with deadlines assigned to a role weren’t shown in an external calendar app ## App - Settings -> General: Added Log Level option - Every toggle option can be toggled by clicking the text instead of precisely on the toggle - Fix: Task deadline popup is correctly styled - Fix: Task deadline could not be set to date less than current deadline # Update for all services from 11/20/2023 ## Task Manager - The deadline can no be set to a relative date (e.g.: “1 week 2 days”) - You can now create a project from the “project not found”-message (video below) - The bot can now be used in thread & voice chat channels - Improved the execution performance ## Knowledge Manager - You can now create a project from the “project not found”-message (video below) - The bot can now be used in thread & voice chat channels - Improved the execution performance ## App - We fixed several issues who lead to tasks being loaded multiple times - Improved performance of permission checks # Update for all services from 11/23/2023 ## Personal projects We are happy to introduce **personal projects**. Users with the "CREATE\_PERSONAL\_PROJECT" permission can now execute the `/project create-personal` command. A personal project behaves like normal projects, except for the creator gets every permission inside the project and is able to manage it. [Read more](https://bnder.net/help/projects#personal-projects){rel=""nofollow""}. ## Permission presets Our goal is to simplify the permissions. To do that, we introduce **permission presets**. These are predefined sets of permissions, made by us, which can be applied by executing the `/permission preset` command. To read every available presets visit [this page](https://bnder.net/help/permissions#available-presets){rel=""nofollow""}. Both features are also available in our [App](https://bnder.net/app){rel=""nofollow""}. # New Updates for our services ( Task Manager & App) We have finally added repeating tasks. You can now make tasks repeating so that they are moved from "done" to "todo" after a defined interval. The interval is specified in days and must be at least one day and can be a maximum of 365 days. You can also define an end date after which tasks are no longer repeated. New commands: - `/task create ` - `/task repeat ` Checkout more on repeating tasks: {rel=""nofollow""} Other changes: - Issue fixed where special characters in project names were not escaped correctly - “/task info” message is cleaner, no longer showing blank fields - the “task\_id” field now shows autocompletes when nothing is typed # Update introducing labels & auto labeling With our latest update we are introducing labels. But it gets even better. With auto-labeling labels will get automatically assigned to tasks. You just have to create the labels you need and an artificial intelligence will determine which label fits the task best. ## Changes - New Feature: Labels - New Feature: Auto Labeling - New Command: “/label create” - New Command: “/label add” - New Command: “/label remove” - New Command: “/label delete” - New Command: “/label list” - Replaced “/language” by “/settings language” - Replaced “/logging” by “/settings logging\_webhook” - New Permission “MANAGE\_SETTINGS” for all “/settings” commands - Permissions removed: SET\_LANGUAGE, MANAGE\_LOGGING, EDIT\_TASKS, ASSIGN\_TASK & UNASSIGN\_TASK - “/task project” supports filtering by label - “/document list” supports filtering by label ## Fixes - “/task project” now lists tasks in numeric order by their ids - “/task project” page buttons work even after the project was renamed - Some texts in some languages contained invalid parameters - Improved some texts by mentioning follow up commands - Permissions were not correctly revoked when applying a preset - Task assign dm was sent even when caller did not have the permission - Cosmetic fixes in App # Update Task History & Renaming the default project The latest update introduces a new Task history feature. Every change to a task is now logged and can be viewed in the task history. Also, the default project can now be renamed. ## Changes - (Task Manager) New feature: Task history - (Task Manager) New command: "/task history" - (Task Manager & Knowledge Manager) "/project rename" now also works for the default project - (Task Manager & Knowledge Manager) Most buttons can now be interacted within 120 minutes after the message was sent ## Fixes - (App) The app refreshes the UI now when user get granted/revoked the "VIEW\_TASKS" permission - (App) Padding improved on the TaskInfoBox - (Task Manager) auto-labeling could not be enabled via command # Timezone support With our latest changes we made the following changes: - Timezones can now be configured - "/settings timezone" added - Deadline reminders are now send when the task deadline due in the next 24 hours - "/task list" does not include tasks of one of the users roles