← Back to documentation

Relay Targets

Complete lifecycle guide for email, webhook, Slack, Discord, and Google Sheets relay targets.

12 min read

Relay targets are delivery destinations used by endpoint outputs.

Purpose

Use this guide to:

  • Create and edit targets.
  • Configure webhook auth and custom headers.
  • Connect and choose a Google Sheets file + sheet.
  • Confirm email targets.
  • Send tests.
  • Remove unused targets.

Prerequisites and permissions

  • Signed-in account.
  • Valid destination details (email or webhook URL).
  • Google Sheets targets require a Google account and a spreadsheet you can edit.

Step-by-step workflow

1. Create a target

  1. Open Relay targets.
  2. Select Add target.
  3. Choose type:
  • Email
  • Webhook URL
  • Slack webhook
  • Discord webhook
  • Microsoft Teams
  • PagerDuty
  • Telegram
  • Google Sheets
  1. Enter target value and optional name/description.
  2. Save.

2. Configure webhook targets (Webhook URL type)

Webhook authentication, custom headers, body customization, and header forwarding are configured per endpoint on the Target destinations tab of the endpoint editor, not on the relay target itself. See Endpoint Management — Configure target destinations for details.

Relay target settings for webhook URL type:

  • URL must be http or https and not localhost/private-network ranges.
  • Optional name and description.

3. Configure Google Sheets targets

  1. Select Google Sheets as the target type.
  2. Connect Google when prompted.
  3. Pick a single spreadsheet file.
  4. Choose an existing sheet name or type a new one.

Behavior:

  • If the sheet name does not exist yet, PayloadRelay creates it on first delivery.
  • In organization workspaces, the UI warns that other people in the organization can edit the relay target.
  • During edits, you can reopen the picker using the saved Google connection or reconnect Google to switch accounts.

4. Confirm email targets

Email targets start as Pending.

  1. Open confirmation link.
  2. Confirmation page previews token validity (GET /relay-targets/confirm).
  3. Select Confirm relay target to consume token (POST /relay-targets/confirm/consume).
  4. Verify status becomes Confirmed.

Resend confirmation is available for pending email targets.

5. Edit or delete targets

  • Type cannot be changed after creation.
  • Secrets can be left blank on edit to keep current stored values.
  • Delete fails if the target is still used by an endpoint output.

6. Send test deliveries

Use Send test in the targets list.

Behavior by type:

  • Email: requires confirmed status.
  • Slack/Discord: sends a test message.
  • Webhook: choose method + payload format + include body.
  • Google Sheets: sends a test row to the configured spreadsheet + sheet.

Webhook test rules:

  • Method must be explicit (not ANY).
  • GET/HEAD tests never include body.
  • Test outcomes appear in Activity as TEST_ACCEPTED, TEST_REJECTED, or TEST_RATE_LIMITED.
  • Test deliveries may be temporarily rate-limited; wait for the retry window if this happens.

Expected result and verification checks

  • Target appears with expected type and status.
  • Confirmed email targets are selectable in endpoint outputs.
  • Test deliveries are reflected in Activity.

Common issues and fixes

  • Invalid target URL: check protocol/host format and avoid private hosts.
  • Email target blocked from outputs: confirm target first.
  • Google Sheets picker unavailable: reconnect Google and confirm your account has access to the spreadsheet.
  • Google Sheets delivery errors: verify the connected Google account can still edit the spreadsheet and that the configured sheet name is correct.
  • Test rate-limited: wait for Retry-After window.
  • Webhook test rejected: verify auth type, required credentials, and payload settings.

Related guides