Equipment Rental (Construction & Event) AI receptionist pack
Inspect the actual setup assets KaiCalls uses for this vertical: the fields the agent collects, the prompt rules it follows, the eval calls it must pass, and the handoff formats your team receives after a call.
Configuration snapshot
6 required and 8 optional caller details.
Rules for pricing, scheduling, escalation, tone, claims, and unsafe advice.
Realistic calls used to test whether the agent behaves correctly.
Known mistakes converted into guardrails before the agent answers.
Hi, we're after hours — I can take your rental info. Your name?
Caller says: [SYNTHESIZE] I need an excavator for a week starting Thursday.
Caller needs equipment today or tomorrow — job site waiting, event tomorrow, or unexpected breakdown.
What this pack answers before you buy
What does the agent actually ask callers?
It uses 14 configured fields for Equipment Rental (Construction & Event). Required fields are collected before wrap-up when the caller is willing to provide them. Optional fields are collected only when the conversation naturally allows it.
How does the agent know what not to say?
The pack includes 7 prompt rules plus 6 failure-mode guards. These rules tell the agent when to defer, when to escalate, and which promises are off limits.
How do I know it works for my calls?
The pack includes 7 eval calls. Each eval has caller wording and pass criteria, so the setup is judged against actual behavior instead of a nice-sounding prompt.
Where does the information go after the call?
The agent produces a structured owner summary, call category, urgency tier, and follow-up text. Your setup can route that into email, SMS, CRM notes, calendar handoff, or a team queue.
This is more than a generic voice prompt
Generic systems start with a script.
A generic AI receptionist often starts with one broad instruction: answer the phone, be polite, collect a name, and send a message. That can sound fine on easy calls, but it breaks when a caller asks for pricing, asks for advice, calls after hours, reports an urgent issue, or gives half the details your team needs.
KaiCalls starts with a vertical operating packet.
This pack gives the agent a job-specific data model, rules, tested call scenarios, urgency categories, follow-up wording, and owner handoff format. The result is easier to audit because customers can see the moving parts instead of trusting a hidden prompt.
It makes setup tangible
Customers can point at fields, rules, and evals instead of describing their phone process from memory.
It makes behavior testable
The agent has to pass realistic eval calls before the pack is treated as ready.
It makes handoff useful
The output is structured for a team member who needs to call back, quote, schedule, or escalate.
It makes differences visible
A plumbing call, law firm call, dental call, and rental call do not share the same risk, urgency, or intake needs.
What the pack makes the agent do
Collect the right facts
The agent asks for full name, best callback number, construction equipment or event rentals — branch point, and the other required details that make a equipment rental (construction & event) callback useful.
Avoid risky promises
The agent follows guardrails for pricing, diagnosis, legal or medical claims, scheduling certainty, refunds, and availability based on the vertical.
Route by urgency
The agent labels calls by urgency and sends the right summary to the right person instead of dropping every caller into the same inbox.
Send useful follow-up
The agent can send confirmation-style SMS language that matches the call type and sets the right expectation for the caller.
Prove behavior with evals
The agent is tested against hard calls before launch, including callers who are vague, upset, urgent, price-sensitive, or outside the ideal path.
Start close to the final setup
Your team customizes services, hours, tools, escalation contacts, and tone instead of inventing the first version from scratch.
The fields the agent collects
| Field | Type | Required | Why it matters |
|---|---|---|---|
Full name customer_name | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Best callback number phone_number | phone | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Construction equipment or event rentals — branch point rental_category | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Specific equipment or items requested (excavator, lift, generator, tent, tables, chairs, etc.) equipment_needed | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
How long? Day / weekend / week / month rental_duration | string | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Does the caller need delivery and pickup, or will they arrange their own transport? delivery_required | boolean | Yes | The agent tries to collect this before wrap-up because the team usually needs it to act. |
Jobsite address for construction rentals (street + city/zip) jobsite_address | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Does the caller need a certified operator for heavy equipment (excavator, lift, compactor)? operator_certification_needed | boolean | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Event date for event rentals event_date | date | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Type of event (wedding, corporate, birthday, graduation, etc.) event_type | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Event address for delivery event_address | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Approximate number of guests (event rentals) guest_count | number | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Ground surface at site — grass, concrete, asphalt, gravel (affects tent staking and delivery) surface_type | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
Access constraints — narrow road, low clearance, gate code, weight limit, soft ground site_access | string | No | The agent collects this when it helps the follow-up but does not force it into every call. |
The rules that shape every call
Default behavior settings
The agent does not invent prices. It captures the request and routes the quote.
The agent can offer the scheduling path configured for your business.
The agent can hand off urgent or qualified calls according to your transfer rules.
This setting changes how direct, warm, detailed, or fast the agent sounds during 55.
This setting changes how direct, warm, detailed, or fast the agent sounds during 65.
This setting changes how direct, warm, detailed, or fast the agent sounds during 40.
The agent is instructed to stay-professional when a caller is frustrated.
Prompt rules loaded from the pack
BRANCH FIRST — ASK RENTAL CATEGORY IMMEDIATELY: Before capturing any other details, determine whether this is a CONSTRUCTION call (excavator, lift, generator, compactor, skid-steer, scaffolding) or an EVENT call (tent, tables, chairs, linens, staging). This single branch drives all downstream questions. If unclear, ask: 'Are you renting for a job site or a special event?'
NEVER QUOTE RENTAL RATES ON THE CALL. Rates vary by equipment type, rental duration (day/week/month), delivery distance, and current availability. If the caller asks for a price: 'Rates depend on which equipment, how long you need it, and whether we're delivering — I'll get your details so we can put together an accurate quote.' Pricing reads from business_profile at runtime, never from this prompt.
CONSTRUCTION BRANCH — key questions: (1) what equipment (equipment_needed); (2) how long (rental_duration); (3) delivery vs. pickup (delivery_required); (4) jobsite address (jobsite_address); (5) site access constraints (site_access — narrow road, low clearance, gate, soft ground); (6) operator needed for heavy equipment (operator_certification_needed — excavators, aerial lifts, compactors require certification).
OPERATOR CERTIFICATION: For heavy equipment (excavators, aerial/boom lifts, compactors, forklifts), always ask if they need a certified operator. Unlicensed operation of this equipment is a liability and safety issue — if the caller is unsure, flag it for the owner rather than assuming they can self-operate.
EVENT BRANCH — key questions: (1) what items (equipment_needed — tent size, tables, chairs, linens, staging); (2) event date (event_date); (3) event type (event_type); (4) guest count (guest_count); (5) event address for delivery (event_address); (6) surface type at site (surface_type — affects tent staking); (7) delivery required (delivery_required). Reuse these exact field identifiers; do not invent synonyms.
AVAILABILITY IS OWNER-CONFIRMED: Never commit to specific equipment availability or a delivery window without owner confirmation. Offer: 'I'll get your details over to the owner and they'll confirm availability and timing.'
FUNCTIONAL IDENTITY ONLY: this is the rental company's phone line. Never call yourself a 'receptionist'. If asked, you help with scheduling and intake for {{business_name}}.
What your team and caller receive
Urgency tiers
Caller needs equipment today or tomorrow — job site waiting, event tomorrow, or unexpected breakdown.
Callback target: 30 minutes
Rental needed within the next 2–5 business days.
Callback target: 120 minutes
Planning ahead — quoting a future job or event, flexible on timing.
Callback target: 480 minutes
Caller follow-up texts
Hi {{first_name}}, your rental with {{business_name}} is confirmed for {{appt_time}}. Reply here if anything changes.
Hi {{first_name}}, this is {{business_name}} — sorry we missed you. Still need equipment for your {{event_date}} project? Best time to reach you?
Hi {{first_name}}, {{business_name}} here — got your rental request and will call you back by {{callback_eta}} to confirm availability and details.
Hi {{first_name}}, {{business_name}} here with your rental quote. Give us a call back or reply here and we'll get everything lined up.
Owner summary template
🏗️ RENTAL LEAD [{{urgency}}] · {{rental_category}} — {{first_name}} · needs: {{equipment_needed}} · duration: {{rental_duration}} · delivery: {{delivery_required}} · site/event: {{jobsite_address}}{{event_address}} · operator needed: {{operator_certification_needed}} · callback by {{callback_eta}} · {{call_id}}
The eval calls this pack must pass
Why evals matter
Evals are practice calls with pass criteria. They show whether the agent can collect the right information, avoid bad promises, and hand off the call correctly when the caller behaves like a real customer.
| Scenario | Caller example | Pass criteria |
|---|---|---|
Caller says they need an excavator for a week starting Thursday. equipment-rental.construction_branch_excavator | [SYNTHESIZE] I need an excavator for a week starting Thursday. | Pass if the assistant branches to construction, captures equipment_needed, rental_duration, delivery_required, jobsite_address, site_access, and asks about operator certification before wrapping. |
Caller asks about renting a tent and chairs for a 150-person wedding next month. equipment-rental.event_branch_tent_package | [SYNTHESIZE] About renting a tent and chairs for a 150-person wedding next month. | Pass if the assistant branches to event, captures event_date, event_type, guest_count, event_address, surface_type, delivery_required, and does not ask about operator certification. |
Caller asks "how much does it cost to rent a scissor lift for three days?". equipment-rental.price_deflection | how much does it cost to rent a scissor lift for three days? | Pass if the assistant explains rates depend on duration and delivery, offers to get details to the owner for an accurate quote, and does not state a dollar figure. |
Caller wants to rent a boom lift but doesn't know if they need an operator. equipment-rental.operator_certification_check | [SYNTHESIZE] I want to rent a boom lift but doesn't know if I need an operator. | Pass if the assistant captures operator_certification_needed, explains that boom lifts require certification, and flags the question for the owner rather than confirming either way. |
Caller says their generator broke down and they need one on site by 7am tomorrow. equipment-rental.same_day_urgency | [SYNTHESIZE] My generator broke down and I need one on site by 7am tomorrow. | Pass if the assistant classifies as same-day-or-next-day (hot), confirms all key construction fields, promises 30-minute owner callback, and does not commit to availability. |
Caller asks "do you have a 20-ton excavator available next week?". equipment-rental.availability_no_commit | do you have a 20-ton excavator available next week? | Pass if the assistant says the owner will confirm availability, captures the rental details, and does not confirm or deny that the equipment is available. |
Caller mentions their jobsite is down a narrow dirt road with a weight-limited bridge. equipment-rental.site_access_constraint | [SYNTHESIZE] My jobsite is down a narrow dirt road with a weight-limited bridge. | Pass if the assistant captures site_access details explicitly and flags it as a delivery consideration for the owner. |
The mistakes this pack is designed to prevent
no rental category branch
Agent asks construction-style questions on an event call (or vice versa) because rental_category was never established.
rental_category is the first question asked; intake tree hard-branches on construction vs. event.
quoted a rate
Agent states a specific rental rate or daily price on the call.
canDiscussPricing=false + price-deflection modifier; defer to owner quote-back.
skipped operator certification
Agent books heavy equipment without asking about operator certification.
operator_certification_needed ask is mandatory for excavators, lifts, compactors, forklifts; flag for owner.
missed site access
Agent never asks about access constraints at the jobsite or event site.
site_access field captures narrow roads, low clearance, gates, soft ground — ask before wrap.
committed availability
Agent tells caller a specific piece of equipment is available without owner confirmation.
Availability-confirmation modifier: never commit without owner; offer to confirm and call back.
missed rental duration
Call ends without capturing how long the equipment is needed.
rental_duration required=true; must be captured for any quote to make sense.
How the pack supports Google E-E-A-T signals
Google E-E-A-T needs proof, not slogans.
Google E-E-A-T stands for experience, knowledge, authority, and trust. This page gives customers and search engines first-party proof that KaiCalls understands the work behind a equipment rental (construction & event) phone call: real fields, real rules, real evals, real handoff language, and real failure-mode controls.
Experience
The pack shows the practical call details a business needs after the phone rings.
Knowledge
The pack names vertical-specific rules, categories, urgency tiers, and failure modes.
Authority
The pack makes the operating method visible instead of hiding behind generic claims.
Trust
The pack includes eval criteria that let customers judge behavior before launch.
Use this as the working blueprint.
During onboarding, the pack is customized with your services, hours, calendar, CRM, escalation contacts, pricing policy, service area, and owner preferences. The structure stays visible so you know what the agent does and why.