Embedding chat in another webpage?

Is there a way that I could use a chat window, basically inside an iframe on another page - or leverage the existing comments embed view to show a chat thread alongside some other content?

For some background: I’m running an event in the summer and I’m hoping to have a synchronous chat feed that bridges both remote and in person attendees. We’d like folks to view the stream online and chat in the same window, and the in person folks could chat using their phone.

Any thoughts on how this might work - of it is possible with any of the current embedding support in discourse?


I think this is a great feature request, unfortunately we are not setup at the moment to “widgetize” chat like intercom and others do, but it is certainly something we are thinking about.

I feel it is very much a version 2/3 thing vs something on the immediate roadmap, it would require a major rework of Discourse internals to get this going, especially accounting for “anonymous” chatting among other things.


There’s a related topic here: Embeddable chat that stages users

I think we can keep them separate for now and assume perhaps that this topic is talking about a feature that wouldn’t necessarily require staging users. If users are not logged in, they’d only have read-only access to the embedded chat.

On the other hand, we haven’t really begun to explore this in any depth, so we are all just imagining together.

If folks have ideas here, getting concrete examples of what you’d like to be able to do or what problem you’re trying to solve would be helpful. Share examples, with mockups or screenshots of where chat would fit on your existing site and how you would intend people to interact with it.


I’d love to chime in here. In my case, we manage a community for developers who use our platform. In February of this year, we decided our first developer conference would likely have chat embedded next to the stream exactly like OP is describing.

We would also want to allow staged users to chat too, FWIW.

My team manages our internal hackathon, so we did a POC and used Discord and WidgetBot to embed the chat in the page and it was incredibly well-received. Now that we’re putting on our developer conference, we’d really love the holistic experience of embedding the chat from our community directly into the stream.

This way, their chat carries over and it would be a great way to introduce them to the new chat. Unfortunately we’re building the stream page in two weeks, so I’m guessing we’ll have to use Discord this time around.

@mcwumbly you mentioned sharing a mockup, so here’s our mockup that we made for our UX team to design:

Ideally the chat window would contain the interface to type, obviously the interface to see the chat, and some way to switch between channels.

I have a lot of thoughts on this…


In this scenario, why would it be important to allow staged users to chat (rather than requiring people to sign up if they want to participate)?


Although our primary users will be attending this event, we’ll also have users like directors/VPs/Execs and even prospective customers who will be there.

We want to be sure everyone can participate in chat even if they haven’t signed up to our community (yet).


Thanks Jordan - that mock up and use case are indeed quite similar to what I am hoping for.

I am 50/50 on the staged users, personally. For us, we have a SSO setup that mostly works around the issue. But I think Jordan’s case is exactly the right type of consideration. We’ve avoided using other chat tools like Discord due to the user accounts issues.


FWIW we used Discord in conjunction with Widgetbot to allow chat for unregistered users. It worked incredibly well and we’ll probably use it again until Discourse chat can do this.

I’d rather much use Discourse by the way, this other solution will just be a stop-gap until Discourse supports this.


We tried it and yes, it works very well but sharing a lot of info with a few companies and projects.

I hope Discourse can reach something similar, that could be awesome for showing without friction why we are choosing forums instead chat based instances.


+1 for this feature request!


Any news on this? Is this feature even considered?

Our use case is that we have a primary site where our users spend the majority of their time on. Our discourse is linked and integrated (with SSO and an indicator if there are new messages etc.), but it’s still a separate page.

We’d love to be able to integrate the chat window directly into our site, that would make it just so much easier for casual chats without having to switch to Discourse.

Also: Can we get a chat notification through the API? The current API documentation doesn’t reflect any chat-related flags.


No real news.

It does seem like there’s significant interest in something like this, but we think it’s probably a significant investment to get it into a working state, even in a basic form.

We’re definitely interested in continuing to hear from more people here about their specific use cases in the mean time.

In your case, what would you expect people who are not logged in to be able to do, if anything?


Does anyone have pointers on a plug-in to just allow iframes? I tried messing with X-Frame-options headers and CSP rules and couldn’t get the embedding to work.

My first goal would simply be to allow existing users to chat.
After that, some kind of anonymous mode would be useful.


Most users are logged in anyway. I could live with a solution where users would have to log in to be able to chat.

If there’s some anon chat, I wouldn’t mind, though, but it’s not essential for us.



Use Case #1 - existing users

Being able to jump straight into chat would be very useful for those who are logged into the main site but who only visit the forum infrequently.

This means that it is able to function as chat for the entire digital estate of that entity, rather than just for the forum bit. This would increase the accessibility of the forum as a useful side-effect.

I can see this being super helpful for a couple of NGO / charities that I’m involved with. And I naively suspect that it wouldn’t be too awful to develop.

Use Case #2 - anons

Having a chat interface for anon visitors to a site is a common way of drawing people in to conversation in real time without them having to log in or join. Here is an example 3rd party offering:

It is quite common to ask for an email address to initiate it (most folk seem happy with this). This is an opportunity to create a staged user.

It would also be a great target for some automated / bot discussion.

Now, this would likely need to be a complex plugin!!


Are there any plans to integrate this?

1 Like

Currently, I am using a discourse to create a forum within our community.

We have three separate independent websites.

Is there a way for me to create groups and embed chat into those websites?

When a visitor accesses the site, there will be a chat box that requires them to enter their name, email, phone number, and support request.

It will automatically connect to a predefined group chat/channel.

And the visitor can only chat with users in this chat channel.

Is there a way to achieve this?