Customer Not Receiving Portal Messages
Summary
Section titled “Summary”Torqueflow sends customer messages to the portal by default, but not every customer logs in regularly. This article explains the two fallback systems that catch inactive customers: the portal activity warnings (which warn staff before sending) and the automatic SMS bridge (which kicks in when the WhatsApp 24-hour window expires). If your customer is not receiving messages, the fix is usually in one of these places.
Prerequisites
Section titled “Prerequisites”- You must be signed in as a service advisor, owner, or technician.
- The customer must have a phone number on file for any SMS fallback to work.
Understand the warning banners in the message composer
Section titled “Understand the warning banners in the message composer”When you open the message composer on a work order, Torqueflow checks the customer’s portal activity and shows one of three states:
| State | Condition | Banner |
|---|---|---|
| Active | Customer logged into the portal within the last 30 days. | No banner. Messaging works normally. |
| Inactive | Customer last logged in more than 30 days ago. | Yellow banner: “This customer hasn’t logged in recently (last: {date})”. |
| Never logged in | last_login_at is null. | Red banner: “This customer has never accessed the portal”. |
Both warning banners suggest alternative contact methods. Service advisors see clickable phone and email links. Technicians see a message pointing them to a manager rather than the raw contact details - this is intentional because technicians do not have direct access to customer contact information.
Decide what to do when you see a warning
Section titled “Decide what to do when you see a warning”- Red banner (never logged in): pick up the phone or send an email. Assume the portal message will not be seen. You can still click Proceed anyway to send it, but treat it as a backup, not the primary channel.
- Yellow banner (inactive): the customer may still check their email or WhatsApp. Check if there’s a recent WhatsApp or SMS conversation in the messaging inbox first. If there is, reply there instead.
- No banner: send the portal message as normal.
The warning is dismissed for the session when you click Proceed anyway. It comes back the next time you open the composer on a different customer.
Understand the automatic SMS bridge
Section titled “Understand the automatic SMS bridge”If your customer has previously messaged on WhatsApp but the 24-hour Meta session window has closed, Torqueflow does not silently fail. It automatically sends a single bridge SMS to the customer’s phone that reopens communication:
Example: AcmeMotors: Update for you. WhatsApp: wa.me/447700900123 Portal: tflow.link/abc12345
- The bridge SMS fits inside a single 160-character segment to keep costs down.
- It contains a
wa.medeep link that reopens WhatsApp with your garage’s number pre-selected. When the customer sends any message through that link, a fresh 24-hour window opens and the AI responds with full context from the entire conversation history (WhatsApp + SMS + portal). - It also contains a
tflow.linkportal magic link as a fallback. If the customer doesn’t have WhatsApp, they can still tap the portal link, authenticate automatically, and read or reply to the thread from the portal. - The bridge runs even for orgs that have AI disabled. It is a channel bridge, not an AI feature.
Know the bridge deduplication rule
Section titled “Know the bridge deduplication rule”- Only one bridge SMS is sent per conversation per 24 hours. If multiple staff or AI messages hit an expired window in quick succession, the customer does not get spammed with repeated bridge messages.
- If the customer does not respond to the first bridge SMS within 24 hours and you try to message them again, a second bridge SMS is allowed.
Enable unread message reminders (optional)
Section titled “Enable unread message reminders (optional)”Torqueflow can automatically email the customer if they haven’t read a staff message within a configurable window:
- Go to Settings > Communication.
- Find Unread message reminders.
- Toggle Enable unread message reminders on.
- Set the Reminder delay (hours) - default is 4 hours, valid range 1-48.
- Save.
Now, when a staff message remains unread after the delay, Torqueflow sends an email: “You have an unread message about your vehicle” with a portal link. The message is flagged reminder_sent so the email only fires once per message.
Expected Outcome
Section titled “Expected Outcome”- You can tell at a glance whether a customer is likely to see a portal message.
- Inactive customers are reached via SMS or phone instead of a silent portal message.
- WhatsApp conversations that hit the 24-hour window reopen automatically via a bridge SMS, without customer confusion or staff intervention.
- Optional unread-message reminders catch customers who simply forget to check.
Troubleshooting
Section titled “Troubleshooting”Problem: Customer says they never got any message. Cause: They have not logged into the portal, and they did not receive an SMS bridge (either because no WhatsApp window was ever open, or because there is no phone number on file). Fix: Check the customer record for a phone number. If missing, add one and resend. If the warning banner was red when you sent the original message, call the customer directly.
Problem: Red “never logged in” banner, but the customer has logged in before.
Cause: The customer may have used a different login (for example, a SMS magic link) that didn’t update last_login_at. Or the activity record is stale.
Fix: Refresh the work order page. If the banner persists and you know the customer is active, send the message anyway and verify they receive it.
Problem: Bridge SMS not being sent when WhatsApp window expires. Cause: Usually one of: no SMS number configured for your org, no phone number on the customer record, or the customer is opted out of SMS. Fix: Check Settings > Voice > Phone Numbers to confirm SMS is active on your provisioned number. Check the customer profile for a valid phone number and that their consent preferences allow SMS.
Problem: Bridge SMS sent but customer did not receive it.
Cause: UK mobile networks occasionally filter SMS from short codes or international origins. Very rare but possible.
Fix: Call the customer. Check the messaging inbox for a failed SMS status - if present, it indicates a delivery problem at the carrier.
Problem: Customer replies to the bridge SMS by SMS instead of clicking the link. Cause: Expected behaviour. The customer didn’t realise WhatsApp was the intended channel. Fix: No fix needed. The SMS reply is processed normally, linked to the existing conversation, and the AI has full cross-channel context when it replies. Everything works.
Problem: Customer got the bridge SMS but can’t open the portal link.
Cause: The tflow.link magic link may have expired (default 7 days) or the customer’s token was never issued.
Fix: Issue a fresh portal invite from the customer profile, or have the customer tap the wa.me link instead.
Problem: Unread message reminders are not firing.
Cause: The feature is off by default. Check Settings > Communication for the unread_message_reminders_enabled toggle.
Fix: Enable it and set a reasonable delay (4 hours is the default).
- Portal activity checks are cached per page load, so opening multiple work orders for the same customer in quick succession will not repeatedly hit the database.
- The warning banner is a safety net, not a block. You can always send a portal message even with a red banner - the warning just protects you from assuming the customer will see it.
- Bridge SMS cost is tracked in the Message record (
cost,cost_currency) so it shows up in your communications spend reports. - Cross-channel context: when the AI responds after a bridge, it sees the full history tagged by channel (
[WhatsApp] Customer: yes,[SMS] Customer: yes) so conversations feel seamless regardless of how the customer replies.
Permissions
Section titled “Permissions”messages.viewandmessages.send- required to see and send customer messages.settings.communication.manage- required to enable or configure unread message reminders.- Technicians see warning banners but do not see customer contact information in the suggestions - this is intentional.