Integraciones de chat de Discourse

:information_source: Chat Integration is for using an external chat system together with Discourse — you may be looking for Discourse Chat which adds Chat functionality directly to Discourse.

:discourse2: Summary
:open_book: Install Guide

The Discourse Chat Integration plugin lets you send messages in your preferred chat platform when something happens in Discourse.

Messages can be triggered by:

  • New topics
  • New replies
  • Messages to a group
  • Mentions of a group

Functionality by provider

Provider Notifications Slash Commands Post Transcripts Threaded Replies
Slack :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Telegram :white_check_mark: :white_check_mark:
Discord :white_check_mark:
Mattermost :white_check_mark: :white_check_mark:
Google Chat :white_check_mark:
Matrix (element.io) :white_check_mark:
Zulip :white_check_mark:
Rocket.Chat :white_check_mark:
Gitter :white_check_mark:
Stride Docs
Microsoft Teams :white_check_mark:
Basecamp Docs
IRC Cloud Docs
Flock Docs
Webex :white_check_mark:

:warning: Before you enabling Slash Commands for your provider, make sure to read the Security/Permissions section below!

Configuration

There are three key concepts in this plugin:

  • Providers: The chat platform that you’re connecting to (e.g., Slack, Discord, etc.).
  • Channels: A single chat area in your platform (e.g., channel, group chat, room, etc.). Each provider can have multiple channels.
  • Rules: The instructions for when and how Discourse should send a message to a channel. Each channel can contain multiple rules.

Configuring providers

  1. Go to Admin > Installed Plugins and ensure that the Chat Integrations plugin is enabled.
  2. Click Settings.
  3. Choose the chat platform that you’d like to connect to Discourse.

  1. For some providers (e.g., Discord), you’ll be directed straight to the next step (channel configuration). Others will ask for special information, which you’ll need to get from your chat platform.

Dedicated setup instructions for chat platforms

Configuring channels

Once you have configured a provider, you can now configure channels for that provider. From the Chat Integration plugin page, click Add channel and provide the requested information — typically a webhook URL and/or channel name, depending on the provider.

Configuring rules

After your channel is connected, you can click Create rule to create a new rule for when your community should send a message to your provider channel.

The main components of a rule are:

  • Type: What type of community content should trigger a chat message?
    • Normal: Send chats for topics in the selected category.
    • Group message: Send chats when a PM is sent to the selected group.
    • Group mention: Send chats when the selected group is mentioned.
  • Filter: You can optionally filter the rule so that it only sends chats in certain situations.
    • All posts with threaded replies: Send chats for all posts matching this rule, with replies threaded in the chat platform. This option is not available for all integrations.
    • All posts and replies: Send chats for all posts and replies that match this rule.
    • First post only: Only send chats for the first post in a topic or message that matches this rule.
    • Tag added to topic: When the create post for category and tag changes site setting is enabled, send a chat when someone adds adds a tag to a topic.
    • Mute: Do not send chats that match this rule. This is useful for carving out an exception to another broader rule.
  • Group: If you selected Group message or Group mention as the Type, select the group whose received PMs / mentions should trigger the chat.
  • Category: If you selected Normal as the Type, optionally select the category that a topic must be posted in to trigger the chat.
  • Tags: Optionally select one or more tags that matching topics must have at least one of to trigger the chat message.

What happens when there are multiple rules?

Rules are sorted first by type then by the filter:

  1. Group mentions
    1. Mute
    2. All posts and replies
    3. First post only
  2. Group messages
    1. Mute
    2. All posts and replies
    3. First post only
  3. Normal (i.e. topics)
    1. Mute
    2. All posts and replies
    3. First post only

If a post matches multiple rules, the plugin will trigger the first matching rule in the list.

For example, with the following rules

Filter Category Tags
All posts and replies Mentions of: @team (all tags)
Mute Support (all tags)
First post only Support unsupported-install
All posts and replies (all categories) (all tags)

Notifications would be triggered for:

…but not for:

Security / Permissions

By default the system account is used, which means that there is no restriction on notifications sent.

