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

# Slack: Button Click / Interaction

Triggers when a user clicks a button or interacts with a Block Kit element in a Slack message. Useful for building approval workflows, interactive forms, and action-based automations.

Trigger Communications

Triggers when a user clicks a button or interacts with a Block Kit element in a Slack message. Useful for building approval workflows, interactive forms, and action-based automations.

## At a Glance

| Field | Value |
| --- | --- |
| Trigger ID | `slack-new-interaction-event` |
| Category | Communications |
| Tags | `slack`, `communication`, `interaction`, `button`, `approval`, `block-kit` |

## Trigger Configuration

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `conversations` | `array` | No | Only listen for interactions in these channels. Leave empty for all channels. |
| `action_ids` | `array` | No | Only listen for these specific action IDs \(button identifiers\). Leave empty for all actions. |

## Trigger Result

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `triggeredAt` | `string` | Yes | Timestamp when the event was received \(UTC, RFC3339 format\) |
| `action_id` | `string` | No | The action_id of the clicked button or interactive element |
| `value` | `string` | No | The value attached to the button \(can be JSON-encoded data\) |
| `user` | `string` | No | User ID who performed the interaction |
| `channel` | `string` | No | Channel ID where the interaction occurred |
| `message_ts` | `string` | No | Timestamp of the message that was interacted with |
| `response_url` | `string` | No | URL to send follow-up messages or update the original message |

## Workflow Root Example

```json
{
  "nodes": {
    "root": {
      "type": "slack-new-interaction-event",
      "payload": {
        "conversations": [],
        "action_ids": []
      },
      "children": [
        "log_event"
      ]
    },
    "log_event": {
      "type": "log",
      "payload": {
        "message": "Triggered at {{$trigger.triggeredAt}}"
      },
      "children": []
    }
  }
}
```

**Reference trigger output**

Downstream nodes can use `{{$trigger.triggeredAt}}` and any result fields listed above. Event triggers usually expose the raw source payload under a field such as `event`, `body`, `trade`, or `raw`.