Every feature works today on Gravy's included connections. Add your own keys here when you are ready and that feature switches to your own account, billed to you. Nothing here is required to run the platform.
Every capability is optional and works on its own. Turn off anything you already run in another system (Tekmetric, Shopmonkey, Shop-Ware, Podium, QuickBooks) and keep using it. Turn a module on any time.
Pick what shows in your sidebar. Unchecked tools stay fully on and reachable under a collapsible More at the bottom of the menu, just out of the main list.
Your shop's color. Used on every email we send your customers (booking confirmations, reminders, campaigns) so they look like they came from you, not us.
Optional integrations. Each runs on Gravy's included connection until you add your own account.
Foreman briefings and complaint intake. Runs on the included AI until you add your own key.
Take card payments on approved work. Free to connect; Stripe takes a per-transaction fee.
Confirms payments settled even if the customer closes the tab. In Stripe, add an endpoint at /stripe/webhook for checkout.session.completed, charge.refunded (so refunds reopen the balance), and customer.subscription.updated and customer.subscription.deleted (so memberships follow Stripe), and paste its signing secret here.
Your Google review link. Falls back to a Maps search for your shop.
For large marketing sends. Small lists use your shop email; big lists need this to protect deliverability.
The verified From address for SendGrid sends.
Two-way texting and missed-call text-back. Until connected, staff use tap-to-text links.
Your Twilio auth token.
Your Twilio phone number.
When a job moves to a new stage on your board, we text the customer a short update with a link to their live status page. Turn the whole feature off under Modules above. Placeholders you can use in a message: {name}, {vehicle}, {link}. Every text always includes the status link and "Reply STOP to opt out".
No status texts go out during these hours (24-hour clock, your local time). The "Ready for pickup" text always sends. Leave both blank for none.
Shows an "Apply for financing" button at approval, on invoices and at checkout, using your own lender link. Sign up with Sunbit or Wisetack, then paste your application link.
Adds a one-tap shortcut in the inspection builder that opens your shop's own Mitchell 1 ProDemand or ALLDATA subscription in a new tab. Gravy does not read data from either one.
Added to marketing email footers (required by anti-spam law) and to invoices.
Applied to every estimate, approval total, invoice and online payment. Leave blank for none.
Sliding-scale markup: enter your cost on a parts line and the sell price fills automatically. One tier per line as max cost multiplier (use 0 for anything above the last tier).
Example: a $30 part in the "up to $75 × 2.0" tier sells for $60.
Your PartsTech partner username. When set, the parts lookup in an inspection searches live PartsTech pricing; until then it uses a built-in catalog.
Your PartsTech partner API key. Kept private.
Optional. Only if PartsTech gave your account a partner ID for API access. Leave blank to authenticate as a user.
Optional. Where the "order" link next to a part goes. Use {q} for the part number, e.g. https://www.rockauto.com/en/partsearch/?partnum={q}. Leave blank to use a free web search.
Create a free app at developer.intuit.com (Accounting scope), set its redirect URI to https://brooks.luciapps.com/qbo/callback, and paste the Client ID here.
Your Intuit app client secret. Kept private.
Auto-sync: approved invoices and customers push into QuickBooks Online automatically once connected, with your sales tax and shop supplies, so each QuickBooks invoice totals what the customer was charged. If sales tax is turned off in QuickBooks, the tax arrives as a line item named Sales Tax (collected in Gravy). Payments can also sync both ways (beta, below).
Connect flow available on your own account.
How many jobs your shop can take in a day. Drives the capacity bars on the appointment calendar and your capacity-aware booking page.
Your public booking page only shows days and times you can actually take, from your hours + daily capacity above. Customers never pick a slot that is full.
Hours are in 24-hour numbers (8 = 8am, 17 = 5pm). Leave lunch blank for none.
The website chat bot answers from your live hours, services and published prices. Add your own talking points, and set hard limits on what it must never say, so it always sounds like your shop. It can also take a booking request, and can tell a returning customer their recent visits when they give the phone on file. Try it on your website.
Full, detailed history stays private behind each customer's secure glovebox link. Talking points and limits also apply to the AI phone assistant.
Answers your phone with a speaking assistant that uses your live hours, services and real open slots to book appointments, and can transfer to you. Point your Twilio number's Voice webhook at https://brooks.luciapps.com/voice. Test it free in the simulator →
https://brooks.luciapps.com/voice
Instead of a flat job count, cap each day by real labor-hours (techs × productive hours × a target). Your booking page then fills a day by hours and the calendar shows a capacity bar, so you never promise more work than the bays can do. Estimated hours per service come from your saved services, with a default for the rest.
Leave technicians / hours blank to auto-detect from your team and open hours. At current settings that is about 20.4 labor-hours per day.
Used for every time Gravy shows, "today", end of day, reminders, the morning digest, and text quiet hours.
Needed before this shop registers for business texting; carriers check all of it. Adds two optional consent checkboxes (service texts; reminders and offers) to online booking and estimate approval, a "customer said yes to texts" box at check-in, and your privacy policy and texting terms pages. With it on, service texts go only to customers who said yes (or who texted you). Reminders and offers by text always need the customer's own opt-in, on or off.
Automatically nudge customers to come back once they're overdue. Sends by email, or by text to customers who opted in to reminders and offers by text, once per interval per customer, respecting opt-outs.
Reward repeat visits and word-of-mouth. Shown on each customer's digital glovebox.
Declined work is always kept on the recovery worklist. Optionally auto-send each customer their recover link once, after a wait.
A return within this many days for the same kind of work counts as a comeback on your quality report.
Publish services from Canned jobs to your public quote page. This disclaimer shows under the estimate.
Drop this one line into your website (already done on sites we build). It publishes your live reviews as Google-readable structured data, and renders a reviews block wherever you put <div id="gravy-reviews"></div>.
<div id="gravy-reviews"></div>
Used by the financial cockpit to compute your true net after card fees. Enter what your processor actually charges.
Choose how your team signs in. You can enable both.
Manage staff & access →