,
,,
Calisto Contacts

Ten roles. 29 tabs. One contact record.

One contact record shared across eight products, with 29 profile tabs, 10 assignable roles, and GDPR consent as the single source of truth. KYC queue, AML screening, duplicate merge, and import from 10 CRM platforms.

29 Profile Tabs · 10 Contact Roles · 51 API Endpoints · 46 Client Components · 10 CRM Import Sources · 8 Cross-Product Consumers

,0,

profile tabs per contact record

,0,

assignable contact roles

,0,

REST API endpoints

,0,

cross-product consumers

Contact Profile

29 tabs per record. One profile UI.

Each contact opens to a tabbed detail view. Core fields, activity feed, financial ledger, compliance documents, family tree, and AI summary. Tabs grouped by function, adapted to the contact's role.

Core (11)
OverviewActivityMeetingsBookingsCalendarDealsProposalsDocumentsMessagesFinancialAccess
Relationships (3)
RelationshipsFamilyMentions
Compliance (4)
KYCAML CheckIdentity VerificationRight to Rent
Commercial (6)
MembershipsSubscriptionsContractsSigning HistoryOrdersReferrals
Context (5)
Service AddressesService HistoryWeb ActivityAI SummaryNotes
JM
Jessica Martinez
Client · Acme Properties
Overview
Activity
Deals
Financial
KYC
Family
Emailj.martinez@acme.co
Phone+44 7700 900123
RoleClient
StageActive
Lifetime Value14 deals closed
GDPR ConsentOpted in
OrganizationAcme Properties Ltd
One Record, Ten Roles

Guest. Tenant. Owner. Client. Patient. Every role in one database.

Role determines product context. Filter by query param, enforce GDPR consent on every record.

10 Contact Roles

Guest. Tenant. Owner. Investor. Client. Patient. Vendor. Employee. Contractor. Prospect.

Each contact carries a role that determines which product context they appear in. Filter the contact list by role via query param (/contacts?role=client). Ops surfaces 7 roles. Deals surfaces 4.

GDPR Consent Fields
consentMarketingboolean

Opted in to marketing communications. Respected across Mail, Campaigns, and Ads.

consentTimestampdatetime

When consent was last granted or withdrawn. Immutable once set.

Contacts · Filter by Role10 roles
Guest
Ops
Tenant
Ops
Owner
Ops + Deals
Investor
Deals
Client
Deals
Patient
Ops
Vendor
Ops
Employee
Ops
Contractor
Ops
Prospect
Deals
Duplicate Detection + Merge

Find duplicates. Compare fields. Merge into one record.

The duplicates scanner matches on name, email, and phone. Side-by-side comparison lets you pick the most complete fields. The merge operation reassigns every linked record to the surviving contact.

1
Detect

Scans on name, email, and phone. Results grouped by match cluster.

2
Review

Side-by-side field comparison. Activity, deal count, and financials per record.

3
Merge

Select primary record, pick fields from secondary. All linked records reassigned.

4
Verify

Post-merge audit confirms reassigned relationships. Secondary soft-deleted.

Duplicate Match · 94% Confidence
Primary
Sarah Chen
s.chen@meridian.co
+1 415 555 0142
Role: Client
Deals: 3 active
Last activity: 2 days ago
Secondary
S. Chen
sarah@meridian.co
(no phone)
Role: Prospect
Deals: 0
Last activity: 45 days ago
Merge into Primary
Compliance

KYC queue. AML screening. Identity verification. Right to rent.

Five compliance surfaces with bulk approve/reject, risk scoring, and full audit trail.

KYC + Compliance

Review queue. AML screening. Identity verification. Right to rent.

Five compliance surfaces: centralized KYC review queue, per-contact KYC documents, anti-money-laundering checks with risk scoring, identity verification with expiry tracking, and UK right-to-rent validation.

KYC Review Queue
/contacts/kyc
Centralized queue with status filters (pending, approved, rejected, expired). Reviewer assignment. Bulk approve/reject with mandatory notes.
AML Check
/contacts/[id]/aml-check
Risk score calculation, PEP flags, and sanction list matching per contact.
Identity Verification
/contacts/[id]/identity-verification
Passport, driving licence, or national ID. Expiry tracking with renewal reminders.
Right to Rent
/contacts/[id]/right-to-rent
UK compliance. Document type, verification date, and Home Office share code validation.
KYC Review Queue
Sarah ChenPending2 May 2026
Marcus RiveraApproved28 Apr 2026
Priya SharmaPending1 May 2026
James O'BrienRejected30 Apr 2026
Fatima Al-RashidExpired15 Mar 2026
Organizations

Companies. Accounts. One org record linked to contacts.

Organization records group contacts by company or account. List view with search, detail view with linked contacts, and REST API for programmatic access. A contact can belong to multiple organizations.

Organization List
/contacts/organizations

Browse and search all organizations. Name, contact count, primary contact, and creation date per row.

