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.
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.
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.
Every profile is defined by four things:
task or company. Used in code, filters, and API calls.check-square, events get calendar.Profiles can also declare a parent profile for inheritance, allowing child profiles to extend a base type with additional properties.
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.
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.
Each property on a profile has a type that determines how it is stored, validated, and rendered in the UI:
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.
For architecture details and implementation specifics, see the Building Blocks concept deep dive in the technical docs.