Companies
A Company is the organisation a person belongs to, and several people attach to one. It exists so that facts about the organisation — the account, the terms agreed with it, the deals in its name — are not copied onto each individual and then quietly disagree. companies.py owns the record; the people, deals and cases that mention it stay owned by their own services.
What the record is for#
Two questions are answered by having the record at all. The first is *who else do we deal with here* — the buyer's colleague who joins a thread in month three should not arrive as a stranger. The second is *what did we agree with this organisation*, which is a fact about the business and outlives any individual who happens to work there.
So the split is not cosmetic. A person carries what is true of the human: the identities they answer on, their stage, what Connect remembers about them. A other carries what is true of the business as a whole, and the people hang off it.
Attaching people#
Open the person and set the company link.
Result The person appears on the organisation, and its context is available wherever that person is being answered.
Add the second and third colleague the same way.
Result They share the organisation without sharing identities, memory or stage — those stay individual, because they are individual.
Move somebody who has changed employer.
Result Their history stays with them. The old employer keeps what happened while they were there; nothing is rewritten retrospectively.
What companies do not own#
- Conversations
- Threads and calls belong to the person who took part in them, and reach the organisation only through that person.
- Memory
- Memory tiers are workspace, channel, endpoint and contact. There is no organisation tier — an instruction that applies to everybody there goes at the workspace tier or against each contact.
- Autonomy
- Autonomy scopes are contact, endpoint, channel and workspace. A rule cannot be set at that level; the narrowest useful scope is the contact.
- Lifecycle stage
- Stage is a property of the relationship with a human, moved by
move_stage. Companies do not progress through the stages on anybody's behalf.
Those four absences are worth knowing before you plan around them. The usual request — *hold every reply to this customer for approval* — is met by setting autonomy on the mailbox or on each contact, not by a company-level switch, which does not exist. What Connect may do has the scope ordering in full.
When companies are the wrong record#
- A one-person supplier. An organisation row with exactly one person in it, forever, is bookkeeping rather than structure. Nothing breaks if you skip it.
- A prospect list. An organisation discovered by research is a prospect until somebody deals with it; see /docs/prospects/.
- A department. Splitting one customer into six companies scatters the very history the record exists to hold together.
- A duplicate you meant to merge. Two companies for one organisation are a data problem; two people for one human are the problem duplicate detection proposes a fix for.
Questions#
Do companies have their own timeline?
The timeline is assembled per person by timeline.py. What the record gives you is the list of its people and the work in its name, which is the route to each of those timelines rather than a merged one. The customer timeline explains what an assembled view can and cannot include.
If I delete a company, what happens to its people?
They keep existing — the link is a link, not ownership. They lose that shared context, which is visible immediately in the relationship summary and in what a new colleague's first message is answered with.
Can Connect create an organisation record on its own?
Records can be created through the Assistant and through the ordinary flows, and a business reached through prospecting arrives with what research supported. What is never invented is commercial content about it: a price, an SLA or a warranty Knowledge does not support is refused and escalated — see safe sales.