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

# Slack

> Configure the Costory Slack integration to send scheduled cost reports and alerts to your Slack channels.

Connect Costory to Slack so your teams receive cost reports, alerts, and digest summaries where they already collaborate.

Use this setup if you want to deliver:

* Scheduled reports from [Cost Reports](/features/slack-reports)
* Notifications from [cloud cost alerts](/features/alerts)
* Digest summaries from [Digest](/features/digest)

## Prerequisites

* A Costory organization with at least one active user.
* A **Slack Workspace Administrator** invited to your Costory organization.
* Access to the **Integrations** page in the Costory app.

## Recommended: create a dedicated channel

Before installation, create one or more channels for cloud cost updates, for example `#cloud-cost-updates`.

Include the people who need recurring visibility:

* Engineering
* DevOps or platform teams
* Finance or FinOps stakeholders

## Install the Costory Slack app

<Steps>
  <Step title="Open the Costory integration page">
    Sign in to Costory and open **Integrations** in the Costory app.
  </Step>

  <Step title="Start Slack installation">
    Select **Slack** and click the install action to open the Slack
    authorization screen.
  </Step>

  <Step title="Review requested permissions">
    Confirm the requested Slack scopes listed below.
  </Step>

  <Step title="Authorize and return to Costory">
    Click **Allow** in Slack, then return to Costory.
  </Step>

  <Step title="Add the Costory bot to target channels">
    In each Slack channel where you want updates, invite the bot with
    `@costory`.
  </Step>

  <Step title="Send a test notification">
    Back in Costory, refresh the integration page and send a test message to
    verify channel delivery.
  </Step>
</Steps>

## Slack scopes and why Costory requests them

| Scope              | Why Costory needs it                                                                                              |
| ------------------ | ----------------------------------------------------------------------------------------------------------------- |
| `chat:write`       | Send reports and alert messages to channels, direct messages, and group direct messages where the bot is present. |
| `commands`         | Support slash commands such as creating Costory events from Slack.                                                |
| `channels:read`    | Read public channel metadata so channel destinations can be selected.                                             |
| `groups:read`      | Read private channel metadata for channels where the bot has been invited.                                        |
| `im:read`          | Read direct message conversation metadata where the bot is present.                                               |
| `mpim:read`        | Read group direct message metadata where the bot is present.                                                      |
| `users:read`       | Read basic workspace user details for account mapping.                                                            |
| `users:read.email` | Match Costory users to Slack users by email address.                                                              |

## Scope usage summary

* `chat:write`, `channels:read`, `groups:read`, and `im:read` are used to post cost updates in the channels you choose.
* `im:read`, `mpim:read`, and `chat:write` are used when notifications are sent to direct recipients instead of channels.
* `users:read` and `users:read.email` map Costory members to Slack users.
* `commands` enables Slack command workflows, including event creation from Slack.

<Info>
  Costory can post only where it is explicitly invited. It does not auto-join
  channels.
</Info>

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Can Costory read all messages in our Slack workspace?">
    No. Costory works only in channels or conversations where the bot is
    explicitly present, and it is used for destination setup and notification
    delivery.
  </Accordion>

  <Accordion title="Who can install the Slack integration?">
    A Slack Workspace Administrator must authorize the Costory app.
  </Accordion>

  <Accordion title="Can we change channels later?">
    Yes. You can invite the bot to new channels and update destinations at any
    time.
  </Accordion>

  <Accordion title="Why is my channel missing in Costory?">
    Make sure the bot was invited to that channel, then refresh the integrations
    page in Costory.
  </Accordion>
</AccordionGroup>

## Related setup guides

<CardGroup cols={2}>
  <Card title="FinOps MCP" icon="sparkles" href="/features/mcp">
    Create Cost Reports and alerts from Claude or Cursor
  </Card>

  <Card title="Set Up Teams Integration" icon="microsoft" href="/setup/collaboration/teams">
    Configure Microsoft Teams as a destination.
  </Card>

  <Card title="Set Up Email Delivery" icon="envelope" href="/setup/collaboration/email">
    Send reports and alerts to email recipients.
  </Card>

  <Card title="Cost Reports" icon="file-chart-line" href="/features/slack-reports">
    Schedule recurring cost reports.
  </Card>

  <Card title="Cloud cost alerts" icon="triangle-exclamation" href="/features/alerts">
    Send threshold-based notifications.
  </Card>
</CardGroup>
