Skip to main content

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

  1. Go to Channel Settings
  2. Navigate to Plugins tab
  3. View available plugins

Plugin Availability

  1. Ask the server administrator to install and enable the plugin.
  2. Open Channel SettingsPipelines.
  3. Add the plugin to an event pipeline.
  4. Configure channel-scoped settings or secrets if the plugin provides them.
  5. Save the pipeline.

Channel vs Server Plugins

ScopeConfigured ByRuns In
ServerServer AdminServer events and all applicable channels
ChannelForum OwnerExplicit 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

EventWhen It Fires
discussionChannel.createdNew discussion in your channel
comment.createdNew comment in your channel

Setting Up Pipelines

  1. Go to Channel SettingsPipelines
  2. Select an event
  3. Add plugins to the pipeline
  4. Order plugins (they run sequentially)
  5. 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

  1. Go to Channel SettingsPlugins
  2. Find the plugin
  3. Click Configure Secrets
  4. Enter your values
  5. Save

Secret Types

ScopeDescription
serverSame value everywhere (set by admin)
channelCan 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:

  1. Check the plugin is enabled
  2. Verify pipeline configuration
  3. Check secrets are set
  4. 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:

  1. Check with your server admin about available plugins
  2. Request a new plugin through appropriate channels
  3. 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