To secure your notifications, you should create a non-staff user with appropriate access privileges, and enter its username in the chat integration discourse username setting.

Slash Commands

If your provider supports slash commands, you can manage rules from within your chat interface. Each provider varies slightly in syntax, but in general they follow a similar structure. (Note that at this time, only the Slack integration implements threads.)

The commands available are

Posting a transcript

If your provider supports transcript posting, you can post your instant messaging history to discourse. This is currently only supported for the Slack provider. Note: You will need to be using the “Access Token” method of connecting to Slack.

Send /discourse post to see the interface. The plugin will try and “guess” where your current conversation starts, by looking for a gap in the message history of more than 3 minutes.

Alternatively, you can specify a number of posts after the command, or a URL to the first message.

To load a transcript for a Slack thread, you can use /discourse post thread {url}, where {url} is the permalink of the first message in the thread. For example:

/discourse post thread https://<slackname>.slack.com/archives/C6029G78F/p1522952993000017

Alternatively, you can use /discourse post with a thread-specific permalink like this:

/discourse post https://foo.slack.com/archives/G49KKS6AX/p1523062012000911?thread_ts=1523091738.000088&cid=G49KKS6AC

In both cases the “first/last message” UI is skipped - the entire thread is included in the transcript.

Adding new providers

Option 1: Submit a PR implementing your provider:

Option 2: Use your own plugin:
It is possible for third party plugins to register new “providers”. As an example, I’ve created a provider which sends webhooks to IFTTT. This could be used to automatically publish all posts in a category to facebook… or turn on your light when someone posts in Contribute > Feature… or feed your fish whenever there’s a new Customization > Plugin.

CHANGELOG

TODO

Last edited by @lindsey 2026-04-21T21:14:15Z

Check documentPerform check on document:
115 Me gusta
Set up Slack notifications using the discourse-chat-integration plugin
Set up Mattermost notifications using the discourse-chat-integration plugin
Set up Rocket Chat notifications using the discourse-chat-integration plugin
Set up Microsoft Teams notifications using the discourse-chat-integration plugin
Set up Google Chat notifications using the discourse-chat-integration plugin
Set up Matrix (element.io) notifications using the discourse-chat-integration plugin
Set up Gitter notifications using the discourse-chat-integration plugin
Set up Webex notifications using the discourse-chat-integration plugin
Tool for Tossing out Notifications via Discord
iOS Mobile App Notifications
Auto Post New Topics to Social Media
Will Rocket Chat and others get transcript posting?
Dynamic of community with a chat and discourse page
Slack to Discourse
Discord chat integration for open source projects
Discourse-official-slack: no error message after failed post to slack
Moving from Slack to Discourse
Telegram integration
Set up Telegram integration using the discourse-chat-integration plugin
Federation support for Discourse
Add a new provider to discourse-chat-integration
Set up Zulip notifications using the chat integration plugin
German People here
Contributor Interviews – David Taylor
IFTTT Chat Integration Plugin - curious on status
Slack Plugin Still Active?
Steam Authentication & Integration
Yammer integration
Query on Discourse Integration with Google Chat
Set up Slack notifications using the discourse-chat-integration plugin
Configure Discord Login for Discourse
Comment on a question instead of answering it
Best chat integration for a Forum breakout
[PAID] Turning Discourse Forum to Messenger App
Set up Power Automate to send Microsoft Teams notifications using the discourse-chat-integration plugin
Optionally threading posts to parent topic in slack integration
Can you enable a plugin that integrates slack and discourse?
Libera Chat Integration
More Like WhatsApp for addiction support?
Advice for starting a community site for housing cooperative
We would like to add the plugin "discourse chat integration", but INCOMPATIBLE PLUGIN is returned
Babble Chat
Dedicated chat client?
Discourse Chat
Set up Telegram integration using the discourse-chat-integration plugin
Help configuring Slack Discourse plugin
Discourse Data Explorer Query Response to Slack
Nextcloud support
Checking if post or thread - Ruby
Discourse & Drift Chatbot
How can I beef up Discourse notifications?
Help configuring Slack Discourse plugin
Can Discourse Integrate with Free Slack?
Advice for getting my little game dev community "out there?"
Bundling more popular plugins with Discourse core
Gitter support in chat-integration appears to be missing settings and rules
Internal Onebox links cause full page reload
Writing messages from Slack to Discourse
Writing messages from Slack to Discourse
Discourse to Discord bot possible?
Send summary of new posts to chat instead of every post update
Set up Slack notifications using the discourse-chat-integration plugin
Two-way sync chat with discourse
Plugin for auto posting to social media?
Notifications integration for Facebook and Twitter
HipChat Integration
Twilio - for SMS notifications to users - Anyone Else Interested?
Discourse Chat vs Chat Integration plugins
Discourse for Teams is here!
Discourse vs Salesforce Community vs Slack
Adding a confirmation to particular tag groups and @mentions
Introducing Discourse Chat (BETA)
Different layout for posts with/without tags in webex chat integration
Chat Integration and Discourse Chat
Set up Mattermost notifications using the discourse-chat-integration plugin
Slack Bot Construction Kit :robot:
Feed Discourse posts into my Discord server?
Configure Groupme provider with the discourse-chat-integration plugin
Set up Discord notifications with the discourse-chat-integration plugin
Test message works, but normal messages are never triggered
Integration of https://signal.org/ chat
Set up Slack notifications using the discourse-chat-integration plugin
Discourse as a Conference App (in person, virtual, or hybrid)
Optionally threading posts to parent topic in slack integration

