Sending SMS and Email

How to send manual messages to customers from the inbox, and what they receive.

Beginnerownermanageradminsales repUpdated 2026-09-16

Sending SMS and Email

Outgoing email paused — September 10, 2026

Outgoing email from Clean Estimate (cleanestimate.pro) is paused across V1 and V2. This includes manual emails, proposal and invoice emails, automated follow-ups, and notifications sent through this domain. Sending attempts may show a delivery failure while the pause is active. Incoming email remains enabled. SMS is unaffected by this email pause.

While the pause is active, do not use Email. SMS remains available only when the workspace sender, customer destination, and consent are configured. The email workflow below is documented for resumed delivery; a copyable customer link is available after the related proposal or invoice has already been issued.

Email sending (per-organization switch)

Settings > Email sending holds one switch, Send email (quotes and automation emails), that a teammate with Manage integrations can turn on or off for their own organization. Off is the default and the safe state: quotes and automation emails are still recorded in the conversation history, just with a logged status instead of an actually-sent one -- nothing is silently dropped, and nothing recorded while the switch was off is resent automatically once it is turned on later. The settings page also shows whether an email provider is actually configured for the workspace; if it is not, sending stays logged even with the switch on.

This organization switch is what lets one workspace resume email while the fleet-wide pause above stays in effect everywhere else: an explicit choice on this page -- on or off -- always wins over the fleet default for that organization. Only an organization that has never touched this switch follows the fleet-wide default.

You can send a text message to any customer directly from the messaging inbox. This page also walks through the email workflow for resumed delivery.

In current V2, manual web Inbox sends are available to active owner, admin, and office teammates who can use the web admin. The server still rechecks the organization, location, conversation, destination, and consent at send time.

Starting from New Message on the web

Select New Message in the web Inbox to open Start a Conversation. Search for an active customer or service site by name, phone, or email. When more than one accessible location is linked to that customer, choose Location; Clean Estimate does not guess which location owns the conversation or sending identity. The picker returns up to 25 customers at a time; refine the search if the customer is not in the current results.

Choose SMS or Email and review the read-only To destination. Select Open conversation to create or reuse the correct location-bound thread and open the existing composer. The dialog does not send a message. Type and send the text or email from the thread after reviewing its content.

If search fails, the dialog stays open so you can retry. If location, recipient, or consent validation becomes stale, the picker clears that choice, refreshes the results, and asks you to select and review the current target again. Opening a conversation does not erase an existing thread draft. A failed or uncertain provider result also keeps the draft under the existing safe retry rules described below.

This context picker is web-only. The approved native mobile Inbox and composer do not change.


Sending a Manual SMS

  1. Click Inbox under Work in the sidebar.
  2. Find the customer in the contact list on the left. Use the search bar if needed.
  3. Click on their name to open the conversation.
  4. In the compose area at the bottom, make sure the toggle is set to SMS.
Screenshot placeholder
Compose area with the SMS toggle selected and the text area empty
  1. Type your message in the text area. A character counter below the composer

matches V1's current-length format, such as 118 / 160 characters. If the draft goes over 160, the counter turns amber and explains that the carrier may split it into multiple messages. Longer drafts are not blocked.

Screenshot placeholder
SMS compose field with a partially typed message and the character counter showing 118 / 160 characters
  1. Review the read-only phone number resolved from the customer's record. If it

is wrong, update the customer record and review the destination again before sending.

  1. Click Send.
  2. A success toast appears at the top of the screen. Your message shows in the thread right away as an outbound chat bubble on the right side.
  3. If CE Pro cannot hand the message to the telecom provider, that same thread

entry updates to Failed with the reason. That attempt ends as a handoff failure; the provider never accepted it.

  1. If the handoff succeeds, the thread entry updates to Sent. From there,

the carrier's own delivery report can move the same pill to Delivered or Failed; a failed text also shows a short line with the carrier's error code when one was reported. The pill only ever moves forward — a later "sent" report never overwrites a "delivered" or "failed" pill you already see. Some carriers report only as far as Sent and never confirm what happened at the handset; that is a carrier limitation, not a sign the text failed to arrive. Email is different: bounces, complaints, delays and confirmed deliveries are all reported back and do update the thread.

If the draft is blank or the request payload is malformed, CE Pro blocks the send before it reaches the telecom provider and shows the validation error immediately in the UI.

If CE Pro cannot hand the message to Esendex or Twilio, the send response surfaces a clear operator-facing reason instead of a generic server error or a raw provider dump. Common examples include:

  • The destination number is invalid.
  • The recipient has unsubscribed from SMS. The Inbox thread now shows when and

why that happened, as a card among the conversation's system activity.

  • SMS is not configured for the current workspace.
  • The active telecom provider is temporarily unavailable and the send can be retried.
