All solution packs
Pack viewer

Photography 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.

Related customer pages

Configuration snapshot

11
Fields

5 required and 6 optional caller details.

9
Prompt rules

Rules for pricing, scheduling, escalation, tone, claims, and unsafe advice.

7
Eval calls

Realistic calls used to test whether the agent behaves correctly.

6
Failure modes

Known mistakes converted into guardrails before the agent answers.

Greeting the caller hears

Hi, after hours at {{business_name}} — I can take your shoot details. Your name?

A real eval from the pack
Caller's original photographer canceled and their wedding is in six weeks.

Caller says: [SYNTHESIZE] Caller's original photographer canceled and my wedding is in six weeks.

First routing rule
rescue-shortnotice

Wedding within ~90 days, news/commercial deadline within a week, newborn lifestyle within their delivery window. Photographer rarely free this fast — treat as hot lead.

Customer questions

What this pack answers before you buy

What does the agent actually ask callers?

It uses 11 configured fields for Photography. 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 9 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.

Why it is different

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.

Agent behavior

What the pack makes the agent do

Collect the right facts

The agent asks for full name, best callback number, wedding, engagement, family, newborn, event, commercial, headshot, or other, and the other required details that make a photography 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.

Setup data

The fields the agent collects

FieldTypeRequiredWhy it matters
Full name
customer_name
stringYesThe agent tries to collect this before wrap-up because the team usually needs it to act.
Best callback number
phone_number
phoneYesThe agent tries to collect this before wrap-up because the team usually needs it to act.
Wedding, engagement, family, newborn, event, commercial, headshot, or other
shoot_type
stringYesThe agent tries to collect this before wrap-up because the team usually needs it to act.
Event or shoot date — wedding day, family session window, event date
event_date
dateYesThe agent tries to collect this before wrap-up because the team usually needs it to act.
Is the date locked, or flexible within a window?
is_date_flexible
booleanYesThe agent tries to collect this before wrap-up because the team usually needs it to act.
Venue, address, or 'studio' / 'photographer chooses' if flexible
event_location_or_studio
stringNoThe agent collects this when it helps the follow-up but does not force it into every call.
Approximate number of people in the shoot (guests, family members, headcount)
party_size
numberNoThe agent collects this when it helps the follow-up but does not force it into every call.
Approximate hours of coverage needed
hours_needed
stringNoThe agent collects this when it helps the follow-up but does not force it into every call.
Digital files only, album/print product, or both
deliverables_preference
stringNoThe agent collects this when it helps the follow-up but does not force it into every call.
How did you hear about us — referral name, social, search, vendor
referral_source
stringNoThe agent collects this when it helps the follow-up but does not force it into every call.
Why this date — wedding, anniversary, baby due date, event, news cycle, commercial deadline
deadline_reason
stringNoThe agent collects this when it helps the follow-up but does not force it into every call.
Prompt structure

The rules that shape every call

Default behavior settings

Can Discuss PricingNo

The agent does not invent prices. It captures the request and routes the quote.

Can ScheduleYes

The agent can offer the scheduling path configured for your business.

Can TransferYes

The agent can hand off urgent or qualified calls according to your transfer rules.

Warmth70

This setting changes how direct, warm, detailed, or fast the agent sounds during 70.

Speed50

This setting changes how direct, warm, detailed, or fast the agent sounds during 50.

Chattiness50

This setting changes how direct, warm, detailed, or fast the agent sounds during 50.

Upset Caller Behaviorempathize

The agent is instructed to empathize when a caller is frustrated.

Prompt rules loaded from the pack

Rule 1

NEVER QUOTE A FLAT PACKAGE PRICE ON THE CALL. Photography pricing depends on hours, locations, second shooter, deliverables, and the photographer's current availability — none of which can be priced blind. If pushed: 'Packages depend on hours, locations, and deliverables — the photographer sends a quote after this call with options that fit your shoot.' Pricing reads from business_profile at runtime, never from this prompt.

Rule 2

EVENT DATE IS THE SPINE: always capture event_date AND is_date_flexible. The date drives whether the photographer is even available — most wedding/event photographers book 6–12 months out. Date-locked shoots inside 90 days are urgent leads.

Rule 3

WEDDING <90 DAYS = HOT-RESCUE: A wedding inside ~90 days is unusual — it's either a last-minute rescue (someone canceled), an elopement, or a small ceremony. Capture deadline_reason, flag for the photographer as a rescue/short-notice lead, and respond fast.

Rule 4

SHOOT TYPE BRANCHES: ask shoot_type early. Wedding/engagement → date + venue + party size + hours; family/newborn → date window + location preference + party size; event/commercial → date + venue + scope + brand context + deliverables timeline; boudoir → capture details and route to the photographer (do not coach or qualify scope).

Rule 5

NEVER PROMISE A SPECIFIC DATE OR DELIVERABLE TIMELINE WITHOUT CONFIRMATION. The photographer's calendar is the source of truth. Offer 'I'll capture your date and the photographer will confirm availability.' Don't commit '600 photos in 2 weeks'.

Rule 6

DEPOSIT QUESTIONS = TRANSFER OR DEFER: If the caller asks about deposits, retainers, refunds, or contracts, do not quote terms. Say: 'The photographer handles deposit and contract details directly — they'll cover that on the callback or first email.' Commercial-shoot deposit questions can be transferred.

Rule 7

REFERRAL SOURCE MATTERS: Wedding and family photography is referral-heavy. Always ask referral_source — vendor referrals (planners, venues, florists) and past-client referrals often get priority handling from the photographer.