Sería interesante agregar soporte para el propio Discourse ActivityPub Plugin para que la publicación se pueda activar en función de etiquetas y otros filtros de la integración de chat.

1 me gusta

Hola, el año pasado Telegram anunció foros/temas (minichats dentro de chats grupales). Intenté conectar cada minichat individual a una u otra categoría de mi sitio. Pero, según entiendo, ¿las direcciones de los temas no son compatibles con el plugin? Por ejemplo, en mi caso, cada tema tiene una dirección como sigue: @telegram_topic /1, @telegram_topic /2, @telegram_topic /3
Si inserto un nombre de chat estándar en la línea, por ejemplo @telegram_chat, funciona sin problemas.
Sería muy conveniente si el plugin tuviera la capacidad de insertar direcciones de chat similares (../1), entonces los usuarios no tendrían que ser suscriptores de muchos canales independientes vinculados a ciertas categorías del sitio.

1 me gusta

¿Has considerado usar etiquetas para lograr esto?

:thinking: Creo que usar etiquetas no es del todo adecuado para mi caso. Porque incluso con la ayuda de etiquetas, no querría que todas las notificaciones fueran a un solo canal, creando ruido de información. Al mismo tiempo, en lugar de tener 20 canales para 20 categorías/etiquetas, preferiría tener un chat grupal donde pudiera organizar varios minichats temáticos (por categoría/etiqueta) donde cada usuario pueda ver el minichat que necesita y la capacidad de mirar en otros minichats. Me molesta mucho porque en mi región (Asia) la mayoría de la gente usa chats de WhatsApp y Telegram; los foros no son populares. Pero estoy tratando de encontrar un compromiso).\n\nPs. Si me repito a menudo, no me juzgues, solo estoy tratando de transmitir mis pensamientos correctamente, ya que uso el traductor de Google.

1 me gusta

Deberías poder filtrar qué etiquetas se aplican a qué chats, al menos según lo entiendo.

Me parece que estamos hablando de cosas diferentes :thinking: No tengo ninguna pregunta sobre el filtrado de chats por etiquetas/categorías.
Como contexto. Anteriormente, Telegram tenía canales y chats (excepto bots). Estos canales/salas de chat tienen un nombre de usuario, aproximadamente @nombre_de_usuario_chat o @nombre_de_usuario_canal.
Desde el año pasado, Telegram tiene la oportunidad de convertir chats en foros que contienen minichats temáticos como este. Estos minichats tienen sus propios nombres de usuario, por ejemplo @nombre_de_usuario_chat /1, @nombre_de_usuario_chat /2. La conveniencia de tales chats con minichats es que el usuario ya no necesita suscribirse a varios chats separados entre sí, sino que solo se suscribe a un chat (por ejemplo, con el nombre de mi sitio) y tiene acceso a muchos minichats (en mi caso, cada minichat se dirigiría a una categoría específica del sitio) que interesan al usuario.
Ahora quiero conectar estos minichats a este plugin, pero me parece que el plugin no admite el nombre de usuario del minichat como nombre_de_usuario_chat /1.

