CRM

Housecat keeps a lightweight CRM of the companies, contacts, and attachments that tasks reference, and syncs with Notion or Attio when you want a system of record. Tasks show whether their related company exists in your CRM and link out directly to the matching record.

User

Update my CRM from the last week of emails

Housecat

Searching Gmail and extracting companies, people, and deals…

Searching Notion for existing records…

3 new companies, 6 new people, and 2 updated companies. Want me to push the changes?

In CRM Labels

Every task with a related company shows a green “✓ In CRM” or red “✗ Not in CRM” badge so you can see at a glance which conversations are tracked. The badge links directly to the matching Notion or Attio record. You can turn the labels off in profile settings.

Companies and Contacts

Companies and contacts each have a dedicated detail page with notes, labels, and the tasks they’re linked to. Avatars use a contact → company → source-logo → initials precedence, so a Slack thread without a known sender still shows the Slack favicon rather than a blank circle. Company favicons are auto-fetched from Google’s s2 service on creation.

Contacts can have multiple emails, phone numbers, and roles tying them to companies. Email aliases on your own profile let tasks classify and assign correctly when you receive mail at more than one address.

Sync with Notion and Attio

Housecat uses the official Notion MCP server for full pass-through tool support and a diff-based approach for Attio that only pushes records when content has actually changed. A “Refresh from Attio” button loads current data before editing so you’re never working from stale state.

API and MCP

Companies, contacts, and attachments have full v2 REST and MCP coverage:

  • /api/v2/companies, /api/v2/contacts, /api/v2/attachments — cursor-paginated CRUD with a 256KB response cap
  • /mcp/companies, /mcp/contacts, /mcp/attachments*_list, *_get, *_create, *_update, *_archive tools under crm.* and task.* scopes
  • All mutations write to the activities table with the calling client name and version
  • PATCH folds emails, phones, and roles via *_add and *_remove arrays so partial updates don’t clobber existing values

Use Cases

Dig into specific use cases: