An unsubscribe should not stop at one provider

When someone opts out, hard-bounces, or reports spam, OpenContact can carry that state across the tools your team uses—not leave it trapped inside the provider that received the event.

Keep opt-outs in sync · See how it works

One event, one canonical status

A connected provider sends OpenContact the suppression event. OpenContact updates the contact to unsubscribed, bounced, or complained and records the source and time in the contact timeline.

That canonical status becomes the basis for downstream behavior. A suppressed contact is not treated as a new active subscriber elsewhere.

Propagate broadly or precisely

Choose suppression wins globally on a sync rule when any suppression should fan out to all of its provider destinations.

For more control, create rules triggered specifically by Unsubscribed, Bounced, or Marked as spam. Add conditions, select destinations, or remove the contact from particular lists.

Designed for provider retries

Webhook providers can retry the same event. OpenContact de-duplicates inbound events and downstream suppression actions so the same provider is not told to suppress one contact repeatedly.

Secure event intake

OpenContact generates a secure callback URL for supported providers. Where the provider API allows it, webhook registration happens automatically. Signatures are verified where available; other providers can be configured manually with the generated URL.

A history you can inspect

Every suppression remains visible in the project activity stream and contact timeline. Read events through the API or forward them to your own systems with signed outbound webhooks.

Next steps

Explore triggers · See reporting and activity · Read the compliance guide