Use cases

Turn Happy Home Service Customers Into Referrals Over iMessage

Ask for a referral in the same iMessage thread where the job happened, right after the customer tells you they are happy: at the final walkthrough sign-off or in their reply to your thank-you. Make it easy to pass on: your business name and photo saved on their phone, and one short text they can forward that asks the friend to text you. Let the friend make the first contact, through a forwarded text, an sms: link or a group intro the customer starts. Record who referred whom from the friend's first message, in your CRM or from a webhook, and thank the referrer the day the friend books. With ZeroSettle, all of it runs on your company's own iMessage number.

Key takeaways

  • Timing: ask once, after a clear signal the customer is happy. Never during the punch list, with an open invoice question, or inside a crew job group.
  • The friend texts first: never text a number a customer hands you. Give the customer a forwardable text with your number or a link to a page with a Text us button.
  • Your name travels with the number: set your business name and photo once; ZeroSettle shares them with the first message your number sends in each 1:1 conversation, and you can share them on demand in a thread the customer started.
  • Track the referrer at first contact: a prefilled message that names the referrer, logged in Close, HubSpot or GoHighLevel, through Zapier, or from your webhook.
  • Thank people fast and the same way every time: a text the day the friend books, and whatever reward you promised, without sharing the friend's job details.

Why ask for referrals over iMessage?

Because the conversation where the customer just said “it looks great” is already in their Messages app, and forwarding a text from it takes seconds. A text asks while they are still standing in the finished room.

For most painters, cleaners, landscapers and HVAC, plumbing and electrical companies, the job already runs on texts: the estimate request, the schedule, the on-the-way message, the walkthrough. When those texts come from a crew lead's personal phone, the referral ask comes from “Marco” and the friend ends up texting Marco. When they come from one company number, the ask, the forwarded intro and the friend's first message all land in one shared inbox your office can see. That is what ZeroSettle gives you: a dedicated phone number on iMessage, running on Apple hardware we operate for you in a server facility, with a console, a REST API, signed webhooks, CRM integrations and an optional hosted AI agent. The broader playbook is in how to grow a home service business with iMessage.

When should you ask for a referral?

Ask right after the customer gives you a clear positive signal, and only once per job. The two best moments are the final walkthrough sign-off (“all done, looks great”) and the customer's reply to your thank-you text. Both are moments they wrote first, so your ask is a natural next line, not a cold pitch.

When to ask for a referral on a home service job
MomentAsk?Why
Customer signs off on the final walkthroughYesThe work is done and they just said so in writing.
Customer replies to your thank-you with praiseYesThey opened the door; a referral ask is a one-line follow-on.
A neighbor asked them who did the workYes, at onceThere is already a friend waiting for your name.
Punch list still openNoFinish the fixes first; asking now reads as rushing them.
Invoice question or complaint openNoSolve it 1:1. An ask now can turn a fixable issue into a bad review.
Inside the job group with the crewNoKeep the ask 1:1 between the office and the customer.
Months later, out of the blueRarelyTie it to a reason to text, like a seasonal check-in the customer agreed to.

If you also ask for online reviews, keep the two asks in separate texts, on separate days. Our guide to asking for Google reviews over iMessage covers the review side, without gating.

Here is what the ask looks like in a thread with a customer who has texted you all along:

  1. Fri 4:52 PM
  2. Customer: Just walked around the whole house. It looks amazing, thank you all!
  3. Business: So glad you love it, Dana. Marco's crew will be happy to hear it.
  4. Business: One small ask: if a friend or neighbor ever asks who painted your house, we'd love the intro. Want a short text you can forward?
  5. Customer: Ha, Luis next door already asked. Send it
  6. Business: Here you go, forward it as is:
  7. Business: Harbor Lane Painting did our exterior and I'd hire them again. Text them at (512) 555-0188 and say Dana sent you, or tap harborlanepainting.example/r/dana
  8. Customer: Sent!
  9. Business: Thank you! If Luis books, he gets $100 off his first job and we'll send you a $50 gift card.
Illustrative example with a fictional company, Harbor Lane Painting (harborlanepainting.example). Blue bubbles are the company's ZeroSettle number; gray bubbles are the customer. The company never texts Luis: Dana forwards the text, and Luis decides whether to reach out.

How do you make your number easy to pass on?

