Before you start
- A website or API deployed from GitHub. Other app types, and apps from a Docker image or a template, have no previews.
- Pull requests from a branch of the same repository. Pull requests from forks are never built. Draft pull requests are built.
How many previews you get
The app’s size sets how many previews can run at the same time.
When all of them are in use, a new pull request gets no preview until one closes. Running previews are never removed to make room.
Turn on previews
1
Open Settings
Open the app and go to Settings, Preview environments.
2
Turn them on
Tick Preview environments and click Save.

3
Open a pull request
Open a pull request on the app’s repository. Its preview appears on the Deploys tab within a minute.
Find and manage previews
On the Deploys tab, Preview environments lists one row per pull request, with its state, its address and when it expires.- Redeploy builds the preview again from the pull request’s latest commit.
- Delete removes the preview. Your app is not touched, and the next push to the pull request builds a new preview.
What a preview runs with
- Environment variables: the app’s own, secrets included.
- Databases: none. A preview never gets the login of a database linked to the app, and a preview of an app that needs its database starts without one. A connection string you added yourself as an environment variable does reach previews.
- Sleeping: previews sleep when idle. The first request after a quiet period takes a few seconds longer.
- Expiry: a preview is deleted when its pull request closes, or 7 days after its last push.
Do it from your tools
$APP_ID is the app’s ID from List app services or raff apps list. $RAFF_API_KEY is an API key.
Next steps
Roll back a deploy
Go back if a merged change breaks the app.
Reconnect GitHub to Raff Apps
Fix pushes that stopped deploying.