Screenshot placeholder
Conversation thread with the newly sent SMS appearing as a right-aligned chat bubble with a timestamp

Sending a Manual Email

Paused now: Email delivery is paused. Keep these steps for resumed delivery; a send attempt can fail while the pause is active.

  1. Click Inbox under Work in the sidebar.
  2. Find and select the customer in the contact list.
  3. Open their conversation.
  4. In the compose area, switch the toggle to Email.
Screenshot placeholder
Compose area with the Email toggle selected, showing the subject line field and body text area
  1. Enter a subject line.
  2. Type your message in the body field.
  3. Review the read-only email address resolved from the customer's record. If

it is wrong, update the customer record and review the destination again before sending.

  1. Click Send.
  2. The email is sent from "{Your Business Name}" <notifications@cleanestimate.pro>. The customer sees your business name as the sender.
  3. If inbound email routing is configured for your workspace, customer replies route back to the same contact thread automatically.
  4. Delivery, open, and failure updates appear on the same thread entry when the email provider reports them back.

CE Pro now validates the recipient, subject, and body before it hands the send to the email provider, so incomplete drafts fail fast instead of making a partial provider call.

Native mobile composer by version

In the current V2 native app, eligible Road users open More > Inbox and choose Text, Email, or Internal note above the composer. SMS requires a saved phone number and consent; email requires a saved email address and consent. The recipient comes from the open conversation and cannot be replaced during send. V2 also checks the current company sender, contact, consent, thread snapshot, and logical send identity online; it never queues outbound delivery while offline.

The focused V2 native mobile composer does not yet show attachment, camera, or AI Draft controls. Those remain required V1 parity follow-ups on mobile, with AI suggestions always editable and human-reviewed before the teammate deliberately selects Send. The V2 web Inbox AI Draft is available as described below.

In the V1 mobile workflow baseline, an email-only customer opens directly in Email mode and the current Text or Email label opens the external reply-channel selector. Internal note is separate because it saves a team-only timeline entry. V1 also keeps paperclip and camera controls in their approved positions; selecting them explains that conversation media upload is unavailable and directs the user to the related job or estimate record.

Screenshot placeholder
Conversation thread showing the sent email entry with subject line and preview text

Using AI Draft (web and V1 mobile workflow baseline)

The web and V1 mobile AI Draft button helps you write follow-up messages faster for SMS and email. The focused V2 native composer does not have this control yet; it remains required parity work and must never auto-send.

  1. Open a customer conversation and go to the compose area.
  2. Click the AI Draft button (the Sparkles icon next to the Send button).
Screenshot placeholder
AI Draft button with the Sparkles icon highlighted in the compose area
  1. Current V2 uses the matched customer, the newest estimate at that

conversation's service location when one exists, and up to eight recent sent or received SMS/email entries. It excludes internal notes, calls, unsuccessful sends, recipient addresses, provider metadata, other-location estimates, and secure URLs from message bodies.

  1. A suggested message appears in the compose field.
  2. Read the suggestion. Edit it to match your voice and add any details the AI missed.
  3. Click Send when you are satisfied.

AI Draft is useful whenever a concise follow-up is needed. It respects the saved estimate status and does not describe a draft estimate as sent or ask an accepted customer whether they want to move forward.

AI Draft runs through the signed-in V2 application and never sends by itself. The suggestion remains in the ordinary editable composer and must pass the same recipient, consent, sender, current-thread, delivery-provider, and duplicate-send checks after you deliberately select Send. A late result cannot replace a draft you edited while it was being prepared or populate another conversation or channel.

Provider calls are limited to 50 per workspace in each 24-hour window. If the workspace does not have an active provider configured, the provider is temporarily unavailable, its result is invalid, or the limit has been reached, CE Pro inserts a clearly labeled safe built-in template so the action remains usable. Generated URLs are invalid too: AI drafting never receives an approved secure customer link, so it cannot create one for the message. The focused V2 native composer is unchanged and still has no AI Draft control.


What Customers Receive

SMS

The customer receives a plain text message from the number associated with the record's brand. Unbranded records use the workspace's active telecom number. Branded records require an SMS sending number on that brand; CE Pro blocks the branded text if the number is missing instead of sending from a different business identity. The message itself is plain text.

If current V2 inserts an estimate, proposal, maintenance-plan, or single-screen Generic Quote link into the SMS, that link is a signed customer link. Each send or resend mints a fresh link for the new immutable proposal revision, and the prior link stops opening the proposal. Older V1/shared Generic Quote workflows can use a persisted public quote URL; follow the versioned builder instructions for those records.

If CE Pro cannot build a working secure estimate link at send time, it now avoids dropping a broken fallback URL into the text message. The SMS still goes out, but it tells the customer to contact you for a fresh secure review link instead of sending an unusable link.

Email

