# Channels, consent &amp; opt-outs

**Category:** [Engage](https://help.totalctrl.app/hc/totalctrl/totalctrl-help-center/en-US/categories/engage)
**Updated:** 2026-10-04

Engage supports **email** (live), **SMS** and **mobile push** (turn on per channel), **in-app**, and WhatsApp (coming soon). Enable a channel from *Engage → Overview → Channels*.
### How consent is enforced

Before any message sends, Engage checks — in one place — that the contact:

- has not been suppressed (hard bounce or complaint),
- has not opted out of that specific channel,
- has not withdrawn consent (for marketing messages), and
- is within your **frequency cap** (for marketing messages).

**Transactional** messages (receipts, security notices) bypass the frequency cap and consent-withdrawal checks, but never bypass a hard suppression or bounce.
### Frequency capping

Set a per-tenant cap (e.g. "at most 3 marketing messages per contact per 7 days") so you never over-message. The cap applies across *all* channels combined.

---

## Related Articles

- [What is Engage?](https://help.totalctrl.app/en-US/articles/engage-overview)
- [Outcomes, A/B tests &amp; reporting](https://help.totalctrl.app/en-US/articles/engage-outcomes)
- [Journeys](https://help.totalctrl.app/en-US/articles/engage-journeys)
- [Insert links to your other apps in a template](https://help.totalctrl.app/en-US/articles/engage-template-app-links)
- [Campaigns](https://help.totalctrl.app/en-US/articles/engage-campaigns)

---
[← Back to TotalCtrl Help Center](https://help.totalctrl.app/en-US/)