Workspaces
Workspaces allow you to organize your messaging and analytics into separate environments within a single organization. Each workspace maintains its own configuration, user data, campaigns, and analytics.
Managing Workspaces
Navigate to Settings to view and manage your workspaces.
Creating a Workspace
- Go to Settings
- Click Create Workspace
- Enter a Name and optional Description
- Click Create
Deleting a Workspace
Deleting a workspace permanently removes all its data: settings, user profiles, events, campaigns, canvases, templates, API keys, impressions, and analytics. Most data is removed immediately; analytics events are purged asynchronously and may take a little while to fully disappear. This action cannot be undone.
Only users with the admin role can see or use the delete button.
- In the workspace list, click the Delete button next to the workspace (only visible to admins).
- A confirmation dialog opens showing the workspace name.
- Type the workspace name into the input field - the name must match exactly (case-sensitive) before the red Permanently delete button enables.
- Click Permanently delete.
- You'll see a completion summary showing how many records were deleted and confirming that analytics-event cleanup was scheduled. If the summary reports any failures, contact support - some analytics data may not have been fully purged yet.
The old "hide workspace" flow that simply flipped a workspace to
inactive still exists via the API for non-destructive archiving. The
UI button described above is the destructive hard-delete. There's no
undo - if you only want to archive, contact support instead.
What gets deleted
- Workspace settings and engagement data - campaigns, canvases, templates, API keys, message engagement records, and the workspace configuration itself are deleted immediately.
- User profiles - all profiles, devices, aliases, and list subscriptions belonging to the workspace are deleted immediately.
- Analytics events - deletion is scheduled and completes asynchronously; events can take a few minutes to be fully purged.
Every purge is recorded in the audit log with per-category deletion
counts. You can review past purges under Settings → Audit Log by
filtering on the workspace_hard_deleted action.
General Settings
Configure basic workspace-level defaults:
| Setting | Description |
|---|---|
| Workspace Name | Display name for this workspace |
| Timezone | The workspace's local timezone, used to draw time boundaries for scheduling and analytics |
| From Email | Fallback default sender address. Email sender identities - and per-campaign / per-variant senders - are managed under Email Configuration. |
| From Name | Fallback default sender display name (see Email Configuration for per-sender names). |
All data is stored in UTC. The workspace timezone doesn't change how timestamps are saved - it controls how time boundaries are computed at read time: what counts as "today", where day/week/month buckets begin, retention cohort edges, and quiet-hour windows. Changing the timezone re-aligns your reports to a new local day without rewriting any stored data.
Quiet Time
Quiet time settings prevent messages from being sent during specific times or on specific dates. This helps you respect your users' time and comply with messaging regulations. The page has two tabs: Schedule and Holidays.
Global options
These apply across every channel:
- Timezone - evaluate quiet windows in the recipient's local time or your organization time.
- When a message hits a quiet window - the org-wide default behavior: delay to the next open slot or skip (drop the message). Individual channels can override this (see below).
Per-channel quiet windows
Each channel owns its own quiet windows: Email, Push, SMS, WhatsApp, Webhook. (In-app is intentionally excluded - in-app messages only appear when the user opens the app, so send-time quiet hours don't apply.) Toggle a channel on, then define its windows in one of two views:
- Rules view - add one or more windows, each with selected days (Sun–Sat) and a time range (e.g. 22:00–08:00, which wraps past midnight) or All day. Presets: Weeknights, Weekends, Custom. The page flags overlapping rules and days no rule covers.
- Grid view - a 7×24 grid you drag across to block specific hour cells. Switching from Rules to Grid pre-paints the grid from your rules.
Per-channel behavior - choose what happens to a message that hits this channel's window:
- Delay - always defer it to the end of the window (even if the global behavior is Drop)
- Drop - always skip it (even if the global behavior is Delay)
- Use global - follow the org-wide behavior above
Holidays
On the Holidays tab, add one-off dates that override every channel's weekly schedule - useful for company closures or public holidays. Add dates manually (with an optional label), or import a country preset (United States, United Kingdom, Germany, Israel, India, Japan). An "Upcoming" panel shows the next blocked dates.
Transactional bypass
The Allow transactional bypass toggle lets order receipts, password resets, and other critical-alert messages still send during quiet times. Marketing campaigns always respect channel rules.
Touching Rules (Frequency Capping)
Touching rules limit how many messages a user receives within a time window, preventing message fatigue. Each channel - and the cross-channel ceiling - can hold up to four rules, and all of them must pass for a message to be sent (e.g. "10 push/day and 20 push/week").
Rules and tags
Each rule is a max, a window (day / week / month), and optional tags:
- A rule with no tags applies to every message on that channel.
- A tagged rule only counts messages that carry one of its tags (a message inherits its campaign's or journey's tags). So "3 push/day for
#promoand 10 push/day overall" is two meaningful caps, not a duplicate.
The page flags redundant rules (two rules with the same window and tag scope) so you can differentiate or remove one.
Cross-channel ceiling
A total cap across ALL channels combined (also up to four rules). When enabled, both the per-channel rules and the cross-channel ceiling must pass.
Per-channel notes
| Channel | Notes |
|---|---|
| Email / Push / SMS / WhatsApp / Webhook | Capped at send time; counts messages actually sent. |
| In-App | Capped by impressions (counted when the message is displayed), enforced when the SDK fetches eligible messages. |
Caps apply to both campaigns and journeys (a journey skips the send and continues when a user is over the cap).
Additional options
- Count Failed Deliveries - include failed delivery attempts in the counts.
- Apply to Transactional Messages - shown but not yet enforced (there's no transactional-message flag in the pipeline yet).
Individual campaigns and journey messages can bypass touching rules with the Ignore touching rules option - use it only for critical or time-sensitive messages (security alerts, receipts, legal notices).
Workspace Isolation
Each workspace operates independently:
- Users - User profiles and attributes are scoped to the workspace
- Campaigns - Email, push, SMS, WhatsApp, and in-app campaigns are workspace-specific
- Segments - User segments are defined per workspace
- Analytics - All analytics and dashboards reflect workspace-level data
- Settings - Provider configurations, touching rules, and quiet time are per-workspace
This isolation allows you to use separate workspaces for different products, brands, or environments (e.g., staging vs. production).