OERxDomains: Discord

Previous OERxDomains posts:

+ Early Planning & Display
+ Artwork, Aesthetic, and Admiration

One of my favorite parts about OERxDomains21 would be our use of Discord. In our efforts to bring communities (and time zones) together we knew we would need a space to talk beyond the 20-30 min presentation sessions. A robust, flexible space that could handle a lot of of simultaneous conversations. Like Slack, but not so corporate.

I wanted something where participants could connect outside of sessions, to introduce themselves, hangout if they wanted, share resources, and even ask for help. After our experience with Digital Ocean’s Deploy conference, we were already one step ahead of the game by seeing the potential of Discord in a conference space. My mindset in testing Discord for OERxDomains was to basically begin building it out until I found something wrong with it. But long story short, I didn’t. :)

I had heard that Discord was big in the gaming community, but it was completely new for me. Their documentation is thankfully pretty fantastic, so I hung out there for a while as I was getting started. And as with anything I test for a larger audience, I took advantage of these beginner moments to record my questions, first impressions, and instincts. Priority #1: it needed to simple and easy to use, and any clear question marks needed to have proper guidance.

Overall, I found the process for creating channels, categories, and roles to be quite simple. I also really loved that I could alter permissions on a granular level. Here’s a look at the overall setup:


The main roles created were admin, staff, chairs, and participants. The other roles were Discord bots, and we’ll get to those in a bit. :) Admins had access to everything behind the scenes. This was a private role, and they could go so far as to delete the server if they wanted to. The staff role was for all Reclaim and ALT folks that were helping run the conference. They had access to all channels and could do things like create new channels, change permissions, and block users. Chairs were for conference committee members, presenters or really anyone that needed Discord’s “priority speaker” permissions. They were able to control mic settings in voice channels for all users. And finally participants was the default role that everyone was given. They could change their own personal settings but did not have access over anyone else’s.

The hierarchy of roles proved to be crucial for the overall success of how Discord functioned. As a result, we could have a private, staff-only channel to allow us to chat behind-the-scenes while the conference was going on. It kept conversations out of emails and Twitter DMs which was a huge plus.


How it looked for Participants
How it looked for Admins

We decided to organize the channels by Information, Discussions, and Voice categories. Of the various channels, announcements, guidelines, and hashtag were read-only. I didn’t want important information getting lost amongst conversation, and hashtag was just a live sync of the #OERxDomains21 twitter hashtag. The read-only feature was really helpful for routing conversation where we wanted it to go. The channels themselves are pretty self-explanatory, but I’ll put a description of them below:

  • Announcements: Latest updates about the #OERxDomains21 conference
  • Help-Desk: live help from Conference staff; we monitored this channel in shifts
  • Guidelines: conference guidelines, code of conduct
  • Introductions: a space for participants to introduce themselves, share their conference badge, talk about why they were here
  • Resources: a space to share slides, additional links and resources after presentations or other discussions
  • Domains21: live discussions/ Q&A around prerecorded D21 sessions
  • Hallway-Chats: miscellaneous conversations about anything
  • Hashtag: a live sync of the #OERxDomains twitter hashtag
  • KaraOERke: an impromptu channel created halfway through to talk about the live karaoke performances :)
  • Chairs-Only & Staff-Only: behind the scenes communication with different groups
  • Open Spaces sessions: a voice channel for each session
  • Voice Channels: miscellaneous hangout spaces
  • Action-Log: automatic admin notifications each time someone joined/left the server

Seeing Discord in use like this was one of the more rewarding moments of the conference for me. I couldn’t help my self from taking a few screenshots! Loved that people took advantage of the voice channels to hangout and chat, and I especially love that Discord keeps that transparent so anyone can join. My only real critique: for an event of this size, the 25 person cap on voice channels did prove a bit difficult at one point. Knowing this, we should have used stage channels instead.

Bots + Automated Rules

I also had some integrations & automated rules that I built into Discord as we needed them, which is why you’ll see these Discord Bots added to the server under the roles section:


I wanted to get a notification when anyone joined or left the server. I was able to do this with the welcome message section in the Mee6 bot:

This is also where I table to assign the participants role to everyone by default when they joined. Again, this is crucial, because otherwise the users would be thrown into a generic everyone role that didn’t abide by my customized permissions.

Titan Embeds

The Titan Embeds bot was used to embed discord channels on the conference display site for prerecorded Domains21 sessions:

Discord doesn’t have a ton of options for embedding, so this Titan bot (which is technically still in Beta) was a bit of a gamble. But it ended up doing the job, and Michael’s CSS magic made it that much better. This is an area I hope to clean up in future renditions given Discord names don’t come in clean, and I’d love to be able to add our branding to it. Even still, I’m very thankful for how it turned out and think that it made a huge difference for how the conference could be experienced.


Zapier is probably where I had the most fun… this is where I put together custom rules when Discord bots were lacking.

^I created a Zap in order to send tweets with the #OERxDomains21 hashtag to Discord, and wrote about how to do this here.

My next head scratcher and frequent request from others was to be able to schedule messages throughout the event. Welcome, time for a break, join us for the keynote type of messages that are important to send, but easy to forget in the moment when you’re pulled in 100 different directions. Additionally, I wanted a way to write to folks from a generic “event” name as opposed to always writing from my personal role. And the idea of creating a separate account and logging in and out was a non-starter.

Slack made sense for me since I knew I could schedule messages there, but I could also send out messages in real-time, too. I’m sure there are other ways to schedule messages for Discord, but the bots I found were clunky and given I already have slack open everyday, it was an easy choice.

To start, I created private slack channels (one for each location that I wanted to post to). Next, I went to Zapier and chose my app (Slack) and my Trigger Event (posting messages):

Next I logged into my Slack account when prompted and then chose my private slack channel:

I sent a message in the private slack channel, and then tested that Zapier was able to find that message. Once that was successful, I moved onto the second half of the Zap: publishing to Discord. I chose my app (Discord) & action (Send Channel Message):

I then logged into Discord when prompted and then set up the look of my custom message. This took a bit of tweaking, but here’s what I landed on:

Once enabling the Zap, here’s how messages looked from Slack to Discord:

Scheduling messages then happened completely in Slack. At first I was testing out Slack’s reminder feature, but this was clunky, hard to follow, and left a lot of room for error. I ended up using a Slack App called Send It Later which was an absolute godsend. I believe there’s a premium version, but the free trial was long enough that it worked perfectly for what I needed:

I used this for both the Discord #Announcements channel as well as the #Domains21 channel to alert folks of upcoming sessions:

^And because Slack is wonderful, I was even able to format my messages with italics!

Finally, I had to set the record straight when everyone thought the bot was automated. :)

Custom Emojis

One final note to share about Discord before I close– the ability to add custom emojis makes the experience that much more branded and fun. This is under Server Settings > Emoji:

The emojis were then used throughout as reactions or otherwise, and it was such a nice touch.


Ok, if you’ve made it all the way to the end of this post, thank you for reading! Feel free drop any questions in the comments below & I’d be happy share my thoughts or clarify. I had such a blast with this conference, and I can’t wait to use these tools for future events. Speaking of which, our Domain of One’s Own virtual Workshop is taking place next week and we hope to see you there!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to Top