Call Runner
The Call Runner turns a desk into a branching cold-call script — gatekeeper, permission opener, problem-first pitch, a float or calibration fork, diagnose and advise, objection handling and honest exits — then runs it on a prospect with the right names, numbers and next step filled in, and writes the outcome back to the record when you hang up.
Pilot note. The Call Runner is currently switched on for the Kolvera team only while the methodology settles. It will roll out to plans once the pilot closes; nothing here costs you credits until it is on for your workspace.
Three surfaces
/call-frameworks/. Choose a desk to suggest a framework name, roles and buyer types. Review, test and publish. New frameworks include search and MPC call flows. Generation is optional; older authored scripts keep their own editor.During a call, open Prospect details to review the same record and activity history available on your desk, including calls, email, SMS, LinkedIn and meetings. Close the drawer to return to your script and call notes. Use Schedule callback beside it to choose a time and save a reminder without leaving the call. Through MCP, schedule_call_callback takes the contact ID, a date/time with timezone offset and an optional note; it sends no calendar invitation. Script keyboard shortcuts pause while either panel is open.
The drawer includes company notes, hiring signals, pipeline status and campaign history. Use Load older activity to keep reading without leaving the call. MCP provides the same context through get_contact_activity, with a cursor for older pages.
An explicit request for no further contact uses stop_contact_outreach. The runner waits for that restriction to save before confirming removal. This stops future managed outreach, ends active campaign enrolments and cancels queued sends and callbacks. Already handed-off provider actions cannot be recalled. Ordinary bad timing or no current hiring need remains a separate call outcome.
Set up in the browser or through MCP
Choose your desk and select Build from desk. The framework name, roles and buyer types come from the desk. Open a role or person type only when you want to adjust it. Review your commercial terms, then use Test run before publishing. Changes save automatically. Generation is optional.
Through MCP, use create_call_framework with the desk ID, then get_call_framework(include_setup=True). set_call_framework_setup edits roles, buyer types, terms and custom values. Omitted fields stay unchanged; lists replace their section and token values merge. Preview with get_call_runner_context without logging a call or spending credits. Its conversation section returns the same shortcuts as the browser. Pass a shortcut’s target as node_id and its resume_node_id to keep your place; follow the returned resume target without that argument to continue.
Included scripts use shared flows. For small script changes, use update_call_framework_node or update_call_framework_response with only the changed fields. Shared scripts still require explicit override_shared_script=True; the server builds the authored copy without a full-graph payload. To replace the whole graph, use update_call_framework_graph with override_shared_script=True and a complete graph. This creates an authored script that keeps your wording instead of inheriting future shared-script changes. Edits without this explicit choice are rejected rather than silently ignored.
What a framework is made of
A framework is a graph of nodes. Each node has a line you say, coaching chips, and the responses you might hear — every response routes to the next node. Kinds, in the order a call usually runs:
How generation works
Preview sources and the credit cost before starting. By default, generation uses the selected desk, its linked business context and documents, and calls linked to its prospects or companies. Workspace-wide sources require an explicit opt-in; review their relevance before continuing.
Generation preserves existing setup and authored wording by default. Replacement is an explicit option through MCP. If someone edits the framework during generation, the run stops, refunds its charge and keeps those edits. Results stay draft until you review and publish.
MCP offers the same free preview through preview_call_framework_generation, including selected and excluded sources, call-relevance warnings, a company-size summary and fields that will be preserved or replaced.
Generation shows whether it is queued, running or complete, with its current stage and elapsed time. You can close and reopen the window to check progress. MCP exposes the same details through get_call_framework_status; a repeated start reuses the active run.
For briefing bookings, use preview_call_booking to review the recipient, calendar, timezone and available times. Only call confirm_call_booking with confirmed=True after the user approves the invitation. Repeated confirmation reuses the existing booking; check its returned calendar status.
Credits and refunds
Builder, step by step
- Create. Name the framework and pick the desk. The desk decides which prospects use it and what the research reads.
- Generate. Review sources and cost, then follow the current stage. The builder shows the draft when ready, or explains why generation stopped.
- Read the validator. Errors block publishing; warnings do not. Click any issue to jump to its node.
- Edit. Drag nodes on the canvas, drop a new node from the palette, connect responses to targets. The node panel edits the line, chips, responses (label, intent, match hints, target) and, on exits, the outcome, stage, next action and referral ask.
- Entry rules. Which opener a call starts on: by persona, motion, ad age, headcount or whether the bench has a float. The first matching rule wins; the default is the fallback. Only forks carry a node-level motion condition.
- Upgrade. A draft written before the current skeleton shows an Upgrade to bd_v1 button: it adds the missing nodes from the reference script, wires them in and leaves your wording untouched.
- Test run on a prospect without publishing, then Publish. Each publish is a new version; the runner always opens the latest published version for the prospect’s desk, and editing the draft never changes what callers see until you publish again.
Validator codes
Running a call
Follow up on real activity
Shared candidate, Search and Fractional TA openers use recent prospect activity before a job ad: email, LinkedIn messages and connection requests, SMS and calls. The runner shows the selected source and age. A connection request is never described as an accepted connection; a call attempt is never described as a conversation. Relevant recent ads and approved company signals support the reason for calling.
Sell embedded / fractional TA
Choose this call type for ongoing recruitment capacity. It qualifies hiring over the next 12 months, current ownership and annual volume, then explores agency, internal TA and fractional costs, role credit bands and your actual terms. The next step is a 20-minute hiring-map session. Missing terms prompt you to confirm them; the script does not invent prices or rollover rules.
Candidate-led calls remain available in the same selector. If they ask something else includes the phone-number question, with a direct answer when you have verified the source, or an offer to check it. Requests for no further contact end the conversation; complete the contact restrictions separately.
Win a search without a candidate bench
On a universal framework, choose Win a search from the visible Call type selector. Your existing candidate-led and MPC calls remain available. This browser remembers the search choice for that framework; choose another call type to switch back.
The search conversation uses four problems: A finding the right experience, B knowing who can deliver, C getting the right person to say yes, and D finding time to run the search. Ask the short question, then select what fits their answer. Press A, B, C or D when the problem choices are on screen, or click a choice. Each path gives you one follow-up at a time.
If they have already named a problem, use They already mentioned a hiring problem to skip the menu. Keep their own words in your call notes and reflect them before suggesting the next step.
Keep notes while talking. If they ask something else offers direct service and fee answers, a short reply when they grant only five seconds, and help with existing support, proof, email requests and timing. Back to conversation returns to the interrupted question. A meeting or refusal is not treated as a hiring problem. The aim is an agreed hiring-manager briefing. At the briefing stage, select Choose a meeting time. Pick an available slot, review the recipient, calendar and timezone, then explicitly create the meeting and send the invite. Logging the call remains a separate action. Use only genuine examples and agreed commercial terms.
Open the runner from the prospect. The strip across the top shows what the call is being run as, and where each value came from:
Every one of those is a picker. Change the persona and the seat and motion follow; change any of them and the call restarts from the right opener. The ACV field is optional and lands in the call note.
The rules the generator keeps
Coming next
Adaptive mode: with the softphone transcribing, the runner will hear the buyer’s response and move to the matching node itself — the same event the buttons send today. The objection bank will also rewrite itself from your logged calls once there are twenty.
Related
The dialler places the call the runner scripts. Frameworks are built per desk, and generation costs are listed under credits.