← Back to Guides

Profiles — Custom Entity Types and Schema

Profiles define what an entity looks like: its properties, icon, color, and behavior. 14 built-in profiles ship with Synap. Create custom ones for any workflow — no code required.

What are profiles?

Think of profiles as "entity templates." They define what type of entity something is and what properties it carries. When you create a task, the task profile tells the system that this entity should have a status field, a priority field, and a dueDate field. When you save a bookmark, the bookmark profile adds url, domain, and source.

Profiles are the schema layer of Synap. They sit between your raw data and the views that display it. Without profiles, entities would be shapeless blobs of JSON. With profiles, every entity has a predictable structure that views, filters, and AI can work with.

The 14 system profiles

Synap ships with 14 built-in profiles that cover the most common data types. Each has a slug, an icon, a color, and a set of default properties.

  • Note — Free-form text with content and tags. The default fallback when AI cannot determine a more specific type.
  • Task — Actionable items with status (todo, in-progress, done, cancelled), priority, and due date.
  • Project — A container for grouping related work. Carries status and tags.
  • Event — Calendar entries with start/end dates, location, all-day flag, and attendees.
  • Person — A human being with email and phone. The base type for contacts.
  • Contact — Extends Person, adding a role field. Inherits email and phone.
  • Company — An organization with website, industry, employee count, and location.
  • Deal — Sales pipeline entries with stage (lead through closed-won/lost), value, and close date.
  • Bookmark — A saved URL with domain and source. The base type for all web content.
  • Website — Extends Bookmark, adding a favicon field. For saving entire sites.
  • Article — Extends Bookmark, adding author, published date, and estimated read time.
  • Capture — Quick captures that have not been classified yet. A temporary holding type.
  • File — Uploaded files with fileName, MIME type, and file size metadata.
  • Anchor — A pinned moment in a conversation, referencing a channel, message ID, and role.

Profile anatomy

Every profile is defined by four things:

  • Slug — A unique identifier like task or company. Used in code, filters, and API calls.
  • Icon — A Lucide icon name displayed in the UI. Tasks get check-square, events get calendar.
  • Color — A theme color for visual distinction. Tasks are blue, projects are purple, events are green.
  • Property definitions — A set of typed fields stored as JSONB. Each property has a name, a type, and optional validation rules.

Profiles can also declare a parent profile for inheritance, allowing child profiles to extend a base type with additional properties.

Profile inheritance

Inheritance lets you build specialized types on top of general ones. The contact profile extends person, inheriting email and phone while adding role. The website profile extends bookmark, inheriting url and domain while adding favicon. The article profile also extends bookmark, adding author, publishedAt, and readTime.

Inheritance is not just cosmetic — it affects queries. When you create a view filtered to the person profile, you automatically see both raw people and contacts. A view filtered to bookmark shows bookmarks, websites, and articles. Parent profiles are inclusive of all descendants.

Custom profiles

When the 14 system profiles do not fit your workflow, create your own. A custom profile is defined the same way as a system profile: slug, icon, color, and property definitions. You can optionally set a parent to inherit from an existing type.

For example, a "Recipe" profile might have properties for ingredients (multi-select), prepTime (number, in minutes), and servings (number). A "Bug Report" profile might extend task and add severity, reproducibility, and affectedVersion. Custom profiles appear everywhere system profiles do — in views, filters, AI classification, and the entity detail panel.

Property types

Each property on a profile has a type that determines how it is stored, validated, and rendered in the UI:

  • Text — Plain string values. Titles, descriptions, notes.
  • Number — Numeric values. Priorities, prices, counts.
  • Date — ISO date strings. Due dates, created dates, event times.
  • Select — Single choice from a predefined list. Status fields, priority levels.
  • Multi-select — Multiple choices from a predefined list. Tags, categories.
  • URL — Web addresses. Validated as proper URLs.
  • Email — Email addresses. Validated format.
  • Phone — Phone numbers.
  • Relation — A link to another entity. Creates a bidirectional relationship.

How AI uses profiles

When the AI classification pipeline processes a capture, it selects the most appropriate profile based on the content. A pasted URL becomes a bookmark (or article if it detects article metadata). A message starting with "remind me to..." becomes a task. A forwarded vCard becomes a contact.

If no system or custom profile is a confident match, the AI defaults to note. You can always reclassify later by changing the entity's profile — all properties are preserved, and new profile-specific properties become available for you to fill in.

Technical reference

For architecture details and implementation specifics, see the Building Blocks concept deep dive in the technical docs.


Related guides

→ Entities — Your Data, Structured by AI→ Views — Any Lens Over Your Data→ Capture — Zero Friction, Any Source
© 2026 Synap Technologies. All rights reserved.