# Integrations

**URL:** https://meta.discourse.org/c/documentation/integrations/167.md?page=1

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

**Page:** 2

---

## [Configure Discord Login for Discourse](https://meta.discourse.org/t/configure-discord-login-for-discourse/127129)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 5\
**Last updated:** [February 24, 2026, 6:57pm UTC](https://meta.discourse.org/t/configure-discord-login-for-discourse/127129 "2026-02-24T18:57:59Z")

</div>

:bookmark: This guide explains how to set up and configure Discord as a login option for your Discourse forum, including how to restrict access to specific Discord guilds. :person\_raising\_hand: Required user level: Adm…

---

## [Configuring X login and rich embeds for Discourse](https://meta.discourse.org/t/configuring-x-login-and-rich-embeds-for-discourse/13395)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 142\
**Last updated:** [January 20, 2026, 10:37pm UTC](https://meta.discourse.org/t/configuring-x-login-and-rich-embeds-for-discourse/13395 "2026-01-20T22:37:19Z")

</div>

:bookmark: This guide explains how to set up Twitter login and rich embeds for your Discourse forum. :person\_raising\_hand: Required user level: Administrator :warning: In order for rich embeds to work properly, a Bas…

---

## [Configure sign up and log in with Auth0 using the OAuth2 Basic Plugin](https://meta.discourse.org/t/configure-sign-up-and-log-in-with-auth0-using-the-oauth2-basic-plugin/64633)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 73\
**Last updated:** [December 16, 2025, 9:31am UTC](https://meta.discourse.org/t/configure-sign-up-and-log-in-with-auth0-using-the-oauth2-basic-plugin/64633 "2025-12-16T09:31:17Z")

</div>

If you are using Auth0 as your identity provider this guide will show you how to setup authentication using the Discourse OAuth2 Basic Plugin. Initial Steps Create an Auth0 account if you don’t already have one The Di…

---

## [Google Tag Manager and Discourse CSP (Content Security Policy)](https://meta.discourse.org/t/google-tag-manager-and-discourse-csp-content-security-policy/188296)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [April 27, 2021, 7:03pm UTC](https://meta.discourse.org/t/google-tag-manager-and-discourse-csp-content-security-policy/188296 "2021-04-27T19:03:01Z")

</div>

Discourse uses a ‘strict-dynamic’ Content Security Policy, and attaches a nonce to the root GTM script. That means that, in the vast majority of cases, no extra configuration is required. strict-dynamic will automatical…

---

## [Create and configure an API key](https://meta.discourse.org/t/create-and-configure-an-api-key/230124)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 6\
**Last updated:** [May 10, 2024, 6:46pm UTC](https://meta.discourse.org/t/create-and-configure-an-api-key/230124 "2024-05-10T18:46:41Z")

</div>

API keys are generated from the Admin / API page. Go to Admin-Advanced-API Keys: After clicking the “Add API key” button, you will be taken to a page to configure the key: Every API key needs a description, a …

---

## [How to integrate Discourse Gamification with an external system (redeem and award points)](https://meta.discourse.org/t/how-to-integrate-discourse-gamification-with-an-external-system-redeem-and-award-points/262968)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 34\
**Last updated:** [November 21, 2025, 2:18pm UTC](https://meta.discourse.org/t/how-to-integrate-discourse-gamification-with-an-external-system-redeem-and-award-points/262968 "2025-11-21T14:18:00Z")

</div>

Since we launched Discourse Gamification a year ago, one of the most requested features from our roadmap has been the ability to make it possible to integrate Discourse Gamification with external gamification system . Ex…

---

## [Set up Telegram integration using the discourse-chat-integration plugin](https://meta.discourse.org/t/set-up-telegram-integration-using-the-discourse-chat-integration-plugin/66603)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 92\
**Last updated:** [October 31, 2025, 1:49am UTC](https://meta.discourse.org/t/set-up-telegram-integration-using-the-discourse-chat-integration-plugin/66603 "2025-10-31T01:49:34Z")

</div>

This howto describes how to setup the Telegram provider included in discourse-chat-integration. Enable the plugin The discourse-chat-integration plugin is bundled with Discourse. If you haven’t already, follow the mai…

---

## [Get notifications via the API](https://meta.discourse.org/t/get-notifications-via-the-api/120951)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 4\
**Last updated:** [September 22, 2025, 7:30am UTC](https://meta.discourse.org/t/get-notifications-via-the-api/120951 "2025-09-22T07:30:15Z")

</div>

If you have an existing website or application and you would like to encourage discussion on your Discourse forum it can be helpful to display Discourse notifications inside of your application. This guide will show you …

---

## [Embed a list of Discourse topics onto an external site](https://meta.discourse.org/t/embed-a-list-of-discourse-topics-onto-an-external-site/293709)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 13\
**Last updated:** [September 17, 2025, 1:34pm UTC](https://meta.discourse.org/t/embed-a-list-of-discourse-topics-onto-an-external-site/293709 "2025-09-17T13:34:50Z")

</div>

:bookmark: This guide explains how to embed and display a list of Discourse topics on external websites using JavaScript, allowing you to showcase forum content such as discussions or announcements on blogs, websites, o…

---

## [Configure an app token for Instagram oneboxes](https://meta.discourse.org/t/configure-an-app-token-for-instagram-oneboxes/223548)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 28\
**Last updated:** [August 26, 2025, 6:57am UTC](https://meta.discourse.org/t/configure-an-app-token-for-instagram-oneboxes/223548 "2025-08-26T06:57:47Z")

</div>

:warning: Important updates since this guide was originally written: App Review is now required. Since September 2021, Meta requires your app to pass App Review and be approved for the oEmbed Read permission (now call…

---

## [Configure LinkedIn login using OpenID Connect](https://meta.discourse.org/t/configure-linkedin-login-using-openid-connect/305366)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 7\
**Last updated:** [July 26, 2025, 1:14am UTC](https://meta.discourse.org/t/configure-linkedin-login-using-openid-connect/305366 "2025-07-26T01:14:12Z")

</div>

:bookmark: This guide explains how to set up LinkedIn OpenID Connect authentication on your Discourse site, allowing users to log in using their LinkedIn accounts. :person\_raising\_hand: Required user level: Administrat…

---

## [Configure API Keys for Azure OpenAI](https://meta.discourse.org/t/configure-api-keys-for-azure-openai/282442)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [January 18, 2024, 10:54am UTC](https://meta.discourse.org/t/configure-api-keys-for-azure-openai/282442 "2024-01-18T10:54:50Z")

</div>

:bookmark: This guide explains how to configure API keys for Azure OpenAI to enable Discourse AI features that require 3rd party LLM keys. :person\_raising\_hand: Required user level: Administrator In this example, we …

---

## [Making requests to Discourse using Monkedo](https://meta.discourse.org/t/making-requests-to-discourse-using-monkedo/367819)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 27, 2025, 7:09pm UTC](https://meta.discourse.org/t/making-requests-to-discourse-using-monkedo/367819 "2025-05-27T19:09:05Z")

</div>

:bookmark: This guide explains how to connect Discourse with over 400 applications using Monkedo, a no-code automation platform that allows you to create workflows between Discourse and other services. …

---

## [Set up Discord notifications with the discourse-chat-integration plugin](https://meta.discourse.org/t/set-up-discord-notifications-with-the-discourse-chat-integration-plugin/66600)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 63\
**Last updated:** [February 26, 2025, 12:41am UTC](https://meta.discourse.org/t/set-up-discord-notifications-with-the-discourse-chat-integration-plugin/66600 "2025-02-26T00:41:55Z")

</div>

:bookmark: This guide explains how to configure Discord notifications for your Discourse forum using the discourse-chat-integration plugin. This plugin is included with Discourse — no separate installation is required. …

---

## [Set up Zulip notifications using the chat integration plugin](https://meta.discourse.org/t/set-up-zulip-notifications-using-the-chat-integration-plugin/68501)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [March 20, 2019, 10:19pm UTC](https://meta.discourse.org/t/set-up-zulip-notifications-using-the-chat-integration-plugin/68501 "2019-03-20T22:19:52Z")

</div>

This howto describes how to setup the Zulip provider included in discourse-chat-integration. Set up Zulip In your Zulip personal settings, go to Bots Click Add a new bot Enter a name and select Incoming webhook …

---

## [Generate User API Keys for testing](https://meta.discourse.org/t/generate-user-api-keys-for-testing/145744)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [March 26, 2020, 9:31pm UTC](https://meta.discourse.org/t/generate-user-api-keys-for-testing/145744 "2020-03-26T21:31:38Z")

</div>

Continuing the discussion from User API keys specification: I created a small utility script in order to test User API keys locally. First install dependencies: gem install addressable openssl base64 json Then the sc…

---

## [Forwarding emails in Google Workspace](https://meta.discourse.org/t/forwarding-emails-in-google-workspace/313963)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [January 6, 2025, 1:54pm UTC](https://meta.discourse.org/t/forwarding-emails-in-google-workspace/313963 "2025-01-06T13:54:04Z")

</div>

:bookmark: This guide describes how to set up and troubleshoot email forwarding in Google Workspace for use with Discourse. :person\_raising\_hand: Required user level: Administrator Setting up email forwarding in Goog…

---

## [Enabling Zendesk two-way synchronization](https://meta.discourse.org/t/enabling-zendesk-two-way-synchronization/177412)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [December 26, 2024, 10:24pm UTC](https://meta.discourse.org/t/enabling-zendesk-two-way-synchronization/177412 "2024-12-26T22:24:33Z")

</div>

Summary In this documentation, we will cover: Enabling Zendesk synchronization settings in Discourse Configuring a Zendesk webhook Setting up a Zendesk trigger Enabling Zendesk synchronization settings To begin, you…

---

## [Fetch All Posts from a Topic Using the API](https://meta.discourse.org/t/fetch-all-posts-from-a-topic-using-the-api/260886)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 4\
**Last updated:** [December 17, 2024, 2:58am UTC](https://meta.discourse.org/t/fetch-all-posts-from-a-topic-using-the-api/260886 "2024-12-17T02:58:50Z")

</div>

:notebook\_with\_decorative\_cover: This is a how-to guide explaining how to fetch all posts from a topic using the Discourse API The results returned by the Discourse API for many routes are paginated. For example, the…

---

## [Configuring OpenRouter language models](https://meta.discourse.org/t/configuring-openrouter-language-models/341526)

<div class="topic-metadata">

**Author:** [@sam](https://meta.discourse.org/u/sam)\
**Replies:** 0\
**Last updated:** [December 10, 2024, 6:23am UTC](https://meta.discourse.org/t/configuring-openrouter-language-models/341526 "2024-12-10T06:23:35Z")

</div>

:bookmark: This guide explains how to configure API keys for OpenRouter to enable Discourse AI features that require 3rd party LLM keys. :person\_raising\_hand: Required user level: Administrator In this guide, we’ll c…

---

## [Push custom events to Google Tag Manager and Analytics](https://meta.discourse.org/t/push-custom-events-to-google-tag-manager-and-analytics/181552)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [December 10, 2024, 1:03am UTC](https://meta.discourse.org/t/push-custom-events-to-google-tag-manager-and-analytics/181552 "2024-12-10T01:03:49Z")

</div>

Continuing the discussion from Integrating Google Tag Manager with Google Analytics: Pushing custom events to Google Tag Manager and Analytics :bookmark: This guide explains how to configure your Discourse site to sen…

---

## [Configure Patreon integration with Discourse](https://meta.discourse.org/t/configure-patreon-integration-with-discourse/62380)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 9, 2017, 6:46pm UTC](https://meta.discourse.org/t/configure-patreon-integration-with-discourse/62380 "2017-05-09T18:46:55Z")

</div>

:bookmark: This guide explains how to set up and configure Patreon integration with your Discourse forum, including user synchronization, group management, and access control. :person\_raising\_hand: Required user level:…

---

## [Discourse REST API comprehensive examples](https://meta.discourse.org/t/discourse-rest-api-comprehensive-examples/274354)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 21\
**Last updated:** [October 13, 2024, 10:20pm UTC](https://meta.discourse.org/t/discourse-rest-api-comprehensive-examples/274354 "2024-10-13T22:20:18Z")

</div>

There are several guides covering various API uses or explanations. This one gives practical and comprehensive examples on how to use it. :warning: All code examples in this guide aren’t meant to display good practic…

---

## [Create a DiscourseConnect login link](https://meta.discourse.org/t/create-a-discourseconnect-login-link/109290)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 6\
**Last updated:** [September 25, 2024, 7:26am UTC](https://meta.discourse.org/t/create-a-discourseconnect-login-link/109290 "2024-09-25T07:26:11Z")

</div>

:bookmark: This documentation explains how to create links on a DiscourseConnect provider site that log users into Discourse and redirect them to a specific Discourse URL. :person\_raising\_hand: Required user level: Adm…

---

## [Integrating Zendesk Chat Widget into Discourse Platform](https://meta.discourse.org/t/integrating-zendesk-chat-widget-into-discourse-platform/151973)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 19, 2020, 6:28pm UTC](https://meta.discourse.org/t/integrating-zendesk-chat-widget-into-discourse-platform/151973 "2020-05-19T18:28:23Z")

</div>

:bookmark: This guide explains how to add a Zendesk Chat widget to your Discourse forum, allowing you to provide real-time support to your users. :person\_raising\_hand: Required user level: Administrator Adding a Zen…

---

## [Integrating HelpScout Chat Widget into Discourse Platform](https://meta.discourse.org/t/integrating-helpscout-chat-widget-into-discourse-platform/191488)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 24, 2021, 5:04pm UTC](https://meta.discourse.org/t/integrating-helpscout-chat-widget-into-discourse-platform/191488 "2021-05-24T17:04:09Z")

</div>

:bookmark: This guide explains how to add a HelpScout chat widget to your Discourse site, allowing users to initiate one-on-one chats with your team. :person\_raising\_hand: Required user level: Administrator Summary T…

---

## [Configure API Keys for Anthropic](https://meta.discourse.org/t/configure-api-keys-for-anthropic/280936)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [October 3, 2023, 7:11pm UTC](https://meta.discourse.org/t/configure-api-keys-for-anthropic/280936 "2023-10-03T19:11:26Z")

</div>

:bookmark: This guide explains how to configure API keys for Anthropic to enable Discourse AI features that require 3rd party LLM keys. :person\_raising\_hand: Required user level: Administrator In this example, we are…

---

## [Sync DiscourseConnect user data with the sync\_sso route](https://meta.discourse.org/t/sync-discourseconnect-user-data-with-the-sync-sso-route/84398)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [May 7, 2024, 6:26am UTC](https://meta.discourse.org/t/sync-discourseconnect-user-data-with-the-sync-sso-route/84398 "2024-05-07T06:26:16Z")

</div>

Single Sign On can be used to handle Discourse user authentication from a separate site. The Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso) topic has details about how to implement DiscourseConnect …

---

## [Configure API Keys for Cloudflare Workers AI](https://meta.discourse.org/t/configure-api-keys-for-cloudflare-workers-ai/283321)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [October 24, 2023, 8:40pm UTC](https://meta.discourse.org/t/configure-api-keys-for-cloudflare-workers-ai/283321 "2023-10-24T20:40:03Z")

</div>

Cloudflare Workers AI In this example, we are using Cloudflare Workers AI to generate the keys. :information\_source: Cloudflare Workers AI is used as an embeddings provider in Discourse AI (e.g., for semantic search a…

---

## [Grant a custom badge through the API](https://meta.discourse.org/t/grant-a-custom-badge-through-the-api/103270)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 9\
**Last updated:** [November 18, 2023, 12:58am UTC](https://meta.discourse.org/t/grant-a-custom-badge-through-the-api/103270 "2023-11-18T00:58:34Z")

</div>

Custom badges that you have created on your forum can be granted through the API. This is a great way to award badges without having to use custom badge SQL. To grant a badge through the API, you need to know the userna…

[Previous page](https://meta.discourse.org/c/documentation/integrations/167.md)

[Next page](https://meta.discourse.org/c/documentation/integrations/167.md?page=2)
