a Sagan program · currently in private beta

Service Titan Marketing Agent

Your review texts go out when Service Titan marks jobs complete, estimate follow-up sequences run automatically on quotes that haven't converted, and seasonal outreach fills dispatch gaps by reaching past customers during shoulder season.
before

A job completes but the tech doesn't ask for a review. An estimate is sent but never followed up. Shoulder season arrives and the dispatch board is half-empty while 8,000+ past customers go unreached. Nat manually tracks which campaigns are active and cannot see what messages are going out or how many per day.

after

Review requests go out automatically when jobs complete. Unsold estimates enroll in follow-up sequences without manual intervention. Seasonal campaigns reach past customers based on equipment type and service recency. Nat sees all active campaigns in the UI, controls daily message caps, edits sequence copy, and exports contact lists for phone outbound.

plumbing / HVAC / home services / field services / lead follow-up / customer engagement / campaign management / review collection / Service Titan / Hatch / Gmail / Microsoft email /  plumbing / HVAC / home services / field services / lead follow-up / customer engagement / campaign management / review collection / Service Titan / Hatch / Gmail / Microsoft email / 
the problem

Three revenue leaks between service calls and empty dispatch slots

Minuteman's techs forget to ask for reviews after jobs complete, so 80% of review requests never happen.

01
Review requests

One tech asks every time and gets 80% of reviews. The rest never ask. Minuteman pays $20 per five-star review but leaves most of that money on the table.

02
Unsold estimates

Conversion rate is 30-40%. The other 60-70% of quotes presented in-home or sent via email get no follow-up and go cold.

03
Shoulder season downtime

Between heating and cooling seasons, the dispatch board empties. The team has no way to proactively reach past customers to fill empty slots before they cost money.

the math, if you want to look

Automate what techs forget and what sales reps don't have time to do

proof 01
Review requests go out automatically

When a job hits complete in Service Titan, a text with a Google review link goes out within a configurable window. No tech memory required. No $20 per review left on the table.

proof 02
Unsold estimates get follow-up sequences

Quotes that haven't converted enroll in a multi-touch sequence (text day 1, email day 3, text day 7, email day 14). Daily message caps prevent fire-hosing. You edit the copy and timing in the campaign UI.

proof 03
Seasonal campaigns fill empty dispatch slots

The agent classifies your customer base by recency, equipment type, and service history, then enrolls them in seasonal campaigns when you trigger them from the UI. Export the contact list anytime so your team can make targeted phone calls to the same people already in the text sequence.

This agent reads Service Titan job and estimate events, then sends review requests when jobs complete, follows up on unsold quotes automatically, and runs seasonal campaigns to past customers. You control the sequences, the copy, the daily message caps, and which customers get reached. The agent sits between your data and your messaging channels, applying guardrails so campaigns don't fire-hose your customers.

how it works

Three automated workflows from Service Titan data

The agent monitors Service Titan for job completions, estimate generation, and booking events. Based on what it finds, it enrolls customers in review requests, follow-up sequences, or seasonal campaigns. You control guardrails, copy, and timing from a simple campaign UI.

step 01
Job complete triggers review request

Service Titan marks a job complete. The agent sends a text with a Google review link within a configurable window (e.g., 2 hours). No tech involvement needed.

step 02
Unsold estimate enrolls in follow-up sequence

An estimate is generated in Service Titan but no job is booked within 48 hours. The customer enrolls in a multi-touch sequence: text, email, text, email spaced over days or weeks. If they book or decline, the sequence stops.

step 03
Customer classification for seasonal outreach

The agent ingests your customer history from Service Titan and classifies each contact by last service date, equipment type, service recency, and visit frequency. When the dispatch board is light, you trigger a seasonal campaign from the UI and the agent enrolls classified customers in outbound sequences.

step 04
Campaign UI gives you control

Create, edit, pause, or stop campaigns anytime. Set daily message caps, edit sequence copy, view enrolled contacts, and export lists for phone outbound by your team.

ai agent · estimator console inputs transform outputs public preview
inputs
Service Titan job completion events +

Triggers when a job is marked complete. Includes customer contact info, job type, and completion timestamp.

Service Titan estimate records +

Triggers when an estimate is generated. Includes customer contact, service type, estimate amount, and timestamp.

Service Titan booking events +

Signals when an estimate converts to a booked job, so the agent can stop follow-up sequences.

Service Titan customer history +

Job history, service types, equipment details, and last service date for each customer. Used for seasonal campaign classification.

Campaign configuration from UI +

Sequence copy, timing, daily caps, target audience criteria, and active dates set by Nat in the campaign management interface.

transformation
Classify customers by recency and equipment type +

Ingests Service Titan job history and applies rules: last service date, service categories (plumbing, heating, AC), equipment type and age, visit frequency. Produces a prioritized outbound list for seasonal campaigns.

Detect unsold estimates and enroll in sequence +

Monitors Service Titan for estimates not converted to bookings within a configurable window (e.g., 48 hours). Enrolls customer in follow-up sequence with configurable timing and copy.

Apply daily message caps and guardrails +

Enforces configurable daily send limits (e.g., max 20 messages/day) to prevent fire-hosing. Checks for duplicate outreach so the same customer doesn't get the same campaign twice.

Generate review request link +

Creates a direct Google review link for the customer and embeds it in the outbound message template.

outputs
Review request text message +

Sent via Hatch SMS when a job completes. Includes customer name, service type, and a direct Google review link.

Estimate follow-up sequence +

