Slack XBlock for Open edX
An XBlock that integrates Slack channels directly into Open edX courses, enabling seamless communication between course content and discussions.
Features
- 🚀 Easy integration with existing Slack workspaces
- 🎯 Auto-generated channel names based on course context
- 🎨 Responsive, modern UI design
- ⚙️ Studio-configurable settings
- 📊 Optional analytics and tracking
- 🔧 Flexible channel management
Installation
Development
git clone git@github.com:3N61N33R/slack-xblock.git
cd slack-xblock
pip install -e .
Production
pip install slack-xblock
Configuration
This XBlock requires configuration at both the environment level and within Open edX.
Environment Variables
First, you need to set up the following environment variables in your Open edX instance. You can add these to a .env file or your platform's configuration management system.
Here's an example:
Slack API Credentials
Your bot's xoxb token
SLACK_BOT_TOKEN=
Your app's signing secret
SLACK_SIGNING_SECRET=
Auto-channel creation settings
Set to 'True' to automatically create channels, 'False' to disable
AUTO_CREATE_CHANNELS=True
Prefix for auto-created channel names (e.g., 'course-')
CHANNEL_PREFIX=course-
Suffix for auto-created channel names (e.g., '-discussion')
CHANNEL_SUFFIX=-discussion
Default workspace settings
The main URL of your Slack workspace (e.g., "https://your-team.slack.com")
DEFAULT_WORKSPACE_URL="your-workspace-url"
The invite link for your workspace
WORKSPACE_INVITE_URL="workspace-invite"
-
SLACK_BOT_TOKEN: Your Slack app's Bot User OAuth Token (starts with xoxb-).
-
SLACK_SIGNING_SECRET: The signing secret from your Slack app's "Basic Information" page.
-
AUTO_CREATE_CHANNELS: A boolean (True/False) to enable or disable automatic channel creation.
-
CHANNEL_PREFIX & CHANNEL_SUFFIX: The prefix and suffix for automatically generated channel names. For example, course- and -discussion would create a channel like course-cs101-discussion.
-
DEFAULT_WORKSPACE_URL: The base URL for your Slack workspace.
-
WORKSPACE_INVITE_URL: The public invite link for users to join the workspace.
Open edX Settings
- Add to Open edX settings:
INSTALLED_APPS += ['slack_xblock']
FEATURES['ENABLE_SLACK_XBLOCK'] = True
- Configure in Studio:
- Add Slack component to course units
- Set workspace URL and channel settings
- Customize display options
Usage
For detailed usage instructions, see the Installation Guide.
License
Metadata
Release files for slack-xblock 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| slack_xblock-0.1.0.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| slack_xblock-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.5 kB
Release files / slack_xblock-0.1.0.tar.gz
| Download URL | slack_xblock-0.1.0.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a07cfe618c28b74e547d54121723852141887691fc21691466dfae1de33c2dd5
|
|
BLAKE2b-256 checksum How to use checksums |
180325ae84aa3399cb644ada4915bf354b757524f7e6dd8435008476161121db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2025.
Transparency logRelease files / slack_xblock-0.1.0-py3-none-any.whl
| Download URL | slack_xblock-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f5ba4ecebfec9905afab9697ba8a547306e69ed55261174f233f5f464e0ffa4c
|
|
BLAKE2b-256 checksum How to use checksums |
5b8f998764bfee665beaabb56fe66747a9d1228e68113a34f724f0c0196dcb4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2025.
Transparency log