Notification profiles let you define where feedback notifications are delivered. Each profile has a unique name (used as the --notify CLI flag value) and one or more notification channels: Email, Slack, Discord, Microsoft Teams, Google Chat, or a custom webhook.

This feature is available on the Business plan only.

Use Case

Imagine you work with multiple clients — Acme Corp, Beta Inc, and Gamma LLC. Each client reviews previews through their own Slack channel. You create one notification profile per customer, each configured with that customer's Slack webhook. When deploying a preview for Acme Corp, you pass --notify acme-corp. Their reviewers' feedback goes straight to Acme Corp's Slack channel — not Beta Inc's.

Creating a Notification Profile

Navigate to Dashboard → Notifications & Webhooks and click + New Profile.

Fields

FieldRequiredDescription
NameYesA unique slug used with the CLI --notify flag. Alphanumeric, hyphens, underscores. 1–50 characters.
Display LabelNoA human-readable label shown in the Dashboard (e.g. Acme Corp).
EmailNoAn email address that receives a notification for each new feedback submission.
Slack WebhookNoAn Incoming Webhook URL from Slack (https://hooks.slack.com/services/...).
Discord WebhookNoA Discord channel webhook URL (https://discord.com/api/webhooks/...).
Microsoft Teams WebhookNoA Teams Incoming Webhook or Power Automate Workflows URL. Sends Adaptive Card notifications.
Google Chat WebhookNoA Google Chat space webhook URL (https://chat.googleapis.com/v1/spaces/...). Sends Card V2 notifications.
Custom Webhook URLNoAn HTTPS endpoint that receives a JSON POST for each new feedback submission.

At least one notification channel is recommended, but you can create a profile with no channels and use it purely as a label for filtering in the Dashboard inbox.

Using in the CLI

Pass the profile's Name to the --notify flag when deploying a preview:

# Deploy with feedback widget + route to a named profile
prev --feedback --notify acme-corp .

# Named profiles work with all other flags
prev --feedback --notify acme-corp --subdomain acme-review --ttl 7d .

The --notify flag requires --feedback to be set. Using --notify without --feedback has no effect.

Notification Channels

Slack

To set up a Slack Incoming Webhook:

  1. Go to api.slack.com/apps and create or open your app
  2. Enable Incoming Webhooks
  3. Click Add New Webhook to Workspace and select a channel
  4. Copy the webhook URL (starts with https://hooks.slack.com/services/)
  5. Paste it into the Slack Incoming Webhook field in your notification profile

Each feedback submission sends a Slack message with the reviewer's message, approval status, page URL, and a link to the preview environment.

Discord

To set up a Discord Webhook:

  1. Open your Discord server and go to Server Settings → Integrations → Webhooks
  2. Click New Webhook, set a name, and select a channel
  3. Copy the Webhook URL (starts with https://discord.com/api/webhooks/)
  4. Paste it into the Discord Webhook field in your notification profile

Microsoft Teams

Teams supports incoming webhooks via Power Automate Workflows (recommended) or classic Incoming Webhooks:

  1. In Teams, open the channel where you want notifications
  2. Click WorkflowsPost to a channel when a webhook request is received
  3. Follow the wizard and copy the generated webhook URL
  4. Paste it into the Microsoft Teams Webhook field in your notification profile

Each feedback submission sends an Adaptive Card with the approval status, reviewer message, environment link, and metadata.

Google Chat

To set up a Google Chat webhook:

  1. Open Google Chat and navigate to the space where you want notifications
  2. Click the space name → Apps & integrationsWebhooks
  3. Click Create webhook, give it a name, and copy the URL (starts with https://chat.googleapis.com/v1/spaces/)
  4. Paste it into the Google Chat Webhook field in your notification profile

Notifications arrive as Cards V2 with the approval status, message, and a button linking to the preview environment.

Email

Enter any valid email address. prev sends a plaintext email for each new feedback submission. Useful for clients who prefer email over messaging apps.

Custom Webhook

Enter an HTTPS URL. prev sends a POST request with a JSON body for each new feedback submission. This lets you integrate with any system — Jira, Linear, Basecamp, a custom dashboard, etc.

Webhook Payload

{
  "event": "feedback.submitted",
  "environment": {
    "id": "env_abc123",
    "subdomain": "acme-review",
    "region": "us",
    "url": "https://acme-review.us.prev.sh"
  },
  "feedback": {
    "id": "fb_xyz789",
    "message": "Looks great, but can we change the button color?",
    "approved": false,
    "clientName": "Jane Smith",
    "pageUrl": "https://acme-review.us.prev.sh/dashboard",
    "submittedAt": "2026-03-11T14:32:00Z"
  }
}

Your endpoint should return a 2xx HTTP status code. Delivery is best-effort — failed deliveries are not automatically retried.

Managing Profiles

In the Dashboard under Notifications & Webhooks, you can:

  • Edit: Update the display label, email address, or any webhook URL at any time. The name (slug) cannot be changed after creation.
  • Delete: Remove a profile. Existing environments that referenced this profile continue to function, but future feedback from those environments will no longer trigger notifications.

Multiple Channels per Profile

A single notification profile can have all channels configured simultaneously. prev sends notifications to all configured channels for each feedback submission. This is useful if you want to notify both a Slack channel and a project management webhook at the same time.

Plan Availability

Notifications & Webhooks are a Business plan feature. The --notify CLI flag is accepted on all plans but only takes effect when the account has an active Business subscription. On the Individual plan, deploying with --notify still enables the feedback widget — but no notifications are sent.