Multi-touch messages (text, email, text, email) sent on configurable schedule (day 1, day 3, day 7, day 14). Includes customer name, service type, and estimate amount. Stops if customer books or declines.

Seasonal campaign messages +

Text and email messages sent to classified customers when a campaign is triggered. Includes personalized service recommendations based on equipment type and service history.

Exported contact list +

CSV file of enrolled customers for a campaign, exportable anytime so Nat's team can make targeted phone calls.

Campaign dashboard +

Real-time view of active campaigns, enrolled contacts, message history, and daily send counts. Allows pause, resume, or stop of any campaign.

draft ready for estimator review _
tech used
Service Titan API for job and estimate eventsHatch SMS platform for outbound messagingEmail via SMTP or Microsoft Graph APIGoogle Business Profile review linksn8n for webhook orchestrationGemini Flash 3 for customer classification
tool alternatives
Twilio for SMS if Hatch API volume limits are exceededHousecall Pro as alternative to Service Titan for field service data
honest qualification

Is this for you?

built for you if
  • + Plumbing and HVAC service companies - Businesses that dispatch technicians, generate estimates in-home or via email, and have seasonal capacity gaps. Service Titan users with Hatch or email outbound capability.
  • + Teams with 50+ service calls per week - Large enough customer base to make seasonal campaigns and review collection automation worthwhile. Small teams can still use the agent but may not see as much volume benefit.
  • + Businesses with 30-40% estimate conversion rates - If you're converting 80%+ of estimates, follow-up automation is less critical. If you're below 30%, this agent targets the biggest revenue leak.
  • + Companies with legacy customer lists - Minuteman acquired 8,000+ Rizzo customers. If you have past customers you haven't farmed, seasonal campaigns can re-engage them at low cost.
not for you if
  • - Businesses without Service Titan or similar field service software - This agent reads job and estimate events from Service Titan. If you use a different platform without an API, integration is more complex.
  • - Companies that already have mature review collection and estimate follow-up - If your techs consistently ask for reviews and your sales team actively follows up on quotes, this agent adds less value.
  • - Businesses that don't want to send outbound text campaigns - This agent relies on Hatch SMS or email. If you prefer phone-only outreach, seasonal campaigns won't work as designed.
pricing

Scoped build plus usage-based messaging

to build

The agent is built and deployed on Railway. You pay for the build once. Ongoing costs are Hatch SMS volume (or Twilio if you switch), email sending (if not using Gmail SMTP), and Service Titan API calls (typically included in your Service Titan plan). Campaign UI and contact export are included.

then
  • Build cost covers agent backend, campaign UI, Service Titan and Hatch integrations, and deployment to Railway.
  • Hatch SMS pricing is per message. Estimate 300-400 messages per week during shoulder season campaigns, plus review requests and estimate follow-ups. Verify Hatch API volume limits with their sales team.
  • If Hatch API doesn't scale or is degraded post-Yelp acquisition, Twilio is a drop-in replacement with similar per-message pricing.
  • Email sending via Gmail SMTP is free. Microsoft Graph API email (if using Outlook) may incur licensing costs depending on your Microsoft 365 plan.
  • Service Titan API calls are typically included in your Service Titan subscription. Verify with Service Titan support if you have API call limits.
FAQ
How does the agent know when to send a review request?

When a job is marked complete in Service Titan, the agent automatically sends a text with a Google review link within a configurable window (e.g., 2 hours). No technician memory required. You control the timing from the campaign UI.

What happens to unsold estimates?

Estimates that haven't converted to booked jobs within 48 hours automatically enroll in a follow-up sequence: text on day 1, email on day 3, text on day 7, email on day 14. If the customer books or declines, the sequence stops. You edit the copy and timing in the campaign UI.

Can I control how many messages go out per day?

Yes. The campaign UI lets you set daily message caps (e.g., max 20 messages per day) to prevent fire-hosing your customers. You can pause, resume, or stop any campaign anytime.

How does the agent fill empty dispatch slots during shoulder season?

The agent classifies your customer base by last service date, equipment type, service recency, and visit frequency. When the dispatch board is light, you trigger a seasonal campaign from the UI and the agent enrolls classified customers in outbound sequences. You can export the contact list anytime so your team can make targeted phone calls to the same people already in the text sequence.

What if I want to use a different SMS platform instead of Hatch?

Hatch is the primary SMS channel, but if Hatch API volume limits are exceeded or you prefer another platform, Twilio is a drop-in replacement with similar per-message pricing. The agent architecture supports both.

Do I need to switch from Service Titan to use this agent?

No. The agent reads job and estimate events directly from Service Titan via API. If you switch to Housecall Pro or another field service platform in the future, the agent can be adapted to read from that system instead.

What does the campaign UI let me do?

The campaign UI lets you create, edit, pause, or stop campaigns anytime. You can set daily message caps, edit sequence copy, view enrolled contacts, and export lists for phone outbound by your team. All active campaigns and message history are visible in one place.

What are the ongoing costs after the build is complete?

You pay for the build once. Ongoing costs are Hatch SMS volume (per message), email sending (free if using Gmail SMTP, may incur costs with Microsoft 365), and Service Titan API calls (typically included in your Service Titan plan). Campaign UI and contact export are included with no additional fees.

next step

Stop leaving revenue on the table between service calls

Review requests, estimate follow-ups, and seasonal campaigns are the three biggest revenue leaks for service businesses. This agent automates all three from your Service Titan data. You control the sequences, the copy, and the guardrails. Let's build it.