CLOUDMORROW

Quills / Business

CRM

Customers for a company: organisations, people, a pipeline of deals, and what to do next.

Star · 0 Nobody has starred it yet

What it does

  • 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.

Uses

Book book

foundational

Where a customer base is kept: the organisations, people, deals and activities one person, a team or everybody works on together.

  • Name name text, one linerequired Encrypted
  • Currency currency text, one line Encrypted
  • Notes notes Markdown Encrypted
Uses

Organisation organisation

foundational

A company, a club, an institution: somebody you deal with that is not one person. Kept in a book, or your own when in none.

  • Book book link to Bookdeleted with its book Indexed
  • Name name text, one linerequired Encrypted
  • Industry industry text, one line Indexed
  • Website website web address Encrypted
  • Email email email address Encrypted
  • Phone phone phone number Encrypted
  • Address address text Encrypted
  • Notes notes Markdown Encrypted
Uses

Contact contact

foundational

A person you know: how to reach them, and how you know them. Kept in a book, or your own when in none.

  • Book book link to Bookdeleted with its book Indexed
  • Name name text, one linerequired Encrypted
  • Organisation organisation link to Organisation Indexed
  • Job title role text, one line Encrypted
  • Email email email address Encrypted
  • Phone phone phone number Encrypted
  • Birthday birthday date Encrypted
  • Address address text Encrypted
  • Notes notes Markdown Encrypted
Uses

Stage stage

foundational

One step of a book's pipeline, in order: where a deal is on its way to won or lost.

  • Book book link to Bookrequired · deleted with its book Indexed
  • Name name text, one linerequired Encrypted
  • Chance of winning (%) probability whole number Encrypted
  • Outcome outcome one of Open, Won, Lost Indexed
Uses

Deal deal

foundational

Something you hope to sell to an organisation or a person: what it is worth, and which stage of the pipeline it is in.

  • Book book link to Bookrequired · deleted with its book Indexed
  • Title title text, one linerequired Encrypted
  • Stage stage link to Stage Indexed
  • Organisation organisation link to Organisation Indexed
  • Person contact link to Contact Indexed
  • Value value number Indexed
  • Currency currency text, one line Encrypted
  • Expected to close expected_close date Indexed
  • Status status one of Open, Won, Lost Indexed
  • Closed closed_at date and time Indexed
  • Notes notes Markdown Encrypted
Uses

Activity activity

foundational

A call, a meeting, an email or a to-do with a customer: when it is due, and whether it is done.

  • Book book link to Bookdeleted with its book Indexed
  • Title title text, one linerequired Encrypted
  • Kind kind one of To-do, Call, Meeting, Email Indexed
  • Due due date and time Indexed
  • Done done yes or no Indexed
  • Done done_at date and timeset when done becomes true Indexed
  • Organisation organisation link to Organisation Indexed
  • Person contact link to Contact Indexed
  • Deal deal link to Deal Indexed
  • Notes notes Markdown Encrypted
Adds fields to

Organisation organisation

foundational

Fields of its own on every organisation, readable by anyone who may read the record, never required.

  • Status crm.status one of Lead, Prospect, Customer, Partner, Former customer Indexed

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.

Licence

AGPL-3.0-or-later.