Set your business name and photo on the number, and ask good customers to save it. Messages lets a sender share a name and photo; the customer sees “Harbor Lane Painting shared a name and photo with you” and can save it to your contact card, so your texts show your logo instead of a bare number.

  • Set it once. In the console, or with PUT /api/imessage/profile and a name (up to 64 characters) plus a JPEG or PNG under 3 MB (square, 600 px or larger, looks best). See Send a message (Name and photo).
  • It shares itself. The first message your number sends in a 1:1 conversation carries the card, and the next one does again after you change the name or photo, so customers from before a rebrand get the new logo. In a conversation the customer started, POST /api/imessage/profile/share sends it on demand.
  • Ask for the save at kickoff. “Tap our name at the top and save us, so you know it's us texting” is a normal request on day one. A saved card also means the customer can share your contact from their Contacts app when a friend asks.

Contact cards can't be sent as attachments, so the forwardable text is how your number travels in a thread. There is a practical upside to customers saving you, too: an iPhone shows links from an unknown sender as plain, untappable text, and links from a number they have texted or saved open normally. Details in why first-message links aren't tappable and what customers see when a business texts them.

What should the forwardable text say?

The forwardable text should sound like the customer, fit on one screen and end with one action: text this number. Write it in the first person, because the friend reads it as a message from someone they know, not from you.

Three parts are enough:

  1. Who and what: your company name and the job you did for them (“did our exterior”, “cleans our place every other week”, “fixed our AC the same day”).
  2. Your number, written out: the friend can text it from the forward.
  3. The referrer's name or code: “say Dana sent you”, or a link to a page that does it for them.

The link is optional but it does two jobs. Point it at a simple page on your website (for example /r/dana) with one Text us button. That button is an sms: link with a prefilled body that names the referrer, the pattern from getting customers to text you first:

html
<a href="sms:+15125550188&body=Hi%20Harbor%20Lane%2C%20Dana%20H.%20sent%20me%20(ref%20DANA14).%20I%27d%20like%20a%20quote%20for%3A%20">
  Text us for a quote
</a>

On an iPhone or a Mac, that opens Messages addressed to your number with the text filled in, and it goes as iMessage. On Android it opens the SMS app, and ZeroSettle numbers are iMessage numbers that reach Apple devices, so keep a short form or an email address on the page for friends who aren't on iMessage. Use a short, opaque reference such as DANA14, never the referrer's email or address.

Variations by trade, all following the same shape:

  • House cleaning: “We use Brightway Cleaning every other Friday and they're great. Text them at (512) 555-0144 and mention the Hales.”
  • HVAC: “North Ridge Air fixed our AC the same afternoon. Their text line is (512) 555-0120, tell them Dana sent you.”
  • Lawn care: “Our yard is done by Greenline every week. Text (512) 555-0163 for a quote, say you're Dana's neighbor.”

More on trade-specific workflows: iMessage for painting contractors, bookings for cleaning businesses and seasonal texts for lawn care and landscaping.

Should you use a group text to introduce the friend?

A group intro works well when the customer starts it, from their own iPhone, with a friend who already asked for your name. Then everyone in the group chose to be there: the customer, the friend who wants a quote, and your number. Every ZeroSettle number has group chats on, a group holds up to 31 people, and groups your number is added to by someone else work the same as ones it starts.

  1. Sat 10:14 AM
  2. Dana: Luis, meet Harbor Lane, the painters who did our house. Harbor Lane, Luis wants a quote for his trim and garage door.
  3. Harbor Lane's number: Thanks for the intro, Dana! Hi Luis, happy to help.
  4. Harbor Lane's number: Whenever you're ready, text this number directly with your address and a couple of photos, and we'll set up a free estimate. No rush.
  5. Luis: Great, will do this afternoon
Illustrative example. Dana started the group from her own iPhone. The company thanks her, then moves Luis to a 1:1 thread he starts himself, where the company can share its name and photo, links are tappable and the conversation is logged in Close or HubSpot.

Why move the friend to 1:1 so quickly:

  • The quote is private. Address, budget and photos of Luis's house are not Dana's business.
  • Your name and photo travel with 1:1 texts. The automatic name-and-photo share is a 1:1 feature; a group send skips it.
  • Records. Group messages are not logged in Close or HubSpot, and the friend's 1:1 texts are.
  • Limits stay simple. A friend who texts you first is never a new contact, on any plan.

Can your number start the group instead? Yes, with POST /api/imessage/groups, but only when the customer has confirmed the friend wants the intro. Consent covers every member of a group, so start one only after the friend has asked for the intro themselves, and keep that message as your record. Each member your number has never messaged counts as one new contact that day, each new member must be on iMessage, and if anyone in the group has texted STOP to any of your numbers, sends into it are refused. The full set of rules is in the group chat docs and our group chat API guide. For running the job itself in a group, see one iMessage group per job.

