Education · Sales calls

Scheduled calls and attendance

How many calls were booked, how many happened with the lead present, where the lead dropped off and how many bought afterwards, by unit, SDR and closer.

UsageSpecific
EffortMedium
ForDigital product creators, schools and colleges that sell through strategy sessions, enrollment calls or scheduled interviews.
Source

Scheduling, CRM and sales platform

Rule

Reschedule journey and the current clock

Outcome

Completion, attendance and call to sale

Activation

Dashboard by unit, AI agent and cost per call

What it solves

  • A call completion rate with a single rule, which does not change depending on which day of the month you look.
  • Rescheduling treated as the continuation of the same journey, not as a loss followed by a new call.
  • How many of those who had a call bought, how fast and at what ticket, compared with those who bought without a call.

Business questions it answers

Ask your agent these questions once the case is live.

How many calls did my unit hold last week, and what was the completion rate?
Did no-shows go up this month? Show it week by week.
How is each SDR and each closer doing: calls, held and no-shows?
Of those who had a call this year, how many bought and how long did it take?
Do people who go through a call buy at a higher ticket than those who buy directly?
How long does a lead usually take between booking and having the call?

What you need

  • The scheduling tool connected to Nekt (every account) and the sales source
  • A team roster with role (SDR, closer) per month and the internal email domain
  • The map from scheduling account, or from a pattern in the call name, to unit or product

What you get

  • A per-call table with meetings, slots, attendees, no-shows, cancellations and reschedules
  • A per-person table for everyone who booked, with first and last call and recurrence
  • Call-to-sale conversion and ticket with and without a call, always aggregated
  • An AI agent that answers questions about calls with the official rate

Where to activate

Calls dashboard by unit

Meetings, held calls, official rate, no-shows and cancellations by day, week and month, with the slice stated.

AI agent via MCP

Coordinators ask about their unit's calls and get the official rate and the data freshness, in aggregated numbers only.

Cost per call

Unit spend / held calls, as a support indicator to compare months, never as the real cost of a call.

Ready to build?

The scheduling tool is easy to connect. The work is resolving the reschedule chain, separating the team from the leads and matching who had a call with who bought. The detailed view has the business rules, the pitfalls and the acceptance test. Or send everything straight to your agent with the Nekt MCP.

The problem

The scheduling tool records invitations, not attendance. A call can have several leads, a reschedule creates a new invitation, the sales team shows up as invitees and an old account mixes several products. The same present field means attended on a past call and confirmed on a future one. Counting invitations as calls, dividing held calls by calls that already happened and trusting no-shows marked by hand delivers a different rate every day.

How it is usually done, and the rule

Each row is a mistake that already happened in practice.

The common wayThe rule
01
Counting invitations as calls.
Meeting and slot are different numbers

A meeting counts 1 per call. A booking counts 1 per lead holding a slot in the call: a group call, such as a scholarship selection session, can have several leads. The total number of calls comes from the calls table, never after joining with people, invitees or leads.

02
Adding up active leads from every call in the month, future ones included.
Held = it is in the past and a lead was present

A call is held when its start time has passed (now in America/Sao_Paulo) and at least one lead is present. Present = did not cancel, did not reschedule and nobody marked an absence. On a future call, the same field means confirmed: every lead number carries the condition that the call already happened.

03
Dividing held calls by calls already past and calling it the official rate.
The official rate uses the whole period

Completion rate = held / meetings scheduled in the whole period, including those still to come. With the month in progress it changes day by day; always say whether the slice is up to yesterday or the whole month. Held / already happened only when asked for, labeled as unofficial. Attendance per lead (present / bookings) is a complement, never a replacement.

04
Counting each reschedule as one lost call and one new call.
A reschedule is the same journey

Chain invitations by the previous and the new invitation (in Calendly, old_invitee and new_invitee) and resolve the chain to its current state. Rescheduled is not a loss: the lead counts as rescheduled on the original call and continues on the new one. The journey's status is evaluated in this order: canceled, no-show, future, held.

05
Adding up SDRs' and closers' calls to get the total.
The team is not a lead

Invitees with an internal domain email are the team and leave the lead counts. Each person's role (SDR, closer, salesperson, AI agent) comes from a monthly roster. A call with exactly one SDR and one closer has a complete record: that measures whether the team added itself to the call, not performance. The sum of calls per person exceeds the total, because two people attend the same call.

06
Unit from the event type, leaving thousands of calls undefined.
Unit by account, then by call name

A dedicated scheduling account defines the unit or product. An old account that mixes products uses the call name with a pattern map that always returns the canonical label; with no match, undefined. A unit that does not use the scheduling tool answers that it does not use it, never zero calls. A person's allocation unit can differ from the call's unit: for calls in my unit, filter by the call.

07
Concluding no-shows doubled when the team simply started marking absences.
No-show is a floor

The scheduling tool does not check attendance. A no-show only exists when someone marks the absence, and a unit that does not mark shows no-shows close to zero. Compare no-shows across units and months with that warning, and use cancellations and held calls, which do not depend on marking, as support.

08
Joining scheduling and sales by name, or counting purchases made before the call.
Call to sale by email, with dates and without renewals

Match who had a call with who bought by normalized email; phone by the last 11 digits only for those who did not match; name only as probable, with two or more words and pointing to a single buyer. A sale from someone who went through a call is a non-renewal purchase dated on or after the first call. State whether a same-day purchase counts and show the match rate.