The customer receives an HTML-formatted email. The sender line uses the saved record brand, or your organization name for an unbranded record, with the address notifications@cleanestimate.pro. When the brand has an email address, it is used as the preferred reply-to. Otherwise configured inbound routing can continue to route replies into the customer thread.

Current V2 estimate, proposal, maintenance-plan, and single-screen Generic Quote emails use signed customer links so customers land on the right public revision. A resend rotates that secure link; an earlier message or bookmark no longer opens the proposal after rotation. Older V1/shared Generic Quote workflows can use a persisted public quote URL instead.

Holiday-lights quote sends that originate from linked estimate-workspace actions still stay on the seasonal delivery path, so the message carries the holiday-lights portal link instead of a generic residential estimate link. Fleet and commercial-building proposals still need to be sent from their proposal workspace rather than the shared estimate workspace, which prevents the wrong commercial template from being used by mistake.

Holiday-lights quote sends now also keep the delivery event tied back to the originating estimate record, so the customer timeline and message history stay aligned when the office follows up later from the shared quote-core workspace.

If CE Pro cannot build a valid customer quote link for a generic quote, the send action now fails before delivery instead of sending a broken URL.

Screenshot placeholder
Example of what the customer sees in their email inbox, showing the business name as the sender

Prerequisites

Before you can send messages, make sure the following are in place:

For SMS

  • Save the company sender number. In current V2, go to Settings > Texting (SMS) and save the E.164 number your workspace uses for customer texts.
  • Provider setup is deployment-managed. Current V2 does not expose V1's Phone / Voice provider card or a customer-facing SMS add-on switch. An administrator must configure the delivery provider in the deployment before the Inbox can send texts.

For Email

  • Email delivery remains paused fleet-wide. After the pause is lifted for your

organization, the configured sender, recipient, and consent rules still apply.

  • Send email (quotes and automation emails) must be turned on for your

organization under Settings > Email sending, and an email provider must be configured. Either gate closed leaves sends in log-only mode: the message is recorded but never reaches a real inbox. See Email sending (per-organization switch) above.


Send Protection

CE Pro now adds cooldowns to manual email, SMS, and review-request sends:

  • A single teammate cannot spam the same send action repeatedly in a short burst.
  • The same estimate cannot be emailed or texted over and over in a tight loop.
  • If you hit a cooldown, CE Pro returns a temporary rate-limit message instead of sending another duplicate communication.

For new messages composed in the V2 web Inbox, each teammate can start up to 30 SMS or email sends in 15 minutes. A second burst guard allows up to 10 new sends per minute to the same customer and channel, even when that customer has threads at more than one service location. A safe retry that carries the original delivery identity does not consume a new-send slot, because it can only recover that original attempt. Its original composition time also stays fixed, so a later retry cannot re-enter the rolling budget. If a new send is paused, the message does not reach the provider and the draft remains in the composer. The Inbox says whether the teammate reached the 30-in-15-minute limit or the customer reached the one-minute limit, then asks the teammate to wait before trying again.

This release does not change the approved native mobile composer or its delivery contract.

This protects customers from duplicate sends and helps prevent accidental Esendex, Twilio, Mailgun, or review-request abuse.


Troubleshooting

The Send button is grayed out. Confirm that a customer is selected, the customer has a usable mobile number and consent, and Settings > Texting (SMS) has the company sender number. If V2 reports that texting is not configured, the deployment administrator must finish the provider setup.

Screenshot placeholder
Current V2 Inbox compose area showing a disabled Send action and its readable setup or recipient explanation

The customer says they did not receive my SMS. Verify the phone number format. If the send is blocked immediately, CE Pro returns a plain-language inline reason so you know whether the issue is an invalid number, a recipient delivery block, or workspace setup.

If the send was accepted, check the thread: the pill next to the message moves to Delivered or Failed as the carrier reports back, and a failed text names the carrier's error code. Some carriers report only as far as Sent and never confirm what happened at the handset — that gap is a carrier limitation, not evidence the text failed to arrive. If the pill stays at Sent with no further update, verify the phone number, check the provider console for the carrier's own verdict (see Estimate sending troubleshooting), then retry or switch to email.

An email reply did not show up in my inbox. The customer must reply to the original CleanEstimate email, and inbound email routing must already be configured for your workspace. Standard replies route back into the matching contact thread only when that inbound mailbox is live. Forwarded emails or messages sent to unrelated addresses will not attach to the conversation automatically.

I need to know whether an email was opened. Open tracking appears directly on the outbound email entry in the conversation thread when the provider reports the open event back to CleanEstimate Pro.

The email composer says "Failed to send email." That message means CE Pro blocked the low-level provider failure details from the UI. Retry once, then confirm outbound email is configured for the workspace. If the message instead says Email sending is not configured, the workspace still needs email delivery setup before manual sends can succeed.

Was this article helpful?

Still need help? Contact support