How do you track who referred whom?

Record the referrer from the friend's first message. If the forwardable text or the sms: button puts the referrer's name or code in that message, you only have to read it once and write it down where your team will see it. Pick the place that matches the tools you already use:

Where to record referrals (ZeroSettle API docs, checked November 2, 2026)
SetupWhat ZeroSettle doesWhat you add
CloseLogs every 1:1 text as an iMessage activity on the lead; a number Close doesn't have yet gets a new lead.Set the new lead's source or a referrer field from the first message.
HubSpotLogs every 1:1 text on the contact as an SMS communication; a new number gets a new contact.Fill a referrer property on the new contact.
GoHighLevel or LeadConnectorThe iMessage (ZeroSettle) app makes your number the sub-account's SMS provider; replies land in the contact's conversation and a new number gets a new contact.Tag the contact with the referrer and run your own referral workflow.
ZapierThe New iMessage Received trigger starts a Zap on each message.Filter for “sent me” or a ref code and add a row to a referral sheet.
Your own serverSigns and POSTs message.received to your webhook with the sender's handle and text.Parse the code, store referrer and friend, and dedupe on message.id plus event.
No toolsKeeps every conversation in the console's inbox.A spreadsheet: friend, referrer, date, booked, thank-you sent.

Group messages are not logged in Close or HubSpot. On a number the hosted AI agent manages, inbound texts don't reach your webhook; the CRM integrations still log the conversation.

Whatever you choose, record four things per referral: the referrer, the friend, the date of the friend's first text and whether the job booked. Guides to each tool: CRM integrations, webhooks step by step, iMessage automations with Zapier and GoHighLevel + iMessage.

How should you thank referrers?

Thank the referrer by text the day the friend books, in the same thread you asked in, and deliver whatever you promised without making them chase it. A fast, specific thank-you is what makes a customer refer you a second time.

  • Thank them without sharing the friend's job. “Luis booked an estimate with us. Thank you for the intro, your gift card is on its way.” Not his address, price or schedule.
  • Make the reward simple and the same for everyone. A credit on their next service or a gift card, stated in the first ask so nobody is surprised. If your trade or state has rules on referral payments, check them first; this is not legal advice.
  • Keep rewards tied to referrals, never to reviews. Paying for reviews is a different matter, covered in the review requests guide.
  • Close the loop when it doesn't book. “Luis decided to wait until spring, but thank you for thinking of us” is still worth sending.

Referrers have texted you before, so thank-yous never count as new contacts. Keep them to normal hours: ZeroSettle's docs say not to send anything promotional before 8 am or after 9 pm in the recipient's time zone.

Can the hosted AI agent handle referral conversations?

Yes for the friend's side: ZeroSettle's hosted AI agent answers whoever texts your number, so it can greet a referred friend at 9 pm, thank them for reaching out, ask the questions a quote needs and send your booking link. Put your referral program in its business context:

text
Referrals: when someone says a customer sent them, or their first
message has a ref code, thank them and ask for the referrer's name if
it's missing. Referred customers get $100 off their first job.
Never promise the referrer's gift card; the office sends it.
Ask for the address, what needs painting and two or three photos,
then share the estimate booking link.

Two cautions. First, don't rely on a trigger for the referral ask itself. Triggers run on the clock (a once trigger after a conversation goes quiet, a daily one every day in every conversation the agent has), not on the moment a customer signs off a job, so they can't time the ask to the walkthrough. Send the ask yourself after the walkthrough: on a number the agent manages, the console composer is off, but POST /api/imessage/send and the Zapier Send iMessage action work, and the agent reads your text as its own and answers what the customer replies. Second, in a group intro the agent answers only when a message is meant for it, and its triggers never fire into a group. Setup is in AI agent in the console; for the lead side, see speed to lead for home service businesses and qualifying leads with an AI agent.

What should you never do?

Never text someone who didn't choose to hear from you. A referral program is built on trust between neighbors, and a cold text spends that trust.

Let the friend reach out first

A phone number your customer passes along is not the friend's consent. Don't text it, don't add it to a group, and don't load it into a campaign. Give the customer something to forward and wait for the friend to text you. The docs put it plainly: “If you are unsure whether you have consent, you don't.” See our consent guide (not legal advice).

  • No purchased lists, scraped numbers or door-knock lists, for referrals or anything else. ZeroSettle suspends numbers used for unsolicited messaging.
  • Don't ask twice. One ask per job. A customer who didn't respond to it got the message.
  • Don't chase a friend who went quiet. If they texted once and stopped, one follow-up at most.
  • Don't ask in a job group, with the crew reading, or in the same text as an invoice.
  • Honor STOP everywhere. ZeroSettle blocks every number on your account from texting anyone who sends STOP; keep your own list for other channels too. More in how STOP works.