Rule 8

SECOND-SHOOTER INQUIRY = INDUSTRY CALL: If the caller is another photographer asking to second-shoot, capture name, shoot_type, event_date, and route to the photographer — do not run them through client intake.

Rule 9

FUNCTIONAL IDENTITY ONLY: this is the photographer's phone line. Never call yourself a 'receptionist'. If asked, you help with scheduling and intake for {{business_name}}.

After the call

What your team and caller receive

Urgency tiers

rescue-shortnotice

Wedding within ~90 days, news/commercial deadline within a week, newborn lifestyle within their delivery window. Photographer rarely free this fast — treat as hot lead.

Callback target: 60 minutes

date-locked

Specific event date 3–6 months out — typical wedding/engagement booking window.

Callback target: 240 minutes

flexible-or-future

Flexible date, comparison shopping, or planning ahead 6+ months.

Callback target: 480 minutes

Caller follow-up texts

booking confirm

Hi {{first_name}}, your {{shoot_type}} consultation with {{business_name}} is set for {{appt_time}}. Reply here if anything changes.

missed call recovery

Hi {{first_name}}, this is {{business_name}} — sorry we missed you. Still planning a {{shoot_type}} for {{event_date}}? Best time to call you back?

callback eta

Hi {{first_name}}, {{business_name}} — got your shoot details. The photographer will reach out by {{callback_eta}} to confirm availability.

consult reminder

Reminder: your {{business_name}} consultation is {{appt_time}}. Bring inspiration photos and any vendor info handy.

Owner summary template

📸 SHOOT LEAD [{{urgency}}] — {{first_name}} · {{shoot_type}} · {{event_date}} ({{is_date_flexible}}) · venue: {{event_location_or_studio}} · party: {{party_size}} · hrs: {{hours_needed}} · deliverables: {{deliverables_preference}} · referral: {{referral_source}} · callback by {{callback_eta}} · {{call_id}}

wedding-inquiryengagement-inquiryfamily-portraitsnewborn-sessionevent-coveragecommercial-shootheadshot-sessionboudoir-inquirysecond-shooter-inquiryrescue-shortnotice
Quality tests

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.

ScenarioCaller examplePass criteria
Caller's original photographer canceled and their wedding is in six weeks.
photography.wedding_rescue_six_weeks
[SYNTHESIZE] Caller's original photographer canceled and my wedding is in six weeks.Pass if the assistant captures event_date, is_date_flexible=false, deadline_reason as the wedding, party_size, venue, and classifies as rescue-shortnotice (hot) with a 1-hour callback promise; does not quote a package price.
Caller asks "how much for a one-hour engagement session in the park?".
photography.engagement_price_deflection
how much for a one-hour engagement session in the park?Pass if the assistant explains packages depend on hours, locations, and deliverables, captures shoot_type, event_date, location, deliverables_preference, and offers a photographer callback; does not state a dollar figure.
Caller asks "do you do boudoir sessions?".
photography.boudoir_capture_and_route
do you do boudoir sessions?Pass if the assistant captures name, callback, shoot_type=boudoir, basic event window, and routes to the photographer — does not run a detailed scope or wardrobe interview.
Caller is a brand asking about deposit and refund terms for a product shoot.
photography.commercial_deposit_transfer
[SYNTHESIZE] I'm a brand asking about deposit and refund terms for a product shoot.Pass if the assistant captures shoot_type=commercial, event_date, deliverables timeline, defers deposit/contract questions to the photographer, and offers transfer or fast callback.
Caller is a new mom price-shopping newborn sessions across photographers.
photography.tirekicker_newborn_mom
[SYNTHESIZE] I'm a new mom price-shopping newborn sessions across photographers.Pass if the assistant captures shoot_type=newborn, event_date window, party_size, location preference, deliverables_preference, and offers a photographer callback without quoting a price.
Caller is another photographer asking to second-shoot for the upcoming wedding season.
photography.second_shooter_inquiry_industry
[SYNTHESIZE] I'm another photographer asking to second-shoot for the upcoming wedding season.Pass if the assistant captures name, shoot_type=second-shooter-inquiry, and routes to the photographer rather than running client intake.
Caller wants family portraits sometime this fall, no fixed date.
photography.family_session_flexible_fall
[SYNTHESIZE] I want family portraits sometime this fall, no fixed date.Pass if the assistant captures is_date_flexible=true, shoot_type=family, party_size, location preference, deliverables_preference, classifies as flexible-or-future, and queues a daily-digest callback.
Risk controls

The mistakes this pack is designed to prevent

quoted a package price

Agent stated a flat package price instead of deferring.

canDiscussPricing=false + package-price deflection modifier; never quote a number.

missed event date

Call ends without event_date captured.

event_date required=true; ask before wrapping.

missed rescue flag

Wedding within 90 days handled as a normal date-locked inquiry.

Rescue-shortnotice tier; capture deadline_reason; hot lead.

quoted deposit or contract terms

Agent quoted retainer percentage, refund policy, or contract clauses.

Deposit-deflection modifier; transfer or defer to photographer.

boudoir or sensitive overqualified

Agent ran detailed scope questions on boudoir/intimate-shoot inquiry instead of capturing and routing.

Boudoir branch: capture basics, route to photographer; do not coach scope.

promised deliverable timeline

Agent promised photo count, edit turnaround, or album delivery date.

Never commit deliverable timelines; photographer confirms.

Search and trust

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 photography 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.

Setup next step

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.

Last updated: June 2026Author: Connor Gallic
    Photography AI Receptionist Pack | Fields, Evals, Prompts