Organisations and the people at them, kept in a book the whole company shares
A pipeline of deals, dragged from stage to stage: Lead, Qualified, Proposal, Negotiation, Won, Lost
Stages you add, rename, reorder and weigh by the chance of winning, per book
Calls, meetings, emails and to-dos, with a due time, ticked off when done
A sales page: what is open, what it is worth weighted, what was won this month, and what is next
More books when you need them: your own, or one shared with a team
Add it to your cloud
In your cloud, open Quills: Administration → Quills as an administrator, Me → Your Quills as anybody else. On its Catalog tab, CRM is on the Business shelf: open it and say yes. Its id, wherever your cloud asks for a quill by name:
id crm
Or on the command line, as an administrator for everyone, with --mine for yourself alone:
$ cm quill add crm
Either way your cloud shows you everything below and waits for your yes.
Standard. The installer offers CRM when you set up a new cloud, so you may have it already. How installing works
What it adds to your cloud
Datamodels
The kinds of data it works with. On a fresh cloud everyone can read and write what it brings the moment it is installed; the install sheet says so, and an administrator narrows it with circles. Records belong to the people who write them, not to the quill: removing it leaves every one where it is. What it adds — fields of its own, datamodels of its own — stays too, unless the administrator removing it chooses to drop them.
Fields of its own on every organisation, readable by anyone who may read the record, never required.
Statuscrm.statusone of Lead, Prospect, Customer, Partner, Former customerIndexed
Indexed fields are kept plain, so your cloud can sort and filter by them. Encrypted fields are encrypted before they reach the disk.
Screens
SalesDrawn by its code, sales().
PipelineA board of deals. Lanes: ; one book at a time, chosen across the top.
OrganisationsA list of organisations.
PeopleA list of contacts.
ActivitiesA list of activities. A circle on each row for done.
Each is a tab, drawn by your cloud itself on every surface:
Phonethe web app, made for the phone
Webthe full web app, in a browser
Terminalthe terminal app
Command linecm crm
Assistanttools for your assistant, as you
Comes with
A book, when it is installed.customers · “Customers”
Six stages, when it is installed.pipeline · “Lead”, “Qualified”, “Proposal”, “Negotiation”, “Won”, “Lost”
Its own code
Action new-dealNew deal, on a organisation; asks for title, value, expected_close
Action wonWon, on a deal; asks for nothing
Action lostLost, on a deal; asks for reason
Action follow-upPlan a follow-up, on a deal; asks for title, kind, due
Action follow-up-organisationPlan a follow-up, on a organisation; asks for title, kind, due
Action follow-up-personPlan a follow-up, on a contact; asks for title, kind, due
Action completeDone, on a activity; asks for nothing
Action add-stageAdd a stage, on a book; asks for name, probability
Action stage-earlierMove earlier, on a stage; asks for nothing
Action stage-laterMove later, on a stage; asks for nothing
Hook deal_movedwhen a deal is created or changed
Its Python, quill.py, runs in a sandbox on your cloud, as whoever uses it, and reaches only what it declares. Your cloud shows all of this before you say yes; code on your own machine runs only once you switch it on there.
In its own words
A Quill for Cloudmorrow: the
customers a company keeps — organisations, the people at them, a pipeline
of deals, and what to do next — shared by everybody who works with them.
Books. Everything is kept in a book. There is one everybody on the
server shares from the start, Customers; make more for a team (shared,
with the people you add) or for yourself.
Organisations and people, with how to reach them, what they do and
where each organisation is on its way to being a customer (Lead,
Prospect, Customer, Partner, Former customer).
A pipeline of deals. Every book starts with Lead, Qualified,
Proposal, Negotiation, Won and Lost. Drag a deal from stage to stage; the
circle on a card wins it. Add, rename, reorder and weigh the stages by the
chance of winning — each book has its own.
Activities: calls, meetings, emails and to-dos, with when they are
due, linked to the deal, organisation or person they are about, and
ticked off when done.
Sales, the first screen: open deals, what the pipeline is worth (and
worth weighted by each stage's chance), what was won this month, what is
overdue, what is next and what is closing soon.
What it adds to your Cloudmorrow
Datamodels
uses the foundational book, organisation, contact, stage, deal and activity (domain Customers (CRM)); extends organisation with crm.status
Screens
Sales (a view), Pipeline (a board), Organisations, People and Activities (lists) — on the phone, the web app, the terminal, cm crm, and to your assistant
Actions
New deal, Won, Lost, Plan a follow-up, Done, Add a stage, Move earlier, Move later
Hooks
deal_moved: a deal's status (open, won, lost) and when it closed follow its stage, and the other way round
Datasets
customers: one book for everybody, once; pipeline: the six stages, in every book that has none
Services, webhooks, APIs
none
Working on it
See CLAUDE.md. In short: cm quill check, cm quill test
(and --sandbox), then cm quill dev --local.