What's New
Updates for coffee brands using the Barista Bot portal at my.baristabot.app
Order more than one cap, and a “for here” heads-up
June 19, 2026
Multiple cappuccinos on one text order
- Customers can now order several caps in a single text — e.g. “two oat caps and one whole cap” — and the total reflects every drink.
- The bot reads natural phrasing better, so “two caps with whole milk” no longer collapses to a single cap.
- If someone asks for a count without a milk (“3 caps”), the bot asks “HOW MANY OAT MILK?” and prices the rest as whole — no extra back-and-forth.
Clearer confirmation
- The charge prompt now spells out both choices: “RESPOND YES TO CHARGE YOUR CARD ON FILE, OR CANCEL TO START OVER.”
“For here” on the Kitchen HUD
- When a customer mentions staying — “for here,” “to stay,” “ceramic,” “here,” or “vero glasses” — the order gets a FOR HERE badge on the HUD. To-go stays the default and is untagged.
- A multi-drink order now shows every drink on one card, one line each with its quantity and a clear oat vs. whole milk tag.
psst… you found the secret menu 🤫
June 18, 2026
In a group text with some friends and former co-workers from my Sonic Drive-In days, we got on the idea of ALL CAPS selling hats — a Barista Bot hat with “ALL CAPS” across the back that you'd wear backwards. That got me thinking about a backwards cap… which is really just a Latte Macchiato. So I dropped everything I was doing and built this dumb little secret menu. Easter eggs and secret menus usually get scrapped — time, priority, cost — but not this time.
!yadot ,pac sdrawkcab ruoy redrO
- There's now a hidden Backwards Cap — a cap built backwards (milk first, espresso on top), which is really a Latte Macchiato. Text the exact words “backwards cap” to unlock it; nothing else triggers it.
- The whole conversation comes back mirror-reversed for fun — the milk question, the price confirmation, the “ordered” reply, and even the “your order is ready” text all arrive backwards.
- It still works like a real order: oat or whole milk, priced straight from your Menu Ops, charged the usual way.
- Customers can even save it to an emoji shortcut and reorder it later (still backwards, of course).
Clearer cappuccino confirmations, tidier account, safer signup
June 18, 2026
- Cappuccino order confirmations now read “ONE OAT MILK CAP” instead of echoing the menu's full option name (which made it look like a bogus “4oz” size).
- On the customer account page, people now only see brands they've actually ordered with — no more directory of unrelated brands.
- The brand sign-up page is now protected against bot/spam signups (hidden honeypot now, optional CAPTCHA ready to switch on).
Cleaner location picker, fewer accidental orders, fresh starts
June 18, 2026
- The text location picker is now a clean numbered list, one store per line, with your current store marked “(current).” Numbering is continuous so customers stop pressing the wrong number.
- Thumbs-up and other tapback reactions to our texts (e.g. reacting 👍 to “YOUR ORDER IS READY”) no longer accidentally start a new order.
- An order left untouched for ~20 minutes is automatically cleared, so when the customer texts again they start fresh instead of resuming a stale, half-finished order.
- New sign-ups default to your primary store (for TMRW, that's ALL CAPS) — customers can still switch locations anytime.
Saved shortcuts now reorder reliably on Square
June 16, 2026
- When a customer saves a text or emoji shortcut to a Square order, texting it back now re-prices and re-places that exact order — sizes and milk/modifier choices included.
- Fixed a bug where replaying a saved Square shortcut could silently fail and leave the customer with no reply.
- If a saved shortcut points to an item that's no longer on the menu, the bot now asks the customer to text their order again instead of going quiet.
Customers page: see new sign-ups & drop-offs at a glance
June 16, 2026
- The Customers list now shows a “First texted” timestamp, so you can see exactly when each person first messaged you.
- Every tab is sorted most-recent first — your newest contacts and New drop-offs (numbers that texted but never finished setup) are right at the top.
- Status filters that have no customers are hidden, so the filter row stays clean and only shows stages that actually apply.
Change location works when a store is closed
June 15, 2026
- Customers can now switch stores even when their store is closed. Previously, texting “location” or “change location” to a closed store just replied with the closed message again — a dead end.
- Texting location, store, or change location shows their current store and lists the other locations to pick from.
Square multi-store text ordering fixes
June 12, 2026
- Multi-store Square SMS orders no longer loop back to “let me know what you'd like to order.” After the customer finishes adding items, the bot confirms the location (“Ordering from {store}? Reply YES”) then shows the priced total.
- If a store is closed, customers get the closed message on the first text — and immediately if they pick a closed store — not after building a full order.
- When a customer changes locations by text, their saved store on the account page updates too, so SMS and the portal stay in sync.
Square SMS orders show the total
June 12, 2026
- Superseded — reverted; standard Dialogflow flow restored.
Clearer SMS when a card is declined
June 12, 2026
- When Stripe declines a saved card during an SMS order, customers now get a specific message to update payment at account.baristabot.app — not the generic “couldn’t complete your payment” text.
Web signup opt-in & SMS polish
June 12, 2026
SMS sign-up & opt-in
- New numbers are routed to web signup on any first text — not “Reply HI to subscribe.”
- Completing signup sets SMS opted-in and sends the TCR successfully subscribed confirmation.
- Signed-up customers texting a saved shortcut after an order no longer hit the subscribe gate when message counters reset.
Custom SMS copy (ALL CAPS)
- Milk prompt, order confirmation, and ready-for-pickup texts send without the “Powered by Barista Bot” footer for a cleaner barista-to-customer feel.
HUD alerts, SMS fixes & portal polish
June 11, 2026
HUD (installed app)
- The kitchen HUD plays a short ding when a new order lands — only in the installed PWA (not a regular browser tab). Tap the screen once when you open the app so the browser allows sound.
- Order times in the HUD and Ops.Menu sync timestamps use each store’s local timezone.
- Nav label is now HUD with subtitle Heads Up Display.
Custom SMS flow (pop-ups)
- Whole milk SMS replies work even when the Whole Milk Dialogflow modifier isn’t mapped — pricing resolves from Ops.Menu by keyword.
- Post-order shortcut emoji prompt expires after 2 minutes so the next text can start a new cap order.
- Customers can save a shortcut reply right after ordering without hitting the SMS opt-in gate again.
- Ready-for-pickup texts send without blocking the webhook; Sinch brands route plain SMS through Sinch when configured.
Transactions & customers
- Transactions and Customers fee columns show dollar amounts instead of raw cents.
Dollar amounts in Transactions & Customers
June 2026
- The Transactions monthly summary (gross, Barista Bot fees, Square/Stripe fees) now shows $0.00 amounts instead of raw cents.
- The Customers list shows each customer's BB fees in dollars too.
Store hours, closed states & brand dashboard
June 2026
Hours of operation per store
- Set open and close times for each day of the week on every brick-and-mortar store (Settings → Stores → edit). New stores start at 7:00 AM – 4:00 PM; adjust or mark any day Closed.
- Pick the store’s timezone so hours are evaluated in local time.
- Coffee trucks & pop-ups use scheduled dates instead — add the dates and hours you’ll be open; the location is closed on any date you don’t list.
- The Stores list shows a live Open / Closed badge for each location.
“Closed now” override & closed message
- Flip Closed now to stop text orders at a store immediately — it overrides the hours until you turn it back off.
- Customers who text a closed store get your store’s own closed message (editable per store) instead of being walked into an order.
- Works for both scheduled hours and the manual override; multi-store brands also get a “text CHANGE LOCATION to pick another store” hint.
“Ordering from {store}” in texts
- Onboarded customers now see which store they’re ordering from on the first reply and on the priced confirmation — no extra prompts, no repeating their order.
Brand dashboard & Super Admin
- The dashboard is now brand-scoped — “[Your Brand] Dashboard” with an Add Store shortcut.
- Pop-Up replaces the old “Mobile Kitchen/Pop-Up” location type.
- Barista Bot operators (Super Admins) can switch between brands from a picker in the top nav; brand owners only ever see and manage their own brand.
Fixes
- The SMS opt-in confirmation (“successfully subscribed…”) now sends only on the first opt-in. Returning customers who text a greeting go straight to ordering instead of getting the welcome notice every time.
Kitchen HUD, custom SMS flows & store controls
Late May 2026
HUD (pop-up / Stripe stores)
- HUD in the nav — live queue for Stripe orders at custom-flow stores (built for iPad landscape at the bar).
- Columns: New → In progress → Ready. Tap to advance; customers get a ready-for-pickup text when you mark ready.
- Configure the ready SMS on each store under Settings → Stores (default: YO! YOUR CAP IS READY.).
- Stripe orders now record kitchen status and show in the customer account with brand, store, and line items (including milk modifiers).
Custom SMS order flow (e.g. ALL CAPS pop-up)
- Each store can use Standard ordering (shared Dialogflow, as today) or Custom — set on the store edit page under SMS order flow.
- Custom stores only accept drinks you map in menu matching; anything else gets your own rejection messages (one per line, editable in the portal).
- For pop-ups like ALL CAPS: map only Cappuccino in Ops.Menu matching; milk is Oat Milk or Whole Milk via Dialogflow modifiers on that drink (synonyms like oat / whole).
- SMS funnel for custom stores: cappuccino → oat or whole → Stripe total → customer confirms with yes / 👍 → ticket hits the Kitchen HUD.
Text ordering on/off per store
- Accept text orders is now a per-store toggle (Settings → Stores) instead of flipping individual customers in admin.
- Pause a location without turning off the whole brand; paused stores are hidden from the SMS location picker.
- New customers are approved to order by default; use the store toggle when a site is closed or not ready.
SMS location shortcuts
- Customers can text location, stores, change location, or change store to see where they’re ordering and switch with a number.
- Helpful for hybrid brands with Square cafés and Ops.Menu pop-ups on the same SMS number.
Sign-up & onboarding
- Sign-up links are rail-aware — Square card on file vs Stripe for Ops.Menu carts, with a store picker when the brand has multiple locations.
- Fixes for redirecting to login after saving a card, and for Stripe customer phone when customers arrive via WhatsApp.
Staff admin (Barista Bot operators)
- Admin home is now a platform analytics dashboard with brand and customer acquisition funnel views.
- 10DLC compliance for SMS: opt-in/out/help handling, delivery logging, and registered START/STOP/HELP copy sent without extra footer text.
Shared Dialogflow menu & menu matching
May 2026
Transactions and platform fees
- Each order records total, Barista Bot fee, and payment rail (Square or Stripe).
- Transactions in the portal shows monthly gross, fees, and CSV export (including Square-only rows for invoicing).
- Stripe Ops cart charges collect the platform fee automatically; Square fees are tracked for monthly billing until Square OAuth app fees ship.
Hybrid brands (Square cafés + Ops.Menu carts)
- Each store now has a fulfillment type: Square (café POS) or Ops.Menu + Stripe (mobile cart, pop-up, drops).
- One brand can run both — shared Dialogflow drinks, separate menus and payment rails per store.
- Set fulfillment on Settings → Stores (or when adding a store: Square location ID vs import one Ops.Menu location); map Square and Ops.Menu menus from their respective settings links.
- SMS orders charge Square or Stripe based on which store the customer picks; one cart cannot mix both rails.
One coffee menu for every brand
- All SMS ordering uses the same Dialogflow drink intents (the shared Coffee Template) — Latte, Cortado, Americano, and the rest.
- Your job in the portal is to map your store menu to those intents, not to build separate voice or text models per brand.
- New intents from the template appear automatically when you open menu matching; every row can be saved without contacting support.
Square brands — menu matching
- Settings → Menu matching (and onboarding step 4): Dialogflow drinks on the left, your Square catalog on the right.
- Match each store that has its own Square location — use the store tabs when you run multiple locations.
- Saves are stored per store and tied to the Dialogflow intent, so SMS orders resolve to the right Square item at the customer’s store.
Ops.Menu brands — menu matching
- Same layout: shared Dialogflow intents on the left, Ops.Menu export items on the right.
- Map once per menu (segment / menu assignment); the save applies to every store on that Ops.Menu menu.
Integrations, payments & Ops.Menu
May 2026
Sandbox & Production
- Use the header toggle — Sandbox on the left, Production on the right — to edit and test the right credentials without mixing environments.
- Separate values for Square, SMS (Twilio / Sinch), SendGrid email, and Stripe per environment.
- The toggle stays available on Settings and onboarding even before every integration is filled in.
Payments
- Choose your payment processor on Settings → Payments: Square or Stripe Connect (Barista Bot marketplace).
- Brand owners control this choice — no longer limited to internal admin.
- Per-brand Stripe secret and publishable keys for sandbox and production, with status checks on the same page.
- Skip Square — continue with Stripe during onboarding when your menu and checkout live outside Square.
Ops.Menu — stores, segments & menus
- Settings → Ops.Menu — API credentials, verify, and Sync now (manifest, locations, segments, and per-menu exports cached in the database).
- Nightly menu sync — every brand with Ops.Menu credentials is checked at midnight Central. Barista Bot compares menu IDs and publish timestamps to the cache and runs a full sync only when something new was published in Ops.Menu (skips the night when nothing changed).
- Save and verify caches locations. Ops-only brands get a store per active location on first verify (delete extras under Stores). Hybrid brands (Square + Ops) never auto-import — use Import stores from Ops.Menu on the Ops.Menu settings page or Add store.
- Later Sync now only adds net-new Ops locations; existing and Square stores are not overwritten.
- Credential verify no longer fails when Ops.Menu’s menu list endpoint errors — auth must succeed; menu listing is best-effort until you refresh the cache.
- Each store’s menu is resolved from Ops.Menu: location menu assignment, or location segment → segment’s menu (same rules as SMS ordering).
- Link menu items maps shared Dialogflow drink intents to Ops.Menu export items — once per menu for all stores on that menu.
- Brands with multiple menus see tabs (menu name, store count, item count). Pick a menu, map drinks to Ops.Menu items, and save.
- SMS orders use the correct menu export for the customer’s store, validate items against that menu, price from cache, and charge via Stripe Connect when Square is not in use.
Stores
- Ops.Menu location ID on each store (set automatically from Ops.Menu when possible).
- Delete store on the store edit page when the store has no order history.
Square brands
- Square catalog sync and Square charges when Square is your processor; menu matching uses the shared Dialogflow list (see Latest above).
- Stored secrets show a dot placeholder when unchanged; fingerprint hints help confirm what’s saved without exposing values.
Reliability
- Fixes for saving integration credentials (including encrypted fields) and Stripe status when switching sandbox vs production.
Brand Portal launch
May 2026
Your command center
- Sign in at my.baristabot.app to see orders, customers, and menu activity in one place.
- Dashboard shows live counts for each store, customers, and orders.
- Filter orders and customers by store when you run more than one location.
Orders & customers
- Browse every SMS order with items, modifiers, and which store it came from.
- Open an order to read the full text conversation that led to it.
- View customer profiles, recent messages, shortcuts, and order history.
Menu
- See items and modifier lists synced from Square, scoped per store.
- Drill into any item or modifier list for catalog details your team needs.
Settings & locations
- Update brand info, Square credentials, SMS, and email sending from Settings.
- Add and edit stores — fixed cafés, coffee trucks, and mobile kitchens — each with its own address line in the location picker.
- Invite teammates and manage who can access your brand portal.
- Reset your password by email if you get locked out.
Getting started
- Onboarding wizard walks new brands through store setup, Square, SMS, and menu import.
Customer-facing updates (account portal, shortcuts, order history) live at account.baristabot.app/release-notes.