# Documentation

**URL:** https://meta.discourse.org/c/documentation/10.md?page=2

[Latest](https://meta.discourse.org/latest.md) · [Categories](https://meta.discourse.org/categories.md) · [Tags](https://meta.discourse.org/tags.md)

**Page:** 3

---

## [Sending messages to all users on a Discourse site](https://meta.discourse.org/t/sending-messages-to-all-users-on-a-discourse-site/229341)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 8\
**Last updated:** [August 13, 2026, 3:39pm UTC](https://meta.discourse.org/t/sending-messages-to-all-users-on-a-discourse-site/229341 "2026-08-13T15:39:40Z")

</div>

:bookmark: This guide explains how to send a private message or email to all users on your Discourse site, including using an external email service or creating an Announcements category. :person\_raising\_hand: Required…

---

## [User API keys specification](https://meta.discourse.org/t/user-api-keys-specification/48536)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 69\
**Last updated:** [September 22, 2025, 10:30am UTC](https://meta.discourse.org/t/user-api-keys-specification/48536 "2025-09-22T10:30:43Z")

</div>

Discourse contains a system for generating API keys per user if a very specific protocol is followed. This feature facilitates “application” access to Discourse instances without needing to involve moderators. High le…

---

## [Self-Hosting Sentiment and Emotion for DiscourseAI](https://meta.discourse.org/t/self-hosting-sentiment-and-emotion-for-discourseai/334451)

<div class="topic-metadata">

**Author:** [@Falco](https://meta.discourse.org/u/Falco)\
**Replies:** 17\
**Last updated:** [August 12, 2026, 2:29am UTC](https://meta.discourse.org/t/self-hosting-sentiment-and-emotion-for-discourseai/334451 "2026-08-12T02:29:54Z")

</div>

The Discourse AI plugin has support for requesting emotion/sentiment classification of new posts, which is stored in the database and can be used in reports and admin dashboards. Discourse AI supports two types of class…

---

## [Discourse AI - Large Language Model (LLM) settings page](https://meta.discourse.org/t/discourse-ai-large-language-model-llm-settings-page/319903)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [September 30, 2024, 5:16pm UTC](https://meta.discourse.org/t/discourse-ai-large-language-model-llm-settings-page/319903 "2024-09-30T17:16:20Z")

</div>

:bookmark: This guide covers the LLM settings page which is part of the Discourse AI plugin. :person\_raising\_hand: Required user level: Administrator The dedicated settings page is designed to have everything related…

---

## [Move your Discourse Instance to a Different Server](https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 11\
**Last updated:** [August 11, 2026, 8:28am UTC](https://meta.discourse.org/t/move-your-discourse-instance-to-a-different-server/15721 "2026-08-11T08:28:07Z")

</div>

:bookmark: This is a guide for moving your Discourse instance from one server to another, including all settings and data. This guide applies to self-hosted Discourse instances using Docker. :person\_raising\_hand: Requi…

---

## [Content Localization - Manual and Automatic with Discourse AI](https://meta.discourse.org/t/content-localization-manual-and-automatic-with-discourse-ai/370969)

<div class="topic-metadata">

**Author:** [@nat](https://meta.discourse.org/u/nat)\
**Replies:** 54\
**Last updated:** [August 7, 2026, 9:23am UTC](https://meta.discourse.org/t/content-localization-manual-and-automatic-with-discourse-ai/370969 "2026-08-07T09:23:57Z")

</div>

In this topic, we will walk you through the Content Localization features and how to enable them. The features are split into two parts: What is available by default in Discourse; and Discourse AI for automatic translati…

---

## [Set up Gemini API Keys for Discourse AI](https://meta.discourse.org/t/set-up-gemini-api-keys-for-discourse-ai/320688)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 2\
**Last updated:** [August 6, 2026, 2:03am UTC](https://meta.discourse.org/t/set-up-gemini-api-keys-for-discourse-ai/320688 "2026-08-06T02:03:34Z")

</div>

How to Set Up Gemini API Keys for Discourse AI Introduction This topic covers how to set up your Google Gemini API key with an existing Google Cloud account project. Gemini is not a free service, and therefore, you …

---

## [Switching between Discourse release channels / versions](https://meta.discourse.org/t/switching-between-discourse-release-channels-versions/17014)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 12\
**Last updated:** [August 3, 2026, 1:09pm UTC](https://meta.discourse.org/t/switching-between-discourse-release-channels-versions/17014 "2026-08-03T13:09:32Z")

</div>

:bookmark: This guide explains how to configure the release channel of your Discourse instance. :person\_raising\_hand: Required user level: System Administrator :warning: Console access is required. Managing your Dis…

---

## [Configure VERP to handle bouncing e-mails](https://meta.discourse.org/t/configure-verp-to-handle-bouncing-e-mails/45343)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [July 30, 2026, 9:50pm UTC](https://meta.discourse.org/t/configure-verp-to-handle-bouncing-e-mails/45343 "2026-07-30T21:50:55Z")

</div>

Setting up bounces handling Discourse uses the Variable envelope return path (VERP) technique to handle bouncing e-mails. To enable VERP, set the “reply by email address” site setting with an email address template th…

---

## [Contributing translations to Discourse](https://meta.discourse.org/t/contributing-translations-to-discourse/14882)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 21\
**Last updated:** [July 30, 2026, 12:43pm UTC](https://meta.discourse.org/t/contributing-translations-to-discourse/14882 "2026-07-30T12:43:16Z")

</div>

:bookmark: This document provides a guide on how to contribute translations to the Discourse platform using Crowdin. :person\_raising\_hand: Required user level: Anyone can contribute translations Translating Discourse…

---

## [Install the Discourse Theme CLI console app to help you build themes](https://meta.discourse.org/t/install-the-discourse-theme-cli-console-app-to-help-you-build-themes/82950)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 16\
**Last updated:** [July 30, 2026, 8:47am UTC](https://meta.discourse.org/t/install-the-discourse-theme-cli-console-app-to-help-you-build-themes/82950 "2026-07-30T08:47:18Z")

</div>

The Discourse Theme CLI is a ruby gem that allows you to use your editor of choice when developing Discourse themes and theme components. As you save files the CLI will update the remote theme or component and changes t…

---

## [Discourse AI - Ask Discourse](https://meta.discourse.org/t/discourse-ai-ask-discourse/346085)

<div class="topic-metadata">

**Author:** [@Saif](https://meta.discourse.org/u/Saif)\
**Replies:** 10\
**Last updated:** [July 25, 2026, 4:00pm UTC](https://meta.discourse.org/t/discourse-ai-ask-discourse/346085 "2026-07-25T16:00:26Z")

</div>

:bookmark: This guide explains how to enable and use Ask Discourse. :person\_raising\_hand: Required user level: Administrator ask.discourse.com houses our AI agent that can search through our documentation and answer …

---

## [Customize text in Discourse](https://meta.discourse.org/t/customize-text-in-discourse/36092)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 12\
**Last updated:** [July 25, 2026, 11:38am UTC](https://meta.discourse.org/t/customize-text-in-discourse/36092 "2026-07-25T11:38:54Z")

</div>

:bookmark: This is a guide for customizing text in Discourse via the admin interface, enabling changes to various UI elements. :person\_raising\_hand: Required user level: Administrator In Discourse, you can customize …

---

## [Backup discourse from the command line](https://meta.discourse.org/t/backup-discourse-from-the-command-line/64364)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 12\
**Last updated:** [July 23, 2026, 12:28am UTC](https://meta.discourse.org/t/backup-discourse-from-the-command-line/64364 "2026-07-23T00:28:56Z")

</div>

:bookmark: This guide covers how to back up and restore your Discourse site using command line tools, specifically designed for self-hosted environments. :person\_raising\_hand: Required user level: Administrator …

---

## [Admin guide to tags in Discourse](https://meta.discourse.org/t/admin-guide-to-tags-in-discourse/121041)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 11\
**Last updated:** [March 22, 2026, 12:54pm UTC](https://meta.discourse.org/t/admin-guide-to-tags-in-discourse/121041 "2026-03-22T12:54:10Z")

</div>

:bookmark: This guide explains how Discourse tags work, how to configure tag settings, and how to manage tags across your site. :person\_raising\_hand: Required user level: Administrator Managing tags in Discourse Tag…

---

## [Edit a user preference for everyone or a subset of users](https://meta.discourse.org/t/edit-a-user-preference-for-everyone-or-a-subset-of-users/25162)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [February 12, 2015, 3:03pm UTC](https://meta.discourse.org/t/edit-a-user-preference-for-everyone-or-a-subset-of-users/25162 "2015-02-12T15:03:23Z")

</div>

:bookmark: This guide explains how to edit a user preference for everyone or a subset of users in Discourse. :person\_raising\_hand: Required user level: System Administrator :warning: Console access is required. If y…

---

## [Create and share a color scheme](https://meta.discourse.org/t/create-and-share-a-color-scheme/61196)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [August 1, 2025, 6:49pm UTC](https://meta.discourse.org/t/create-and-share-a-color-scheme/61196 "2025-08-01T18:49:05Z")

</div>

Discourse now supports importing color schemes from remote repository. Here I will demonstrate how you would go about doing this. Navigate to colors and add a color scheme. Head to /admin/customize/colors on your site…

---

## [Create and share a font theme component](https://meta.discourse.org/t/create-and-share-a-font-theme-component/62462)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 4\
**Last updated:** [August 19, 2025, 10:34pm UTC](https://meta.discourse.org/t/create-and-share-a-font-theme-component/62462 "2025-08-19T22:34:35Z")

</div>

Discourse supports importing themes containing assets from a remote repository. This allows theme authors to share fonts and images. Create a new git repository with the font mkdir discourse-roboto-theme cd discourse-r…

---

## [Developing Discourse Plugins - Part 6 - Add acceptance tests](https://meta.discourse.org/t/developing-discourse-plugins-part-6-add-acceptance-tests/32619)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 32\
**Last updated:** [June 2, 2022, 11:06am UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-6-add-acceptance-tests/32619 "2022-06-02T11:06:38Z")

</div>

Previous tutorial: Developing Discourse Plugins - Part 5 - Add an admin interface Did you know that Discourse has two large test suites for its code base? On the server side, our Ruby code has a test suite that uses rs…

---

## [Developing Discourse Plugins - Part 5 - Add an admin interface](https://meta.discourse.org/t/developing-discourse-plugins-part-5-add-an-admin-interface/31761)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 46\
**Last updated:** [September 24, 2024, 11:10am UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-5-add-an-admin-interface/31761 "2024-09-24T11:10:58Z")

</div>

Previous tutorial: Developing Discourse Plugins - Part 4 - Setup git Sometimes site settings aren’t enough of an admin interface for your plugin to work the way you want. For example, if you install the discourse-akism…

---

## [Developing Discourse Plugins - Part 4 - Setup git](https://meta.discourse.org/t/developing-discourse-plugins-part-4-setup-git/31272)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [January 30, 2024, 11:12am UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-4-setup-git/31272 "2024-01-30T11:12:28Z")

</div>

Previous tutorial: Developing Discourse Plugins - Part 3 - Add custom site settings Now that your plugin is getting more sophisticated, it’s time to get more sophisticated about how you develop it. We suggest that you…

---

## [Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 32\
**Last updated:** [July 8, 2025, 8:52pm UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515 "2025-07-08T20:52:10Z")

</div>

Building a plugin in Discourse can be really simple, once you learn a couple of quirks. The goal of this post is to create a skeleton plugin and introduce you to the basics. Your development environment Make sure you ha…

---

## [Auto-provisioning user accounts when SSO is enabled](https://meta.discourse.org/t/auto-provisioning-user-accounts-when-sso-is-enabled/399917)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [April 3, 2026, 11:04pm UTC](https://meta.discourse.org/t/auto-provisioning-user-accounts-when-sso-is-enabled/399917 "2026-04-03T23:04:25Z")

</div>

:bookmark: This guide explains how to auto-provision user accounts in Discourse when an external authentication provider is enabled, so that users are created automatically without being shown a signup page. …

---

## [How Discourse ID works](https://meta.discourse.org/t/how-discourse-id-works/379565)

<div class="topic-metadata">

**Author:** [@rishabh](https://meta.discourse.org/u/rishabh)\
**Replies:** 23\
**Last updated:** [July 13, 2026, 2:26pm UTC](https://meta.discourse.org/t/how-discourse-id-works/379565 "2026-07-13T14:26:21Z")

</div>

What is Discourse ID? Discourse ID provides a faster login experience across participating Discourse sites so you don’t have to create separate logins for each Discourse you visit and you can join any participating Disco…

---

## [Deleting multiple users in bulk](https://meta.discourse.org/t/deleting-multiple-users-in-bulk/345785)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 2\
**Last updated:** [July 13, 2026, 12:27pm UTC](https://meta.discourse.org/t/deleting-multiple-users-in-bulk/345785 "2026-07-13T12:27:23Z")

</div>

Discourse provides two powerful features for managing users at scale: searching for multiple users at once and deleting them in bulk. These features are especially useful for support workflows where you have a list of u…

---

## [Beginner's guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 12\
**Last updated:** [July 9, 2026, 4:11pm UTC](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966 "2026-07-09T16:11:55Z")

</div>

This is a crash course in Discourse theme basics. The target audience is everyone who is not familiar with Discourse themes. If you’ve already used Discourse theme / theme components, this guide is probably not somethin…

---

## [Including your site in Discourse Discover](https://meta.discourse.org/t/including-your-site-in-discourse-discover/314909)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 17\
**Last updated:** [July 7, 2026, 10:04pm UTC](https://meta.discourse.org/t/including-your-site-in-discourse-discover/314909 "2026-07-07T22:04:56Z")

</div>

:bookmark: This guide explains how to opt-in your Discourse community to be included in Discourse Discover, a new initiative to make Discourse communities more discoverable. :person\_raising\_hand: Required user level: A…

---

## [Create a Salesforce lead via Zapier when a user signs up on Discourse](https://meta.discourse.org/t/create-a-salesforce-lead-via-zapier-when-a-user-signs-up-on-discourse/109301)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [March 9, 2019, 3:12am UTC](https://meta.discourse.org/t/create-a-salesforce-lead-via-zapier-when-a-user-signs-up-on-discourse/109301 "2019-03-09T03:12:49Z")

</div>

Salesforce leads can be created when a user signs up on your forum by configuring a User Event webhook to post to Zapier and then using the Zapier Salesforce integration to create the lead. Create a new Zap Login to Za…

---

## [Automate sending Discourse invite emails with Zapier](https://meta.discourse.org/t/automate-sending-discourse-invite-emails-with-zapier/121608)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 37\
**Last updated:** [May 3, 2024, 2:58pm UTC](https://meta.discourse.org/t/automate-sending-discourse-invite-emails-with-zapier/121608 "2024-05-03T14:58:51Z")

</div>

The Discourse API can be used to automate sending invitation emails from your forum when an action is performed on an external application. For many applications, you can use Zapier to set this up without having to write…

---

## [Use the Zapier Discourse Zap Templates](https://meta.discourse.org/t/use-the-zapier-discourse-zap-templates/121603)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 8\
**Last updated:** [July 8, 2022, 6:59am UTC](https://meta.discourse.org/t/use-the-zapier-discourse-zap-templates/121603 "2022-07-08T06:59:57Z")

</div>

Zapier offers a number of official Discourse zap templates. These templates make it possible to connect Discourse with an external application with minimal configuration. You can find them here: Scroll down that pag…

[Previous page](https://meta.discourse.org/c/documentation/10.md?page=1)

[Next page](https://meta.discourse.org/c/documentation/10.md?page=3)
