iMessage for Painting Contractors: From Estimate Request to Five-Star Review
Short answer: give your painting company its own iMessage number, put it on your website and yard signs as a “text us” link, and run every job in that one thread: an instant reply to the estimate request, the walkthrough time, photos of the rooms, the estimate link, one follow-up if it goes quiet, job-day updates, color sign-off, final photos, the review request and, years later, a repaint check-in. With ZeroSettle the number shows your company name and photo, the hosted AI agent can answer new requests while you're on a ladder. Pro is $49 a month for one number, Growth is $199 a month per number (or $599 a month for 3 from a Growth link), and Enterprise is custom pricing for high volume and compliance needs.
Key takeaways
- Let homeowners text first. An
sms:link on your site and a QR code on yard signs make you a known sender from the first message, so links work and the conversation never counts toward the daily new-contact limit. - One thread per customer, start to finish. The estimate request, walkthrough, color choices and review request all live in the same conversation, so nobody hunts through voicemail or email.
- Reply in seconds, even mid-job. The hosted AI agent answers from a business context you write (services, service area, how estimates work) and books the walkthrough; or you answer from the console or GoHighLevel.
- Respect the rules that protect the number: at most 2 messages before someone's first reply, photos and polls only after they've replied, and outreach only to people who gave you their number for it.
- Plans: Pro is $49/month for one number; Growth is $199/month per number (or $599/month for 3 from a Growth link) with team members and 50 new contacts a day per number; Enterprise is custom pricing for high volume and compliance needs.
Why should a painting company text from its own iMessage number?
Because homeowners already text, and a company number keeps every job in one place instead of on the owner's personal phone. An estimate request that lands while you're cutting in a ceiling can be answered in seconds, by you between coats or by an AI agent that knows how your estimates work.
ZeroSettle gives your business its own phone number on iMessage, running on Apple hardware we operate for you in a server facility. Set a name and photo (your company name and logo) and the homeowner sees your company instead of a bare number, with a card they can save to their contacts; see what customers see when a business texts them.
What does the whole job look like over text?
About a dozen short moments, each with a rule worth knowing. Here is a residential repaint:
| Step | Who texts first | What to send | Rule to know |
|---|---|---|---|
| Estimate request | Homeowner (site button, yard sign) | An instant reply with two or three questions | People who text first never count toward new contacts |
| Web form or lead-ad request | You | Plain text that asks for a reply, no link yet | Counts as a new contact; at most 2 messages before they reply |
| Room photos | Homeowner | Ask for one wide photo per room | Photos from them arrive any time |
| Walkthrough | Either | Two or three times, or a poll | Polls only to people who have replied |
| Estimate | You | The estimate link and one line on what it covers | Links are tappable once they have texted your number |
| Quiet estimate | You | One short, useful follow-up | The hosted agent's follow-up trigger can send it |
| Job days | You | Arrival window, end-of-day photo | Photos only to people who have replied |
| Color sign-off | You | Color name, sheen and room, plus a photo of the sample | Ask for a written yes |
| Review and referral | You | Final photos, review link, later a referral ask | Ask everyone |
| Repaint check-in | You | A short check-in when that surface is due | Only to customers who agreed to texts |
Every number allows 10,000 messages a day, sent and received, with known contacts (people who texted it first or that it already has a conversation with).
How do you get homeowners to text you first?
Put a pre-filled “Text us for an estimate” link everywhere a homeowner meets your company. When they text first, your number is a known sender: links you send are tappable, photos and polls are allowed, and the conversation never counts toward your daily new-contact limit.
The link is an sms: URL with a body; on an iPhone or Mac it opens Messages with your number and the text filled in:
<a href="sms:+15125550148&body=Hi%20Ridgeline%2C%20I%27d%20like%20a%20painting%20estimate.">
Text us for an estimate
</a>
Put it on:
- Website: a button in the header and next to the estimate form.
- Yard signs: a QR code holding the same link, with “Text for a free estimate” in large type. Neighbors who walk past a job in progress are some of the warmest leads a painter gets. Test the code with an iPhone camera before you print.
- Truck, business cards and estimate PDFs: the number written out, plus the QR code.
On Android the link opens the SMS app and iMessage won't reach them, so keep a phone number and email on the page too. How to get customers to text you first covers link formats and QR codes in more detail.
What should the first reply to an estimate request say?
The first reply should come within a minute, say who you are and ask what you need to price the job: interior or exterior, which rooms, and when. Speed matters more than polish here: a homeowner collecting quotes is often asking other painters too, and the first useful answer sets the tone. Speed to lead for home service businesses goes deeper on response time.
- Sat 10:12 AM
- Homeowner: Hi Ridgeline, I'd like a painting estimate.
- Homeowner: saw your sign on Alder St
- Business: Hi! Thanks for reaching out to Ridgeline Painting. Is this interior, exterior, or both?
- Business: And roughly which rooms, and when you'd like it done?
- Homeowner: interior. living room, hallway and 2 bedrooms. before thanksgiving ideally
- Business: That works for our schedule. If you can, text a wide photo of each room from the doorway. It helps us bring the right samples.
- Homeowner: Photo: the living room👍
- Business: Great, thanks. Pick a time for the free walkthrough (about 30 minutes): https://ridgelinepainting.example/book
- Homeowner: booked tues 4pm
If the request came from a web form, your number texts first, and three things change: the conversation counts as a new contact (5 a day on Pro, 50 a day per number on Growth), you can send at most 2 messages before they reply (texts sent within 5 minutes of each other count as one), only text goes out until they reply (no photos or polls), and a link in that first text shows as plain, untappable text. Open with a question and send the booking link after they answer:
Hi Megan, this is Jordan at Ridgeline Painting. Thanks for the estimate request on our site. Is the best way to set up the walkthrough by text?
Only text form leads whose form says you'll text them; texting lead ad leads covers lead forms, and why first-message links aren't tappable the link rule.
How do you book the walkthrough and collect room photos?
Send a booking link or two or three specific times, and ask for photos before you go. Once the homeowner has replied, your code can also send a Messages poll with time options through the API; on iOS 26 or later they vote in the thread, while older iPhones show “Sent a poll” and can't vote, so plain times are the safe default.
Photos are the part painters underuse. A wide shot of each room shows ceiling height, trim, wallpaper, stains and how much furniture has to move. For small jobs (an accent wall, a front door), photos and a couple of measurements can be enough for a ballpark range. Text-a-photo quotes for the trades walks through that workflow. Photos show in the console and can be fetched through the API (see Attachments).
How do you send the estimate and follow up?
Send the estimate as a link in the thread they already replied in, with one line saying what it covers, then follow up once if it goes quiet. Because they have texted the number, the link is tappable:
Here's your estimate for the living room, hallway and 2 bedrooms: walls and trim, two coats, ceilings not included. https://ridgelinepainting.example/e/4821. Happy to walk through any line of it.
A quiet estimate is often not a “no”: the homeowner may be waiting on a spouse or another bid. One short follow-up that offers something useful (an open start date, splitting the job into phases) asks without nagging. If you use the hosted AI agent, its trigger setting sends that follow-up for you: a once trigger fires a set number of days after the last message, in the morning, afternoon or evening window you pick, and never when the homeowner wrote last. How painters can follow up on estimates that went quiet has wording for each situation.
What should you text during the job?
Text what a homeowner would otherwise call about: arrival, prep, progress and every color decision in writing.
- The day before: the arrival window, who is coming and what to clear.
- Arrival: a short “on the way” text with the crew lead's name. On-the-way texts with a photo and ETA shows the pattern.
- End of each day: one progress photo and what's next, which heads off “how's it going?” calls.
- Color sign-off: before the first coat in each room, send a photo of the sample with the exact color name, code and sheen, and ask for a yes. A written yes settles “that's not the color I picked” before it costs you a repaint.
On bigger jobs, an iMessage group chat can hold the homeowner, your project manager and the crew lead. Groups hold up to 31 people; each member your number has never messaged counts as a new contact, every member must have agreed to hear from you, and a STOP from any member blocks sends into every group they're in. If the hosted AI agent runs your number, it answers in a group only when a message is meant for it, and its follow-ups never fire into a group. One iMessage group per job walks through setting this up, and the group chats docs have the API.
How do you ask for reviews, referrals and repaints?
Ask in the same thread right after the final walkthrough, final photos first, then the review link:
Thanks again, Megan. Here are the finished rooms. If you have a minute, a Google review helps a small crew like ours a lot: https://ridgelinepainting.example/review
Ask every customer, not only the ones you think are happy. Filtering who gets asked based on how they feel is called review gating, and how to ask for Google reviews over iMessage explains why to avoid it. A referral ask fits a week or two later; see turning happy customers into referrals.
Repaint reminders pay off years later. Before you close out, ask whether they'd like a check-in when the exterior or high-traffic rooms are due, and note the yes. Customers your number already has a conversation with are known contacts, so they don't count toward the new-contact limit; past customers it has never texted do count, so spread those out. To send one check-in to a list from your own code, POST /api/imessage/broadcast sends each person their own 1:1 message (up to 100 handles per call; each number sends about 10 a minute, and the rest come back deferred to send again), never a group. Bring back past painting customers with iMessage covers the timing and wording.
Who should answer the number?
Pick one of three setups: you or your office manager in the console, the hosted AI agent, or your CRM. You can switch whenever you want.
| Setup | Good for | What to know |
|---|---|---|
| You, in the console (Managed by API) | An owner or office manager who can reply within minutes | No credits used for texts; the console works on a computer and a phone |
| Hosted AI agent (Managed by AI Agent) | Answering requests instantly, evenings and weekends included | 1 credit per text it sends; the console composer is off while it manages the number, and your own API sends still work |
| GoHighLevel, HubSpot, Close or Zapier | Companies already running leads through a CRM or a marketing agency | Close, HubSpot and GoHighLevel log your 1:1 texts on the lead or contact (group messages aren't logged in Close or HubSpot), and the iMessage (ZeroSettle) app makes the number the GoHighLevel sub-account's SMS provider; Zapier starts a Zap on each message and sends with its Send iMessage action |
With the hosted agent, its business context is everything it knows; write it like a brief for a new estimator. An illustrative example:
You are Ridgeline Painting's assistant, answering homeowners who text
about painting. Get them a free walkthrough booked.
About us: residential interior and exterior painting, cabinet refinishing.
Service area: North Austin, Round Rock, Cedar Park. Outside it, say so
kindly and suggest they call (512) 555-0148 to check.
Walkthroughs: free, about 30 minutes, Mon-Sat. Book at the link.
Pricing: every job is priced after the walkthrough. Never quote a final
price. Starting points you may share: single bedroom walls from $450;
front door from $250. Always say the walkthrough sets the real number.
Ask: interior or exterior, which rooms or surfaces, timing, and a wide
photo of each room.
Hand off: complaints, warranty questions and anything about a job in
progress go to Jordan at (512) 555-0148.
Never: promise a start date, discuss other painters, or guess.
Then set it up in the console's Messaging tab (step by step):
- Goal and link: Demos booked, with your booking page, is the closest of the three goals to a walkthrough; or turn the goal off and describe booking in the context.
- First message: it is sent exactly as written, also as the first answer to someone who texts first, so write one that fits any request or turn it off and let the agent write its own.
- Personality and response time: Friend or Professional, and Instant for estimate requests.
- Triggers: keep the default single follow-up, adjusted to your wording. Don't add a daily trigger; it texts every conversation the agent has, every day.
- Files: your service list, warranty and prep instructions.
Test it from your own iPhone, including questions the context doesn't cover; it should hand off, not guess. How the hosted AI agent answers iMessages covers every setting, and the AI agent docs have the API. If a marketing agency runs your leads in GoHighLevel, GoHighLevel + iMessage for lead gen agencies and the CRM integration docs show the setup.
Which plan fits a painting company?
A solo painter whose customers mostly text first fits Pro; a company with an office, crew leads who text customers, or a steady flow of form and lead-ad requests fits Growth. The deciding number is how many conversations you start each day.
| Plan detail | Pro | Growth | Enterprise |
|---|---|---|---|
| Price | $49/month for one number | $199/month per number (upgrade in the console), or $599/month for 3 numbers from a Growth link plus $199 per extra number | Custom, through sales |
| New contacts you start, per number | 5 a day | 50 a day (and 3 per 15 minutes) | Talk to sales |
| People who text you first | Never limited; 10,000 messages a day per number, sent and received, with known contacts | ||
| Team members | No | Yes | Talk to sales |
| Free AI agent credits (once) | 500 | 1,000 | Talk to sales |
| Fits | Solo painter, yard signs and site button | Crews with an office manager, web and lead-ad leads, reactivation | High volume and compliance needs |
Credits pay only for texts the hosted AI agent sends (1 each) and for videos. Free credits come once and don't refill; packs are 1,000 for $50 or 5,000 for $200 and never expire. The subscription has a 30-day money-back guarantee.
An agent conversation with a two-text opener, three two-text answers and one follow-up uses 9 credits. More in ZeroSettle pricing and the your iMessage number docs; for higher volume or compliance requirements, book a demo.
What should painters avoid over iMessage?
Avoid anything that makes your number look like spam. A flagged number fails every send, to everyone:
- No cold texting. Text only people who gave you their number for this: an estimate request, a form whose wording says you'll text, a past customer who agreed to texts, or someone who texted first. Never purchased lists, scraped numbers or door-knocking lists. iMessage marketing and TCPA consent has the practical detail; it is not legal advice.
- No third text before a reply. The number refuses a third message to someone who has never replied (
403 awaiting_reply). - No promotions at odd hours. The compliance guidance says nothing promotional before 8 am or after 9 pm in the recipient's time zone.
- Honor STOP. ZeroSettle enforces it on every number of your account.
- Don't promise texts to Android users. iMessage reaches Apple devices; SMS fallback is a limited pilot ZeroSettle must enable per account.
How to grow a home service business with iMessage has the wider playbook. To start, get your number, set your company name and photo, and print the QR code before your next yard sign goes up.
Frequently asked questions
Will homeowners see my company name or a random number?
Your company name and photo, once you set them. ZeroSettle shares the card with the people your number texts, the homeowner sees that your company shared a name and photo, and they can save it to your contact card in one tap.
Do homeowners who text us first count toward the daily limit?
No. Anyone who texts your number first never counts, and neither does an ongoing conversation. The daily new-contact limit (5 a day on Pro, 50 a day per number on Growth) counts only conversations your number starts, such as texting a web form lead.
Can the AI agent give prices?
Only the prices your business context or files give it, and it never invents facts they don't contain. A practical setup gives it starting prices or ranges and has it book the walkthrough for an exact estimate, since the final number depends on what the estimator sees.
What about homeowners who don't have an iPhone?
iMessage reaches Apple devices. Keep a phone number and email on your site and estimate form for everyone else. SMS fallback is a limited pilot that ZeroSettle has to enable per account, so don't plan around it.
Can I text my old customer list about a repaint?
Only customers who agreed to get texts from you, with a record of when. Never text purchased lists, scraped numbers or neighbors you have no relationship with. Rules differ by state and country, and this is not legal advice.
Should a painting company start on Pro or Growth?
A solo painter whose customers mostly text first fits Pro at $49 a month. A company with an office manager, a crew lead who texts customers, or a steady flow of web form and lead-ad requests usually needs Growth at $199 a month per number, for team members and 50 new contacts a day per number. Enterprise has custom pricing for high volume and compliance needs.
Sources
- ZeroSettle iMessage API docs: “Your iMessage number” (Pricing), “Send a message” (Links in a first message, Polls, Broadcast to many recipients, SMS fallback, Name and photo), “Attachments”, “Customer support” (Let them start the conversation), “AI agent” (Managed by AI Agent, Triggers, Connectors, Credits), “AI agent in the console”, “Errors, limits, and compliance”, “CRM integrations” and “Group chats”. Checked November 2, 2026.