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