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

# Receiving events

> React to Slack activity—messages, mentions, reactions, and button clicks are forwarded to your app.

Slack is two-way. When someone messages a channel your bot is in, @mentions your bot, adds a reaction, or clicks a button you posted, Stardeck forwards that event to your app, and your app can react however you describe.

```mermaid theme={null}
flowchart LR
    User["👤 Someone in Slack"] -- "message / mention / click" --> Slack["Slack"]
    Slack -- "events" --> SD["☁️ Stardeck"]
    SD -- "forwards event" --> App["📱 Your app"]
```

For this to work, the connection's **events URL** must be set in your Slack app's settings—see [Connect Slack](/connected-services/slack/connecting#enable-receiving-optional).

## What your app can react to

Events forwarded to your app include:

* **Messages** — someone posts in a channel your bot is in
* **Mentions** — someone @mentions your bot
* **Reactions** — someone adds or removes an emoji reaction
* **Button clicks & form submits** — someone interacts with a message your app posted (approve/deny buttons, modal forms)
* **Membership changes** — people join or leave channels

## Choosing which app receives events

When several apps are granted the same workspace, you choose which of them receives that workspace's incoming events. Manage this per app in the app's integration settings, so activity reaches exactly the app meant to handle it.

## Build it

Open the app's project chat and describe what should happen:

```
When someone clicks Approve on a refund message in Slack, process the refund and reply in the thread
```

```
When our bot is mentioned with an order number, post that order's status back to the channel
```

The agent wires up receiving the events and posting back. You describe the behavior; you don't manage any of the plumbing.

<Note>
  Slack only forwards messages from channels your bot has been added to. If your app isn't seeing messages, invite the Stardeck bot to the channel.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Connect Slack" icon="plug" href="/connected-services/slack/connecting">
    Add a workspace and enable receiving
  </Card>

  <Card title="Slack overview" icon="slack" iconType="brands" href="/connected-services/slack/overview">
    What you can build with Slack
  </Card>
</CardGroup>
