---
title: Slack
description: Send SAP document notifications and files to Slack channels. Supports file uploads, custom message templates, and bot-based delivery.
type: slack
use_cases:
  - Team notifications for new SAP documents
  - Document upload alerts to project channels
  - Failed forwarding alerts and operational monitoring
config_fields:
  - name: channel
    type: string
    required: true
    desc: "Slack channel ID or name (e.g. C0123456789)"
  - name: message
    type: string
    required: false
    desc: "Custom message template (supports placeholders)"
credential_fields:
  - name: bot_token
    type: string
    required: true
    desc: "Slack Bot User OAuth Token (starts with xoxb-)"
---

Send SAP document notifications and files to Slack channels. FileRelay uploads documents and posts messages using a Slack bot, keeping your team informed about new SAP documents in real time.

## Setup

1. Go to [api.slack.com/apps](https://api.slack.com/apps) and click **Create New App**
2. Choose **From scratch**, name the app (e.g. "FileRelay"), and select your Slack workspace
3. In the left sidebar, go to **OAuth & Permissions**
4. Scroll to **Scopes > Bot Token Scopes** and add:
   - `chat:write` — post messages to channels
   - `files:write` — upload files to channels
5. Scroll back up and click **Install to Workspace**, then authorize the app
6. Copy the **Bot User OAuth Token** (starts with `xoxb-`)
7. In Slack, go to the target channel and invite the bot by typing `/invite @YourBotName`
8. In FileRelay, add a **Slack** destination with the bot token and channel ID

> **REPLACE:** Screenshot of the Slack connector configuration form in FileRelay

## How It Works

When a routing rule triggers, FileRelay uploads the SAP document to the specified Slack channel using the `files.upload` API and posts an accompanying message. The bot appears as a regular channel member, and both the file and message are visible to all channel members.

## Channel Configuration

The `channel` field accepts either format:

- **Channel ID** (recommended) — e.g. `C0123456789`. Found by right-clicking the channel name in Slack and selecting **View channel details** (the ID is at the bottom of the details panel).
- **Channel name** — e.g. `sap-documents` (with or without the `#` prefix)

Using the **Channel ID is recommended** because it remains stable even if the channel is renamed.

## Message Customization

The `message` field supports Slack markdown formatting and dynamic placeholders:

| Placeholder | Description | Example Value |
|------------|-------------|---------------|
| `{doc_id}` | SAP document ID | `4500012345` |
| `{doc_type}` | Document type | `Invoice` |
| `{repo_name}` | Repository name | `Vendor Invoices` |
| `{fileName}` | File name with extension | `4500012345.pdf` |
| `{date}` | Current date (YYYY-MM-DD) | `2026-04-04` |

**Example message with Slack formatting:**

```
New *{doc_type}* received: `{doc_id}` from _{repo_name}_
```

If left empty, FileRelay posts a default message with the document name and source details.

## Bot Permissions

| Scope | Purpose |
|-------|---------|
| `chat:write` | Post messages to channels the bot is a member of |
| `files:write` | Upload document files to channels |

## Tips

- **Bot must be in the channel** — The bot can only post to channels where it has been invited. Use `/invite @BotName` in the target channel. If the bot is not in the channel, uploads will fail with a `not_in_channel` error.
- **Private channels** — The bot can be invited to private channels the same way. When using private channels, always use the Channel ID rather than the channel name.
- **Finding the Channel ID** — In the Slack desktop or web app, right-click the channel name, select **View channel details**, and scroll to the bottom. The Channel ID looks like `C0123456789`.
- **File size limits** — Slack allows file uploads up to 1GB on paid plans. Free workspace plans have limited total storage. Most SAP documents are well within these limits.
- **Rate limits** — Slack rate-limits API calls (approximately 1 request per second for file uploads). FileRelay handles rate limiting with automatic queuing and retry with backoff.
- **Multiple channels** — To send documents to multiple channels, create a separate Slack destination for each channel and attach them to the same routing rule.
- **Thread replies** — Messages are posted as top-level messages in the channel. Thread-based grouping is not currently supported.
- **Slack Connect channels** — The bot can post to Slack Connect channels (shared with external organizations) if it has been invited to the channel. This is useful for sharing SAP documents with partners.
