5D plan · Revenue · Live
From Sales Call to Signed Contract
The moment a prospect says yes is the moment a deal is most likely to stall. Someone has to update the CRM, find the last contract, change the names and numbers, and send it. This plan turns that moment into one click: the client presses Create your contract on their proposal, the deal moves, the agreement is prepared for signature and the owner hears about it on Lark. Nothing is emailed, and nothing reaches the client until a person signs and sends it.
Definition of the Problem
A good discovery call ends with "send me the proposal". From there, most service businesses lose days to work nobody planned for:
- The call is forgotten by the time the proposal is written. The prospect's own words, numbers and worries live in someone's memory, not in the CRM.
- Yes arrives by email and goes nowhere. "Let's go" sits in an inbox while someone remembers to move the deal, draft the contract and send it.
- The contract is rebuilt from the last one. Names, fees, dates and scope are copied by hand from the proposal into a document, which is where mistakes creep in.
- The urgency fades. A client who was ready to start on Monday waits for paperwork, and the start date slips.
The fix is not a faster salesperson. It is making the client's own decision do the work.
Datasources Needed
| Source | What it holds | Where it comes from |
|---|---|---|
| Call recording and transcript | Every word of the discovery call, with speakers and timestamps. | The video call platform's minutes (Lark Minutes for us), pulled the moment the call ends. |
| The CRM deal | The company, the contact, the amount, the expected close date, the stage and the owner. | The company OS: deals, people, companies. |
| The proposal page | The offer in the client's own words: scope, timeline, price, what it asks of their team. | A page on our site written from the transcript, with a clickable mock-up in the client's own brand. |
| The contract | The services agreement and statements of work, with the proposal's terms filled in. | Drafted when the proposal is written, stored with the client's company documents, and attached to the deal before the link is sent. |
| A signed link | A token tied to one deal, so the button can only ever accept that proposal. | Signed on our server with a secret only production holds. |
| Lark | Where the owner hears that the client accepted. | A direct message to the deal owner, sent at once, day or night. |
Diagram and Documented Workflow
Part one: from the call to the proposal
- TriggerThe discovery call ends. The recording finishes processing a few minutes later.
- AgentReads the transcript and updates the CRM: the meeting with a summary, the people on the call, the deal's next step and its budget, authority, need and timeline.
- AgentScores the call for sales coaching on five dimensions (talk ratio, pain quantified, product fit, objections surfaced, next step) and writes notes for the person who ran it.
- AgentDrafts the proposal page and a mock-up of what the client's system would look like, in their own colours and fonts, and drafts the contract from the proposal's terms.
- PersonThe owner reads the proposal and the contract, asks for changes, and approves. The contract is attached to the deal and the page goes live with a signed Create your contract button.
- PersonThe owner sends the client the link.
Part two: the client says yes
- ClientReads the proposal and presses Create your contract.
- Check the linkThe server checks the token was signed by us for this deal.
- Not oursA forged or altered link is refused, and the page asks the client to contact us directly. Nothing changes.
- A botA hidden form field that only bots fill in. The request is answered politely and nothing changes.
- Claim the acceptanceThe acceptance is recorded on the deal, but only if it was not recorded already, so a double click or two people pressing at once can never create two contracts.
- Already acceptedThe client sees "your contract is already being prepared". Nothing is created twice.
- Deal closed or not set upThe client is asked to contact us. The reason stays on our side.
- Move the dealThe deal moves to Contract Sent through the same path as dragging it on the pipeline board, so its probability, history and lead all update.
- Prepare the agreementThe stored contract becomes an agreement on the deal, with the client named as signer and the first invoice set to raise on signature. Edge8's signature is opened for the owner.
- Tell the ownerA Lark message to the deal owner: who accepted, that the agreement is ready to sign, and any step that did not go through.
- Client sees"Thanks. Your start date is held. We will send your contract for signature shortly."
- A step fails after the claimThe client's acceptance still stands. The owner's message names the step (the deal could not move, the agreement could not be prepared) so a person finishes it.
Part three: signature
- OwnerReads the agreement on the deal, signs it by typing their name, invites the client to the client portal and presses Send. This is the human gate: nothing reaches the client before it.
- ClientSigns in the client portal with their own login.
- Close the loopThe signed copy is stored with a fingerprint of the exact text both parties signed, both parties get a copy, and the first invoice is raised in the accounting system.
The deal's states
| Stage | How it gets there | Who acts next |
|---|---|---|
| Discovery | The call is booked and the lead becomes a deal. | The owner runs the call. |
| Proposal | The proposal page is live and the link is sent. | The client decides. |
| Contract Sent | The client presses Create your contract. Moving here needs an amount and an expected close date on the deal, so the forecast can count it. | The owner signs and sends. |
| Won | The client signs. Delivery boards open and the team hears. | Delivery starts. |
| Lost | The owner closes it with a reason. | Nobody; the lead goes back to nurture. |
ROI Determined
The return is in the steps that disappear between a yes and a signature, and in the start dates that no longer slip.
| Step | Before | After |
|---|---|---|
| Call notes into the CRM | Typed from memory, if at all. | Written from the transcript the same hour, with a coaching score. |
| Proposal | Written from scratch, days later. | Drafted from the client's own words, with a mock-up in their brand, the same day. |
| The yes | An email someone has to notice. | A click that moves the deal and tells the owner at once. |
| The contract | Rebuilt from the last client's, by hand. | Drafted with the proposal, prepared on the deal the moment the client accepts. |
| The owner's part | Updating, drafting, chasing. | Reading and signing. |
Definition of Done
Done means
- A recorded sales call becomes a CRM meeting, an updated deal and a coaching score without anyone typing notes.
- A proposal page carries a Create your contract button signed for its one deal, and no email link.
- Pressing it moves the deal to Contract Sent, prepares the agreement on the deal and sends the owner a Lark message, once, however many times it is pressed.
- A forged link, a bot, a closed deal or a second press changes nothing and tells the client nothing internal.
- Nothing reaches the client until the owner has read, signed and sent the agreement.
- The client signs in the portal, and the first invoice raises itself.
- Verified live: a forged token is refused and the honeypot is ignored on production, and the first real acceptance is seen end to end by the owner.
How it shipped
- The proposal and its mock-up. A proposal page written from the call, a clickable mock-up in the client's brand, and a narrated video of it. Live.
- Accept from the page. The signed button, the endpoint that claims the acceptance, moves the deal, prepares the agreement and tells the owner, and a set-up script that attaches a contract to a deal and prints the button's token. Reviewed for privacy before merge, because a public page can now change a deal. Live.
- Next. Generate the contract from the proposal's own figures instead of drafting it alongside, so the two can never disagree.