09
Comparing last month's conversion with six months ago without a window.
Cohort with a complete window

For conversion over time, start from the people whose first call (or hand-raise) was in the month and count how many bought within 7, 30, 60 and 90 days, with the median number of days. Those who had already bought before are left out of the cohort. A recent cohort without the complete window is flagged and left out of comparisons.

10
Counting calls by the booking creation date.
Call date, in the local time zone, with the last load

The time axis is the call day in America/Sao_Paulo, never the date the booking was created. The scheduling tool loads only a few times a day: every answer states how current the data is, and a week that crosses the month boundary is flagged.

Each lead's status on the call

Evaluated in this order. Lead numbers only count calls that have already happened.

status canceled, no new invitationCanceledleads_cancelados
rescheduled or new_invitee filledRescheduled: continues on the new callleads_reagendados
absence marked by the teamNo-show, a floorleads_no_show
start > nowFuture: present means confirmed
start up to now, no cancellation, reschedule or absencePresentleads_ativos
internal domain emailTeam: out of the lead counts
start up to now and at least 1 presentMeeting held

Definitions

Meetings
distinct calls with the call day in the period, whether they happen or not
Meetings held
calls with start up to now and at least one lead present
Official completion rate
meetings held / meetings scheduled in the whole period, future ones included
Bookings
lead slots taken on the period's calls, in any status
Attendance
leads present on calls that already happened
No-show %
no-shows / (attendance + no-shows), only on calls that happened
Canceled %
cancellations / (attendance + no-shows + cancellations), only on calls that happened
Call-to-sale rate
people with at least one held call and first call in the period who bought after the first call, excluding renewals / those people
Ticket with a call
revenue excluding renewals / sales from buyers matched to a first call up to the sale date; compared with the same calculation for those without a call

Pitfalls that already happened

Two rates for the same month

The dashboard showed the whole month, with future calls in the denominator, and the agent answered up to yesterday. The numbers differed by several points and looked like a contradiction.

Always say which slice is shown and use the same one in both places.

No-shows that more than doubled

Marked no-shows more than doubled from one month to the next. It was the team starting to mark absences that used to stay as present.

Treat no-shows as a floor and confirm the marking habit before drawing conclusions.

Undefined en masse

Deriving the unit from the event type left thousands of calls undefined, because the old account mixed products.

Cascade: dedicated account, pattern in the call name, undefined.

A ready-made outcome column that was wrong

A ready-made outcome column was wrong on hundreds of calls and was used to filter held calls.

Recompute the status from its components (start, attendance, cancellation) and do not filter by the ready-made column.

Phones that do not match

Only a small share of those who booked had a valid phone, and the phone on sales had been empty for months: matching by phone found zero people.

Match by email, use phone only as a second key and state the match rate.

Per-person sum above the total

Adding up closers' calls gave more calls than the total, because two team members were on the same call.

Total always from the calls table; the per-person table is only for breakdowns.

Acceptance test

The case is done when every item passes.

Agent package

Paste into Claude, ChatGPT or any client with the Nekt MCP connected.

Full Markdown
Scheduled calls and attendance
- Total calls come only from the calls table (1 row = 1 call). Time axis = call day in America/Sao_Paulo. Never the booking creation date.
- now = current time in America/Sao_Paulo. Happened = start up to now. Held = happened and at least 1 lead present.
- Meetings = calls. Bookings = lead slots. Attendance, no-shows, cancellations and reschedules: only calls that happened.
- Official rate = held / meetings scheduled in the whole period, future ones included. Held / happened only when asked for, labeled unofficial. Always say whether the slice is up to yesterday or the whole month.
- Reschedule: old_invitee / new_invitee chain resolved to the current state. Rescheduled is not a loss.
- Invitees with an @<internal domain> email are the team and do not count as leads. Role per month from the roster <team table>.
- Unit: dedicated account; account <old account> by pattern in the call name; no match = INDEFINIDO. Unit without scheduling: answer that it does not use the scheduling tool, never zero.
- No-show is a floor: it depends on marking. Warn when comparing units or months.
- People who booked a call are not the official Lead or MQL.
- Call to sale: normalized email; phone (last 11 digits) only for those who did not match; name only as probable. Non-renewal sale dated from the first call on. State the match rate.
- Cohort: people with their first call in the month; bought within 7, 30, 60 and 90 days, with a complete window flag. Those who bought earlier are left out.
- Aggregated numbers only: never list the name, email or phone of anyone who booked.
- Every answer states how current the scheduling data is.
Exceptions by client:
- <client>: the account <account> mixes products; pattern <pattern> in the call name = <unit>.
- <client>: the unit <unit> sells through chat and does not use the scheduling tool.
- <client>: a purchase on the same day as the call counts as a sale with a call.

Variations

Sessions in the CRM

Without a scheduling tool connected, use the CRM's session booked and session held dates and the funnel prospecting, connection, session booked, session held and sale.

Hand-raise

In evergreen funnels, whoever asks to talk to sales enters the cohort; flag it through the sales funnel or the form's marks, because the CRM keeps only the current source.

Group calls

Selection sessions and open classes with several leads per call: read meetings and slots separately and do not compare the per-lead rate with that of individual calls.