Skip to main content

Accessing Advanced Settings

Navigate to Settings → Feature Enablement in the TierZero UI, then check the Advanced Settings section. This section is only available to organization admins.

Configuration Structure

Advanced settings are stored as JSON and can include various configuration options. The configuration is flexible and allows for future expansion.

Slack Triggers

One of the primary features configurable through advanced settings is Slack Triggers, which control when the TierZero bot responds to messages in Slack channels. Slack triggers are configured using the assignments structure.

Configuration Format

{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Trigger when @devx-oncall is mentioned in #incidents channel",
      "channel": "C01234567",
      "text_match": ["<!subteam^S042TDSP7MG>"]
    },
    {
      "type": "watch_slack",
      "_comment": "Trigger when @oncall is mentioned in any channel",
      "channel": "",
      "text_match": ["@oncall"]
    }
  ]
}

Fields

  • assignments (optional): An array of assignment configurations
    • type (string, required): Must be “watch_slack” for Slack trigger assignments
    • _comment (string, optional): Human-readable description of what this trigger does
    • channel (string, optional): Slack channel ID where the trigger should be active. Leave empty to match any channel.
    • text_match (array of strings, required): Array of text strings that must ALL be present in the message to trigger the bot.

External Channels

The ext_channels configuration allows you to specify Slack channels that TierZero will reference in tip messages, encouraging users to join for feedback, questions, or feature requests.

Configuration Format

{
  "ext_channels": ["C01234567"]
}

Fields

  • ext_channels (optional): An array of Slack channel IDs that TierZero will reference in tip messages
When configured, TierZero will include messages like:
  • “Want me to use a new data source or integration? Join #your-channel”
  • “Got feedback or questions? Join #your-channel”
These messages appear as helpful tips in TierZero’s responses to guide users to appropriate feedback channels.

Advanced Filtering Instructions

The configuration supports an optional filtering_instructions field that enables intelligent message filtering using an LLM-based agent. This allows for more sophisticated decision-making about when to respond and how to respond. When a trigger is matched, the TriggerFilterAgent analyzes the message content and filtering instructions to determine one of three response types:
  • AGENT: Trigger a full AI-powered response from TierZero
  • STATIC: Return a predefined static response without invoking the full agent
  • NONE: Do not respond to the message

Configuration Format with Filtering

{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Buildkite deployment failure with intelligent filtering",
      "channel": "C01234567",
      "text_match": ["buildkite.com"],
      "filtering_instructions": "If the failure is about https://buildkite.com/tierzero/tierzero-prod-deploy then respond otherwise don't. If the user has only given the PR link and has not provided the buildkite link or vice versa then ask them for both buildkite build link and PR link. If they have a question about which batch failed in the build or how to reproduce the issue, give them this link: https://tierzero.atlassian.net/wiki/spaces/I/pages/3519218356/Debugging+Failed+and+Flaky+Tests#CI-parity-reproduction"
    }
  ]
}

Additional Field

  • filtering_instructions (string, optional): Instructions for the LLM-based filter agent to determine whether and how to respond to matched messages. This enables intelligent filtering beyond simple text matching.

Combined Configuration Example

Here’s an example that combines both Slack triggers and external channels:
{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Respond to @oncall mentions anywhere",
      "channel": "",
      "text_match": ["@oncall"]
    }
  ],
  "ext_channels": ["C01234567"]
}

Examples

Trigger on Specific Slack User Group Mentions

{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Respond to @devx-oncall mentions in any channel",
      "channel": "",
      "text_match": ["<!subteam^S042TDSP7MG>"]
    }
  ]
}
This configuration will trigger the bot whenever a specific Slack user group (e.g., @devx-oncall) is mentioned in any channel.

Channel-Specific Triggers

{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Respond to 'incident' keyword in #incidents channel",
      "channel": "C01234567",
      "text_match": ["incident"]
    },
    {
      "type": "watch_slack",
      "_comment": "Respond to 'alert' keyword in #alerts channel",
      "channel": "C98765432",
      "text_match": ["alert"]
    }
  ]
}
This configuration triggers the bot:
  • In channel C01234567 when messages contain “incident”
  • In channel C98765432 when messages contain “alert”

Intelligent Buildkite Failure Handling

{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Smart buildkite failure handling with context-aware responses",
      "channel": "",
      "text_match": ["buildkite"],
      "filtering_instructions": "If the failure is about https://buildkite.com/tierzero/tierzero-prod-deploy then respond otherwise don't. If the user has only given the PR link and has not provided the buildkite link or vice versa then ask them for both buildkite build link and PR link. If they have a question about which batch failed in the build or how to reproduce the issue, give them this link: https://tierzero.atlassian.net/wiki/spaces/I/pages/3519218356/Debugging+Failed+and+Flaky+Tests#CI-parity-reproduction"
    }
  ]
}
This configuration demonstrates intelligent filtering where:
  • Only responds to specific buildkite pipeline failures
  • Provides static responses for incomplete requests (missing PR or buildkite link)
  • Returns documentation links for common debugging questions
  • Ignores failures from other pipelines

Multiple Trigger Patterns

{
  "assignments": [
    {
      "type": "watch_slack",
      "_comment": "Respond to @oncall mentions anywhere",
      "channel": "",
      "text_match": ["@oncall"]
    },
    {
      "type": "watch_slack",
      "_comment": "Respond to help requests anywhere",
      "channel": "",
      "text_match": ["@tierzero", "help"]
    },
    {
      "type": "watch_slack",
      "_comment": "Respond to severity mentions in incidents channel",
      "channel": "C-INCIDENTS",
      "text_match": ["SEV"]
    }
  ]
}

Finding Slack IDs

Channel IDs

  1. In Slack, right-click on the channel name
  2. Select “View channel details”
  3. Scroll to the bottom to find the Channel ID

User Group IDs

  1. Go to Slack workspace settings
  2. Navigate to “User groups”
  3. Click on the user group
  4. The ID is in the URL or can be found in the group details