What post-call work costs when you do it by hand.
Below is the list. Not what we say we do, the 17 things that have to happen after a customer call, each one named after the file in our own code that does it. Then what one hour of the person doing that list costs, from government wage data rather than from us.
There is no price for Mindlyft on this page. We price the alternative, because that is the side of the comparison you can go and check yourself.
01 · The list
Everything that has to happen between the call ending and the promise landing.
Four stages. Each line prints the file or the document it comes from, so none of it has to be taken on trust. The second stage is the one worth reading twice: those checks are invisible when they work, which is why they are the first thing a person under time pressure stops doing.
Catch it
Every promise made on the call becomes a typed object, or it is already lost.
Separate the six kinds of promise a call produces: send the document, follow up by a date, book the meeting, update the CRM record, loop in an internal expert, file a ticket.
docs/COMMITMENT_TAXONOMY.md (locked v1, six types)
Reject the ones too vague to act on. "Circle back" with no topic is not a follow-up, and "the doc" is not a document.
docs/COMMITMENT_TAXONOMY.md, per-type validation
Put a real date on anything dated, and refuse a deadline further out than 90 days.
docs/COMMITMENT_TAXONOMY.md, follow_up validation
Work out who the thing actually goes to, and send it to a human for review when the recipient is missing or a placeholder, rather than quietly marking it done.
lib/execution/recipient.ts
Check it
The checks between a promise and a write. These are the ones that get skipped by hand, because they are invisible when they work.
Confirm the field being written exists on that object in that CRM, and that the value type-checks against the field schema.
docs/COMMITMENT_TAXONOMY.md, crm_update validation
Confirm the record will accept the write before sending it, by reading the required fields on the target object first.
lib/execution/preflight.ts
Treat "could not read the record" as a stop, not as a pass. An unreadable record is not an unchanged record, so the write goes back for re-approval instead of shipping blind.
lib/execution/preflight.ts, blocked vs skipped
Confirm the record has not moved since the human said yes. Capture the fields the write will overwrite at approval time, re-read them at execute time, and stop if another rep or another automation got there first.
lib/execution/snapshot-guard.ts
Classify the risk, and refuse to let the high ones run unattended at all. Anything touching PII, contracts or financials is blocked from auto-execute whatever the trust score says.
docs/COMMITMENT_TAXONOMY.md risk table, lib/execution/auto-execute-gate.ts
Apply the org’s own blocking rules before anything leaves, per recipient domain and per tool, and record the block when one fires.
lib/execution/guardrails.ts
Ship it
The writes themselves, in the tools the team already runs. Each one is a different system with a different failure mode.
Write the stage, the field and the note to the CRM, through whichever provider that org actually runs, Salesforce or HubSpot, preferring the API path and falling back to the browser when it is gone.
lib/execution/orchestrator.ts, lib/crm/, lib/execution/dom-fallback.ts
File the ticket in the tracker with the customer context attached, and fall back to the CRM when the tracker is not connected.
lib/execution/orchestrator.ts, lib/jira/client.ts
Send the recap or the follow-up on whichever channel the recipient actually has: email through Gmail, Resend or SMTP in that order, or WhatsApp when the recipient is a phone number.
lib/execution/orchestrator.ts, lib/execution/plugins/
Bring the internal expert in, routed from the role named on the call to the real person who holds it in that org.
docs/COMMITMENT_TAXONOMY.md internal_loop, lib/connectors/slack/
Read the record back after writing it, and downgrade a claimed success to "not persisted" when what came back is not what went in.
lib/execution/verify.ts
Prove it
Doing the work and being able to show you did it are two different jobs. The second one is the one nobody has time for.
Hold every customer-facing action behind one human yes, per item, where an approval on one row never carries forward to the next row or the next run.
AGENTS.md non-negotiables, the Review Console
Leave a signed, re-verifiable receipt for each action, including the ones that were blocked, with no user-typed content or PII written into it.
convex/auditChain.ts, scripts/verify-audit-chain.ts
Done by hand, that list is a person’s afternoon. Done by hand under quota, most of stage two does not get done at all, and the cost of skipping it shows up weeks later as a CRM field nobody trusts and a promise nobody can prove was kept.
02 · What that costs in people
One hour of the person who does that list costs about $86.
Not our estimate. Two releases from the US Bureau of Labor Statistics and one division, shown in full below, so you can redo it. We deliberately did not use a recruiter’s or an agency’s day-rate benchmark: the firms that publish those sit on the buy-side of the rates they are quoting.
Step one · the wage
$124,900
2025 median pay for Sales Engineers, occupation code 41-9031, across 51,600 jobs. That is $60.05 an hour in wages alone.
Step two · what the employer actually pays
$178,429
Benefits are 30.0 per cent of total employer compensation cost in private industry, $14.07 of every $46.89 per hour worked. Add that share back on and the wage becomes the cost. Call it $14,869 a month.
Step three · per hour
$86
Divided by 2,080 paid hours in a work year. This is the number to hold against every line in the list above.
May 2025 wage data. Page last modified 27 August 2026. Read 22 October 2026.
June 2026 reference period, released 9 September 2026. Private industry workers. Read 22 October 2026.
One honest caveat, said here rather than in a footnote. The Bureau of Labor Statistics has no occupation called Customer Success Manager, so this page uses Sales Engineers, the nearest role it does measure and one of the three this work actually lands on. A median is also not your team: half of that occupation earns more.
03 · The subtraction
We are not going to tell you how many hours it takes.
We would be guessing, and so is anyone who quotes you a figure for it without looking at your calls. So the hours below are yours to pick. Everything to the right of them is arithmetic on the two government figures above, at 46 working weeks a year.
| Hours per rep, per week | Per rep, per year | A five-person team, per year |
|---|---|---|
| 1 hour | $3,900 | $19,700 |
| 3 hours | $11,800 | $59,200 |
| 6 hours | $23,700 | $118,400 |
Rounded to the nearest hundred on purpose: these rest on a median and on an hours figure you supplied, and printing them to the dollar would claim a precision the inputs do not have. None of it counts the renewal that slips because stage two got skipped, which is the expensive half and the half nobody can source a number for.
The obvious questions
- Why price Sales Engineers rather than Customer Success Managers?
- Because it is the occupation the US government actually measures. The Bureau of Labor Statistics publishes a national wage survey for Sales Engineers, code 41-9031. It publishes nothing for "Customer Success Manager", which is not a standard occupational classification. Rather than borrow a number from a source that is selling recruitment or selling the work, this page uses the nearest occupation that is measured and says plainly that it is a substitution. SEs and TAMs are two of the three roles this work lands on.
- Where does the hourly figure come from?
- Two BLS releases and one division. The Occupational Outlook Handbook puts 2025 median pay for Sales Engineers at $124,900 a year. The Employer Costs for Employee Compensation release puts benefits at 30.0 per cent of what an employer pays in total for a private-industry worker, so the wage is grossed up by that share to reach $178,429. Divided by 2,080 paid hours, that is about $86 an hour.
- How many hours does this list actually take?
- This page does not claim to know, and it is worth being suspicious of anyone who does without looking at your calls. Call volume, how much of the list a team already skips and how much rework the skipping causes all differ per team. The hours column in the table is the reader’s input, not our estimate. The GTM cost calculator takes your own numbers for all of it.
- Why is there no Mindlyft price on this page?
- Because a number without your context is a number you have to defend to someone, and we would rather give you the scope and the alternative and let you do the subtraction. The fee gets quoted on the free 30-minute review, against what your team actually runs.
- Is the list on this page real, or marketing?
- Each of the 17 lines names the file or the document it comes from, and those names are printed beside it. The checks in stage two are the interesting part: they are the steps that are invisible when they work, which is exactly why a person doing this by hand drops them first.