1 me gusta

¿Hay alguna forma de crear una regla para etiquetar un nuevo mensaje y/o una respuesta para que no se publique en el sistema de chat de destino (en este caso, Slack)?

Hola Albert, si hablamos de etiquetas normales de Discourse, puedes configurar un filtro de ‘silenciar’ para evitar que los temas con esa etiqueta activen notificaciones en Slack.

Pero en cuanto a publicaciones individuales, no hay forma de filtrarlas.

1 me gusta

Creo que tengo el mismo deseo que tú, Aizada:

Me encantaría poder tener un chat grupal de Telegram, con temas habilitados (que correspondan de alguna manera a las categorías en Discourse), y luego, en la configuración de integración de Discourse/Chat, especificar a qué tema debe publicar.

He intentado crear un chat grupal con temas ahora (solo con el bot y yo), pero cuando escribo /help dentro de un tema, el bot responde en el chat general.

¿Has investigado esto @david? Encontré este hilo de Stack Overflow, que muestra cómo obtener el message_thread_id (que es el id del tema) y dice que la API del bot obtuvo soporte para esto en la versión 6.3.

¡Gracias por tu trabajo de todos modos! :heart_hands:t2:

1 me gusta

Hola @ErlendMS :wave:. No tenemos ninguna mejora para este plugin en nuestra hoja de ruta en este momento, pero si alguien quisiera agregar soporte para ‘hilos’ (también conocido como tema) para la integración de Telegram, probablemente sería pr-welcome.

Tenemos algo de soporte para hilos en la integración de Slack, por lo que debería ser posible reutilizar parte de esa lógica.

3 Me gusta

¿Es posible usar este plugin para recibir notificaciones en Slack cada vez que se marca una publicación para su revisión? Gracias.

¿Este plugin expone funciones de API adicionales?

¿Dónde solicito una revisión de PR? Envié este PR a finales de la semana pasada para agregar un nuevo proveedor y todavía está pendiente de un revisor. He buscado en diferentes guías de desarrollador en meta y no he encontrado una para solicitudes de PR adecuadas.

Aquí está mi PR: FEATURE: Added Power Automate as a new provider by benoitdesnoyers · Pull Request #204 · discourse/discourse-chat-integration · GitHub

Gracias,

1 me gusta

Hola a todos. Acabamos de fusionar esta PR para el plugin de integración de chat.

Este cambio tiene como objetivo eliminar la opción tags_changed del filtrado de reglas de la integración de chat. Estamos haciendo este cambio porque estamos eliminando la configuración de “Creación de una pequeña publicación de acción cuando la categoría o las etiquetas de un tema cambian”.

Pero la funcionalidad seguirá siendo la misma, si tienes Discourse Automation instalado. La próxima vez que ejecutes las migraciones para este plugin, agregará un script al plugin de Discourse Automation que se ejecutará de manera similar a lo que tenemos actualmente.

Este es un ejemplo de automatización que se creará:

Se enviará a mi canal según las categorías y las etiquetas que estoy observando.

${ADDED_AND_REMOVED} es el texto predeterminado; se comportará igual que la regla.

También hemos agregado para esta opción de script algunas opciones que se pueden usar en el mensaje:

  • ${TOPIC} para el nombre del tema
  • ${REMOVED_TAGS} para las etiquetas eliminadas
  • ${ADDED_TAGS} para las etiquetas agregadas
    ambos, eliminados y agregados, solo se activarán si tienen una etiqueta.
    Por ejemplo: el mensaje added: ${ADDED_TAGS} solo se activará si hay etiquetas agregadas.
4 Me gusta

