Skip to content

SMS Sending

Access prerequisites

  • Permission (module): access granted by the route's administrative guard (admin). There is no specific dynamic module for this screen.
  • License/Feature: None.
  • Menu container: GENERAL → Communication group (icon campaign) → SMS Sending.

What it is / when to use

Screen to create and schedule bulk SMS dispatches or to a specific list of recipients. The mechanics are identical to Email Sending: each dispatch becomes a "mass action" (MassActions with action = 'SMS') that enters the CommunicationScheduler queue. Use it for short notices, confirmations and SMS-channel campaigns.

Prerequisites

  • Permission: item under the route's admin guard. Permission in Axia is dual (CPM enum in the backend + dynamic module in the DB); the effective gate here is the route guard — validate administrative profile.
  • License/Feature: none.
  • Dependencies on other screens: in Individual mode, the recipient is validated against the user base (same check as email).

Step by step

  1. Go to the Communication → SMS Sending menu.
  2. The screen lists existing dispatches (columns When, Subject, Status, edit/delete).
  3. Click New / Create to open the modal.
  4. Choose the audience: All (all) or Individual (single).
  5. In Individual mode, add each recipient (validated against the base, becomes a chip).
  6. Fill in Message and Date.
  7. Confirm. The dispatch enters the queue.

Fields

Listing

ColumnWhat it showsData source
When (when)Creation/scheduling dateMassActions.when/scheduleTo
Subject (subject)For SMS it is stored emptyMassActions.subject (empty string in SMS)
StatusCREATED/PENDING, EXECUTED, CANCELLEDMassActions.status
Edit / DeleteReopens the modal / cancels (marks CANCELLED)

Creation/editing modal

FieldWhat it isRequired?System/backend effect
Audience (All / Individual)Entire base or specific listYesall = true queues one PENDING record per user in the base; all = false per recipient in the list. In edit mode, the audience is locked.
Email/recipient (Individual mode only)Identifies the target userConditional (≥1 in Individual mode)Validated against the base via getUserByEmailWallet; only existing users are accepted. Becomes a chip.
Message (message)SMS textYesStored in MassActions.message. Unlike email, there is no subject field (stored empty).
Date (when)Date from which the dispatch can be processedYesMinimum = today. The scheduler runs every 30 minutes.

Actions and modals

  • Create (Confirm): creates the MassActions (action = 'SMS', status = 'CREATED') and the PENDING recipients. The screen reloads.
  • Edit: adjusts Message and Date; audience and list are read-only. Saving returns the dispatch to CREATED.
  • Delete: marks CANCELLED (does not delete).

Business rules / caveats

Attention

  • SMS delivery caveat: in the current CommunicationScheduler, the action === 'SMS' branch of the processing loop is empty (no actual sending implementation). In practice, SMS dispatches created on this screen are recorded and scheduled, but the actual sending depends on the SMS provider implementation in the scheduler. Confirm with the platform team whether the SMS channel is active in the environment before promising delivery to the client. The email flow, on the other hand, is fully processed.
  • An individual recipient is only accepted if they exist in the base.
  • Sending is not immediate: it depends on the 30-minute scheduler cycle.

Irreversible

  • Once sent by the provider, there is no rollback of the SMS. Cancelling only prevents dispatches that are still PENDING.
  • Idempotency: processing per recipient (PENDINGEXECUTED); re-execution does not resend to those who already received it.