CRM Overview
Unified customer relationship management across all Transactional modules
CRM Overview
Transactional CRM provides a unified view of your contacts and companies across every module — Auth, Support, Email, SMS, Forms, and Calendar. Every user action in any module is automatically reflected in the CRM, giving you a single source of truth for customer data.
Key Concepts
Contacts
A contact represents a person who has interacted with your application. Contacts are automatically created when:
- A user signs up via Auth
- A visitor starts a chat via Support
- A form is submitted
- A lead is imported via the API or dashboard
Each contact has:
- Identity fields: email, name, phone, avatar
- Lifecycle stage: Subscriber, Lead, Marketing Qualified, Sales Qualified, Opportunity, Customer, Evangelist
- Active modules: Which modules the contact is currently engaging with
- Status: Active, Archived, Merged, Deleted
- Custom properties: User-defined fields for your business needs
- Tags: Flexible labeling for organization
- Activity timeline: Complete history of interactions
Companies
Companies represent organizations you do business with. Contacts can be associated with one or more companies, with roles like "Decision Maker" or "Technical Contact". Company records include industry, size, plan, spend, and custom properties.
Lists
Lists let you group contacts or companies for targeted actions. Two types:
- Static lists: Manually curated — you add and remove members explicitly
- Dynamic lists: Defined by a CQL filter — membership is automatically recalculated as data changes
Custom Properties
Extend contacts and companies with your own fields. Supported property types include Text, Number, Boolean, Date, Email, Phone, URL, Select (enum), Multi-Select, and Currency. Custom properties are fully queryable via CQL.
Activities
Every meaningful interaction — page views, emails opened, conversations started, notes logged — becomes an activity in the contact's timeline. Activities are created automatically by system events and can also be logged manually (notes, calls, meetings).
Core Features
Unified Identity
When a user signs up via Auth with the same email as an existing Support visitor, the CRM automatically merges them into a single contact and tracks both modules in activeModules. No duplicates, no manual reconciliation.
Query Language (CQL)
CRM ships with a powerful SQL-like query language for filtering, searching, and analyzing contacts and companies. See the CQL Reference for the full specification.
Example:
status = ACTIVE AND lifecycleStage in (LEAD, CUSTOMER) AND createdAt > 2024-01-01Full-Text Search
Search across names, emails, phones, domains, and industries with PostgreSQL full-text search. Supports exact, prefix (typeahead), and fuzzy matching modes.
Bulk Operations
Select multiple contacts or companies and apply bulk actions: delete, tag, change lifecycle stage, add to list, or export to CSV.
Event Streaming
Every CRM mutation publishes an event to the integration system. Events include CRM_CONTACT_CREATED, CRM_CONTACT_UPDATED, CRM_CONTACT_MERGED, CRM_COMPANY_CREATED, CRM_ACTIVITY_CREATED, and more. These events drive:
- Integration sync — automatically push changes to HubSpot, Mailchimp, Slack, webhooks
- Workflow triggers — start automated workflows when CRM data changes
- Audit logging — every change is recorded in the organization events log
Integration Sync
CRM data syncs bidirectionally with external platforms:
- HubSpot — contacts, companies, and activities push as native HubSpot objects (calls, meetings, notes, tasks)
- Mailchimp — contacts sync with merge fields, tags, notes, and behavioral events for segmentation
- Slack, Segment, Webhooks — real-time notifications on CRM changes
Configure field mappings, event subscriptions, and sync filters per integration from the dashboard.
CLI & API
Full CRM access from the terminal or programmatically:
- Contact management — create, update, merge, tag, archive, delete
- Activity logging — log calls, meetings, notes, emails, tasks
- CQL queries — filter and analyze contacts with SQL-like syntax
- Integration debugging — check sync status, view action logs, trigger manual syncs
- Bulk operations — import/export CSV, bulk property updates
See the CLI Reference for the complete command list.
Getting Started
- Navigate to Dashboard → CRM to see your contacts and companies
- Use the search bar or CQL filter controls to find what you need
- Click into a contact to see its profile sidebar and full activity feed
- Install the CLI for terminal access:
transactional crm contact search "name" - Connect integrations at Settings → Integrations to sync with HubSpot/Mailchimp
Next Steps
- CQL Reference — complete query language specification
- CLI Reference — terminal command reference for developers, agents, and ops
- Contacts — managing contacts and properties
- Companies — managing companies and associations
- Lists — static and dynamic segmentation
- API Reference — programmatic access