Meetbot review: checking what the bot heard before it reaches Bigin
Example data for theStacc's sales team from Tue 27 Oct to Mon 2 Nov 2026: the first day's three calls, then follow-ups, messy speech, wrong matches, team cover and a Monday when Bigin and captions break. 42 screens; 42 are tagged Needs backend work. Click a screen to open it; each page has Prev and Next for its journey and a link back here. Nothing here is connected to a real account.
What this shows
- The call note is written straight away only when the match is certain, so a call is never lost and never lands on the wrong deal. Anything that changes the deal waits for a tap.
- Confidence only decides what is ticked by default. Stage is never ticked by default, and nothing is written without the rep.
- Every change shows the current Bigin value, the proposed value and the exact caption line it came from, so a mis-heard number is easy to spot and correct.
- Telegram handles the common case in one tap; the web page handles corrections, picking a deal, recovering a missed call, undo and retry.
- When the bot is not let in or captures almost nothing, the rep is told during the call and can rebuild the call from the recording and their own notes.
- Before writing, Bigin is read again. A field someone changed since the call is held and the rep chooses; undo never erases a later change.
- Messy speech is shown, not hidden: Hinglish stretches, 'dedh lakh', per-month figures, GST, dollars and US dates are read back in words and never ticked for the rep.
- Each rep has their own Telegram chat and Bigin user, so only the owner (or their cover) confirms, and every write says who decided it.
1After a normal call
The rep checks six proposed changes, corrects a mis-heard amount and writes them. One task times out; Meetbot checks Bigin before retrying, and the Telegram card updates itself.
TG01Telegram: review card after the callNeeds backend workOne message per call listing every pending change; a batch callback that writes the ticked set once
RV02Call review: Kestrel SolarNeeds backend workReview page served by meetbot; reads pending changes from SQLite under the same lease as the Telegram buttons
RV03Correct a mis-heard amountNeeds backend workStore corrected value, reason and who corrected it; serve a short recording clip by caption time
RV04Confirm the writeNeeds backend workBatch write with a per-record result; one-time lease so a Telegram tap cannot write the same set twice
RV07Activity: what was written, undo and retryNeeds backend workWrites table with outcome states; reconcile an unknown outcome before retry; undo only while Bigin still holds Meetbot's value
RV20Did Bigin get it?Needs backend workReconcile search by deal, subject and created time before any retry of a create
TG05Telegram: the card after you finished on the webNeeds backend workEdit the card on every draft change; outbox; reconcile message after an unknown outcome
RV08Write rulesNeeds backend workMove the write policy from code constants into stored settings; reminder and expiry jobs2When the bot is not sure which deal
The invite matches a contact with two open deals, so the rep picks one before anything is drafted.
RV01Review queueNeeds backend workQueue query over processed calls and pending changes, per rep
TG02Telegram: no deal matchedNeeds backend workExisting unmatched prompt, plus a link to the web picker and one-time buttons shared with it
RV05Pick the deal for an unmatched callNeeds backend workDeal search across Bigin; candidate list kept from the matcher; extraction runs after the link (exists today)3When the bot misses the meeting
The prospect hosts the call, the bot waits in the lobby, the recording is transcribed on its own and the rep adds notes for the part that was missed.
TG03Telegram: Notetaker waiting to be let inNeeds backend workHandle Attendee's waiting-room state; alert after 2 minutes in the lobby; skip removes the bot
TG04Telegram: almost nothing capturedNeeds backend workRecording check (length, sound); automatic Whisper transcription of the Attendee mp3 at 5 min or more; no-show marker
RV06Recover a missed callNeeds backend workWhisper transcription of the Attendee mp3; merge rep notes with the recording transcript before extraction; mark note-based values4Messy speech and numbers
A price talk in Hindi and English with 'dedh lakh', a monthly figure, GST and a competitor's price; then a US prospect who speaks in dollars and writes dates month first. Nothing uncertain is ticked.
RV09Call review: mixed Hindi and EnglishNeeds backend workLanguage-mix detection per caption span; "heard → read as" fields on amounts; date readings; dropped-item list
RV10What was the amount?Needs backend workGloss per caption line; spoken-number parser for lakh, crore and shorthand; amount role, period and tax basis
RV11New transcript from the recording: compare draftsNeeds backend workDraft versions per call; Whisper transcript of the mp3; diff of proposals; note edit instead of a second create
TG06Telegram: values that need a checkNeeds backend workCurrency mismatch check against the deal; date-format readings; stage risk wording in the card
RV12Call review: dollars, a US date and a "might"Needs backend workDeal currency read from Bigin; loss-reason requirement read from Bigin layout; time zone of the prospect5Wrong or missing match
A client call with no open deal, a new lead not in Bigin, two contacts with one email, a confident match to the wrong deal, and one call that covered two deals.
TG07Telegram: a client call with no open dealNeeds backend workWon-deal candidates for contacts with no open deal; client-call write policy
RV13Nobody from the call is in BiginNeeds backend workRe-run matching on demand; deal search by name and by any contact; unmatched expiry
RV14Two contacts share one emailNeeds backend workReturn duplicate contacts as candidates instead of raising; name match for personal emails, remembered on Meetbot only
RV15Move a call to another dealNeeds backend workMove job: delete Meetbot's own untouched records, restore fields still holding Meetbot's values, re-extract with the new deal's values
RV16One call, two dealsNeeds backend workPer-change destination; per-owner review routing; shared note; late pickup by the 15-minute check6Before and during the call
Which calls get a Notetaker and why, a heads-up for a call that may not be sales, a booking that failed and was retried, and a prospect who asks the Notetaker to leave.
RV17Upcoming callsNeeds backend workJoin decision computed ahead from calendar events and joining rules; send-now bot creation from a pasted link
TG08Telegram: before the callNeeds backend work/join command; heads-up job 10 min before; booking retry every minute until 5 min after start
ST01Joining rulesNeeds backend workJoining rules stored in settings and applied in the dispatcher; never-join lists; personal-email aliases
TG09Telegram: someone asked Notetaker to leaveNeeds backend workRead Meet chat for "remove notetaker"; Attendee leave call; delete local transcript and recording for one call7When Bigin changes under you
The sales lead edits a deal after Meetbot wrote to it. Undo refuses to erase her change, and the next call's write holds the field that changed and asks.
RV22Undo changes from a callNeeds backend workBefore-values per write; compare with Bigin now and its last modifier; delete only untouched Meetbot records; undo logged as a write
TG11Telegram: the next call on the same dealNeeds backend workOpen-task check; re-read before write; per-field hold with three values; versioned card
RV23Follow-up call: Bigin changed since the callNeeds backend workStore deal values at call time; read Bigin now with last modifier; open-task similarity; per-field resolution8Team and permissions
Each person has their own chat and Bigin user. A rep is away, his waiting calls go to a colleague, and a forwarded link shows nothing to someone outside the team.
ST02TeamNeeds backend workPeople table; Telegram user to Bigin user map; away and cover dates; callback check by person
RV18Sales lead: calls waiting too longNeeds backend workEscalation after 24 hours and on "away"; reassignment of a review; expiry job
ST03Review link opened outside the teamNeeds backend workGoogle sign-in limited to the team domain; per-review access check; notify the sharer
RV08Write rulesNeeds backend workMove the write policy from code constants into stored settings; reminder and expiry jobs9When something fails
A bad Monday: the Bigin connection is revoked, captions break and one rep has blocked the bot. One alert per problem, a health page, and a queue that keeps working.
TG10Telegram: alerts for whoever runs MeetbotNeeds backend workIncident grouping; admin alert channel; outbox per person with delivery state
ST04ConnectionsNeeds backend workHealth checks for Bigin token, Telegram delivery, calendar sync age, caption quality, bot capacity, model, webhooks, disk
RV19Review queue when things breakNeeds backend workQueue states for waiting on Bigin, recovering, given by the lead; reviews confirmed offline are kept and re-checked10Undo and repair
Every write can be traced from the bot's guess to the rep's correction. Undo says what it will and will not do, and a call on the wrong deal can be moved.
RV07Activity: what was written, undo and retryNeeds backend workWrites table with outcome states; reconcile an unknown outcome before retry; undo only while Bigin still holds Meetbot's value
RV21One change, start to finishNeeds backend workWrites table with actor, channel, before-value, draft version, correction and evidence per change
RV22Undo changes from a callNeeds backend workBefore-values per write; compare with Bigin now and its last modifier; delete only untouched Meetbot records; undo logged as a write
RV15Move a call to another dealNeeds backend workMove job: delete Meetbot's own untouched records, restore fields still holding Meetbot's values, re-extract with the new deal's values11Options
Two choices for the owner: correcting on the phone in the review page or in the chat (recommended: the page), and whether a call matching two companies writes its note at once (recommended: ask first).
TG12aOption a (recommended): correct on the phone in the review pageNeeds backend workResponsive review page; Telegram in-app browser sign-in by one-time link; autosave of the draft version
TG12bOption b: correct on the phone in the chatNeeds backend workTyped replies in the polling loop; conversation state per draft; spoken and shorthand number parser
TG13aOption a (recommended): two companies on a call, ask firstNeeds backend workTreat several matching companies as unmatched; hold the note until a deal is picked
TG13bOption b: two companies on a call, write to the first matchNeeds backend workNote written to first match; second match shown; move job (RV15)