Skip to main content

Targets (Legacy: Destinations)

Status: DEPRECATED TERMINOLOGY — This page uses legacy terminology. The current canonical term is Target. See Zen Mesh Concepts — Target for the current definition and the Targets API for programmatic configuration.

The product model has moved from "Destination" to Target as the canonical term. A destination is now called a target in the UI, API, and documentation. The functionality described on this page is still available under the Targets surface.

What Is a Target?​

A target is a URL in your cluster where Zen Mesh delivers webhook events. Each target is associated with a cluster and optionally an adapter.

Creating a Target​

  1. Navigate to Destinations in the dashboard
  2. Click Add Target
  3. Fill in:
    • Name: A descriptive name (e.g., stripe-to-payment-service)
    • URL: The internal URL of your service (e.g., http://payment-svc:8080/webhooks)
    • Cluster: Select the cluster where this service runs
    • Adapter (optional): Transform events for a specific service
  4. Click Save

Ingestion URL​

After creating a destination, Zen Mesh provides an ingestion URL:

https://ingest.zen-mesh.io/hooks/<hook-id>

Configure your webhook source (Stripe, GitHub, etc.) to send events to this URL.

Environment Scoping​

Destinations can be scoped to environments (e.g., production, staging). This lets you route the same webhook source to different clusters based on the environment:

  • production environment → delivers to production cluster
  • staging environment → delivers to staging cluster

Health Checks​

Zen Mesh monitors destination health:

  • Healthy: Delivery succeeding within SLA
  • Degraded: High latency or intermittent failures
  • Unhealthy: Consecutive delivery failures

Unhealthy destinations trigger automatic backoff and retry with exponential backoff.

Delivery Guarantees​

GuaranteeDescription
At-least-onceEvents are retried until acknowledged or DLQ'd
OrderedEvents from the same source are delivered in order
IdempotentDuplicate events are detected via HMAC signatures

Dead Letter Queue​

Events that fail delivery after all retries are moved to a Dead Letter Queue (DLQ). You can inspect and replay DLQ events from the dashboard.

Configuration Reference​

SettingDescriptionDefault
NameHuman-readable identifier for the destinationRequired
URLTarget service URL where events are deliveredRequired
ClusterCluster where the destination service runsRequired
AdapterTransform events for provider-specific payloadsOptional
EnvironmentEnvironment scoping (production, staging, etc.)Optional
Retry PolicyMax retries, backoff interval, timeoutInherited from delivery flow

Example: Multiple Destinations​

Route Stripe charge events to a payment service and an analytics pipeline:

destinations:
- name: payment-processor
url: http://payment-svc:8080/webhooks
cluster: prod-us-east
- name: analytics-pipeline
url: http://analytics:9090/events
cluster: prod-us-east