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

# Slack

> Send notifications and updates to Slack channels and users from Firstwork automations

## Overview

Firstwork integrates with **Slack** to send notifications, alerts, and updates to your team's channels. Keep your hiring team informed in real-time about application updates, compliance results, and workflow events.

## Setup

### Create a Slack app

1. Visit the [Slack API portal](https://api.slack.com/apps)
2. Create a new app for your workspace
3. Configure the required permissions (chat:write, channels:read)

### Install to workspace

Install the Slack app to your workspace and authorize the required permissions.

### Configure in Firstwork

Add the Slack Bot Token to your Firstwork company settings under **Settings > Integrations > Slack**.

## Slack Message Action

The **Slack Message** action in automations:

| Configuration | Description                                                                                                                                                                        |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Channel       | Target Slack channel                                                                                                                                                               |
| Message       | Message content with formatting                                                                                                                                                    |
| Variables     | [Dynamic variables](/knowledge-base/dynamic-variables) for dynamic content, including [Object Graph](/knowledge-base/object-graph) paths when the message references platform data |

### Message Formatting

Slack messages support rich formatting:

```
*New Application Received*

Candidate: {{application.candidate.first_name}} {{application.candidate.last_name}}
Hiring Flow: {{application.hiring_flow.name}}
Stage: {{application.current_stage.name}}
Applied: {{application.created_at}}
```

## Common Use Cases

| Use Case            | Trigger                 | Channel             |
| ------------------- | ----------------------- | ------------------- |
| New application     | Application created     | #hiring-feed        |
| Stage change        | Application advanced    | #hiring-updates     |
| Compliance failure  | Rule evaluation failed  | #compliance-alerts  |
| Document uploaded   | Document submitted      | #document-review    |
| Interview scheduled | Booking confirmed       | #interview-schedule |
| Offer accepted      | Application completed   | #offers             |
| Automation failure  | Action execution failed | #ops-alerts         |

## Best Practices

* Use dedicated channels for different notification types to avoid noise
* Include relevant links in messages so team members can take action quickly
* Set up rules to only notify on important events, not every minor change
* Use thread replies for related updates to keep channels organized
