Send OTP

msg91.send_otp
ActionVoice & SMSconnection required

Calls the MSG91 API with the connection's credentials.

Generate and send a one-time password to a mobile number using an MSG91 OTP template.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
MSG91
Secret shape
the MSG91 authkey, or {"authkey": "…"}
Config it needs
base_url, sms_template_id, otp_template_id
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
mobile
Recipient number in international format, country code first and no plus sign.
stringYes——919000000000
template_id
MSG91 template to use; overrides the default template set on the connection.
stringNo——65f1b2c3d4e5f60718293a4b
otp
Send this exact code instead of letting MSG91 generate one.
stringNo———
otp_length
How many digits a generated code has; MSG91 defaults to four.
numberNo—4–9—
otp_expiry
How long the code stays valid, in minutes; MSG91 defaults to 15.
numberNo—1–10080—
variables
Extra template variables to fill in the OTP message; keys are case-sensitive and match the ##var## names in the template.
objectNo——{"company":"Acme"}
unicode
Send the message as Unicode, for a template written in a language other than English.
booleanNo———
real_time_response
Ask MSG91 to answer with the uncached submission result so most API errors surface on this call instead of later.
booleanNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "mobile": "919000000000",
  "template_id": "65f1b2c3d4e5f60718293a4b",
  "variables": {
    "company": "Acme"
  }
}

Output

One shape.

result

FieldTypeExample
request_id
MSG91's id for this OTP submission; quote it in support tickets.
string—
type
MSG91's own result word, 'success' on a send.
string—
mobile
The number the code was sent to.
string—
{
  "mobile": "",
  "request_id": "",
  "type": ""
}

See Send OTP run in a workflow.

In a technical demo we add the MSG91 connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.