Skip to content

feat(crm): allow contacts without a company domain #6344

Description

@selimshadyak47

I'm importing attorney and law-firm data into Macro's CRM via the TypeScript SDK (packages/sdk) for my startup, DefenseBridge. The goal is a usable pipeline of firms and the individual attorneys at them.

Two SDK constraints block part of the data. macro.crm.createCompany({ domain, name }) rejects generic email-provider domains, and company.createContact({ email, name }) requires the contact's email domain to match the company's domain. The domain check lives in crates/crm/src/domain/generic_email_domains.rs. In my dataset of 4,009 attorney contacts across 2,878 firms, 317 contacts at 309 firms use personal addresses (gmail.com, yahoo.com, etc.). It's 8% of contacts, but they skew toward solo practitioners, which is the segment I'm targeting. None of them can exist in the CRM at all, even though they're the people I need in the pipeline.

Anyone selling to freelancers, consultants, or creators hits the same wall: the CRM currently models companies only, and a large share of independent professionals have no company domain.

Two possible directions:

  • Personal contacts. Let a contact exist without a company, or auto-file personal addresses under a per-team "Individuals" bucket. Keeps the domain directory clean, but adds a second record type to the board and list views.
  • Opt-in generic domains. A per-team setting that allows company creation from generic domains, off by default. Minimal schema change, but risks the problem the filter exists to prevent, where one generic domain becomes a company with thousands of unrelated contacts.

I'm not proposing changing the default domain-directory behavior for everyone.

Happy to implement whichever direction you'd prefer once there's alignment.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions