Creating an opportunity, end to end
Somebody signals intent, a person or the Assistant opens a deal against the relationship it came from, a value in minor units is set where one is known, and the first next action becomes a dated commitment. No message goes out as a side effect of creating the record — the sale becomes visible before anything is said about it.
The stages#
- Trigger — a signal of commercial intent: a question about cost, a quantity named on a call, a prospect replying to outreach.
- User or external event — the message or call has already arrived and been canonicalised; nothing new comes off the wire at this point.
- Authentication and workspace resolution — the workspace is entered before any record is written, so the deal is stamped with the right owner from the first statement.
- Ingest or request —
open_opportunityis called from the board, from the deals sheet, or by the Assistant'screate_opportunity. - Canonical record — the opportunity row is created against the Person, and through them the Company;
set_valuewrites value and currency together in minor units. - Reasoning — what the deal is for is drawn from the conversation, not invented: the words the customer used are the best description available.
- Knowledge, memory and rules — grounded terms may be recorded; a figure no source supports is refused rather than written to the record.
- Autonomy and approval — creating a record needs no approval. Anything said to the customer about it does, under the channel's own rules.
- Action through a provider — none, unless a reply or a chase is sent, in which case it passes the ordinary send boundary.
- Result — the deal appears in its first stage on
#/pipelineand on the deals sheet in#/data, with its value and its counterparty. - Relationship, timeline and memory — the deal joins the person's timeline and their Customer 360 beside the conversation that produced it.
- Audit, usage and Needs You — the creation is recorded with who did it and from what; a commercial question raised at the same time lands in Needs You.
What you see and what changes#
| Stage | What you see | What changes | What can fail |
|---|---|---|---|
| Opening | A new card in the first column | One opportunity row, stamped to the workspace | It lands on the wrong person — usually a forwarded thread |
| Valuing | A figure on the card | value_minor and currency together | A value typed as text with separators; check one row after a bulk import |
| Linking | The person and organisation on the card | The deal points at the relationship | No company link, so colleague context is absent |
| First action | A commitment in the follow-up queue | A dated row with a reason and a channel | No reason recorded, which makes it useless to whoever inherits it |
| Saying something | A reply drafted or sent | A message, under the channel's autonomy | A commercial question inside it: refused and escalated |
Idempotency and the duplicate deal#
Nothing stops two people opening a deal for the same purchase within a minute of each other, and on a busy morning that happens. The record layer is deliberately permissive here — a deal is a judgement, and refusing to create one because a similar one exists would be wrong more often than right.
- Check the person's existing deals before opening a new one; the relationship view lists them.
- Two deals for one purchase make every column total wrong, and the error compounds because both get chased.
- Where duplicates already exist, close one as a duplicate rather than deleting it, so the history of what happened stays intact.
- Follow-ups have their own protection — identical timing for the same person is treated as one — but that does not catch two deals.
Verified success#
Open the person and confirm the deal is listed against them, not against a colleague of yours.
Result This is the failure that is cheapest to fix now and most expensive to fix after a fortnight of activity.
Check the value reads correctly on the card and on the deals sheet.
Result Both read the same stored integer, so a disagreement means a formatting problem worth reporting.
Confirm the first commitment exists with a reason and a due time.
Result A deal with no next action is a deal nobody is working on, whatever column it sits in.
Read the decision log entry for the creation.
Result It names who opened it and from what, which is the provenance the next person will want.
Questions#
Does opening a deal tell the customer anything?
No. Creating the record is internal. Everything the customer experiences is a message, and messages go out under the autonomy rules of their channel.
Can the Assistant open a deal without me?
It can, through the same service and with the same stage rules and refusals. What it cannot do is decide the commercial terms that would let that deal advance.
What if the value is not known yet?
Open the deal without one. An opportunity with no value is honest; an opportunity carrying a guessed figure quietly corrupts every total on the board and is much harder to notice later.