← All workflows
Outbound

Quote follow-up.

Rings the customer ~24 hours after you sent a quote — confirms they got it, answers high-level questions, books the work or schedules a callback.

Goal

Convert sent quotes into booked work. Confirm receipt, address objections at a high level (without re-quoting), book a time if they're going ahead, or schedule a callback if they need more time. Capture decline reasons if they say no.

Triggers

  • ServiceM8 reports a quote sent ~24 hours ago and not yet accepted
  • Customer says 'about the quote' on an inbound call (workflow routes mid-conversation)

What the AI does

  • Outbound disclosure: AI identity, recording, and the reason for the call up front
  • Checks DNCR before dialling (existing-customer quote follow-ups are normally exempt; we still check)
  • Confirms the customer received the quote (email + ServiceM8 link)
  • Books a job time if they accept — uses optimistic-hold + intent-id, rolls back cleanly on conflict
  • Schedules a callback if they need more time
  • Captures a decline reason briefly (price / timing / found someone else) so you don't have to ask

What the AI won't do

  • Re-quote, negotiate prices, or offer discounts
  • Pressure customers who say no — one polite ask, then close warmly
  • Argue about scope changes (those route to a human callback)

Tools available to the AI

lookup_customer_historymark_quote_acceptedbook_job_timesuggest_alternative_timesschedule_callbacktransfer_to_staff

Tools are typed and bounded — the AI calls them, it doesn't define them. Each tool call is logged with an idempotency key, so retries never produce duplicates.

Success looks like

Quotes you'd otherwise have forgotten to chase turn into booked jobs. Declines come back with reasons you can act on. Customers don't feel chased — they feel looked-after.

Toggle

Dashboard → Workflows → Quote follow-up · on/off. Pause for a holiday week without affecting inbound calls.

Related