Profiles & Contacts

Profiles overview

What Profiles does, the main records it manages, and how it connects to Antly Base.

Product Purpose

Profiles manages configurable profile types, profile records, dynamic profile sections, and questions for contact-like or stakeholder records that need structured data beyond standard users.

Profiles is a launchpad module, but it is not isolated from the rest of Antly. It shares tenant identity, permissions, workflow automation, reports, pages, and JQL access with Base so teams can run the module as part of a wider operating system rather than as a separate silo.

Use this overview when deciding what belongs in the module, what should stay in Base objects, and how the module should connect to tasks, tickets, workflows, pages, and reports.

Entity Table

AreaSource entitiesWhy it matters
Profile typesProfileTypeNamed schemas for groups such as customers, vendors, members, applicants, or partners.
ProfilesProfileIndividual profile records and lifecycle status.
Dynamic sectionsProfileSectionStructured sections shown on profile forms.
QuestionsProfileQuestionTyped fields captured against a profile type or section.

How It Connects To Base

  • Objects and records: Module records can be referenced from Base objects or can enrich object-backed workflows when teams need a tailored schema.
  • Tasks: Operational exceptions, approvals, handoffs, and reminders should create tasks with owners and due dates.
  • Tickets: Customer-facing or service-desk follow-up can be represented as tickets when the work needs queueing, SLA, or support ownership.
  • Workflows: Create/update/status events can trigger approvals, notifications, cross-module updates, and scripted transformations.
  • Pages and sites: Internal pages, portals, and public surfaces can expose selected module data when permissions allow it.
  • Reports: Module reports should be combined with Base reports when leaders need cross-functional visibility.
  • Reference: API and automation details live in /reference/profiles.

Launchpad Path And Routes

  • Open the module from Launchpad -> Profiles.
  • Frontend source reviewed: Base app profile routes in packages/antly-app.
  • Backend source reviewed: src/profiles/models.py plus controllers or automation files where available.
  • Main route: /profiles
  • Main route: /profiles/[page]
  • Main route: /profiles/settings/[...page]
  • Main route: /contacts
  • Main route: /contacts/[...page]

Who Uses It

  • Tenant administrators.
  • Operations teams maintaining stakeholder records.
  • Sales or support teams using contact context.
  • Portal teams exposing self-service profile forms.
  • Workflow builders using profile attributes.

What To Keep In This Module

  • Use Profiles for the records listed above when users need the module screens, module actions, and module reports.
  • Use Base objects when the data is a tenant-specific schema that does not need module-specific lifecycle actions.
  • Use tasks for human follow-up that needs an owner, due date, comments, or completion tracking.
  • Use tickets for support or service work that benefits from queues, requesters, SLA thinking, or customer conversation history.
  • Use workflows when a record change should notify people, request approval, create related work, or synchronize another module.
  • Use pages when a role needs a focused workspace over a subset of the module data.
  • Use reports when the team needs recurring visibility rather than one-off exports.
  • Use JQL and reference namespaces when integrations or scripts need structured access to records.

Operating Notes From Source

  • The backend app is src/profiles and the primary models define the durable record names used by JQL and reports.
  • Most important work happens through model lifecycle actions, status fields, or controller endpoints rather than free-form notes.
  • Where automation event constants exist, prefer those event names in workflows instead of inventing parallel naming.
  • Where no explicit event class exists, build workflows around create, update, status change, and assignment changes for the module records.
  • Permissions should follow the module role model first, then be narrowed by Base pages or object exposure only when needed.
  • Imported data should be reconciled against module reports before it is trusted by downstream finance, payroll, inventory, or customer flows.
  • Avoid duplicating module records in custom objects unless the custom object is only an extension or intake surface.
  • Keep launchpad access, settings access, and API access aligned so users cannot automate records they cannot operate in the UI.
  • Setup: /profiles-setup for configuration, prerequisites, and permissions.
  • Working guide: /profiles-working for day-to-day flows.
  • Data and automation: /profiles-data-automation for namespaces, workflow triggers, and reports.
  • Reference: /reference/profiles.