Skip to main content

What is the CRM?

Connie’s CRM is where every person and account your team interacts with lives. Contacts auto-link to the conversations in your Inbox, enrichment runs in the background, and notes / tasks / reminders sit alongside every record — so you never lose context jumping between tools. It’s deliberately schema-flexible: contacts and companies are just two opinionated views on a generic records table system. You can add columns, build new record types, and reshape the CRM without ever leaving the product.

Core objects

Contacts

People. Tracked by name, email, phone, LinkedIn URL, and any custom fields you add. Auto-deduped on identifiers.

Companies

Accounts. Linked to contacts through relations — when you add a contact to a company, the relationship surfaces on both sides.

Records

The generic table system underneath. Contacts and companies are just record types — you can add your own.
Deals are coming. The schema reserves a deal record type and enrichment workflows already accept it — a first-class deals UI is in flight.

Enrichment

Connie can fill in the blanks on a contact or company automatically.

LinkedIn enrichment

Give Connie a LinkedIn URL on any contact and it pulls back the full profile — first/last name, current company, job title, location, education, experience, headline, and avatar. Each field maps into a contact column so the data shows up where you’d expect it.

Web enrichment

A more general enrichment surface that runs background workflows to gather firmographics, social handles, and contact info. Works on contacts, companies, and (soon) deals.
Both kinds of enrichment can be triggered ad-hoc, batched across many records at once, or wired into a workflow that runs whenever a contact is created or updated.

Inbox ↔ CRM linkage

Every conversation in the Inbox is matched to a contact in real time — by email, phone, LinkedIn slug, or any other identifier you’ve stored. When a message lands from someone you don’t have:
  • Open the conversation
  • Hit Create contact from conversation
  • Connie pulls the display name, email, phone, and LinkedIn URL straight from the thread and dedupes against existing contacts
The reverse works too — open any contact and you’ll see every email, WhatsApp message, and LinkedIn DM you’ve ever exchanged, ordered chronologically.

Notes, tasks, reminders, activity

Each contact and company has four side panels: The Activity feed is the most useful surface — it merges three sources into a single reverse-chronological view:
  1. Inbox messages from any channel
  2. CRM events — property changes, task completions, contact creation
  3. AI-driven actions performed by a workflow against this record
No tab switching, no copy-pasting between windows. Open a contact, scroll the timeline, see everything.

Importing contacts

From a CSV

  1. Open CRM → Contacts, click Import
  2. Drag in a CSV (up to a few thousand rows; bigger uploads are chunked)
  3. Map columns to contact fields — Connie auto-suggests mappings based on header names (case-insensitive, space-to-underscore tolerant)
  4. Confirm — dedupe runs on email / phone / LinkedIn before insert
The upload uses signed URLs directly to storage, so even large files don’t hit a server timeout.

From LinkedIn

Use the Chrome extension to sync your LinkedIn connections — names, headlines, current company, and the LinkedIn URL flow straight into Contacts.

From a conversation

When you reply to a message from someone new, hit Create contact — Connie fills in everything it can extract from the thread.

Records: the layer beneath

Contacts and companies are the two opinionated record types Connie ships. The records API lets you go deeper:
  • Define new record types with custom column sets
  • Set relations between records (a contact belongs to a company, a deal belongs to an account)
  • Query with filters across cells via POST /records/query
  • Bulk update large sets without paying a per-row API cost
If you’re building something the contacts/companies UI doesn’t quite fit, drop down to records.

Common workflows

Enrich every new contact automatically

  1. Build a workflow with trigger contact.created
  2. Add an enrichment node — LinkedIn first if a URL is present, web enrichment as fallback
  3. Save. Every new contact is enriched within seconds of being added.

Daily activity digest

  1. Build a workflow that runs every morning at 9am
  2. Query contacts where last activity ≥ today minus 1 day
  3. Format into a markdown summary and post to Slack

Account-based pipeline

  1. Create a custom crm_account record type with columns for stage, ARR, owner
  2. Relate contacts to the account via a relation column
  3. Build views per stage and let the team work each one independently

API reference

Contacts

Create, list, search, and enrich contacts.

Companies

Manage company records and their relations.

Records

The underlying records API — custom types, relations, queries.

Enrichment

Trigger LinkedIn and web enrichment jobs.