Send SMS using OVH.

Parameters:

Parameters:
See dedicated page for more information.
ovhSendSMS sends one or more SMS messages through OVHcloud SMS.
You provide a dataset with at least:
Optional columns let you vary the sender and message class per row. The action uses your OVHcloud API credentials (Application Key, Application Secret, Consumer Key).
Create/validate a Sender in OVHcloud (alphanumeric or numeric in E.164).
Create API credentials in OVHcloud:
GET/POST/PUT /sms/* rightsPrepare a small table with columns:
toPhoneNumber, MessageText (and optionally Sender, MessageClass)Configure the action:
toPhoneNumberMessageTextSender1 - Send to mobile (Normal SMS) or map idClass → MessageClassRun. Check logs and the recipient’s phone.
sms-xx…) for testing in the API console.Control Panel → Telecom → SMS → Senders → Add sender.
Choose:
Wait for the sender to be validated. Use this exact value in the action.
Application Key (AK) & Application Secret (AS)
Consumer Key (CK)
In the OVHcloud API console, request credentials with access rules:
GET /sms/*
POST /sms/*
PUT /sms/*
Log in and validate the token when prompted.
Copy the Consumer Key.
Region: Make sure you’re using the same OVH endpoint/region (EU/CA/US) for both creation of CK and your account.
idTo
Column containing the recipient number in E.164 (e.g., +14155550123).
idText
Column containing the SMS body.
singleFrom (toggle ON)
All SMS use the same Sender; type the validated sender value (alphanumeric or numeric E.164).
idFrom (if singleFrom is OFF)
Map to a column (e.g., Sender) to vary the sender per row.
singleClass (recommended)
Select one value:
0 — Flash (display only)1 — Send to mobile (Normal SMS)2 — To SIM3 — To SIM toolkitidClass (if you vary class per row)
Map to a column (e.g., MessageClass) with integer values 0,1,2,3.
/sms/* rightsidDebug: nothing | basic | verbose
Start with nothing; switch to basic/verbose for troubleshooting.
nRetry: number of retries on connection errors (default 5 is fine).
idOptional: extra cURL params (rarely needed).
idErrorManagement:
abort pipeline execution with error (strict)continue with status ERROR (let downstream handle failures)Phone format: E.164 only (leading +, country code, no spaces).
Message length:
Sender:
Example dataset
| toPhoneNumber | MessageText | Sender | MessageClass |
|---|---|---|---|
| +14155550123 | Hello from OVH + ETL! | MyBrand | 1 |
| +33612345678 | Promo – use code ABC! | +33123456789 | 1 |
toPhoneNumberMessageTextMyBrand (or OFF and map idFrom → Sender)1 - Send to mobile (Normal SMS) (or map idClass → MessageClass)nothing5abort pipeline execution with errorRun the pipeline—messages should arrive in seconds.
| Symptom / Error | What to check |
|---|---|
Invalid credential / Unknown application |
Confirm AK/AS/CK values; recreate CK if region or rights are wrong. |
Invalid sender / This service does not exist |
Sender must be validated and spelled exactly; numeric must be E.164. |
| Delivered = 0 | Ensure credit balance; try a simple ASCII message; set class to 1. |
| No logs, immediate failure | Set idDebug=basic; review HTTP response and OVH status text. |
| Garbled characters | Message likely encoded UCS-2 (emojis/accents); segments & cost increase—trim or use GSM-7 when possible. |
Can I personalize the sender per row?
Yes—turn singleFrom OFF and map idFrom to a Sender column (values must be validated senders).
How do I keep costs predictable?
Stay within GSM-7 where possible to keep one segment (160 chars). Avoid emojis or accented characters.
What’s the safest default message class?
1 - Send to mobile (Normal SMS).
