Internal document

Print or save as PDF to share with management

SMS Automation — Full Rulebook

Every SMS the CRM sends and every SMS it receives — with triggers, timing, daily caps, exact copy, and the visual signals shown to agents.

Generated: 24 September 2026 · CUIN CRM

Outbound SMS — What we send, and when

Every automatic SMS the CRM sends to a lead or contact. Each row shows the trigger, the timing, the daily cap, and the exact copy that goes out. Nothing outside this list is sent automatically.

#1Lead Assignment — Intro SMS

lead_assignment_intro

Trigger

A US lead is assigned to an Instant Canada agent for the first time (via Auto Send or manual bulk-assign).

Timing

Immediately after assignment.

Daily cap / idempotency

Max 1 assignment SMS per lead per 12 hours. This is the FIRST one.

Sender / Audience

The assigned agent (via Aloware Local Presence)

US phone numbers only (Canadian area codes excluded)

Exact message body

"Hi {{first_name}}, it's {{agent_first_name}} from CUIN. Calling shortly from our Vancouver, Canada office about your Canada application 😊"

Single GSM-7 segment (< 160 chars)

#2Lead Assignment — Follow-up SMS

lead_assignment_followup

Trigger

Same lead is (re-)assigned to an agent 12h+ AFTER a previous assignment SMS was sent — e.g. morning intro didn't reach them and they're being worked again the same evening or next day.

Timing

Immediately, but only if 12h have passed since the last assignment SMS.

Daily cap / idempotency

Max 1 per 12h. Different copy from the intro so it doesn't look like a duplicate.

Sender / Audience

The assigned agent (via Aloware Local Presence)

US phone numbers only

Exact message body

"Hi {{first_name}}, {{agent_first_name}} from CUIN here again — trying to reach you about your Canada application. Calling you shortly from our Vancouver, Canada office 🇨🇦"

Single GSM-7 segment

#3No Answer — Personal SMS from agent

lead_no_answer_personal

Trigger

The agent marks a lead's status as "no_answer" in the CRM.

Timing

Immediately after the status change.

Daily cap / idempotency

Max 1 per lead per 24 hours (so flipping status multiple times per shift doesn't spam).

Sender / Audience

The assigned agent

US phone numbers only

Exact message body

"Hi {{first_name}}, it's {{agent_first_name}} from CUIN. Tried reaching you about your Canada eligibility results. Text me back and I'll call you when it's a good time 🇨🇦"

Single GSM-7 segment

#4Auto-Reply — Voice verification required

auto_reply_voice_only

Trigger

An incoming SMS is classified as "question" — the client wants to keep the conversation on SMS or is asking us a question by text.

Timing

Immediately, only once ever per lead/contact.

Daily cap / idempotency

Once per lifetime per lead. Idempotent — checked via SentSms history before sending.

Sender / Audience

System (from the shared Aloware line)

Any matched lead/contact regardless of phone country

Exact message body

"Thanks! For security we verify identity by phone only. We cannot handle your Canada application over SMS. We will call you shortly from Vancouver. CUIN"

Single GSM-7 segment

#5Manual SMS from agent

manual_agent_sms

Trigger

Agent composes an SMS from the CRM (SMS templates modal or free text).

Timing

On agent action.

Daily cap / idempotency

None — agent discretion.

Sender / Audience

The agent who clicked Send

Any lead/contact/ContactCanada

Exact message body

"Free text or a chosen template."

Depends on content

Placeholders: {{first_name}} = lead's first name (fallback "there"). {{agent_first_name}} = agent's stage name if set, otherwise the first token of their full name.

Never sent: Marketing blasts, price offers, or any SMS to non-US numbers from the assignment / no-answer flows. Zadarma SMS is fully disabled — all outbound goes through Aloware.

Inbound SMS — Classification & Response Matrix

Every incoming SMS is classified by AI into one of 8 intents. Below is exactly what the system does for each case.

#IntentExample repliesAuto-reply?Status changeVisual signal in CRM
1interested

Client is eager for the call

"great", "sure", "call me", "please call", "sounds good", "yes", "waiting"
No
—💬 Green "Very Interested" badge next to lead name + 🟡 Yellow alert banner to assigned agent
2callback

Client wants a call at a specific time

"call me at 3pm", "try tomorrow morning"
No
Lead → callback / Contact → Call back💬 Green "Very Interested" badge + 🟡 Yellow alert banner to assigned agent
3question

Client wants to keep it on SMS

"please text me", "just text", "reply here", "who are you?", "what is this?", "sorry, I thought it was spam"
YES

"Thanks! For security we verify identity by phone only. We cannot handle your Canada application over SMS. We will call you shortly from Vancouver. CUIN"

—Auto-reply appears in SMS History
4not_interested

Clear rejection

"not interested", "no thanks", "not for me"
No
Lead → not_interested / Contact → Not interestedStatus update visible on lead
5stop

Explicit unsubscribe

"STOP", "UNSUBSCRIBE", "remove me", "do not text"
No

(Never harass — no auto-reply)

Lead → not_interestedStatus update visible on lead
6wrong_number

Not the right person

"wrong number", "who is this?", "I never signed up"
No
Lead → wrong_numberStatus update visible on lead
7auto_reply

Carrier / out-of-office bounce

Auto-generated carrier messages
No
—Logged only
8other

Anything unclear

Ambiguous replies
No
—Logged only — agent handles manually

Additional Safeguards

Confidence threshold

Status changes & auto-replies only trigger when AI confidence ≥ 70%.

STOP fast-path

Messages containing STOP / UNSUBSCRIBE / CANCEL are handled instantly without calling the AI.

Auto-reply idempotency

Each lead can receive the voice-verification auto-reply only once, ever.

Never demote qualified leads

If a lead is already qualified or converted, SMS classification will NOT change their status.

2-hour positive-signal guard

If the lead sent an "interested" SMS in the last 2 hours, a later "not_interested" / "stop" will NOT auto-change status — the agent decides.

Full audit trail

Every classification is logged on the SMS record + added to the lead's activity feed.

Aloware only

All outbound SMS goes through Aloware Local Presence. Zadarma SMS is disabled.

GSM-7 single segment

All automated messages are kept under 160 characters, plain ASCII (no em-dashes or smart quotes) so they never split into multiple segments.

Visual Signals — Agent Quick Reference

SignalWhereWhen it appearsMeaning
💬Green "Very Interested" badgeNext to lead's nameClient replied with interested or callback intent📞 Prioritize this lead — call them now
🟡Yellow SMS alert bannerTop-right of CRMClient sent any reply, incl. positive onesAgent must open the lead and respond
🖱️Hover on green badgeLead card / detail viewAnytime badge is shownShows the actual client message + timestamp

CUIN Immigration · Internal automation documentation · Outbound via alowareSms · Inbound via classifyIncomingSms