Organization Detail
/contacts/organizations/[id]

Linked contacts with roles. Organization-level notes, tags, and custom fields.

Contact Linking
/contacts/[id]/overview

One contact can belong to multiple organizations. Organization appears on overview tab and in search.

REST API
/api/contacts/organizations

CRUD endpoints with pagination. GET list, POST create, GET/PUT detail by ID.

Organizations
Acme Properties Ltd12 contacts
Meridian Group8 contacts
Blue Harbor Investments5 contacts
Verde Hospitality23 contacts
Atlas Management Co3 contacts
Shared Record

Deals. Ops. Inbox. Mail. Assure. Calendar. Box. Ads.

Eight products read from and write to the same record. One contact, zero re-entry.

Import

CSV with column mapping. 10 CRM sources with OAuth.

Two import paths: a four-step CSV/Excel wizard with auto-column-mapping, or direct CRM import from 10 platforms with OAuth authentication and field mapping.

CRM Import Sources (10)
SalesforceHubSpotPipedriveZoho CRMDynamics 365CloseCopperFreshworksActiveCampaignZendesk Sell

Three-step CRM import: authenticate via OAuth, preview contact counts, then import with field mapping.

CSV / Excel Wizard

Upload, map columns, preview, import. Download template from /api/contacts/import/template. Auto-mapping matches headers to contact fields.

Contact Import · CSV Wizard
1Upload
2Map Columns
3Preview
4Import
CSV ColumnMaps To
Full Namename
Email Addressemail
Phonephone
Companyorganization
Typerole
Cross-Product Record

Deals. Ops. Inbox. Mail. Assure. Calendar. Box. Ads.

Contacts is the shared record that eight Calisto products read from and write to. One contact, zero re-entry across the platform.

Deals

Every deal links to a contact. Pipeline reads role, organization, and financial history.

Contact → regardingcontact UUID → Pipeline
Ops

Guest, tenant, owner, and vendor profiles are contact records with role-specific views.

Contact → Role Filter → Guest/Tenant/Owner
Inbox

Threads matched by email and phone. Unknown senders auto-create contact records.

Email/Phone → Contact Match → Thread
Mail

GDPR consent check before campaign send. Merge fields from contact record.

consentMarketing → Campaign List → Send
Contacts
Deals
Ops
Inbox
Mail
Assure
Calendar
Box
Ads
Assure

Inspection records link to contacts for tenant and owner notification routing.

Inspection → Contact Link → Notification
Calendar

Meetings and bookings resolved by attendee email. Calendar tab aggregates events.

Attendee Email → Contact Resolve → Event
Box

Files scoped to contact with CDN delivery. Documents tab on the profile.

Document → Contact Scope → CDN
Ads

Contact segments by role, tag, and location export to ad audiences.

Segment Filter → Audience Export → Campaign

,0,

client components (13,676 lines of UI)

,0,

CRM import sources with OAuth

,0,

merge workflow steps

,0,

sidebar navigation sections

Technical Specifications

51 endpoints. 46 components. Self-hosted infrastructure.

51 REST API endpoints covering contact CRUD, tab data, import, organizations, tags, and compliance. 46 client components with cross-app data fetching and interaction tracking.

Data Model

  • 29 profile tabs per contact record
  • 10 contact roles with product-context subsets (OPS_ROLES, DEALS_ROLES)
  • GDPR: consentMarketing (boolean) + consentTimestamp (datetime)
  • Role filtering via query param (?role=client), not separate routes
  • Organization linking (many-to-many)
  • Family/relationship graph (parent, spouse, sibling, employer, referrer)
  • Lifetime value calculated from financial tab data

API Surface

  • 51 REST endpoints under /api/contacts
  • Core CRUD: GET, POST, PUT, DELETE on /api/contacts/[id]
  • Bulk operations: /api/contacts/bulk
  • 30+ tab-specific sub-endpoints
  • Import: CSV + 10 CRM sources via /api/contacts/import/crm/*
  • Organizations: /api/contacts/organizations with nested [id]
  • Tags: /api/contacts/tags with nested [id]

Infrastructure

  • Self-hosted database infrastructure
  • Circuit breaker + caching + rate limiting at adapter layer
  • Cross-app data: client + server fetch with adapter pattern
  • Interaction tracking (2,817-line tracker)
  • Auth: session-based, multi-tenant
  • File storage: cloud storage + CDN delivery
  • 46 client components totaling 13,676 lines
Pricing

High-Performance Ops. Zero Monthly Overhead.

Get all 15 Core modules at no monthly cost. You only pay 2% of processed revenue.

,,
Calisto Core
$0/month
+ 2% of revenue
CommitmentNone
UsersUnlimited
Products15 included
Best for: Businesses of any size. Revenue is auto-calculated from POS orders, reservations, folios, and event tickets.
,,,,,,,

Contacts

Universal contact database with 29 profile tabs.

Free

Included in Work Free

Wallet-debit

Add to Pro Shop