Tuvimos un problema con la otra PR (los usuarios que usaron otros proveedores no pudieron usar la automatización cuando cambiaron las etiquetas de los temas), así que para solucionarlo, hemos hecho esta nueva PR, donde tenemos en cuenta cada proveedor.

La configuración Creación de una publicación de acción pequeña cuando cambia la categoría o las etiquetas de un tema no aparecerá en la integración de chat.

Si tienes instalado discourse automation, la próxima vez que ejecutes las migraciones para este plugin, se agregará un script al plugin de automatización de discourse que funcionará de manera similar a lo que tenemos actualmente.


Tus automatizaciones se verán algo así:

Y tus proveedores son los proveedores habilitados.

Por ejemplo, tengo habilitados Discord, Slack, Telegram y Google Chat.

Tu nombre de canal es el nombre que le diste en la configuración de integración de chat.

Por ejemplo, el nombre aquí es Spidey.

3 Me gusta

Tenemos un nuevo lote de cambios para Automation/chat-integration

En este nuevo lote, los cambios notables son:

  • Agregamos Trigger with PMs (Activar con mensajes privados), que te permite controlar si esta automatización debe activarse incluso en mensajes privados.
  • Se resolvió un problema por el cual el disparador Topic tags changed (Etiquetas de tema cambiadas) se activaba durante la creación de temas.
3 Me gusta

Como se mencionó anteriormente – aquí

La configuración del sitio create post for category and tag changes (crear publicación para cambios de categoría y etiqueta) actualmente puede filtrar etiquetas/categorías privadas; una forma que encontramos para mantener esa función fue moverla a los susurros:

Funciona de manera similar a las publicaciones pequeñas, pero ahora, necesitas tener whisper allowed groups (grupos permitidos para susurros) con algún grupo para que funcione.

He fusionado un PR para el núcleo con este cambio y uno para chat-integration, eliminando el uso de esa configuración; la función de automatización agregada debería ser 1:1 con la acción pequeña si alguien tiene algún problema, ¡por favor háganoslo saber!

3 Me gusta

Tengo algunas actualizaciones más para este plugin :steam_locomotive:

Hemos agregado el campo trigger on para la automatización Send Chat-Integration message.

¿Qué hace?

Comprueba cuándo las etiquetas son:

  • Added and Removed (predeterminado)
  • Added
  • Removed

Actualmente, esta verificación es inclusiva.

Un buen ejemplo es si lo configuro en Added; para que esta automatización se ejecute, será necesario que se agregue cualquier etiqueta a un tema.

Cuando se establece Tags added, la tabla de automatización se ve así:

Added tag to topic Removed Tag to topic Has automation ran?
:white_check_mark: :cross_mark: :white_check_mark:
:white_check_mark: :white_check_mark: :white_check_mark:
:cross_mark: :white_check_mark: :cross_mark:

Cuando se establece Tags removed, la tabla de automatización se ve así:

Removed tag to topic Added Tag to topic Has automation ran?
:white_check_mark: :cross_mark: :white_check_mark:
:white_check_mark: :white_check_mark: :white_check_mark:
:cross_mark: :white_check_mark: :cross_mark:
2 Me gusta


Asunto: No se puede acceder a la sección de Plugins para la configuración de Integración de Chat

Hola,

Soy administrador del foro LXDAO y estoy intentando configurar el plugin Discourse Chat Integration para conectarlo con Telegram. Según la documentación oficial, debería poder configurarlo en la sección Plugins del panel de administración.

Sin embargo, en mi panel de administración, solo tengo acceso a cuatro secciones: General, Moderación, Seguridad e Informes. La sección Plugins mencionada en la documentación no parece estar disponible.

¿Podrían ayudarme a entender:

  1. ¿Está el plugin de Integración de Chat ya instalado en nuestro foro?
  2. ¿Necesito permisos adicionales para acceder a la sección Plugins?
  3. Si estamos utilizando una solución Discourse alojada, ¿existen limitaciones con respecto a la instalación/configuración de plugins?

Como administrador, ¿qué pasos debo seguir para configurar correctamente la integración de Telegram para nuestra comunidad?

¡Gracias por su ayuda!