> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack app

export const FlagGate = ({flag, match = true, fallbackValue = false, fallback = null, tocAnchors = [], children}) => {
  const [value, setValue] = useState(fallbackValue);
  useEffect(() => {
    let cancelled = false;
    const evaluate = () => {
      window.ldClient.waitUntilReady().then(() => {
        if (!cancelled) setValue(window.ldClient.variation(flag, fallbackValue));
      });
    };
    if (window.ldClient) {
      evaluate();
    } else {
      const onReady = () => evaluate();
      window.addEventListener('ld-ready', onReady);
      return () => {
        cancelled = true;
        window.removeEventListener('ld-ready', onReady);
      };
    }
    return () => {
      cancelled = true;
    };
  }, [flag, fallbackValue]);
  const shown = value === match;
  useEffect(() => {
    if (!tocAnchors.length) return;
    const entries = tocAnchors.map(anchor => document.querySelector(`#table-of-contents-content a[href$="#${anchor}"]`)).filter(Boolean).map(link => link.closest('li') || link);
    entries.forEach(entry => {
      entry.hidden = !shown;
    });
    return () => {
      entries.forEach(entry => {
        entry.hidden = false;
      });
    };
  }, [shown, tocAnchors.join(',')]);
  return shown ? children : fallback;
};

<View title="Developer" />

<View title="Federal docs" />

<View title="EU docs" />

<View title="EU docs">
  <Danger>
    **This integration is not available in LaunchDarkly's European Union (EU) instance**

    Customers on an EU instance can use <a href="/docs/integrations/slack/webhooks">Slack incoming webhooks</a> instead of the Slack app integration.
  </Danger>
</View>

<View title="Federal docs">
  <Danger>
    **This integration is not available in federal environments**

    Customers in federal environments can use <a href="/docs/integrations/slack/webhooks">Slack incoming webhooks</a> instead of the Slack app integration.
  </Danger>
</View>

This topic explains how to set up and use the [LaunchDarkly Slack app](https://slack.com/apps/AKEEF9DTM-launchdarkly).

You can use the LaunchDarkly Slack app to view, monitor, and control flags from your team's Slack workspace. You can use the app to subscribe to notifications about flag changes, create flag links, interact with approval requests for flags and segments, and more.

<Warning>
  **Slack app permissions**

  The actions you can perform in Slack are limited by your LaunchDarkly role. To learn more, read [About Slack app permissions](/docs/integrations/slack/setting-up#about-slack-app-permissions).
</Warning>

You can use the Slack integration to:

* Subscribe a Slack channel to updates for a set of flags to monitor changes to those flags
* Approve, deny, or comment on approval requests directly in Slack
* Subscribe to a single flag that controls a key feature for continuous monitoring
* Review flag details in Slack and create a flag link to a Slack conversation
* Turn flag targeting on or off from Slack
* Receive notifications about changes to flags you follow within the LaunchDarkly user interface (UI)

<FlagGate flag="docs-enable-slack-app-stale-flags">
  - Get notified when a flag is ready to remove from code
</FlagGate>

To learn how to authorize the app, read [Setting up Slack accounts and permissions](/docs/integrations/slack/setting-up).

## Get help and use slash commands

The Slack app has a help menu that can give you details about what you can do, and it describes the slash commands that you can use to interact with the app and your feature flags.

To access the Help menu, type `/launchdarkly` or `/launchdarkly help` in your Slack client's text bar and press **Enter**. The LaunchDarkly help menu appears with a list of available options.
