# StrandCalls documentation
---
---
> AI voice receptionist for contractors: answers business calls and texts on a Twilio number, books jobs into Google Calendar, and escalates emergencies to the owner. Includes a web dashboard, a customer appointment portal, outbound reminder and campaign calls, and Stripe billing.
---
---
# What is StrandCalls?
Source: https://docs.neuralconfig.com/strandcalls/
StrandCalls is an AI voice receptionist for contractors. You forward your
business line to your StrandCalls number, and the AI answers with your business
name, handles the conversation, books the job on your calendar, and texts the
customer a confirmation. You get a transcript, a summary, and the appointment.
It is built for trades where the phone *is* the front door — plumbing,
electrical, HVAC, roofing, handyman, pest control, auto repair, property
management, and similar appointment-by-phone businesses.
## How it works
1. **Calls forward to your StrandCalls number** when you can't pick up (or all
the time — your choice).
2. **The AI answers** with your greeting, in your business's voice. It answers
questions, checks your real availability, and books the appointment.
3. **You get the details** — the appointment lands on your calendar, the
customer gets a confirmation text, and the call shows up in your dashboard
with a recording, transcript, and summary.
Setup takes about two minutes: fill in your business profile, set a greeting,
and forward your calls. See [Getting started](https://docs.neuralconfig.com/strandcalls/setup/getting-started/).
## What it does on a call
| | |
|---|---|
| **Books appointments** | Checks real availability against your hours, existing jobs, and time blocks — never double-books |
| **Quotes prices** | Reads back prices from *your* service catalog. The AI is never allowed to invent a number |
| **Takes deposits** | Texts a payment link mid-call and holds the slot until it's paid |
| **Collects photos** | Asks the caller to text a picture of the job; it lands on the caller's record |
| **Handles emergencies** | Runs your trade's safety script, then pages you by text and keeps at it until a human owns the job |
| **Transfers to a person** | Hands the caller to you or a colleague, with a spoken briefing first |
| **Takes messages** | When it can't help, it captures the details and gets them to you rather than guessing |
## What you get outside the call
- **A dashboard** — calls, transcripts, appointments, calendar, caller history,
analytics, and billing. See the [dashboard tour](https://docs.neuralconfig.com/strandcalls/setup/dashboard/).
- **Texts that keep working** — [missed-call text-back, a 7am morning briefing,
appointment reminders, and review requests](https://docs.neuralconfig.com/strandcalls/calls/messaging/).
- **An owner assistant** — [call your own business](https://docs.neuralconfig.com/strandcalls/owner-assistant/)
and ask "what happened today?", block time, or cancel a job by voice.
## Pricing in one line
**$149/mo flat, unlimited inbound calls.** Answering is never metered — no
minute buckets, no overage bills, no per-booking success fees. See
[Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/) for what's included at each tier.
## Explore the docs
### Set up
- [Getting started](https://docs.neuralconfig.com/strandcalls/setup/getting-started/): Sign up, work through the setup checklist, and forward your business line.
- [Dashboard tour](https://docs.neuralconfig.com/strandcalls/setup/dashboard/): What each section shows — Overview, Calls, Bookings, and the rest.
- [Receptionist settings](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/): Configure how the AI sounds and behaves — greeting, voice, and what it's allowed to say.
### Handling calls
- [Scheduling and availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/): How the AI decides which appointment times to offer, from business hours to calendar conflicts.
- [Services and quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/): Build the service catalog so the AI quotes your real prices.
- [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/): Collect a deposit by text mid-call, and how the slot hold works if it isn't paid.
- [Texts and notifications](https://docs.neuralconfig.com/strandcalls/calls/messaging/): Every SMS StrandCalls sends — confirmations, missed-call text-back, and reminders.
- [Texting consent and opt-outs](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/): What the AI asks before it texts anyone, what customers can text you, and what STOP stops.
- [Transfers and contacts](https://docs.neuralconfig.com/strandcalls/calls/transfers/): Hand a live caller to a real person, and what happens when nobody picks up.
### Safety and escalation
- [Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/): How urgent calls are handled — the two dispatch modes, reply keywords, and minimum call-out charges.
- [Safety and escalation](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/): The guardrails that keep the AI honest, including per-trade safety rules.
### Plans and billing
- [Campaigns and membership plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/): Outbound texts and calls — who is eligible to receive one, send caps, and plan tiers.
- [Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/): The $149/mo flat unlimited plan, the Growth tier, and what's included in each.
### More
- [Owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/): Call your own number and the AI becomes your assistant — ask what happened today, or block time.
- [Troubleshooting](https://docs.neuralconfig.com/strandcalls/troubleshooting/): Calls not reaching the AI, texts not arriving, and bookings landing on the wrong calendar.
---
# Getting started
Source: https://docs.neuralconfig.com/strandcalls/setup/getting-started/
Going live has two parts: creating the account, then finishing the setup
checklist and forwarding your calls. Budget about ten minutes end to end — the
forwarding step itself is closer to two.
## 1. Create your account
Sign up at [strandcalls.com](https://strandcalls.com). The flow is five steps:
1. **Get started** — enter your email address.
2. **Check your email** — click the verification link we send you.
3. **Business details** — business name, owner name, phone number, trade, and
address.
4. **Review & subscribe** — confirm the plan and enter payment details.
5. **Account created** — you land in the dashboard with a StrandCalls number
provisioned for your area code.
Your StrandCalls number is a real local number. It's the number you forward to,
and it's the number your customers see on confirmation texts.
## 2. Work the setup checklist
Open **Settings → Setup Status**. It's a live checklist — each item flips to a
checkmark as soon as the underlying setting is filled in, and each unfinished
item has a **Finish** link that jumps straight to the right screen.
| Item | Where | What "done" means |
|---|---|---|
| Business information filled in | Settings → Business Profile | Business name, trade, owner name, email, and phone are all set |
| Business hours set | Settings → Business Profile | A start and end time are set, so the AI knows when you're bookable |
| Agent greeting set | Settings → AI Receptionist | Your greeting is more than a few characters long |
| Calendar connected | Settings → Integrations | Google Calendar is connected via OAuth |
| SMS registration approved | Settings → Messaging | Only appears if SMS is enabled — see [Messaging](https://docs.neuralconfig.com/strandcalls/calls/messaging/#a2p-registration) |
Calendar connection is optional in practice — StrandCalls has its own built-in
calendar and books against it. Connect Google only if you want jobs mirrored
into a calendar you already live in. See [Scheduling](https://docs.neuralconfig.com/strandcalls/calls/scheduling/).
## 3. Set your greeting and voice
**Settings → AI Receptionist** is where the receptionist gets its personality:
- **Greeting message** — the first thing every caller hears. Lead with your
business name.
- **Voice** — pick from Ara (warm, friendly), Eve (energetic, upbeat), Rex
(confident, clear), Sal (smooth, balanced), or Leo (authoritative, strong).
- **Custom instructions** — anything specific to your shop the AI should know
or say.
Details in [Receptionist settings](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/).
## 4. Forward your business line
This is the step that puts StrandCalls live. Forward your existing business
number to your StrandCalls number — you don't change the number your customers
already have.
You have two useful patterns:
- **Conditional forwarding (recommended to start)** — calls ring your phone
first and only forward when you don't answer, are busy, or are out of
service. You stay in control; the AI catches what you drop.
- **Unconditional forwarding** — every call goes straight to the AI. Best once
you trust it, or for after-hours-only coverage.
The exact steps depend on your carrier — most mobile carriers use a short dial
code, and business VoIP systems have a forwarding setting in their admin
portal. Find your StrandCalls number in the dashboard header, then follow your
carrier's call-forwarding instructions. If you're not sure which pattern to
pick or your carrier is fighting you,
[contact support](https://support.neuralconfig.com/strandcalls?from=docs).
## 5. Make a test call
Call your own business line from another phone and let it forward. Check that:
- the greeting says your business name and sounds right;
- the AI offers times that match your real hours;
- it asks permission before promising to text you — that
[consent question](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/#the-booking-text-consent)
is required, not optional;
- a booking shows up under **Appts** and on **Calendar**;
- the confirmation text arrives on the caller's phone.
Then open **Calls** and read the transcript. That transcript is the fastest way
to see what your receptionist actually says and to spot instructions worth
adding. The same summary and transcript land in your email after every call.
:::tip
Test as a *customer*, not as yourself. Calls from your **business phone number**,
and from anything on the Recognized phones list, are routed to
[owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/) mode instead of booking you a
job. Borrow a phone.
:::
## Next steps
Once you're live, these are the settings that move the needle, roughly in order.
- [Services and quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/): Build the catalog — until it exists, the AI can't answer 'how much is that?' at all.
- [Texts and notifications](https://docs.neuralconfig.com/strandcalls/calls/messaging/): Missed-call text-back and the 7am briefing, plus the A2P registration everything else waits on.
- [Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/): If you take urgent work, decide which of the two dispatch modes you want.
- [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/): If no-shows cost you a block of time you can't refill.
---
# Dashboard tour
Source: https://docs.neuralconfig.com/strandcalls/setup/dashboard/
The dashboard is where you see what your receptionist did and change how it
behaves. Every section is in the left navigation on every plan — the ones that
need [Growth](https://docs.neuralconfig.com/strandcalls/account/billing/#the-growth-plan) are visible and
readable, and tell you to upgrade at the point where you'd create something.
On a phone the bottom bar carries the six you reach for daily; the rest stay in
the full navigation.
## Overview
The landing screen: today at a glance. Recent calls, upcoming appointments, and
your setup status. If something needs attention — an unfinished setup item, an
unacknowledged emergency — it surfaces here first.
## Calls
Every call the AI handled, newest first. Open one to get:
- A full **transcript** of the conversation, and the **recording** if you've
turned recording on — it is
[off by default](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/#call-recording).
- **A summary** of what the caller wanted and what the AI did.
- **The outcome**, as a badge: Appointment, Message, Info, Hung Up, Urgent,
Spam, or Error.
- **Lead quality**, so you can tell a real job from a wrong number at a glance.
Transcripts are the single most useful thing in the dashboard. If the AI ever
says something you don't like, the transcript shows you exactly what to fix in
[Custom instructions](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/#custom-instructions).
You also get [an email after every call](https://docs.neuralconfig.com/strandcalls/calls/messaging/#the-per-call-email)
with the same summary and transcript, so the dashboard isn't the only place this
lands.
## Appointments
Labelled **Appts** in the navigation. The list view of booked work: customer,
service, time, duration, status, and — if you use
[zones](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#zones-and-zone-days) — a colored zone chip
so you can see the geography of your day.
You can add, reschedule, and cancel appointments here yourself; the AI works
off the same calendar you do.
## Calendar
The same appointments in a day/week grid, alongside your business hours and any
time blocks. This is where you block off a Friday afternoon or a vacation week
so the AI stops offering it. See [Scheduling](https://docs.neuralconfig.com/strandcalls/calls/scheduling/).
## Callers
Caller history — a lightweight CRM. Every number that has called you, with
their past calls, appointments, notes, and any photos they texted in. The AI
reads this, which is why a repeat customer doesn't get asked their address
again.
## Dispatches
Only relevant if you take urgent work. Shows every emergency dispatch, who it
went to, and the ETA you gave, with a badge on the navigation item counting the
ones still waiting on you. The states depend on which
[dispatch mode](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#two-modes-and-youre-on-the-first-one)
you're running:
- **Alert and acknowledge** (the default) — pending, acknowledged, or
unreachable.
- **The dispatch loop** — offered, accepted, en route, done, declined, or
expired.
You can accept, pass, and acknowledge from here as well as by text.
## Recurring
Recurring job series — the same customer, the same service, on a schedule.
Built for route trades (lawn, pool, pest) where the calendar is a rotation
rather than a queue of one-off bookings. You can create a series here, and the
AI can enroll callers into one on the phone once you've configured plan tiers.
See [Recurring series](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#recurring-series).
## Campaigns
Outbound texts and calls to your existing customers: maintenance renewals,
reactivation of people you haven't served in a while, storm recovery. Each
campaign has an audience, a message, a daily send cap, and a global daily cap
across all campaigns so you can't accidentally blast your whole list. On the
flat plan the screen is readable and existing campaigns are frozen. See
[Campaigns & plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/).
## Analytics
Call volume and outcomes over time — total calls, how many booked, and how the
rest broke down. Use it to answer "is the phone actually converting?" rather
than "did the phone ring?".
## Billing
Your plan, payment method, invoices, and subscription status. See
[Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/).
## Settings
Settings is grouped into sections rather than one long page:
| Section | What lives there |
|---|---|
| **Setup Status** | The go-live checklist |
| **Business Profile** | Name, trade, owner, address, hours, timezone, service area, service zones, your StrandCalls number |
| **AI Receptionist** | Greeting, voice, custom instructions, call recording, hold experience, contacts and transfer, owner assistant |
| **Messaging** | SMS toggles, missed-call text-back, briefing, digest, review requests, A2P registration |
| **Services & Prices** | The service catalog that drives quoting |
| **Deposits** | Deposit amounts, hold window, refund policy |
| **Plans & Campaigns** | Membership tiers and outbound campaigns |
| **Safety & Escalation** | Per-trade safety scripts, fact sheets, dispatch alert phone, escalation re-alert window |
| **Emergency Dispatch** | The dispatch loop, offer timeout, backup contact, minimum call-out charges |
| **Integrations** | Google Calendar and other connections |
The two dispatch-related sections are the easy ones to confuse: **where the
alert goes** is under Safety & Escalation, and **how the job is offered** is
under Emergency Dispatch.
Each section saves independently — the save bar at the bottom tells you whether
you have unsaved changes in *that* section, and **Discard** rolls back only
that section.
## Next steps
- [Receptionist settings](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/): The settings that change what callers hear — greeting, voice, instructions, and recording.
- [Scheduling and availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/): What the Calendar and Appointments screens are actually computing.
- [Troubleshooting](https://docs.neuralconfig.com/strandcalls/troubleshooting/): When what you see in the dashboard doesn't match what you expected.
---
# Receptionist settings
Source: https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/
Everything about how the receptionist *sounds* lives in **Settings → AI
Receptionist**; everything it *knows about your business* lives in **Settings →
Business Profile**. Both feed the same call.
## Business Profile
The AI reads this on every call, so keep it honest and current.
- **Business name** — used in the greeting and in every outbound text.
- **Trade type** — plumbing, electrical, HVAC, roofing, general contractor,
handyman, pest control, vacation rental, property management, golf course,
real estate, auto repair, restaurant, and others. This is not cosmetic: it
selects the [safety scripts](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/) the AI runs
for emergencies in your trade.
- **Owner name, email, phone** — where notifications go and who the AI names
when it promises a callback.
- **Address** — used for directions and for judging whether a job is nearby.
- **Business hours and timezone** — the backbone of
[availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/). The AI will not offer a time you
aren't open.
- **Service area** — a plain-English description of where you work. The AI reads
it out when a caller is outside the area and suggests they find someone local,
while still offering to take a message. This is separate from
[zones](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#zones-and-zone-days), which steer *which
day* is offered rather than whether you'll come at all.
Your own **phone number** on this screen matters twice: it's where notifications
default to, and calls from it are treated as
[yours](https://docs.neuralconfig.com/strandcalls/owner-assistant/) rather than a customer's.
## Greeting message
The first sentence every caller hears. Two rules that matter more than wording:
- **Say the business name.** It's the difference between "did I call the right
place?" and "great, they picked up."
- **Keep it short.** A long greeting gets talked over.
A greeting shorter than a few characters counts as unset, and the Setup Status
checklist will keep flagging it.
## Voice
Five voices are available:
| Voice | Character |
|---|---|
| **Ara** | Warm, friendly |
| **Eve** | Energetic, upbeat |
| **Rex** | Confident, clear |
| **Sal** | Smooth, balanced |
| **Leo** | Authoritative, strong |
Pick by what your customers expect from your trade, then call and listen. It's
a one-click change; there's no cost to trying a different one for a week.
## Custom instructions
Free-text guidance the AI follows on every call. This is the highest-leverage
field in the whole product, and the right way to use it is *reactively*: read
transcripts in [Calls](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#calls), find the thing you wish
it had said, and add that.
Good instructions are specific and situational:
- "If someone asks about warranty work, tell them I'll call them back
personally — don't book it."
- "We don't service anything north of the bridge."
- "If they mention a home warranty company, get the claim number."
:::caution
Custom instructions cannot override the pricing rule. The AI quotes only from
your [service catalog](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/) — an instruction
telling it to "just say around $300" will not make it invent prices, because
one wrong quote costs more than the call was worth.
:::
## Call recording
**Record Calls is off by default.** Turn it on and StrandCalls keeps the audio
of each call alongside the transcript.
Transcripts, summaries, and lead quality do not depend on it — those come from
the conversation itself and are always there. Recording adds the audio, which is
worth having if you ever need to hear tone rather than read words. Check your
state's rules on recording before you enable it, and see
[Recording and consent](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/#recording-and-consent).
## Hold experience
What a caller hears while they wait to be handed to a person: background music
(MP3, up to 5 MB) and a spoken hold message, mixed together automatically. Leave
both empty for the default. This plays during a
[transfer](https://docs.neuralconfig.com/strandcalls/calls/transfers/), so it only matters once you've set a
transfer contact.
## Contacts and transfer
Also on this screen: your contacts — name, phone, and role — and which one the
AI can transfer a live caller to. The same list supplies the backup contact for
[emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/). See
[Transfers and contacts](https://docs.neuralconfig.com/strandcalls/calls/transfers/).
## Recognized phones and owner mode
And: the phone numbers the AI should recognize as *you*, and the voice PIN that
gates owner mode. Covered in
[Owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/).
## Testing changes
Settings apply to the next call — there's no publish step. After any
meaningful change, call your line from a phone that is **not** your business
number and **not** on the recognized list, and listen to the result.
## Next steps
- [Services and quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/): The catalog is the only thing that lets the AI answer 'how much is that?'.
- [Transfers and contacts](https://docs.neuralconfig.com/strandcalls/calls/transfers/): Give the AI somewhere to send a caller who wants a human.
- [Safety and escalation](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/): The guardrails custom instructions can't override, and the per-trade safety scripts.
---
# Scheduling and availability
Source: https://docs.neuralconfig.com/strandcalls/calls/scheduling/
The AI never guesses at your schedule. Every time it offers is computed from
your real availability: your hours, your existing jobs, your time blocks, and
how long the requested job actually takes.
## What makes a slot available
A time is offerable when all of these hold:
1. It falls inside your **business hours** for that day of the week.
2. It isn't covered by a **time block** you've placed on the calendar.
3. It has enough **contiguous free time** for the requested service's duration
— a 30-minute gap will not be offered for a two-hour job.
4. It doesn't collide with an existing **appointment**, including a slot on
hold for someone's [deposit](https://docs.neuralconfig.com/strandcalls/calls/deposits/).
5. It isn't already busy on your **Google Calendar**, if you've connected one.
Slots are offered on 30-minute boundaries by default. A cancelled appointment —
or one you mark as a no-show — frees its slot again immediately.
## Business hours
Set per day of week in **Settings → Business Profile**, along with your
timezone. Different hours on Saturday, closed Sunday, a short Friday — all
supported. The AI treats these as hard limits for normal booking.
## Time blocks
Block time on the **Calendar** screen to take it off the board without
creating a fake appointment: vacations, a supplier run, a standing Thursday
morning you keep for paperwork. Blocked time never gets offered.
You can also block time by voice — call your own number and say "block Friday
afternoon". See [Owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/).
## Job durations
Each service in your [service catalog](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/)
carries a duration. That duration is what the availability engine reserves, so
the calendar reflects reality instead of uniform hour-long boxes. A job booked
without a catalog service falls back to a standard one-hour slot.
## Zones and zone days
Zone scheduling stops you driving back and forth across your service area.
- You define **zones** in Settings → Business Profile as groups of zip codes,
each with a name and a color.
- A caller's address maps to a zone — the AI reads the zip out of the address it
collected, or asks for it.
- When the AI offers times, it **prefers days you're already working that
zone**.
A zone day is "yours" for two different reasons, and both count:
- **Regular route days** you set on the zone — "Tuesdays are the north side".
- **Days that already have a job in that zone**, whether or not they're a
regular route day. The first booking on a new day pulls the rest of that
zone's callers toward it.
Set the zone day policy to **enforce** and the AI offers nothing else for that
zone; leave it on **prefer** and other days stay bookable, just not suggested
first. Enforce is strict enough that a zone with no route days and no bookings
has nothing to offer, so set the route days before you switch it on.
Booked appointments show their zone as a colored chip in the Appointments list
and on the Calendar, so a glance tells you whether tomorrow is one trip or
four.
Zone scheduling is off by default; enable it once you have zones defined. Zones
never refuse a job — that's what the
[service area](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/#business-profile) is
for.
## Google Calendar sync
StrandCalls has its own calendar and does not require Google. Connecting Google
Calendar in **Settings → Integrations** (OAuth) makes the sync work both ways:
- StrandCalls **writes** each booking into the calendar you already check.
- StrandCalls **reads** that calendar's busy time when it computes availability,
so a dentist appointment you put in Google is not offered to a caller.
That second half is the one people don't expect, and it's the reason connecting
Google is worth doing even if you never look at the StrandCalls calendar: the
schedule you already keep starts protecting itself.
If Google can't be reached at the moment of a call, StrandCalls books on its own
data rather than failing the call — so a rare Google outage can produce a
double-booking against a Google-only event. It won't produce a lost customer.
Connecting it also ticks the "Calendar connected" item on the setup checklist.
If you don't use Google Calendar, you can safely leave that item unchecked —
booking works either way.
## Appointment reminders
When reminders are enabled, StrandCalls calls the customer the day before their
appointment with a spoken reminder:
> This is a reminder from *[your business]* about your appointment tomorrow at
> *[time]*. Press 1 to confirm, or press 2 to reschedule.
Pressing **2** hands the caller to the AI, which rebooks them live against your
real availability — you don't get pulled into it. Each appointment is reminded
once, roughly a day ahead, and when texting is on the call is backed up by a
text they can reply CONFIRM or RESCHEDULE to. Cancelled jobs and no-shows are
skipped.
## Recurring series
For route trades, **Recurring** turns a customer into a repeating series — same
service, same cadence — rather than a booking you have to recreate every time.
Combine it with a hard zone-day policy and your route builds itself.
A series carries the customer, the service, the address, the visit time, and any
prep notes (gate code, pets). Cadence is one of five:
| Frequency | Repeats |
|---|---|
| **Weekly** | every 7 days |
| **Every two weeks** | every 14 days |
| **Every four weeks** | every 28 days |
| **Quarterly** | every 91 days |
| **Twice a year** | every 182 days |
Visits are written onto the calendar about **four weeks ahead** and topped up as
time passes, so the schedule you're looking at is real bookings rather than a
rule you have to interpret. Each visit behaves like any other appointment —
reminders, zone chips, deposits, cancellation.
The customer can manage their own series by phoning you: the AI can tell them
when their next visit is, skip the next one, pause the series (with or without a
resume date), move it to a different day, or cancel it — and a cancellation is
confirmed twice before it happens. Anything you'd rather they didn't do by
phone, do yourself in **Recurring**.
The day before each visit, customers with a series get a short prep text so the
gate is unlocked and the dog is in. Series need the **Growth** plan to create,
but visits already scheduled keep materializing if you move back to the flat
plan.
## Next steps
- [Services and quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/): Job durations come from the catalog — get these right and the calendar stops lying to you.
- [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/): What a slot held for payment does to everyone else's availability.
- [Campaigns and membership plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/): Plan tiers can reserve slots at the end of each day for members.
---
# Services and quoting
Source: https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/
The service catalog is your price book. It's what lets the AI answer "how much
is that?" — and it's the only place the AI is ever allowed to get a number.
:::danger[The pricing rule]
Every number the AI says out loud comes from something you configured, read back
without modification. It never generates a price, estimates one, or reasons its
way to a figure — not from custom instructions, not from a caller's pressure,
not from a similar-sounding job. If a service isn't in the catalog, the AI says
it can't quote and offers to have you follow up.
:::
There are exactly three places a number can come from, and this page is the
first: the **service catalog**, the
[minimum call-out charges](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#minimum-call-out-charges)
for emergencies, and the
[membership plan prices](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#membership-plan-tiers).
All three are tables you fill in. There is no fourth.
Configure the catalog in **Settings → Services & Prices**.
## Anatomy of a service
Each entry carries:
| Field | What it does |
|---|---|
| **Name** | What the caller asks for; also how it shows on the appointment |
| **Subject class** | The size or type qualifier this row is for — "sedan", "full-size truck", "large breed". Two rows with the same name and different classes make one service with two prices |
| **Keywords** | Extra words a caller might use for this service, to help the lookup find it |
| **Price** | The base price, in dollars |
| **Maximum price** | The top of the range, when the quote policy is a range |
| **Duration (minutes)** | Reserved on the calendar — drives [availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#job-durations). Between 15 and 480 |
| **Quote policy** | How the price is communicated (below) |
| **Deposit** | Amount to collect at booking, if any — see [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/) |
| **Intake questions** | Up to 10 questions the AI must ask before booking this job |
| **Upsell** | A related service to offer |
| **Don't offer if** | Conditions under which this service should not be suggested |
## Quote policies
The quote policy is how honest-but-useful gets encoded. Four options:
- **Exact** — "That's $189." Use for fixed-price work where you'll stand behind
the number sight unseen.
- **Starting at** — "That starts at $189." Use when the price is a floor and
scope can push it up.
- **Range** — "That runs $189 to $340." Uses the price and maximum price
fields. Use when the honest answer really is a spread.
- **Never** — the AI does not quote this service at all, and instead books the
job or takes a message for you to price. Use for anything you refuse to
price over the phone.
Every quote the AI gives is logged against the call — the service, the policy,
and the figure — so you can see exactly what was said to whom, even if you
change the price afterwards.
## When one name has several prices
Give two rows the same **name** and different **subject classes** and the AI
handles the difference on the call. Asked for a price it can't pin down, it
doesn't guess and it doesn't average: it asks which one applies — "is that a
sedan or a full-size truck?" — and quotes only after the caller answers.
If every variant is priced with a **starting at** policy, it can answer with the
cheapest as a floor instead of interrogating the caller. That's the only case
where it will answer an ambiguous question directly.
## Intake questions
Per-service questions the AI asks before it will book. This is how you stop
showing up to a job without the information you needed:
- Tint shop: "What year, make, and model?"
- Detailing: "Any pet hair? How many seats?"
- Plumbing: "Is the water currently shut off?"
The AI asks these naturally in the flow of conversation and attaches the
answers to the appointment. It also won't re-ask something it already knows
about a returning caller.
## Upsells and don't-offer rules
- **Upsell** — a service to mention when this one is booked ("while we're out
there, do you want us to…"). At most **one upsell per call**, offered after
the base price, and never a hard sell. Suggesting something *cheaper* that
fits the caller better isn't counted and is always allowed.
- **Don't offer if** — conditions that suppress a service. Use it for work you
only do in season, only for existing customers, or only above a job size.
## Photos before you price
For anything visual, pair the catalog with
[photo intake](https://docs.neuralconfig.com/strandcalls/calls/messaging/#photo-intake): the AI asks the caller to
text a picture, which lands on their record before you commit to a price or
roll a truck.
## If you don't have a catalog yet
Without catalog entries, the AI won't quote — when a caller asks about price it
says it can't quote over the phone and that you'll follow up. That's a safe
default, not a broken one. Add your top five or ten jobs first; those cover
most calls.
## Availability
Catalog quoting is available on **every plan** — turn it on by adding services
in Settings → Services & Prices. The pricing rule itself — that the AI never
invents a number — applies whether or not you've built a catalog. See
[Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/).
## Next steps
- [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/): Attach a deposit to the services where a no-show actually costs you.
- [Scheduling and availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/): Durations set here are what the calendar reserves — the most common cause of impossible days.
- [Safety and escalation](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/): The other guardrails that hold regardless of what you put in custom instructions.
---
# Deposits
Source: https://docs.neuralconfig.com/strandcalls/calls/deposits/
Deposits let the AI take money before it commits your calendar. During the
call, it texts the caller a payment link and holds the slot until the payment
clears. If it doesn't clear, the slot goes back on the board automatically.
This is the feature that kills no-shows on long jobs — one saved three-hour bay
slot pays for the month.
## How a deposit call goes
1. The caller agrees to a job that has a deposit configured.
2. The AI **holds** the slot and texts a payment link to the caller's phone. It
tells them the slot is held for a set number of minutes and that the booking
isn't confirmed until they pay — then wraps up the call rather than waiting
on the line.
3. The caller pays on their phone, usually within a minute or two.
4. On payment, the appointment is **confirmed**, the caller gets a confirmation
text with their portal link, and **you get a text** saying who booked and
that the deposit is in.
5. If the hold window passes without payment, the hold **expires**, the slot is
released, the payment link is deactivated, and the caller is texted that the
slot went back on the board. Anyone on the waitlist for that day is offered
it.
Every state is visible in the dashboard, so you always know whether a booking
is paid or still pending.
A payment that lands *after* the hold expired is handled rather than lost: if the
slot is still free the appointment comes back confirmed, and if someone else has
taken it in the meantime the deposit is **refunded automatically**. Money is
never held against a booking that no longer exists.
## When the caller says no
Two refusals, two different outcomes:
- **They decline the deposit.** The slot is not booked — a deposit-required job
without a deposit is not a booking.
- **They can't receive texts at all.** The AI doesn't offer the waitlist or
pretend the link will arrive; it takes a message so you can arrange payment
directly.
## The waitlist
Turning deposits on also gives the AI a waitlist. When a caller wants a day that
is full — or a slot that is currently held by someone else's unpaid deposit —
it offers to put them on the list for that date, and StrandCalls texts them if
something opens up. An expired hold is the most common thing that opens one.
## Settings
**Settings → Deposits**:
- **Default deposit amount** — used for any service that doesn't override it.
- **Hold window (minutes)** — how long a slot stays reserved awaiting payment.
**30 minutes** by default: short enough that dead holds don't block your
calendar, long enough that someone can put down a wrench and pay.
- **Refund policy** and **refund cutoff (hours before appointment)** — the
policy the AI states and the point after which a deposit is no longer
refundable. The AI reads your policy text **word for word**; leave it blank
and it declines to answer refund questions and takes a message instead, which
is a good reason to fill it in.
- **No-show threshold** — after this many no-shows, that customer is required to
pay a deposit on every future booking, whether or not the service normally
asks for one. **Two** by default.
Per-service deposit amounts live on the service itself in
[Services & prices](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/), so a $50 hold on a
detail job and a $200 hold on a charter can coexist.
## What the caller sees
A text with a payment link from your business name. Payments are processed by
Stripe — card details never touch StrandCalls, and never touch you.
Cancelling is a text away: a customer who replies **CANCEL** releases the
appointment, and a deposit still inside your refund window is refunded on the
spot. See
[Texting consent and opt-outs](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/#what-a-customer-can-text-you).
## When not to use deposits
Deposits add friction. They earn their keep when a no-show costs you a block of
time you can't refill. They cost you bookings on quick, high-volume, low-value
jobs. Start by putting deposits only on your longest or most-flaked services
and watch what happens to your booking rate.
## Availability
Deposits are available on **every plan** — turn them on in Settings → Deposits.
They're off until you enable them. See
[Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/).
:::caution[Deposits need working texting]
The payment link is a text, so a deposit can only be required once texting is
enabled **and** your
[A2P registration](https://docs.neuralconfig.com/strandcalls/calls/messaging/#a2p-registration) is approved.
Until then the setting can be filled in, but no booking will ask for a deposit.
:::
## Next steps
- [Services and quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/): Per-service deposit amounts, and the catalog that decides what a job costs.
- [Scheduling and availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/): What a held slot does to everyone else's options, and how the waitlist fills it.
- [Texts and notifications](https://docs.neuralconfig.com/strandcalls/calls/messaging/): The texts around the payment link, and what A2P approval gates.
---
# Texts and notifications
Source: https://docs.neuralconfig.com/strandcalls/calls/messaging/
StrandCalls texts on two sides of the call: your customers get confirmations and
follow-ups, and you get the summary. All of it is configured in
**Settings → Messaging**.
## Customer-facing texts
### Booking confirmations
After the AI books a job, the customer gets a confirmation text with the
details and a link to their appointment. That link opens a small customer
portal where they can see the booking — no account, no app.
### Missed-call text-back
When a call dead-ends — voicemail, a dropped line, nobody reachable — the
caller gets a "sorry we missed you" text with a way to book. This is the
highest-return notification in the product: most people who hit voicemail hang
up without leaving a message, and a large share of them call a competitor next.
Repeat sends are suppressed for an hour, so a customer redialing three times
gets one text, not three.
### Appointment reminders
The day before, StrandCalls calls the customer with a spoken reminder — press 1
to confirm, press 2 to be handed to the AI and rebooked live. When texting is
on, a matching text goes out too, and the customer can reply CONFIRM or
RESCHEDULE instead of taking the call. Covered in
[Scheduling](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#appointment-reminders).
### Review requests
After a completed job, StrandCalls can text a review request pointing at the
review link you configure. Jobs are treated as complete about **12 hours** after
they were due to finish, and the request goes out a configurable delay after
that — **24 hours** by default — during daytime hours only.
It is deliberately hard to make this annoying. A request is skipped when:
- the same customer has already been asked within the last **6 months**
(configurable);
- the call behind the job raised a **safety flag**, scored badly, or ended in an
error — you are never asked to solicit a review for a job that went wrong;
- there's no usable phone number on the job.
## Owner-facing notifications
### Morning briefing
A single text at **7am your local time**, capped short enough to read at a red
light. It covers today's jobs and yesterday's recap — what came in, what
booked, what needs you.
Enable it per account; it only sends to contractors who have opted in.
### Weekly digest
A wider view than the daily briefing, delivered as an **email at 7am on Monday**
in your timezone, covering the previous Monday-to-Sunday week: call volume,
bookings, and notable misses. Useful for spotting a trend the daily text is too
close to see. Enable it per account; it needs an email address on file.
### The per-call email
Separately from the digest and the briefing, StrandCalls emails you after **every
call** the AI handles. The subject line carries the caller's number and the call
length; the body has the time, the outcome, the lead quality, the summary, and
the full transcript.
This one isn't a toggle — it goes to the email address on your Business Profile.
Calls you make yourself in
[owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/) mode are excluded.
### Dispatch alerts
Urgent jobs page you separately and immediately. What arrives — an alert you
acknowledge, or a job offer you accept — depends on which
[dispatch mode](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#two-modes-and-youre-on-the-first-one)
you're running.
## Photo intake
The AI can ask a caller to text a photo of the job — the panel, the pet hair,
the storm-damaged dock. It offers this once, and only when seeing the job would
genuinely help: hard-to-describe work, damage, equipment nameplates, vehicle
condition. It never offers it during an emergency, and it will never quote or
diagnose from a photo — a person looks.
Inbound picture messages are stored and attached to the caller's record, so you
can look before you price or roll a truck. You also get an email with the first
couple of images inline.
| | |
|---|---|
| **Formats** | JPEG, PNG, GIF, WebP, HEIC, HEIF |
| **Size** | Up to **5 MB** per image |
| **Per caller** | **10** images a day |
| **Per account** | **200** images a day |
A caller who goes over their daily limit is told to call instead, and a caller
who texts a photo when photos are switched off is told the number can't receive
them. Photos show up on the caller in
[Callers](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#callers) and on the related call.
## A2P registration
US carriers require business texting to be registered (A2P 10DLC) before a
business number may send automated messages. StrandCalls handles the submission;
your job is mostly to wait and to watch the status in **Settings → Messaging**:
| Status | What it means |
|---|---|
| **Not started** | Registration hasn't begun — contact support to enable SMS |
| **Draft** | Your submission is being prepared |
| **Submitted** / **Pending** | Under carrier review |
| **Approved** | Fully registered |
**Approval is a gate, not a speed setting:**
Several features don't just run slowly before approval — they don't run at all,
because sending unregistered automated traffic is what gets a number blocked.
| Feature | Before approval |
|---|---|
| Missed-call text-back | **Not sent** |
| Review requests | **Not sent** |
| [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/) | Can't be required — the payment link is a text |
| [Campaigns](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/) | **Not sent**, and they additionally need a marketing or mixed use case |
| [Dispatch texts](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/) | Sent, but carriers may filter them |
| Confirmations, reminders, in-call texts, owner notifications | Sent |
Voice is unaffected throughout — answering, booking, reminder calls, and
emergency handling all work regardless of SMS status.
## Sending limits
Customer-facing texts — confirmations, reminders, follow-ups, missed-call
text-back — are part of "the call was handled" and are never metered.
The one exception is outbound **marketing campaigns**, which are
owner-initiated rather than call-driven. Those are bounded by per-campaign and
account-wide daily send caps you control, plus quiet hours and opt-out handling.
See [Campaigns & plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#send-caps-and-quiet-hours).
## Next steps
- [Texting consent and opt-outs](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/): What the AI asks before it texts anyone, what customers can text you, and what STOP really stops.
- [Deposits](https://docs.neuralconfig.com/strandcalls/calls/deposits/): The one text that moves money, and what happens when it isn't paid.
- [Troubleshooting](https://docs.neuralconfig.com/strandcalls/troubleshooting/): Texts not arriving, briefings that never show up, and photos that bounce.
---
# Texting consent and opt-outs
Source: https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/
StrandCalls asks for two different permissions, and they are not
interchangeable. The first lets it text a caller *about their own booking*. The
second — asked only sometimes, and only after a booking is finished — lets you
market to them later.
Both are captured on the recorded call, and both can be withdrawn with a single
text.
## The booking-text consent
Before the AI books an appointment or adds someone to the waitlist, it asks for
permission to text them. The script it reads carries every disclosure the
carriers require:
> I'll text you a confirmation now and a reminder the day before. Messages come
> from *[your business]*. Message and data rates may apply. Reply STOP anytime
> to opt out. Is that okay?
If the caller says yes, the booking proceeds normally and the confirmation goes
out. **If the caller declines, the job is still booked** — the AI notes
`NO SMS — caller declined` on the appointment and promises no texts at all.
That note is the reason a booking sometimes has no confirmation text against it.
It isn't a delivery failure; the customer said no.
## The marketing opt-in
The second question is separate, and the AI only asks it when all of these are
true:
- your account is on the **Growth** plan and texting is enabled;
- the caller has **no yes and no opt-out already on file** — it is never re-asked
of someone who already said yes, and never asked again after an opt-out;
- the booking **succeeded**;
- the caller already agreed to the confirmation texts;
- it is **not** an emergency call.
The wording is fixed, because two of its phrases are legally load-bearing:
> One more thing — would you like occasional automated texts or calls from
> *[your business]* about seasonal specials and maintenance reminders? Saying
> yes isn't required to book with us, and you can text STOP or say stop anytime.
"Automated" and "isn't required to book" are the phrases that make this prior
express written consent under the TCPA. Anything short of a clear yes — silence,
"maybe", "I guess" — is treated as no. A no isn't stored as a decision, so a
customer who declines today may be asked once more on a future booking call; a
yes and an opt-out are both permanent until deliberately changed.
On a yes, StrandCalls stores the consent against the booking phone number along
with the ID of the call it was captured on, and immediately texts a written
confirmation of the sign-up. That pair — the recorded call and the text — is the
evidence you would need if the consent were ever challenged.
**Consent is per-number, and it is the gate on campaigns:**
Every [outbound campaign](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/) audience is
filtered on this flag. A customer who booked with you but was never asked, or
who was asked and hesitated, cannot receive a campaign — no filter, import, or
list upload gets around it. If a campaign preview shows zero recipients, this is
almost always why.
## What a customer can text you
Your StrandCalls number takes texts as well as calls. Anything a customer sends
lands in the dashboard against their record; a few first words are treated as
commands:
| They text | What happens |
|---|---|
| **CANCEL** | Their earliest upcoming appointment is cancelled, and a deposit inside the refund window is refunded |
| **CONFIRM** | Their upcoming appointment is confirmed |
| **RESCHEDULE** | They get a link to their booking in the customer portal, or an invitation to call back if there's nothing to manage |
| **STOP** / **STOPALL** / **UNSUBSCRIBE** | All texting to that number stops — see below |
| *a photo* | Stored on their caller record — see [photo intake](https://docs.neuralconfig.com/strandcalls/calls/messaging/#photo-intake) |
| *anything else* | Forwarded to your email, and the customer gets a "we'll get back to you" acknowledgement |
Keywords are matched on the first word, so "cancel my Thursday appointment"
works as well as a bare `CANCEL`.
## What STOP actually does
**STOP is broader than marketing:**
When a customer texts STOP, the **carrier** blocks every text from your
StrandCalls number to that phone — confirmations, reminders, deposit links, and
dispatch updates included, not just marketing. StrandCalls cannot override it,
and neither can you.
Alongside the carrier block, StrandCalls records the opt-out on the caller's
profile and:
- suppresses that number in **every** campaign of yours that is still queued,
on both the text and voice channels;
- flags the number so scheduled sends — recurring-visit prep texts, for
instance — skip it instead of failing;
- shows **Texts blocked** and **Marketing opt-out** badges on the caller in
[Callers](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#callers), so a booking with no
confirmation text has a visible reason.
The customer can undo it from their side by texting **START** to your number,
which is a carrier-level command. Inside StrandCalls, the marketing opt-out is
never cleared by any dashboard edit — re-consent has to be captured fresh on a
later call, which is deliberate: a consent record you can silently flip back on
is not evidence of anything.
## Voice campaigns and press 9
A [voice campaign](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#voice-campaigns)
carries its own opt-out. Every call announces "press 9 to stop receiving calls
from us", and pressing it records the same cross-channel opt-out that STOP does
— the customer does not have to remember which channel they were reached on.
## Blocked callers
Separately from consent, you can block a phone number outright. A blocked number
gets no automated texts and no campaign sends, and its inbound texts are dropped
without a reply. Blocking is for abuse, not for opt-outs — an opted-out customer
should stay reachable for a booking they make themselves.
**Note:**
Your own numbers are exempt. A blocked number that matches a
[recognized owner phone](https://docs.neuralconfig.com/strandcalls/owner-assistant/) still reaches owner mode,
so you can never lock yourself out of your own assistant by blocking a number.
## Next steps
- [Texts and notifications](https://docs.neuralconfig.com/strandcalls/calls/messaging/): Every text StrandCalls sends, plus A2P registration and what stops working before it's approved.
- [Campaigns and membership plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/): Who a campaign can reach, the daily caps, and the send window.
- [Troubleshooting](https://docs.neuralconfig.com/strandcalls/troubleshooting/): Texts not arriving, campaigns with no recipients, and bookings with no confirmation.
---
# Transfers and contacts
Source: https://docs.neuralconfig.com/strandcalls/calls/transfers/
The AI can put a caller through to a real person mid-call. It is off until you
name someone to transfer to — with no transfer contact configured, the AI
doesn't have the option at all and takes a message instead.
## Set up a contact
Contacts live in **Settings → AI Receptionist → Contacts & Transfer**.
1. **Add a contact** — name, phone number, and a role (owner, manager, or
other). Add as many as you like; they're a shared address book, not a
transfer list.
2. **Pick the transfer target** under **Transfer Calls To**. Exactly one contact
holds this role at a time.
3. **Make a test call** and ask for a person. The AI should say it's putting you
through.
Contacts do double duty: the same list supplies the **backup contact** for
[emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#settings-and-where-each-one-lives),
which is a separate choice from the transfer target.
## When the AI transfers
It reaches for a transfer in three situations:
- the caller asks to speak to a human;
- there's an emergency that needs a person immediately;
- it can't help the caller effectively.
Everything else — a question it can answer, a job it can book, a price in your
catalog — it handles itself. If you want it to hand over more often, say so in
[custom instructions](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/#custom-instructions)
("if anyone asks about warranty work, put them through to me").
## What each side hears
The caller is told they're being transferred and asked to hold. While they wait
they hear your **hold experience** — background music and a spoken message,
mixed together, both configured in Settings → AI Receptionist. Leave them empty
for the default.
The person receiving the call gets a **spoken briefing before they're
connected**, along the lines of:
> Hello *[contact name]*, you have a transfer on your *[business]* line.
> *[One or two sentences: who's calling, what they need, key details.]*
The briefing is built from a summary the AI writes during the call, and it
deliberately excludes phone numbers — it's context, not a data dump. Once it
finishes, both parties are joined and the AI drops off.
**Note:**
The transfer rings for **30 seconds**. That's the window you have to get to your
phone; there is no second attempt and no rollover to another contact.
## When nobody answers
If the contact doesn't pick up, is busy, or the call fails, the caller hears:
> I'm sorry, we were unable to connect you. A team member will call you back
> shortly. Goodbye.
The call is then marked **transfer failed** in
[Calls](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#calls). That promise of a callback is real
work handed to you, so it's worth watching for — a run of failed transfers means
the transfer target is the wrong number or the wrong person.
Because the AI has already handed control to the phone network by that point, it
cannot come back on the line and rescue the call. If you'd rather have a message
than a dropped handoff, leave the transfer target unset: the AI will take a
detailed message instead, which lands on the call in
[Calls](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#calls) and in the
[per-call email](https://docs.neuralconfig.com/strandcalls/calls/messaging/#the-per-call-email) with the
caller's name, number, and what they wanted.
## Voicemail is a different path
Transfers are deliberate. Voicemail is the fallback for when the AI can't run at
all — if the receptionist fails to start, the caller is asked to leave a message
of up to **two minutes**, which is recorded, transcribed, and sent to you, and
the caller gets a
[missed-call text-back](https://docs.neuralconfig.com/strandcalls/calls/messaging/#missed-call-text-back) if
you have one enabled.
## Next steps
- [Receptionist settings](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/): Where contacts, the transfer target, and the hold experience are configured.
- [Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/): The other way a call reaches a human — a text-back loop rather than a live handoff.
- [Safety and escalation](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/): When the AI is required to stop and get you rather than improvise.
---
# Emergency dispatch
Source: https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/
For urgent work, a calendar is the wrong tool. When the AI decides a call is an
emergency it runs your trade's [safety
script](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/) first, then gets the job to a
human by text rather than booking it.
The whole point is speed: the customer with a burst pipe is calling three
numbers, and the first honest answer wins.
## Two modes, and you're on the first one
StrandCalls has two ways of paging you, and they behave differently enough that
it's worth knowing which one you're running.
| | **Alert and acknowledge** | **The dispatch loop** |
|---|---|---|
| Status | **On by default** | Off until you turn it on |
| You get | An `URGENT` text, repeated until you acknowledge | A one-tap job offer with accept / pass / ETA |
| You reply | `ACK` | `1`, `2`, an ETA, or `DONE` |
| The caller is told | The alert repeats until someone responds | The confirmed ETA, the moment you give one |
| Backup contact | Not used | Offered the job if you don't reply |
| Where it ends | `unreachable` after two re-alerts | `declined` or `expired` |
Turn the loop on in **Settings → Emergency Dispatch**. It needs texting enabled
on the account, and carriers may filter the offers until your
[A2P registration](https://docs.neuralconfig.com/strandcalls/calls/messaging/#a2p-registration) is approved.
The AI knows which mode it's in and promises accordingly. In the default mode it
says the alert "keeps alerting them until someone responds"; with the loop on it
says you'll get a text with the real ETA the moment the job is confirmed.
## Alert and acknowledge (the default)
The AI collects the emergency and StrandCalls texts your dispatch alert phone:
> **URGENT** from *[caller name]* *[caller phone]*: *[reason]*. Reply ACK when
> you're on it. — StrandCalls for *[your business]*
Reply **ACK** (or **OK**, or **GOT IT**) from that number and the customer is
texted that you've got it and will call.
If you don't, StrandCalls re-alerts on your **escalation re-alert window**
(default 10 minutes, set in Settings → Safety & Escalation), marking the second
alert `2nd ALERT —` and the third `FINAL ALERT —`. After those two re-alerts go
unanswered the dispatch goes terminal at **unreachable**: you get an email, the
customer is texted honestly that you're still being reached, and the system
raises an internal alert. An emergency page is never allowed to die quietly.
If your phone can't be texted at all — texting off, a carrier block — the alert
falls back to **email** immediately rather than waiting for the retries.
## The dispatch loop (opt-in)
With the loop on, the same emergency becomes an offer you can act on in one tap.
Each leg is offered to one phone at a time: you first, then your backup contact
if you don't reply. There is no third leg — after the backup, the job goes
terminal and both you and the caller are told.
```mermaid
stateDiagram-v2
[*] --> SafetyScript: AI detects an emergency
SafetyScript --> OfferedToYou: URGENT job offer texted
OfferedToYou --> Accepted: reply 1
OfferedToYou --> EnRoute: reply with an ETA
Accepted --> EnRoute: reply with an ETA
EnRoute --> Done: reply DONE
OfferedToYou --> OfferedToBackup: reply 2, or offer timeout
OfferedToBackup --> Accepted: reply 1
OfferedToBackup --> EnRoute: reply with an ETA
OfferedToBackup --> Declined: reply 2
OfferedToBackup --> Expired: offer timeout
Done --> [*]
Declined --> [*]
Expired --> [*]
```
Reading the same thing in words: an offer sits with one person until they accept
it, pass on it, or run out of time. Accepting takes it off the market; a
number in reply sets the ETA and moves the job to *en route*; `DONE` closes it.
A pass or a timeout moves the offer to your backup contact, and a pass or
timeout **there** ends the job as `declined` or `expired` — with an honest text
to the caller, an email to you, and an internal alert.
If a job has no backup contact configured, your own pass or timeout is the end
of the loop.
## Reply keywords
| Reply | What happens |
|---|---|
| **1** | You accept. The caller is texted that you took the job. You'll be asked for an ETA. |
| **2** | You pass. The job moves to your backup contact, or ends if there isn't one. |
| *a number, 3–480* | Sets your ETA in minutes. Sent from an open offer, this accepts **and** sets the ETA in one text. |
| **DONE** | Closes a job you accepted. |
| **ACK** / **OK** / **GOT IT** | Acknowledges an alert in the default mode. |
**1 and 2 are reserved, and so are ETAs under three minutes:**
A bare `1` or `2` is always read as accept or pass, never as an ETA. ETAs are
accepted from **3 to 480 minutes** — anything outside that range is ignored
rather than guessed at, so a fat-fingered `9999` gets no reply instead of
telling your customer you're seven days out.
Replies work from the phone the offer went to. You can also accept, pass, and
close jobs from [Dispatches](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#dispatches) in the
dashboard.
## Settings, and where each one lives
Two screens are involved, which is easy to trip over.
**Settings → Emergency Dispatch**
- **Emergency dispatch loop** — the on/off switch for everything in the section
above.
- **Offer timeout (minutes per leg)** — how long each person has to reply before
the offer moves on. Default **5 minutes**, and values outside **1–60** are
pulled back into that range.
- **Backup contact** — chosen from your
[contacts](https://docs.neuralconfig.com/strandcalls/calls/transfers/#set-up-a-contact); "None" means the
job expires with you.
- **Evening rate starts** / **Late-night rate starts** — the boundaries used to
pick a minimum charge. Defaults **5:00 PM** and **9:00 PM**; the day band
starts at **7:00 AM**.
- **Minimum call-out charges** — the table below.
**Settings → Safety & Escalation**
- **Dispatch alert phone** — where urgent pages go. Defaults to your business
phone.
- **Escalation re-alert window** — the re-alert cadence in the default mode.
Default 10 minutes.
## Minimum call-out charges
Emergency work is the one place the AI quotes a price that isn't in your
[service catalog](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/) — and it still never
invents one. You set a floor per job type and per time band:
| | Day (from 7:00 AM) | Evening | Late night |
|---|---|---|---|
| Home lockout, vehicle lockout, tow, stuck garage door, water leak, no heat, no cool, or other | your figure | your figure | your figure |
When the caller's job matches a filled-in cell, the AI reads it back
word-for-word — "the minimum call-out charge right now is $149, is that okay?" —
and will not dispatch until the caller clearly says yes. Leave a cell blank and
the AI quotes nothing for that combination and dispatches without the question.
The figure is **frozen onto the job when it's dispatched**, so editing the table
never changes a price a caller has already been given, and the offer text you
receive carries the amount that was quoted.
## Honest ETAs only
The AI never promises the customer an arrival time you didn't give. Before you
provide one it tells the caller the truth — that you're being reached right now
— instead of inventing "within the hour". A fake ETA is the fastest way to lose
a customer permanently, so the product refuses to produce one.
The same applies to queueing. Your offer text says which position the job is in
(counted across emergencies opened in the last four hours), and if a caller is
behind someone else the AI tells them so rather than implying an empty queue. A
caller who has raised **three or more** urgent requests in 24 hours is flagged as
a repeat caller in the text you get, so you can judge it before you commit.
## Location pins
For jobs where the address is the hard part — a boat, a dock, a car on the
shoulder — the AI can offer to text the caller a link that shares their exact
location.
- The link **expires 30 minutes** after it's sent.
- The pin lands on the dispatch record and is texted as a map link to whoever
currently holds the job — which after acceptance is the person actually
driving.
- If the caller's position moves more than about 100 metres, an updated link is
sent; small GPS drift is ignored.
- A caller who declines the link, or whose phone can't open it, is asked for
cross-streets or a landmark instead. The verbal location is always collected
first — the pin is an upgrade, not the plan.
For lockouts and tows the AI also asks who the account or registration is in the
name of, and tells the caller the technician will ask for ID on arrival.
## Availability by plan
Emergency dispatch, `urgent_dispatch`, and every safety script ship on **every
plan**. Trust features are never tier-gated. See
[Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/).
## Next steps
- [Safety and escalation](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/): The per-trade scripts the AI runs before it pages you, and the guardrails it can't be talked out of.
- [Transfers and contacts](https://docs.neuralconfig.com/strandcalls/calls/transfers/): Where contacts are managed, including the one you'll pick as your dispatch backup.
- [Troubleshooting](https://docs.neuralconfig.com/strandcalls/troubleshooting/): Missed dispatches, replies that didn't register, and alerts arriving on the wrong phone.
---
# Safety and escalation
Source: https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/
An AI answering your phone is only worth having if it never embarrasses you.
StrandCalls ships a set of hard guardrails that no setting, instruction, or
caller pressure can turn off.
## What the AI will never do
- **Invent a price.** Quotes come from your
[service catalog](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/) as a structured lookup,
read back. No catalog entry, no number.
- **Invent an ETA.** It states arrival times only after you've given one. See
[Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#honest-etas-only).
- **Book an emergency for next Thursday.** Urgent calls go through the dispatch
loop, not the calendar.
- **Play doctor, electrician, or lawyer.** For anything with a safety or legal
dimension it follows the script and escalates rather than diagnosing.
- **Re-ask what it already knows.** Returning callers aren't made to repeat
their address.
## Per-trade safety scripts
Your **trade type** in Settings → Business Profile selects the safety script the
AI runs — exactly one, chosen for you. These are the "before anything else, do
this" moments. Four trades have one today:
| Trade | What the script does |
|---|---|
| **Plumbing** | Coaches the caller to the shutoff valve before anything else; gas smell means leave the house and call 911 from outside; sewage backup is always urgent |
| **Electrical** | Asks about fire or smoke first, then coaches only "turn off the breaker" — never wiring, never a diagnosis. A single dead outlet is explicitly *not* treated as an emergency |
| **HVAC** | A three-question vulnerability triage on any no-heat or no-cool call — who's in the home, the indoor temperature, whether there's a safe backup — so a no-AC call with an elderly resident isn't handled like a routine one |
| **Pest control** | Routine pests book normally; an active indoor termite swarm is escalated, and an allergic reaction in progress is 911 first |
Scripts for **locksmith / towing** and **garage door** ship with the product and
switch on automatically if those trades become selectable. The locksmith script
carries the life-safety rule that matters most: a child or pet locked in a hot
car gets **911 first**, every time, before any conversation about service.
The common thread is that the script *front-loads* the safety step and then gets
out of the way. None of them make the AI alarmist about routine work — several
say so explicitly, because a receptionist that treats every call as an emergency
is as useless as one that treats none of them that way.
The scripts aren't editable — they're the same for everyone in a trade, which is
the point. **Settings → Safety & Escalation** carries a single
**Safety coaching scripts** switch, on by default. Turning it off silences the
script for hazardous situations while leaving everything else intact, which is a
decision worth taking only on advice from your insurer or your lawyer.
Escalation re-alert timing and your dispatch alert phone are on the same screen
— see [Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#settings-and-where-each-one-lives).
## The escalation guarantee
When the AI is out of its depth, the correct behavior is to stop and get you —
not to improvise. Escalation is a guaranteed path: the call produces a
message, a notification, and a record, rather than a confident wrong answer.
This is why "I'll have the owner call you back" is a *feature*. It is the
honest ceiling of what a receptionist should decide alone.
## Owner-verified fact sheets
For statements that carry legal or contractual weight — licensing, insurance,
warranty terms, service-area claims — the AI reads from **fact sheets you have
explicitly verified**, not from anything it inferred. Each is a topic and a short
answer, and the AI quotes it as written.
- Only **verified** sheets are used. Editing a sheet clears its verification
until you re-verify it, so a half-finished edit can never reach a caller.
- Up to **five** sheets are loaded on a call, yours taking precedence over any
StrandCalls ships, most recently verified first.
- If a caller asks something no fact sheet covers, the AI says it would rather
have you confirm than guess, and takes a message.
Fact sheets are managed in **Settings → Safety & Escalation**.
## Recording and consent
Two different things are easy to conflate here.
**Transcripts** are always kept — they come from the conversation itself, and
they're what the summary, lead quality, and safety review are built from.
**Audio recording is off until you turn it on**, in
[Settings → AI Receptionist](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/#call-recording).
Recording law varies by state, which is why it isn't on for you by default. If
your state or your customers require a specific spoken disclosure, raise it with
[support](https://support.neuralconfig.com/strandcalls?from=docs) — this is not something to improvise
in custom instructions.
Texting has its own, separate consent, captured on the call before the AI sends
anything. See
[Texting consent and opt-outs](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/).
## Never tier-gated
Every safety script, the escalation guarantee, and emergency dispatch ship
identically on **every plan**. Charging more for safety would be a moral
hazard; it isn't a lever we pull.
## Auditing what actually happened
Read transcripts in [Calls](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#calls). Every quote the AI
gave is logged, every escalation is recorded, and every dispatch has a state
history. Calls are also scored for safety after they end, which is what
suppresses a [review request](https://docs.neuralconfig.com/strandcalls/calls/messaging/#review-requests) on a
job that went badly. If you ever suspect the AI said something it shouldn't
have, the evidence is there — and it's worth telling
[support](https://support.neuralconfig.com/strandcalls?from=docs) about.
## Next steps
- [Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/): What happens after the safety script — the two ways an urgent job reaches you.
- [Receptionist settings](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/): Custom instructions, recording, and the settings the guardrails deliberately override.
- [Services and quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/): The catalog behind the never-invent-a-price rule.
---
# Campaigns and membership plans
Source: https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/
Campaigns and plan tiers are the two features that turn StrandCalls from a cost
line into something that generates work. Both live under
**Settings → Plans & Campaigns**, with campaign runs visible in
[Campaigns](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#campaigns), and both need the
[Growth plan](https://docs.neuralconfig.com/strandcalls/account/billing/#the-growth-plan).
## Outbound campaigns
A campaign is a targeted message to a slice of your existing customers, sent as
a text or as a recorded call. Typical uses:
- **Maintenance renewals** — everyone due for a seasonal service.
- **Reactivation** — customers you haven't served since a given date.
- **Storm recovery** — a fast, local, "we're taking calls" push after weather.
### Who can actually receive one
This is the part that surprises people, so it comes first.
A campaign only reaches customers who **explicitly agreed, on a recorded call,
to receive marketing messages from you**. StrandCalls captures that agreement
with a scripted question after a booking — see
[Texting consent and opt-outs](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/#the-marketing-opt-in).
Every audience is filtered the same way, with no exceptions and no override:
```mermaid
flowchart TD
A[Your callers] --> B{Said yes to marketing
on a recorded call?}
B -- no --> X[Not eligible]
B -- yes --> C{Ever opted out
STOP or press 9?}
C -- yes --> X
C -- no --> D{Number blocked by you,
or blocked by the carrier?}
D -- yes --> X
D -- no --> E{Matches this campaign's
audience filter?}
E -- no --> X
E -- yes --> F[Receives the campaign]
```
In words: a customer is eligible only if they said yes to marketing on a call,
have never opted out, are not on your blocked list or carrier-blocked, **and**
match the audience you picked. Failing any one of those removes them, and there
is no path in the product that sends to someone who never opted in — not a list
upload, not a filter, not a manual add.
So a new account has an audience of **zero** and grows it one booked call at a
time. If the preview says nobody matches, that's almost always the answer.
### Choosing the audience
Three audience types ship today:
| Audience | Reaches |
|---|---|
| **All past customers** | Every eligible caller |
| **Plan tier** | Eligible callers on a membership tier you name |
| **Serviced before a date** | Eligible callers whose past job matches a service name and predates a date you set |
Use **Preview** before you start anything. It shows the exact count and up to ten
names, computed with every eligibility rule applied, and writes nothing.
### Setting one up
| Field | Notes |
|---|---|
| **Name** | For your own reference |
| **Audience** | One of the three above |
| **Channel** | Text or voice call |
| **Message** | The text itself. `{{name}}` and `{{business}}` are filled in per recipient |
| **Max sends per day** | Per-campaign throttle (default 25) |
| **Daily send cap (all campaigns)** | Account-wide ceiling across every campaign (default 50) |
The account-wide cap is a safety net, not a formality. Set it to a number you'd
be comfortable seeing sent on a day you weren't watching.
### Voice campaigns
A voice campaign places a real call that plays your message in your
receptionist's voice — and pressing **1** hands the caller straight to the AI to
book.
Federal rules for prerecorded marketing calls are wrapped around your message
automatically and cannot be edited out: the call opens by identifying itself as
an automated call from your business, ends with your callback number read out
digit by digit, and announces "press 9 to stop receiving calls from us". Pressing
9 records the same opt-out that a texted STOP does.
### Send caps and quiet hours
Campaign messages are the one place volume matters — answering, confirmations,
and reminders are unmetered forever, but a campaign is marketing you chose to
send. Three limits bound it:
- **Max sends per day**, per campaign. Default 25.
- **Daily send cap**, across every campaign at once. Default 50.
- **A batch ceiling of 10 per campaign per hour**, which is not configurable. It
exists so a large audience trickles out instead of arriving as a wall.
Sends only go out between **9:00 AM and 7:00 PM in your timezone** — deliberately
tighter than the federal window — and stop immediately for anyone who opts out.
A campaign that runs out of eligible recipients marks itself completed.
### Compliance
Outbound marketing is regulated (TCPA in the US), and the guardrails above are
the compliance story: consent captured on a recorded call and evidenced by a
confirmation text, an opt-out that works across both channels and is never
silently reversed, quiet hours, and caps.
One more gate applies to texts specifically. A text campaign will not send until
your [A2P registration](https://docs.neuralconfig.com/strandcalls/calls/messaging/#a2p-registration) is
approved **and registered for a marketing or mixed use case** — a registration
approved for transactional traffic only is not enough, because carriers treat
marketing as a different category. If your campaigns sit still while your
confirmations flow normally, this is the thing to check.
## Membership plan tiers
Plan tiers let you sell an ongoing relationship — a maintenance plan, a
priority-service membership — and have the AI act on it.
You can define up to **three tiers**, each with a name, a per-visit plan price,
the equivalent one-time price, and a number of **reserved slots per day**.
### What a tier does on a call
- **The AI can pitch it.** After a one-time booking is confirmed — never before,
and at most once per call — the AI mentions the plan, quoting your per-visit
price against the one-time price. Both numbers come from your configuration;
it cannot invent or round either. If the caller hesitates, it drops the
subject and does not raise it again.
- **The AI recognizes members.** A caller already on a tier is never pitched.
- **Members get slots other callers don't see.** Reserved slots are held back
from the **end of each day**: a non-member is offered everything except the
last few openings, which stay available for members and for emergencies. The
number held back is the total across the tiers the caller *doesn't* belong to.
**Keep reserved slots small:**
Reserved slots come off the end of every day, whether or not a member ever calls.
Set the total well below half your daily openings — a large reservation on a
short day can leave a one-time caller with nothing to book.
Assign a **plan tier** on the customer in
[Callers](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#callers), and set the tiers themselves
under Plans & Campaigns. Clearing every tier name turns plan selling off.
## Recurring series
Distinct from plan tiers: a [recurring
series](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#recurring-series) is a standing appointment
rotation for one customer. Plans are about *status*; recurring series are about
*schedule*. Route businesses usually want both.
You can create and run series on any plan. What Growth adds is letting the **AI
enroll a caller into one on the phone** — which needs plan tiers configured, and
those need Growth.
## Availability by plan
Campaigns and membership tiers require the **Growth** plan. If you move back to
the flat plan, campaigns freeze where they are — nothing is deleted, and nothing
more is sent — while recurring series keep materializing visits as normal.
## Next steps
- [Texting consent and opt-outs](https://docs.neuralconfig.com/strandcalls/calls/consent-and-opt-outs/): How the marketing opt-in is captured, and why it decides your entire campaign audience.
- [Plans and billing](https://docs.neuralconfig.com/strandcalls/account/billing/): What the flat plan includes and what upgrading to Growth actually changes.
- [Scheduling and availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/): Recurring series, zone days, and everything else that decides which times get offered.
---
# Plans and billing
Source: https://docs.neuralconfig.com/strandcalls/account/billing/
StrandCalls is flat-rate. You pay a fixed monthly price and answer as many
calls as come in. There is no minute bucket, no overage bill, and no
per-booking success fee.
## $149/mo, flat and unlimited
The core plan is **$149/mo, flat, with unlimited inbound calls**. Everything
that makes the phone answered well is included:
- Unlimited inbound answering, booking, and message-taking
- The built-in calendar, availability engine, and optional Google Calendar sync
- Appointment reminders with press-1-confirm and live AI rebooking
- [Owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/) mode
- [Zones and zone-day scheduling](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#zones-and-zone-days)
- [Recurring job series](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#recurring-series) you set up
- [Transfers to a live person](https://docs.neuralconfig.com/strandcalls/calls/transfers/)
- Every [safety script](https://docs.neuralconfig.com/strandcalls/safety/safety-and-escalation/) and
[emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/)
- Caller history, recordings, transcripts, summaries, and lead quality
- SMS confirmations, follow-ups, and the customer portal
- [Photo intake by MMS](https://docs.neuralconfig.com/strandcalls/calls/messaging/#photo-intake)
- [Deposits by SMS](https://docs.neuralconfig.com/strandcalls/calls/deposits/)
- [Service-catalog price quoting](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/)
- One forwarded business number
Deposits and catalog quoting are turned on per account in their own settings —
they're available on any plan, not gated behind an upgrade.
## The Growth plan
Growth is the higher-priced tier. It unlocks the features that generate
repeat revenue rather than just handle calls:
- [Outbound campaigns](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#outbound-campaigns),
by text or recorded call
- [Membership / priority plan tiers](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#membership-plan-tiers),
including slots reserved for members
- **The AI enrolling callers into a recurring plan on the phone** — setting up
a [recurring series](https://docs.neuralconfig.com/strandcalls/calls/scheduling/#recurring-series) yourself
works on either plan
- The marketing opt-in question that builds a campaign audience
Everything else in the list above works on the flat plan. For the current Growth
price, see the **Billing** screen in your dashboard or
[strandcalls.com](https://strandcalls.com).
Upgrading takes effect as soon as the payment goes through; there's nothing to
switch on afterwards. Moving back to the flat plan freezes campaigns where they
stand — nothing is deleted, and scheduled recurring visits keep being created.
## What is never metered
On any plan, forever:
1. **Inbound answering** — minutes, calls, bookings, messages taken.
2. **Emergency escalation and safety scripts.**
3. **Owner assistant calls.**
4. **Appointment reminders and caller-facing SMS** — confirmations,
follow-ups, missed-call text-back.
5. **No per-booking success fees.**
The single volume-shaped edge is outbound marketing
[campaign SMS](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#outbound-campaigns), which is
owner-initiated rather than call-driven and is bounded by per-campaign and
account-wide daily send caps that you control.
There is a fair-use clause in the Terms for genuine edge cases — reselling the
service, or routing call-center overflow through it. It does not apply to
normal contractor volume, however busy your season gets.
## Second business line
Running a second, separate business — say a main number and a second LLC?
That's a second seat at the same rate, not a discounted add-on — each business
gets its own number, greeting, calendar, catalog, and caller history.
Forwarding one main number with an after-hours line or internal extensions
into the same subscription is normal use and counts as one seat. If you're not
sure which you have, [contact support](https://support.neuralconfig.com/strandcalls?from=docs).
## Managing your subscription
**Billing** in the dashboard shows your plan, payment method, invoices, and
subscription status. Payments are handled by Stripe.
To change plans, update a card, or cancel, use the Billing screen. If something
looks wrong on an invoice, [contact support](https://support.neuralconfig.com/strandcalls?from=docs)
rather than disputing it with your bank — it's almost always faster to fix.
:::note[On the roadmap]
A packaged **Pro** front-office tier (targeting ~$249/mo), annual prepay
(12 months for the price of 10), storm-mode surge posture, and multi-resource
scheduling for multiple crews or bays are planned but **not yet available**.
The live plans today are the $149 flat plan and the Growth tier described
above.
:::
## Next steps
- [Campaigns and membership plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/): What Growth actually unlocks, and the consent rule that decides who a campaign can reach.
- [What is StrandCalls?](https://docs.neuralconfig.com/strandcalls/): The short version of what's included, if you're deciding rather than configuring.
- [Troubleshooting](https://docs.neuralconfig.com/strandcalls/troubleshooting/): Something not working the way this page says it should.
---
# Owner assistant
Source: https://docs.neuralconfig.com/strandcalls/owner-assistant/
Call your own StrandCalls number from a phone it recognizes, enter your voice
PIN, and the receptionist stops being a receptionist and becomes your
assistant. No app, no typing — useful precisely when your hands are full.
## Turning it on
In **Settings → AI Receptionist**:
1. **Set a voice PIN** — 4 to 8 digits. Obvious PINs are refused: all the same
digit, `1234`, `4321`, `0000`, `12345678`. Your existing PIN is never
displayed; entering a new one replaces it.
2. **Add recognized phones.** Your **business phone number** from the Business
Profile is always recognized — this list is for up to **three more**, like a
second cell or your partner's phone.
3. **Enable the owner assistant.** You can't enable it before a PIN is set.
**Caution:**
The PIN is always required, even from a recognized number. Caller ID can be
spoofed, and the assistant can move money-adjacent things like appointments and
your calendar. Recognized-phone matching narrows who gets *offered* the PIN
prompt; the PIN is what actually authorizes.
## What you can ask
**Catch up**
- "What happened today?" — recent calls, messages taken, and urgent dispatches.
- "Any urgent callbacks?"
- "How many jobs did we book this week?" — counts for today, this week, or this
month.
**Look at the schedule**
- "What's on for tomorrow?"
- "When's my next job?" — a day or a week at a time, with blocked time included.
**Change the schedule**
- "Block Friday afternoon." (You'll be asked for a reason; it stays private.)
- "Cancel my two o'clock and text the customer."
- "Move the Johnson job to Thursday morning." If the new time collides with
something, you're told and offered another.
**Leave yourself a note for later**
- "Put a note on that customer — gate code 4455." The receptionist reads caller
notes on their next call, so this is how you stop re-explaining the same
thing.
**Mark yourself out**
- "I'm out until Monday — tell people I'm booking new work for next week."
That last one does two things at once: it blocks the day for booking, and it
gives the receptionist a customer-safe sentence to say when callers ask where
you are. It runs to a date you name, up to a week out, and the AI reads the note
back to you before saving it — that wording is going to callers, so it's worth
hearing.
Changes made by voice are the same changes you'd make in the dashboard — they
apply immediately and the customer-facing texts go out as normal, unless you say
not to.
## If the PIN goes wrong
Three wrong attempts ends the call: the assistant says goodbye and hangs up, and
a correct PIN spoken after that won't be accepted on that call. Redialling works
— but only up to **10 attempts an hour** across all calls, after which owner
verification is locked for a while.
It's a deliberately unforgiving gate. Anyone who reaches it can cancel your
jobs.
## Testing your setup
When you're testing the *receptionist*, call from a phone that is neither your
business number nor on the recognized list. Otherwise you'll be offered the PIN
prompt and never hear the customer experience you're trying to check.
## Privacy of your own calls
Owner calls are treated as yours, not as leads. They don't create a caller
profile, they aren't scored for safety, and they don't trigger the
[per-call email](https://docs.neuralconfig.com/strandcalls/calls/messaging/#the-per-call-email) that customer
calls do. A number you've blocked still reaches owner mode if it's one of your
recognized phones, so you can't lock yourself out by blocking a caller.
## Not metered
Owner assistant calls are never metered on any plan. Calling your own business
should not feel like a taxi meter.
## Next steps
- [Receptionist settings](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/): Where the PIN, recognized phones, and everything else about the assistant live.
- [Scheduling and availability](https://docs.neuralconfig.com/strandcalls/calls/scheduling/): What 'block Friday afternoon' actually does to the times callers are offered.
- [Texts and notifications](https://docs.neuralconfig.com/strandcalls/calls/messaging/): The 7am briefing covers the same ground as 'what happened today' without a call.
---
# Troubleshooting
Source: https://docs.neuralconfig.com/strandcalls/troubleshooting/
Most problems fall into one of a handful of buckets. Start with the transcript
in [Calls](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#calls) — it usually tells you exactly what
happened.
## Calls aren't reaching the AI
**Symptom:** callers get your voicemail, or a dead line, and nothing shows up
under Calls.
- **Check the forwarding.** Call your business number from another phone and
let it ring through. If it lands on your voicemail rather than the AI,
forwarding isn't active. Re-apply your carrier's forwarding setting.
- **Check which forwarding you set.** Conditional forwarding only fires when
you don't answer, are busy, or are unreachable — if your phone is on and you
decline the call quickly, some carriers won't forward.
- **Call the StrandCalls number directly.** If that reaches the AI, the problem
is forwarding, not StrandCalls.
## The AI offers times I'm not available
Availability is computed, not guessed — so a wrong offer means an input is
wrong.
- **Business hours** (Settings → Business Profile) — check the day of week and
the **timezone**.
- **Time blocks** — vacations and standing commitments need to be blocked on
the Calendar, not just in your head.
- **Service duration** — if a job is set to 30 minutes but really takes two
hours, you'll get back-to-back bookings that can't work. Fix the duration in
[Services & prices](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/).
- **Google Calendar** — if it's connected, its busy time *is* subtracted from
availability. If it isn't connected, events living only in Google are
invisible to StrandCalls; connect it in Settings → Integrations.
- **Zone days** — with a zone policy set to enforce, a caller in that zone is
only offered its route days and days you already have work there. That can
look like "no availability" on a wide-open week.
- **Reserved plan slots** — membership tiers hold back the last slots of each
day for members.
See [Scheduling](https://docs.neuralconfig.com/strandcalls/calls/scheduling/).
## The AI won't quote a price
This is working as designed. The AI reads prices from tables you fill in and
never generates one, so:
- **No catalog entry** for that job → it declines to quote and offers a
callback. Add the service in
[Services & prices](https://docs.neuralconfig.com/strandcalls/calls/services-and-quoting/).
- **Quote policy is "Never"** on that service → same behavior, intentionally.
- **The service has variants** and the caller hasn't said which one applies →
it asks rather than picking one. Give the rows distinct subject classes.
- **An emergency minimum charge isn't set** for that job type and time band →
it dispatches without quoting anything. Fill the table in
[Settings → Emergency Dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/#minimum-call-out-charges).
Quoting is available on every plan; there is nothing to upgrade. And no custom
instruction will make the AI produce a number it doesn't have — that's the
guardrail, not a bug.
## Texts aren't arriving
- **Check A2P status** in Settings → Messaging. Until registration is
**Approved**, missed-call text-back, review requests, and campaigns are not
sent at all — this is a gate, not a slowdown. See
[what approval unlocks](https://docs.neuralconfig.com/strandcalls/calls/messaging/#a2p-registration).
- **Check the toggle** for the specific notification — missed-call text-back,
morning briefing, reminders, and review requests are each separately
enabled.
- **Check the customer's record.** A **Texts blocked** badge in
[Callers](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#callers) means they texted STOP, and
the carrier is blocking *everything* to that number — confirmations and
reminders included, not just marketing. Only they can undo it.
- **Check the transcript.** If the caller declined the texting consent question,
the booking carries a `NO SMS — caller declined` note and nothing was sent on
purpose.
- **Missed-call text-back looks like it skipped one?** Repeat sends to the same
number are suppressed for an hour, so a customer who redials three times gets
one text.
- **Voice is unaffected by SMS problems.** Answering and booking keep working
regardless of registration status.
## My campaign has no recipients
Campaigns can only reach customers who explicitly opted in to marketing on a
recorded call. Nobody is eligible by virtue of being a customer, and there's no
import path — a new account starts at zero and builds the list one booked call
at a time. Run **Preview** to see the count.
If the audience looks right but nothing sends, check that your A2P registration
is approved **for a marketing or mixed use case**; a transactional-only
registration blocks campaigns while letting confirmations through. See
[Campaigns & plans](https://docs.neuralconfig.com/strandcalls/account/campaigns-and-plans/#who-can-actually-receive-one).
## I'm not getting the morning briefing
It sends at **7am in your local time** to accounts that have opted in, so check
your **timezone** in Settings → Business Profile as well as the toggle in
Settings → Messaging.
## I missed an emergency dispatch
- Check the **dispatch alert phone** in Settings → **Safety & Escalation** —
urgent pages can go to a different number than your main one.
- Work out **which mode you're in**. Alert-and-acknowledge is the default and
expects `ACK`; the accept/pass/ETA loop only runs if you switched it on in
Settings → Emergency Dispatch.
- **In the loop:** check the **offer timeout**. If it's short, the job may have
moved to your backup contact before you got to your phone — and after the
backup there is no third leg, so it ends as declined or expired.
- **In the default mode:** two re-alerts go out on your escalation window
(10 minutes unless you changed it), and after those the dispatch goes
**unreachable** with an email to you. It doesn't alert forever.
- Look at [Dispatches](https://docs.neuralconfig.com/strandcalls/setup/dashboard/#dispatches) for the state
history either way.
## My dispatch reply didn't register
- **Reply from the phone the offer went to.** A reply from any other number is
treated as an ordinary customer text.
- **ETAs must be 3 to 480 minutes.** `1` and `2` always mean accept and pass, so
a one- or two-minute ETA can't be expressed; anything above 480 is ignored.
- **`DONE` only closes a job you accepted**, and `1` only accepts a job that is
still open — if your backup already took it, you'll be told it was handled.
See [Emergency dispatch](https://docs.neuralconfig.com/strandcalls/safety/emergency-dispatch/).
## I'm locked out of the owner assistant
Three wrong PIN attempts end the call, and a correct PIN after that won't be
accepted on that call. Ten attempts in an hour locks verification for a while —
wait it out. If you've forgotten the PIN, set a new one in
Settings → AI Receptionist; the old one is never displayed, only replaced.
## The AI said something I don't like
Read the transcript, then add a
[custom instruction](https://docs.neuralconfig.com/strandcalls/setup/receptionist-settings/#custom-instructions)
covering that exact situation. This is the intended loop — the receptionist
gets better because you correct it from real calls, not because you anticipated
everything up front.
If the AI said something *unsafe* or stated a price or ETA it shouldn't have,
that's not a tuning issue — [tell support](https://support.neuralconfig.com/strandcalls?from=docs).
## A test call behaved strangely
If you called from your **business phone number** or a number on your
**Recognized phones** list, you were being offered
[owner assistant](https://docs.neuralconfig.com/strandcalls/owner-assistant/) mode, not the customer
experience. Test from a different phone.
## The caller was transferred and nobody answered
The transfer rings your contact for 30 seconds, once, with no rollover. If it
isn't picked up the caller hears an apology and a promise of a callback, and the
call is marked **transfer failed** in Calls. Repeated failures usually mean the
transfer target is the wrong number — or that you'd be better off with no
transfer contact at all, so the AI takes a detailed message instead. See
[Transfers and contacts](https://docs.neuralconfig.com/strandcalls/calls/transfers/).
## Still stuck
[Contact support](https://support.neuralconfig.com/strandcalls?from=docs). Having the call's date and
time (or the caller's number) makes it much faster to find the transcript.