One contact record per customer.
The apps you already run write it. A booking, an order or a message creates the contact, so there is nothing to import and nothing to keep in sync.
The Contact App for Customers
One record per customer, built by the apps you already run.
Contacts
One directory the whole platform reads.
Contact-360
Seventeen tabs reading from every app.
System Lists
Eight lists computed at query time.
Segments
A builder whose lists stay current.
Companies
Company records linked to their contacts.
Data Tools
Import, merge, tags and saved searches.
0
tabs on the contact-360 detail
0
system lists, zero configuration
Zero
data imports to reconcile
Every person your business has worked with. One list.
Name, email, phone, company, tags, stage, the channel they last came in on and the date they were last active. Search, filter on any column, and open any row into the full record.
New, VIP, Repeat, Customer and Prospect are read off the record itself: its age, its loyalty tier, its order count. Nobody maintains a stage, so no stage goes stale.
Whichever of the three an operator happens to remember is the one they type. Filters narrow on any column beside it.
Of the four counts above the table, this is the size of the audience you cannot reach.
Open one person and see every app at once.
Seventeen tabs on one customer: an overview, activity, timeline, an AI summary, their lists, deals, bookings, orders, messages, email, finances, memberships, subscriptions, loyalty, notes, properties and documents. Each tab reads from the part of the business that owns that data, so nothing here can disagree with the app that wrote it.
Every interaction in one column, newest first, with the channel it arrived on. A call, an email and a WhatsApp message are one list because they are one person.
Lists that compute themselves. Segments that stay current.
The lists store criteria rather than membership, so somebody who places a third order is in Repeat Customers on the next load, with nothing scheduled.
The useful lists are there before you configure anything.
Orbit opens with eight customer lists already populated. No setup wizard, no rule to write, no segment to save.
The eight are reserved and undeletable, and they hold no rows of their own. Each runs its criteria against the live contact set every time it is opened, so a customer who places a third order is in Repeat Customers on the next load, with nothing scheduled and nothing to refresh. At Risk is the one to watch: it needs at least one order and then ninety days of silence, so it lists people who bought and stopped, not people who never started.
Build a list from criteria. The membership stays current.
Pick a field, an operator and a value, then add another. Conditions within a group all have to hold; any group holding is enough, and a live count tells you how many contacts match before you save. It is the same builder that authors segments in Deals, writing to the same table, so neither app has to learn the other.
Opening it runs the criteria again. Somebody who qualifies tomorrow is in it tomorrow, and somebody who stops qualifying leaves without anyone removing them.
The right shape when the list is a decision rather than a query. The fifty people invited to an opening stay the fifty people invited to an opening.
Lists that answer the question again every time you open them.
Somebody who places a third order is in Repeat Customers on the next load, and somebody who goes quiet for ninety days appears in the win-back list without anybody moving them.
People are half of it. The other half is who they work for.
Contacts belong to companies. Companies hold the relationship.
A company record groups the people who work there, carrying its industry, website, phone and city above a table of its contacts. Create one directly, or let it resolve from the company column during an import.
| Name | Title | |
|---|---|---|
| Beatriz Almonte | beatriz@almontelaw.do | Managing Partner |
| Rafael Guzmán | rafael@almontelaw.do | Associate |
| Yesenia Pérez | yesenia@almontelaw.do | Office Manager |
| Hector Núñez | hector@almontelaw.do | Paralegal |
A company has its own list, detail and full create, edit and delete. The contact points at that record rather than repeating a name as free text on everyone who works there.
When one contact leaves and another arrives, the relationship with the company survives the change of person.
Of the three counts on the list, the number of companies that actually have people attached tells you how much of it is real.
Get the list in, then get the duplicates out.
Import by uploading a CSV (start from the downloadable template): check the column mapping and preview the rows before anything is saved, and people whose email or phone is already on file are skipped when the duplicate check is on. Merge and Fix clusters duplicates by email, falls back to name when there is none, and tells you why each cluster was grouped before you touch it.
Every tag on every duplicate moves onto the primary. The tag is usually the only record of why somebody filed that contact in the first place.
Any static list holding a duplicate has that id swapped for the primary, deduped. Dynamic and system lists re-evaluate and simply find the survivor.
A real delete, not a flag, confirmed first and stated plainly as something that cannot be undone.
The record is one thing. Here is what Orbit customers put beside it.
What Orbit customers add next.
4 of these 8 connections are in your plan today. The rest stay visible so you know the instrument is there before you need it.
Bookings
The Bookings tab lists the reservations held by this contact, read from the reservations namespace, and a reservation taken against a person is what puts that person in the directory in the first place.
Deals
The Deals tab lists the open and closed deals attached to this contact, filtered on the same contact id the pipeline card carries.
Orderflow
The Orders tab reads order history from the orders namespace, and the same order count decides whether a contact is a Customer, a Repeat Customer or neither.
Registry
The Memberships tab reads the member records tied to the contact, so a membership taken out in Registry is visible on the contact the moment it exists.
Inbox
The Messages tab lists the conversations held with this contact by reading the shared conversation store the messaging engines write to.
The Email tab reads the email events sent to this contact, each with its subject, its delivery state and when it went out.
Ledger
The Financial tab reads the revenue, payments and outstanding balance carried against the contact, in the currency each record was written in.
Payments
A payment taken against a contact is what moves the financial summary on their record, without a reconciliation step in between.
No setup cost. Pay when you start using.
Contact management for teams that talk to customers.
Included with any Interact communication app
Contacts management system.
Recommended for you
Works well together.
Calisto Bookings
Included with Commerce or Ops
Reservations, inventory, contacts, tickets, and scheduling
Learn more →Calisto Deals
Calisto Orderflow
Calisto Registry
Included with Commerce or Ops
Reservations, inventory, contacts, tickets, and scheduling
Learn more →Calisto Inbox
Calisto Mail
Calisto Ledger
Calisto Payments
Everything included in Calisto Orbit.
- Every contact in the account in one searchable table
- Name, email, phone, company, tags, stage, last channel and last activity
- Search across name, email and phone at once
- Filter on any column, fifty rows to a page
- Four counts above the table: total, new this month, with email, missing email
- Lifecycle stage derived from the record: New, VIP, Repeat, Customer, Prospect
- Last channel normalised to Email, Phone, SMS or Mail
- Create a contact, or import, from the header
- A row opens the contact-360 on its activity tab
- Seventeen curated tabs in one pill-tab chrome
- Activity: what has been logged against the contact, newest first
- Timeline: messages, calls and meetings merged into one chronology
- Summary: the relationship in a paragraph, with the next step
- Lists: every list this contact currently belongs to
- Deals: open and closed deals attached to the contact
- Bookings: reservations held by the contact
- Orders: order history
- Messages: conversations across the messaging channels
- Email: emails sent, with subject, state and date
- Financial: revenue, payments and outstanding balance
- Memberships: active and lapsed memberships
- Subscriptions: plan, status, renewal date and amount
- Loyalty: tier, points and rewards, behind the Circle loyalty flag
- Notes: internal notes with author and date
- Properties: custom fields on the contact
- Documents: files filed against the contact, with type and size
- Eight lists present on the first open, with no configuration
- New Customers: added in the last thirty days
- VIP Customers: gold or platinum loyalty tier
- Repeat Customers: three or more orders
- At Risk: has ordered, then silent for ninety days or more
- Recent Interactions: active in the last seven days
- Birthday This Month: birthday falls in the current month
- No Email: missing an email address
- Unsubscribed: opted out of marketing
- Criteria evaluated on every read, never materialised as rows
- Counted by the database where the criteria allow it
- Tested against the active contact set where they do not
- Reserved and undeletable
- Customer Lists hub: system lists and your own lists in one table
- Member count, type and last update on every list row
- Segment builder with a six-field catalog
- Fields: Name / Email, Stage, Role, Lead Source, Created Date, Last Activity
- Conditions AND within a group, groups OR across
- Live preview count and sample contacts before saving
- Dynamic lists store criteria and re-evaluate on read
- Static lists store contact ids and stay frozen
- Smart Lists: the dynamic segments, listed on their own
- Saved Searches: re-runnable contact searches with their results
- Tags: every tag is a filtered view of the contacts carrying it
- A predicate the contact set cannot express is skipped, never faked
- Company records with their own list, detail and full CRUD
- Profile: name, industry, website, phone and city
- A table of the contacts at that company with email and title
- Three counts: total companies, companies with contacts, active deals
- Companies resolve from the company column during import
- Import your existing contacts
- Column set: name, email, phone, company
- Skip-duplicates-by-email toggle on the import
- Duplicate detection clustered by normalised email
- Fallback clustering by normalised full name when there is no email
- A stated reason on every cluster
- Merge unions the tags of every duplicate onto the primary
- Merge rewrites static list membership onto the primary, deduped
- Merge deletes the duplicate records outright
- Dynamic and system lists need no rewrite because they re-evaluate
- A confirmation that states the merge cannot be undone
- An empty merge screen that says the contacts are clean, not a blank table
- Total contacts, new this month, total lists and total companies
- List performance table with members and growth per list
- Contact settings: custom properties, tags and lifecycle stages
- Default country and default currency for new records
- Notification centre with in-app delivery and an unread count
- Mark-one-read and mark-all-read
- Per-person, per-channel notification preferences
- Live stream for new notifications, plus device token registration
- One contact model, shared with every app that touches a person
- Each contact-360 tab reads the namespace that owns that data
- Orbit owns the lists, notes, properties and tags; the rest are windows
- A tab with nothing for this contact renders empty, with no cached fallback
- No connector, no import job, no staging table, no sync delay
- One identity: every person is a user id inside an account
- Every read and write scoped to the account
- The active business unit scopes contacts, companies and lists
- Lists persist in the same table Deals smart lists use
- Criteria persist as a portable filter tree, not a query string
- No intra-account roles, because Calisto has none
- Bookings (reservations on the contact, and contacts created by a booking)
- Deals (the deals attached to the contact)
- Orderflow (order history, and the order count behind Repeat Customers)
- Desk (tickets raised against the contact)
- Registry (memberships)
- Circle (the loyalty tier behind VIP Customers)
- Inbox (conversation history)
- Mail (email activity and engagement)
- Ledger and Payments (the financial summary)
- Depot (documents filed against the contact)
- Campaigns (lists and segments as the audience)
- Automations (list membership as a condition)
- Identity (the verification level on the record)
- Purview (business unit scope)
Questions about Calisto Orbit
Whatever every app in the platform knows about the person: bookings, orders, deals, calls, messages, payments, membership, files. It is one record read sixteen ways rather than sixteen systems that each hold a fragment.
A segment is a query, so it stays current. Eight customer lists are computed at query time, which is why the list you looked at last month is right today without anyone refreshing it.
It is included with any Interact communication app. If you have Mail, Inbox, Voice, Live or Equipo, you have Orbit.
Yes, though most of what fills Orbit arrives from the apps themselves. An import gives you the people; the operation gives you the history.
Included with any Interact communication app rather than sold separately. The pricing section on this page reads the live catalogue and is the authority.
Yes, in standard formats, including the segments and the interaction history behind them.