Your Account & Data

Export your data as JSON or CSV, request account deletion with a 30-day grace period, and use the onboarding checklist and the public preference center.

This page covers the personal account controls that live outside the main marketing tools: exporting your data, deleting your account, the getting-started checklist on your dashboard, and the public preference center your contacts use to manage their subscriptions.

Account management lives under Settings > Account Management (/dashboard/settings/account).

Exporting your data

You can download a copy of your data at any time from the Export Your Data card. There are two formats.

ExportFormatScopeWho can run it
Complete Data ExportJSONYour profile plus every team you belong to and the data inside itAny signed-in user
Contacts ExportCSVYour contacts with their property values and topic membershipsOwners and admins

Complete data export (JSON)

The JSON export bundles your profile (email, name, image, created/updated timestamps) together with each organization you're a member of and your role in it. For every organization it includes contacts, contact properties, topics, email templates, campaigns, automations, transactional emails, segments, domains, form endpoints, and blocked emails, plus an exportedAt timestamp.

A few fields are deliberately redacted so the file is safe to store:

  • API keys include only the name, key prefix, created time, and last-used time — never the secret value.
  • Webhooks are included without their signing secret.

The file downloads as owlat-data-export-<date>.json.

One organization per deployment

Each Owlat deployment hosts a single team, so the JSON export contains one organization with all of that team's records. The export reads every record in one pass; on very large deployments it can hit Convex's per-call runtime limits and fail, in which case use the CSV contacts export for the data you need most.

Contacts export (CSV)

The CSV export is scoped to contacts and is intended for spreadsheets or migrating into another tool. It requires the contacts:manage permission, so it's available to owners and admins. The button stays disabled if no team is active.

Each row contains these base columns, followed by one column per custom contact property:

ColumnNotes
email
firstName
lastName
sourceHow the contact was added
timezone
createdAtISO 8601
updatedAtISO 8601
topicsThe contact's subscribed topic names, joined with ;

The file downloads as contacts-export-<date>.csv. This is the same shape used by contact import, so an export can be re-imported.

Requesting account deletion

The Delete Account card lets you schedule a permanent deletion with a 30-day grace period.

Open the deletion dialog

Click Request Account Deletion. You can optionally add a reason for leaving (it's stored on the request), then type DELETE to confirm. The confirm button stays disabled until the text matches exactly.

A deletion request is scheduled

Submitting records a pending deletion dated 30 days out and generates a one-time cancellation token. The page then shows a banner with the exact deletion date and a days remaining counter.

Cancel any time during the grace period

While a deletion is pending, the same page shows Cancel Account Deletion. Cancelling restores the account immediately. The cancellation can also be performed without signing in, via the secret token in the confirmation email (see below).

After the grace period, a daily background job removes accounts whose scheduled date has passed.

Deletion confirmation email

When you request deletion, Owlat automatically sends a deletion-confirmation email through the configured system email transport (MTA, Resend, or SES), carrying a tokenised Cancel Account Deletion link that points at the standalone /cancel-deletion?token=… page. The send is best-effort (scheduled, not awaited), so the in-app banner on the settings page remains the primary way to cancel while signed in.

Deletion is permanent

Once the 30-day grace period ends, the account and its data cannot be recovered.

The onboarding checklist

New users see a Get your instance ready checklist on the dashboard. It tracks six setup milestones and fills in automatically as you complete them — there's nothing to tick off manually.

StepMarked done when…Where it links
Configure a sending providerA delivery provider is configuredDelivery settings
Add contactsAt least one contact existsContacts
Create emailAt least one email template existsMarketing emails
Send campaignAt least one campaign has reached sentCreate a Campaign
Create an API keyAt least one API key existsAPI key settings
Set up domainAt least one domain is verifiedDeliverability

A progress bar shows how many of the six steps are complete. You can dismiss the checklist with the × button or the I'll do this later link; it also disappears on its own once all six steps are done. Because completion is computed from your actual data, dismissing it never loses progress — the steps stay checked if you bring it back.

The public preference center (for your contacts)

When you send marketing email, recipients get a link to a standalone preference center at /preferences?token=…. It runs without a login: the token in the link identifies the contact and is verified server-side. Contacts use this page to choose which topics they want to hear about.

The page shows the contact's email, the team name, and a toggle for each available topic. Saving sends only the changed toggles back to the server, which subscribes or unsubscribes the contact from each affected topic.

Transactional email still sends

The preference center footer reminds contacts that transactional messages (like password resets) may still be sent regardless of their topic choices. See Transactional Emails.

Expired links

Preference tokens are derived from the email a contact received, so an old link can expire. If a contact reports an expired link, ask them to open the preference link from a more recent email.

For how subscriptions, double opt-in, and the underlying token system work, see Topics.