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

# Mail Hook

> Run a workflow whenever its unique email address receives a message.

The **Mail Hook** trigger gives the workflow a unique inbound email address.
Send or forward a message to that address to start a run.

## Quick start

<Steps>
  <Step title="Choose the Mail Hook trigger">
    The trigger panel displays this workflow's unique address.
  </Step>

  <Step title="Copy the address">
    Use **Copy Address**, then add it as a recipient, forwarding destination, or
    automation target in any email service.
  </Step>

  <Step title="Use the message">
    Add **Data from Trigger** and connect the sender, subject, body, or
    attachments to later actions.
  </Step>
</Steps>

## Trigger data

| Output                    | Type            | Description                                            |
| ------------------------- | --------------- | ------------------------------------------------------ |
| **Sender Name**           | String          | Display name of the sender, when provided.             |
| **Sender Address**        | String          | Sender's email address, when provided.                 |
| **Subject**               | String          | Message subject.                                       |
| **Plain Text**            | String          | Plain-text message body.                               |
| **HTML**                  | String          | HTML message body.                                     |
| **Is Reply?**             | Boolean         | Whether the message has an `In-Reply-To` header.       |
| **Message ID**            | String          | RFC 822 message identifier without angle brackets.     |
| **Plus Path**             | String          | Text after `+` in the workflow recipient address.      |
| **Additional Recipients** | List of strings | To, CC, and BCC addresses other than the hook address. |
| **Attachments**           | List of files   | Message attachments with filename and content type.    |

Some message fields may be `null` when the sending system does not provide
them.

## Route with plus addressing

Add a suffix before the `@` to carry a lightweight routing value:

```text theme={null}
workflow-address+invoices@run.example.com
```

The run receives `invoices` as **Plus Path** while still targeting the same
workflow.

<Note>
  Additional recipient addresses are deduplicated. The exact address that
  triggered the workflow is excluded from that list.
</Note>

<Warning>
  Treat inbound email as untrusted input. Validate sender addresses, file types,
  and message content before performing sensitive actions.
</Warning>
