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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Send ephemeral message

> Send a Slack message visible only to one channel member.

`slack.sendEphemeralMessage` sends a non-persistent message that only one member can see.

## Example

```ts automations/send-ephemeral-message.automation.ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { slack } from "automate.ax/slack"

export default automation("Send ephemeral message", () => {
  onDashboardRun({ title: "Send ephemeral message" })

  slack.sendEphemeralMessage({
    conversationId: "C01234567",
    userId: "U01234567",
    text: "This approval is assigned to you.",
  })
})
```

## Inputs

| Input                              | Type            | Required | Description                     |
| ---------------------------------- | --------------- | -------- | ------------------------------- |
| `conversationId`                   | `string`        | Yes      | Destination conversation ID.    |
| `userId`                           | `string`        | Yes      | Member who can see the message. |
| `text`, `blocks`, or `attachments` | Message content | Yes      | Ephemeral message content.      |
| `threadTimestamp`                  | `string`        | No       | Parent message timestamp.       |

## Output

Returns the `conversationId` and Slack `timestamp` for the ephemeral delivery. Requires `chat:write`; the recipient must belong to the conversation.
