Scheduling, CRM and sales platform
Reschedule journey and the current clock
Completion, attendance and call to sale
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.
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
Meetings, held calls, official rate, no-shows and cancellations by day, week and month, with the slice stated.
Coordinators ask about their unit's calls and get the official rate and the data freshness, in aggregated numbers only.
Unit spend / held calls, as a support indicator to compare months, never as the real cost of a call.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Definitions
Pitfalls that already happened
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.
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.
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 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.
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.
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.
- For a closed month, meetings, held calls and the official rate match the scheduling dashboard that shows the whole month.
- Meetings held never include a call starting after now, and attendance never adds leads from future calls.
- Each reschedule chain becomes a single journey with its number of reschedules, and no reschedule appears as a cancellation.
- The total number of calls never comes from the per-person table; its sum may exceed the total without being an error.
- The match rate between people who had a call and buyers appears next to every call-to-sale conversion.
Agent package
Paste into Claude, ChatGPT or any client with the Nekt MCP connected.
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.
Build the "Scheduled calls and attendance" case in my Nekt workspace following the rules at https://academy.nekt.com/en/industrias/educacao/calls-agendadas-comparecimento.md. 1) Find the source tables and confirm the columns the rules use. 2) Create a transformation at the stated grain applying every rule. 3) Run the acceptance test and show me the result of each item. 4) Create the case's context document in the workspace, leaving my clients' exceptions open for me to fill in.
Variations
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.
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.
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.