What does it cost?

A referral program on ZeroSettle costs the plan for your number, plus credits only if the hosted AI agent answers. Referred friends who text you first never count toward the new-contact limit on any plan.

ZeroSettle plans (ZeroSettle API docs, checked November 2, 2026)
PlanPriceNew contacts your number startsFree credits (once)
Pro$49/month for one dedicated number5 a day500
Growth$199/month per number (upgrade in the console), or $599/month for 3 numbers from a Growth link plus $199 per extra number50 a day per number, 3 per 15 minutes1,000
EnterpriseCustom pricing through sales, for high volume and compliance needsCustomCustom

Each number allows 10,000 messages a day, sent and received, with known contacts. Credits pay only for texts the hosted AI agent sends (one each) and videos; free credits never refill, and packs are 1,000 for $50 or 5,000 for $200 and never expire. The subscription has a 30-day money-back guarantee. Growth adds team members, so your office and project managers can share the inbox. Book a demo for Enterprise.

Start on Pro; more in ZeroSettle pricing and Your iMessage number.

Frequently asked questions

Can I text a friend's number that my customer gives me?

Don't. A number passed along by someone else is not that person's agreement to hear from you. Give your customer a text to forward, and let the friend text your number first, for example from an sms: link. This is not legal advice.

Do referred friends count against the new-contact limit?

Not when they text you first: people who text the number first never count. If your number starts a group with them, each member it has never messaged counts as one new contact that day. Pro allows 5 new contacts a day per number, and Growth 50 a day per number (3 per 15 minutes).

Can I send my business contact card as an attachment?

No, contact cards can't be sent as attachments. Set your business name and photo once; ZeroSettle shares them automatically with the first message your number sends in each 1:1 conversation, and the customer can save them to your contact card and share that card from their Contacts app.

Will referral group intros show up in Close or HubSpot?

No. Group messages are not logged in Close or HubSpot. The friend's 1:1 texts are, so move the conversation to 1:1 and record the referrer there.

Can the hosted AI agent send the referral ask for me?

Not reliably on its own. Its triggers run on the clock (after a conversation goes quiet, or every day), not on the moment a customer signs off a job. Send the ask yourself after the walkthrough, with the API or the Zapier Send iMessage action; on a number the agent manages, it reads your text as its own and answers the replies.

What does a referral setup on ZeroSettle cost?

Pro is $49 a month for one dedicated number with 500 free credits once. Growth is $199 a month per number with 1,000 free credits once, or $599 a month for 3 numbers from a Growth link plus $199 per extra number. Enterprise has custom pricing through sales, for high volume and compliance needs. Credits pay only for texts the hosted AI agent sends and for videos, and the subscription has a 30-day money-back guarantee.

Sources

  1. ZeroSettle iMessage API docs: Send a message (Name and photo, Links in a first message) and Attachments (Not (yet) attachments). Checked November 2, 2026.
  2. ZeroSettle iMessage API docs: Group chats (availability, start a group, send to a group, limits and compliance, not covered). Checked November 2, 2026.
  3. ZeroSettle iMessage API docs: CRM integrations (Close, HubSpot, GoHighLevel and LeadConnector, Zapier) and Webhooks, step by step. Checked November 2, 2026.
  4. ZeroSettle iMessage API docs: AI agent (Managed by AI Agent, in group chats, triggers, credits) and AI agent in the console. Checked November 2, 2026.
  5. ZeroSettle iMessage API docs: Errors, limits, and compliance (limits, compliance, STOP is enforced) and Your iMessage number (pricing). Checked November 2, 2026.

Written by the ZeroSettle team. ZeroSettle gives your business a dedicated phone number on real iMessage, running on Apple hardware we operate for you in a server facility, with a REST API, signed webhooks, an MCP connector, CRM integrations and a hosted AI agent.

Product facts on this page come from the ZeroSettle iMessage API docs as of November 2, 2026. Harbor Lane Painting, the other companies and the people in the examples are fictional, and this page is not legal advice.

Give happy customers a number worth passing on

ZeroSettle gives your business its own number on real iMessage, running on Apple hardware we operate for you in a server facility. Ask for referrals in the thread where the job happened, and let referred friends text the same number.

Pro is $49 a month for one number with a 30-day money-back guarantee. Growth is $199 a month per number, or $599 a month for 3 from a Growth link. Enterprise pricing is custom, for high volume and compliance needs.