---
title: Postmark
description: Configure Postmark as an email provider in Notiflows
---

Postmark is a fast, reliable transactional email service with detailed delivery analytics.

## Prerequisites

Before configuring Postmark in Notiflows, you need:

1. A [Postmark account](https://postmarkapp.com)
2. A verified sender signature (domain or email address)
3. A Server API Token

## Configuration

| Field | Required | Description |
|-------|----------|-------------|
| Server Token | Yes | Postmark Server API Token |
| From Email | Yes | A verified sender address |
| From Name | No | Display name shown to recipients |
| Message Stream | No | Postmark message stream (defaults to transactional) |

## Step 1: Verify a sender signature

Postmark requires a verified sender signature before you can send email.

1. Log in to the [Postmark dashboard](https://account.postmarkapp.com)
2. Go to **Sender Signatures**
3. Click **Add Domain** or **Add Sender Signature**
4. For domain verification, add the provided DNS records (DKIM and Return-Path)
5. For single email verification, confirm via the verification email

## Step 2: Get your Server API Token

1. In the Postmark dashboard, select your **Server**
2. Go to **API Tokens**
3. Copy the **Server API Token**

<Callout>
Each Postmark server has its own API token. Make sure you're copying the token from the correct server.
</Callout>

## Step 3: Set up in Notiflows

1. Navigate to **Channels** in your project
2. Click **Create Channel**
3. Select **Email** as the channel type
4. Select **Postmark** as the provider
5. Paste your **Server Token**
6. Enter your verified **From Email** and optionally a **From Name**
7. Optionally set a **Message Stream** (e.g., `outbound` for transactional, or a custom stream name)
8. Save the channel

## Templates

Email templates support three content types:
- **Visual** - Drag-and-drop editor for rich HTML emails
- **HTML** - Raw HTML with full control
- **Plaintext** - Simple text emails

Use Liquid templating for dynamic content:

```liquid
Hi {{ recipient.first_name }},

{{ data.message }}
```

Available variable contexts:
- `recipient.*` - Recipient user data (first_name, last_name, email, etc.)
- `actor.*` - User who triggered the notification
- `data.*` - Custom payload passed when triggering the notiflow
