
/
Last time, we shared a simple Google Sheet AI job note setup.
The idea was:
A customer request lands in a Google Sheet.
AI reads the request.
The sheet fills in a clean job note, priority, next step, and callback script.
This week, we’ll build on that same idea.
But instead of using AI only for the first job note, we’ll use it for estimate follow-up.
The workflow is:
Customer reply → Google Sheet → AI status → suggested follow-up message.
The problem
Estimate follow-up usually breaks in one of two places.
First, the customer reply stays buried in an inbox, text thread, or estimate system.
Second, even when someone sees the reply, they still have to decide what it means.
A customer says:
Can you do Friday?
That means scheduling.
Another says:
That price is higher than I expected.
That means price concern.
Another says:
Let me check with my husband.
That means waiting on approval.
Another says:
We went with someone else.
That means lost.
Those replies should not all get the same follow-up.
The sheet should help sort them.
The workflow
Here is the simple version:
A customer reply comes into email, text, or a message notification.
That reply gets added to Google Sheets.
AI reads the reply.
AI detects the status.
The sheet fills in the suggested follow-up message.
A person reviews and sends, or the system sends only low-risk messages.
This is not a separate system from the job note script.
It is the next layer.
The first script creates the job note.
This follow-up workflow creates the next message.
Step 1: Add a Customer Replies tab
In the same Google Sheet, add a new tab called:
Customer Replies
Add these columns:
Date received
Customer name
Phone
Email
Message source
Message text
Matched estimate ID
Detected status
Suggested reply
Next action
Review needed?
Stop follow-up?
Processed?
The most important column is Message text.
That is what AI reads.
Step 2: Add follow-up columns to your main sheet
On your main lead or estimate sheet, add these columns:
Estimate ID
Estimate sent date
Current status
Latest customer message
Suggested follow-up message
Next action
Next follow-up date
Last message sent
Stop follow-up?
If you already have a sheet from the job note workflow, do not rebuild everything.
Just add these follow-up fields to the right side.
Step 3: Wire email replies into Google Sheets
For email replies, use Gmail labels.
Create a Gmail label called:
Estimate Replies
Then create a Gmail filter that catches estimate replies.
For example, filter emails that include words like:
estimate
quote
proposal
invoice
service request
scheduling
When an email matches, Gmail applies the Estimate Replies label.
Then the Apps Script checks that label every few minutes or every hour.
Plain-English automation:
Trigger: Every 15 minutes
Action: Search Gmail for new emails labeled Estimate Replies
Then: Copy the sender, date, subject, and email body into the Customer Replies tab
Then: Mark the email as processed so it does not get added twice
Now estimate replies can move from inbox to sheet automatically.
Step 4: Wire text replies into Google Sheets
Text messages are a little different.
A normal phone inbox does not automatically push every text into Google Sheets.
So the simple setup depends on how the business receives texts.
Use one of these paths:
Path A: Text system sends email notifications
Some phone or texting systems can send an email when a customer replies.
If yours can do that, send those notifications to Gmail.
Then use the same Gmail label:
Estimate Replies
The Apps Script reads the email notification and adds the reply to the Customer Replies tab.
Path B: Text system can export or connect to a webhook
If your texting system can send new replies to a webhook or export them to a sheet, connect those replies to the Customer Replies tab.
The goal is the same:
Each customer reply becomes one row in Google Sheets.
Path C: No text automation yet
If your current phone setup cannot forward or export texts, start with email replies first.
Or use a simple form link in your follow-up message.
For example:
Reply here, or use this quick form to choose a time or ask a question: [link]
When the form is submitted, the response lands in Google Sheets.
That gives you a working version before buying a bigger texting setup.
Step 5: Let AI classify the reply
Once the reply lands in the Customer Replies tab, run the same kind of Apps Script logic used in the job note script.
But this time, the prompt asks AI to classify the customer reply.
Use statuses like:
Needs scheduling
Price concern
Question asked
Thinking it over
Waiting on approval
Won
Lost
Do not contact
No clear status
The prompt should return structured fields:
Detected status
Suggested reply
Next action
Review needed?
Stop follow-up?
The AI prompt
Use a prompt like this inside the script:
You are helping a home-service business manage estimate follow-up.
Read the customer reply and classify the status.
Choose exactly one status:
Needs scheduling, Price concern, Question asked, Thinking it over, Waiting on approval, Won, Lost, Do not contact, No clear status.
Then write a short suggested reply.
Rules:
Keep the reply friendly and practical.
Do not sound pushy.
Do not offer a discount unless the customer clearly asks for a cheaper option.
If the customer asks a specific question, mark Review needed as Yes.
If the customer has a price concern, mark Review needed as Yes.
If the customer asks not to be contacted, do not write a reply.
If the customer says they chose someone else, mark Stop follow-up as Yes.
Customer name: [Name]
Service requested: [Service]
Estimate amount: [Amount]
Customer reply: [Message text]
Return only:
Status:
Suggested reply:
Next action:
Review needed:
Stop follow-up:
Step 6: Populate the follow-up message
Here is what the sheet should fill in.
If the customer says:
Can you do Friday morning?
Detected status:
Needs scheduling
Suggested reply:
Hi [Name], Friday morning may work. We’ll confirm the schedule and send the next available time shortly.
Next action:
Confirm availability
Review needed?
Yes
If the customer says:
That price is higher than expected.
Detected status:
Price concern
Suggested reply:
Hi [Name], we understand. If helpful, we can review the estimate and explain what is included. We can also let you know if there are any simpler options based on the job.
Next action:
Review before sending
Review needed?
Yes
If the customer says:
I need to check with my spouse.
Detected status:
Waiting on approval
Suggested reply:
Hi [Name], no problem. If helpful, we can send a short summary of the estimate so it is easier to review together.
Next action:
Follow up later
Review needed?
No
If the customer says:
What does the estimate include?
Detected status:
Question asked
Suggested reply:
Hi [Name], good question. We’ll review the estimate details and get back to you with a clear answer shortly.
Next action:
Human answer needed
Review needed?
Yes
If the customer says:
We went with someone else.
Detected status:
Lost
Suggested reply:
Thanks for letting us know, [Name]. We appreciate the opportunity. If you need help in the future, feel free to reach out.
Next action:
Close estimate
Stop follow-up?
Yes
Step 7: Update the main estimate row
After the Customer Replies tab is filled, update the main estimate row.
Match the reply using:
Phone number
Email address
Customer name
Estimate ID, if available
Then update:
Current status
Latest customer message
Suggested follow-up message
Next action
Stop follow-up?
Now the estimate sheet shows the current status without someone reading every thread manually.
Step 8: Decide what can be sent automatically
Do not auto-send everything.
Use this rule:
Safe to auto-draft:
Price concern
Question asked
Complaint
Scope change
Warranty question
Technical question
Usually safer to auto-send:
Simple confirmation
Waiting-on-approval reply
Lost/thank-you reply
Close-the-loop message
A good first version should draft messages, not blindly send everything.
Once the business trusts the workflow, low-risk messages can be sent automatically.
The full setup
The complete system has three parts:
Part 1: Job note script
A service request lands in Google Sheets.
AI creates:
Job note
Priority
Next step
Callback script
Part 2: Reply capture
A customer reply comes from email, text notification, form, or message system.
The reply lands in the Customer Replies tab.
Part 3: Follow-up classifier
AI reads the reply.
The sheet fills in:
Detected status
Suggested reply
Next action
Review needed?
Stop follow-up?
That is how the original Google Sheet job note workflow turns into a follow-up system.
Try this this week
Start with email first.
Create a Gmail label called Estimate Replies.
Create a Google Sheet tab called Customer Replies.
Add one test email reply to the sheet.
Run the AI prompt on that message.
Check whether the sheet fills in the right status and suggested reply.
Use these five test replies:
Can you do Friday?
That price is higher than expected.
I need to check with my spouse.
What does the estimate include?
We went with someone else.
If the sheet can classify those correctly, the workflow is working.
Then you can decide whether to connect texts, form replies, or a full texting system next.
Want the follow-up script?
Reply with FOLLOWUP and tell us where your estimate replies usually come in:
Gmail
Text message
CRM
Estimate tool
Not sure
We may build the next Google Sheet script that reads replies, detects the status, and fills in the suggested follow-up message.
— FieldCue Weekly