> ## 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: New Direct Message

Triggers when a new direct message is received. Useful for building chatbots, auto-responders, or processing DM-based commands.

Trigger Communications

Triggers when a new direct message is received. Useful for building chatbots, auto-responders, or processing DM-based commands.

## At a Glance

| Field | Value |
| --- | --- |
| Trigger ID | `slack-new-direct-message` |
| Category | Communications |
| Tags | `slack`, `communication`, `dm`, `direct-message`, `chat` |

## Trigger Configuration

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ignoreBot` | `boolean` | No | If true, bot messages will be ignored and won't trigger the workflow. |

## Trigger Result

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `triggeredAt` | `string` | Yes | Timestamp when the event was received \(UTC, RFC3339 format\) |
| `eventType` | `string` | No | Slack event type \(e.g. message\) |
| `channel` | `string` | No | DM channel ID |
| `user` | `string` | No | User ID who sent the message |
| `text` | `string` | No | Message text content |
| `ts` | `string` | No | Message timestamp |
| `channel_type` | `string` | No | Channel type \(im for direct messages\) |

## Workflow Root Example

```json
{
  "nodes": {
    "root": {
      "type": "slack-new-direct-message",
      "payload": {
        "ignoreBot": true
      },
      "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`.