Custom Hooks (Channel Plugins)
Forum owners can configure plugins to automate workflows within their channels.
Overview
Channel-level plugins allow you to:
- Automate responses to events
- Integrate with external services
- Add custom functionality to your channel
The server administrator installs and enables plugins. Channel owners choose which approved plugins run by adding them to explicit channel pipelines.
Channel Plugin Configuration
Accessing Plugin Settings
- Go to Channel Settings
- Navigate to Plugins tab
- View available plugins
Plugin Availability
- Ask the server administrator to install and enable the plugin.
- Open Channel Settings → Pipelines.
- Add the plugin to an event pipeline.
- Configure channel-scoped settings or secrets if the plugin provides them.
- Save the pipeline.
Channel vs Server Plugins
| Scope | Configured By | Runs In |
|---|---|---|
| Server | Server Admin | Server events and all applicable channels |
| Channel | Forum Owner | Explicit events in your channel only |
Channel plugins run in addition to server pipelines. A channel cannot disable or bypass a server-required pipeline.
Pipeline Configuration
Pipelines define when plugins run:
Available Events
| Event | When It Fires |
|---|---|
discussionChannel.created | New discussion in your channel |
comment.created | New comment in your channel |
Setting Up Pipelines
- Go to Channel Settings → Pipelines
- Select an event
- Add plugins to the pipeline
- Order plugins (they run sequentially)
- Save
Example configuration:
pipelines:
- event: discussionChannel.created
stopOnFirstFailure: true
steps:
- plugin: auto-labeler
condition: ALWAYS
continueOnError: false
For download discussions, server file pipelines run before channel automation. If no channel pipeline is configured, enabling a plugin at server scope does not silently add it to the channel.
Channel-Specific Secrets
Some plugins need channel-specific configuration:
Setting Secrets
- Go to Channel Settings → Plugins
- Find the plugin
- Click Configure Secrets
- Enter your values
- Save
Secret Types
| Scope | Description |
|---|---|
server | Same value everywhere (set by admin) |
channel | Can be different for your channel |
Only channel-scoped secrets can be set by forum owners.
Use Cases
Welcome Messages
Automatically welcome new posters:
Event: discussionChannel.created
Action: Post a welcome comment
Auto-Tagging
Automatically suggest or apply tags:
Event: discussionChannel.created
Action: Analyze content and suggest tags
External Notifications
Notify external services of new content:
Event: discussionChannel.created
Action: Send webhook to Discord/Slack
Content Moderation
Flag potentially problematic content:
Event: comment.created
Action: Analyze and create issue if needed
Viewing Plugin Activity
Execution Logs
For download checks, open the download detail page and select Pipelines. Public attempts and diagnostics are visible to everyone who can view the download. Internal logs remain available only to authorized server administrators.
Each run shows:
- What triggered it
- When it ran
- Whether it succeeded
- Any output or errors
Troubleshooting
If plugins aren't working:
- Check the plugin is enabled
- Verify pipeline configuration
- Check secrets are set
- Review execution logs for errors
Plugin Limitations
- Plugins can't modify channel settings
- A failed channel plugin does not roll back creation of the discussion
- A failed required security check keeps its attachment quarantined
- Channel pipelines cannot override server-required checks
- Rate limits may apply
Requesting New Plugins
If you need functionality that doesn't exist:
- Check with your server admin about available plugins
- Request a new plugin through appropriate channels
- Consider contributing a plugin yourself
Best Practices
Performance
- Don't add too many plugins to pipelines
- Consider necessity vs. overhead
- Monitor execution times
Testing
- Test plugins with non-critical content first
- Review logs after enabling
- Adjust configuration as needed
Security
- Only use trusted plugins
- Be careful with webhook URLs
- Review what data plugins access