Link profiles together with relation fields
Unified profiles can now reference each other. A new relation field system lets you define how one record type connects to another. An event record can point to a person profile via email, for example, and Oneprofile resolves that link automatically during ingestion.
On the profile detail page, two new sections make these connections visible. Linked Profiles shows every profile that the current record references directly. Related Records shows all records from other types that link back to the current profile, like events associated with a person. Both sections are paginated so you can browse through large histories.
Define relation fields between record types in Unified Profile settings
See linked profiles and related records on every profile detail page
Built-in event-to-person relation is seeded automatically for new organizations
Choose whether new record types merge or stay separate
When you create a record type in Unified Profile settings, a new toggle controls whether records of that type participate in identity resolution. Turn it on for types like Person or Company where you want records from multiple sources merged into one profile. Turn it off for types like Event where each record should stay separate.
Append-only record types (events, activities) are never merged across sources
The setting is locked after creation to prevent data inconsistencies
A built-in Event record type is seeded with append-only behavior and an event_id primary key
Browse all integrations in the Integration Directory
A new Integration Directory page gives you a searchable catalog of every integration Oneprofile supports, including ones not yet available. Each integration shows its category, whether it works as a source or destination (or both), and a description of what it does. For live integrations, you can jump straight to setup. For upcoming ones, a "Notify Me" button lets you signal interest.
Search and filter across all integrations by name or category
See source/destination support and status at a glance
Request upcoming integrations to influence the roadmap
Send alert notifications to any webhook endpoint
Webhook is now available as a notification channel for alerts, alongside email, Slack, and in-app. Point it at PagerDuty, Opsgenie, or any HTTP endpoint that accepts POST requests. Webhook URLs must use HTTPS. Credentials in query strings are masked in the UI so they never appear in API responses.
Route alert notifications to PagerDuty, Opsgenie, or custom HTTPS endpoints
HTTPS-only with SSRF protection and credential masking
Detect unusual profile counts with anomaly alerts
A new alert condition fires when the number of profiles imported by a sync run deviates from its recent average by more than a threshold you set. You configure the sensitivity (percentage deviation) and how many past runs to average over. The alert detail shows the actual count, the rolling average, and the percentage deviation.
Set a deviation threshold and lookback window per alert rule
Catch unexpected spikes or drops in sync volume before they cascade
Filter alert history and rules server-side
Alert History and Alert Rules tables now support column-level filtering that runs server-side. In alert history, filter by date range, rule, condition type, delivery status, or sync name. In alert rules, filter by enabled status, condition type, linked sync, or channel type. When filters return no results, a filtered empty state appears with a clear filters action.
Column filters on both alert tables for faster troubleshooting
Server-side execution handles large datasets without browser lag
Send test messages to notification channels
Each email and Slack notification channel now has a "Send Test" button. Click it to fire a real test notification through that channel immediately. Error messages for common Slack failures (revoked token, bot removed from channel) show in plain language instead of raw API errors.
Verify channel configuration works before relying on it for alerts
Clear error messages for Slack token and permission issues
Alert rule activity feed
Every alert rule has an activity log on its detail page. The feed records every change: creation, deletion, enable/disable, and individual field edits like threshold adjustments or channel additions. Each entry shows who made the change and when.
Full audit trail for every alert rule modification
See which team member changed a setting and what they changed
Improved email alert notifications
Email alert notifications now include the rule name and a direct link to the relevant dashboard page. If the alert was triggered by a sync run, the link goes straight to that run. Timestamps in emails are formatted in a readable way, omitting the year when it matches the current one.
One-click navigation from alert email to the relevant sync run or rule
Human-readable timestamps in all email notifications
Delete sources, destinations, and syncs in bulk
You can now select multiple items in the Sources, Destinations, or Syncs list and delete them all at once. A confirmation dialog shows what will be removed. If any selected source or destination still has active syncs, the operation is blocked with a clear error explaining which syncs need to be removed first.
Select up to 100 items and delete them in one action
Active sync protection prevents accidental data loss
Navigate with the command palette
Press Cmd+K (or Ctrl+K) anywhere in the app to open a command palette. Type to fuzzy-search all pages by name or keyword and jump to any section instantly. The palette also includes quick actions for switching between light mode, dark mode, and system appearance.
Keyboard-first navigation without touching the sidebar
Switch themes from the command palette or user profile settings
Preview data by record type during source setup
When setting up or editing a source integration, the preview step now shows a toggle when the source returns multiple record types. Switch between Person, Company, or other types to inspect each one's sample fields before saving.
See exactly which fields each record type will import
Compare record types side by side before committing to the configuration