---
title: "Add a direct message step"
description: "Send a Slack direct message from an automation or campaign: choose the sender, the person it goes to and the time, then write it with tokens."
sidebar:
  order: 2
area: flows
feature: steps
appPath: /flows/home
lastVerified: 2026-10-22
version: "2026-10-16"
audience: admin
screenshots:
  - id: flows-steps-add-step-dialog
    caption: The Add Step dialog on Communication, with Send Direct Message first.
related:
  - flows/steps/choose-a-sender
  - flows/steps/format-a-message
  - flows/steps/post-to-a-channel
  - integrations/slack
---

You want a message to land in Slack, where the person already is: a welcome on day one, a nudge to a manager, a note to a buddy. A **Send Direct Message** step sends a Slack DM to one person worked out from the enrolled employee.

## Before you start

- Slack is connected to the workspace. See [Slack](https://support.pynhq.com/integrations/slack/).
- You are a Power User, Admin or Owner, and the automation or campaign exists.

![Add a step opens the Add Step dialog; rows you cannot add in this workspace appear greyed.](https://support.pynhq.com/media/flows/steps/flows-steps-add-step-dialog.png)

## Steps

1. In Pyn, open **Flows** in the left navigation, select **Automations**, then the automation.

2. Select **Add a step**. In the **Add Step** dialog, on **Communication**, select **Send Direct Message**. The step appears in the list and opens in the drawer.

3. Select the pencil next to the title and name the step, for example `Day one hello`.

4. Under **Schedule**, choose when it sends relative to the reference date, the time **at** which it sends and the time zone **in** which that time is read. [Schedule a step](https://support.pynhq.com/flows/steps/schedule-a-step/) explains each option.

5. Under **From**, choose **Pyn Bot** or a connected Slack user. The sender's name and avatar appear above the editor, so you can see how the message will look.

6. Under **To**, choose who receives it: **Employee**, **Buddy**, **HRBP**, **Manager** or **Skip-level Manager**.

7. Write the message. Type `@` to insert a token such as `@principal.preferredName`, and use **Insert widget** for a button, a form or a **Mention Principal** pill. See [Format a message](https://support.pynhq.com/flows/steps/format-a-message/).

8. Select **Preview**, pick an employee under **Preview for principal**, then **Send a test to yourself**. When it reads right, select **Publish** in the top-right corner of the automation.

> **Note:** A direct message goes to the Slack account matched to the recipient's work email. A recipient who is not in the connected Slack workspace gets an **Invalid** delivery rather than a message; see [Delivery statuses](https://support.pynhq.com/flows/steps/reference-delivery-statuses/).

## What you should see

The step card shows your title and its schedule, and the drawer header reads **Enabled**. Your test arrives in Slack from Pyn Bot with the tokens filled in for you. Once the automation is published, each enrollment lists the step under [Enrollments](https://support.pynhq.com/activity/enrollments/) with a **Scheduled** delivery until it sends.

## Related

- [Choose a sender](https://support.pynhq.com/flows/steps/choose-a-sender/) for Pyn Bot, personal Slack senders and auth links.
- [Format a message](https://support.pynhq.com/flows/steps/format-a-message/) for tokens, mentions, buttons and media.
- [Post to a channel](https://support.pynhq.com/flows/steps/post-to-a-channel/) when the message is for a whole channel.
- [Slack](https://support.pynhq.com/integrations/slack/) to connect the workspace.
