PROCESIO
OverviewPlatform ActionsIntegrations & DemosMarketplaceCustom ActionsDeveloper’s Guide
Connectors

Prelude

Send and check phone verification codes (OTP) and look up phone numbers with Prelude.

The Prelude connector adds phone verification to your processes through Prelude. One action covers three operations:

  • Send verification code: send a one-time code to a phone number, by SMS, WhatsApp, voice call and other channels.
  • Check verification code: check the code that your user typed in.
  • Look up phone number: get the country, line type and carrier of a phone number.

A typical sign-up flow sends a code, shows a form where the user types it, then checks the code before it continues.

Before you start: the credential

You need a Prelude account and its API key.

  1. In PROCESIO, open Credentials and create a new credential under REST API → Prelude.
  2. Enter your Prelude API key and save.

The action talks to the Prelude API (https://api.prelude.dev) with that key. The key stays in the credential and never appears in the process.

Add the action

In the Process Designer toolbox, open Connectors and pick Prelude (or type Prelude in the search box).

The Prelude action properties: Prelude Credentials and Operation on the Configuration tab

The properties are split into three tabs: Configuration, Input and Output. Pick the Operation first: the Input and Output tabs then show only the fields that operation uses.

Configuration tab

FieldTypeRequiredWhat to put
Prelude CredentialsCredentialYesYour Prelude credential.
OperationListYesSend verification code, Check verification code or Look up phone number.

Send verification code

Inputs

FieldTypeRequiredWhat to put
TargetTextYesThe phone number in E.164 format: +, country code and number, for example +40712345678.
Target TypeListNoPhone number or Email address. Leave empty to detect it: a value with @ is treated as an email address, anything else as a phone number.
Delivery MethodListNoAuto (let Prelude choose), Message or Voice call.
Preferred ChannelListNoThe channel Prelude tries first: SMS, RCS, WhatsApp, Viber, Zalo or Telegram. Prelude may fall back to another channel if this one cannot deliver.
Sender IDTextNoThe sender name the recipient sees. It must already be approved in your Prelude account.
Template IDTextNoThe Prelude message template to use. Leave empty for your account's default template.
Template VariablesObject (JSON)NoValues for the template, for example {"app_name": "My App"}. The keys must match the template exactly. Default {}.
LocaleTextNoThe language of the message, as a BCP-47 code such as ro-RO or en-US.
Code SizeIntegerNoHow many digits the code has, from 4 to 8. Leave at 0 to use your account default.
Custom CodeTextNoSend this exact code instead of a generated one. Prelude allows this only on sandbox or test numbers.
Force ChallengeBooleanNoAlways send a code, even when Prelude's fraud checks would have skipped it or verified the number silently. Default false.
Callback URLTextNoAn HTTPS address where Prelude sends delivery updates for this verification.
Correlation IDTextNoYour own reference for this verification (up to 80 characters). Prelude sends it back to you.
SignalsObject (JSON)NoOptional fraud signals that improve Prelude's risk scoring, for example {"ip": "203.0.113.10", "device_platform": "android"}. Default {}.

Outputs

FieldTypeWhat you get
ResponseObject (JSON)The full Prelude answer.
StatusTextsuccess, retry, challenged, blocked or shadow_blocked.
Verification IDTextPrelude's ID of the verification, for example vrf_01jc0t6fwwfgfsq1md24mhyztj.
ReasonTextWhy Prelude blocked or retried the verification, for example in_block_list or suspicious. Empty when the status is success.
Request IDTextPrelude's request ID. Quote it when you contact Prelude support.

Only Status success means a code was sent. A blocked or shadow_blocked send is not an error: the step finishes normally and you still get a Verification ID, but no message reaches the user. Check Status with a Decisional before you ask the user for the code. Prelude also blocks repeated sends to the same number in a short time (reason repeated_attempts).

Check verification code

Inputs

FieldTypeRequiredWhat to put
TargetTextYesThe same phone number (or email address) the code was sent to.
Target TypeListNoPhone number or Email address. Leave empty to detect it from the value, as above.
CodeTextYesThe code your user typed in.

Outputs

FieldTypeWhat you get
ResponseObject (JSON)The full Prelude answer.
StatusTextsuccess (the code is right), failure (the code is wrong), expired_or_not_found, transaction_missing or transaction_mismatch.
Verification IDTextPrelude's ID of the verification.
Request IDTextPrelude's request ID.

A wrong code does not stop the process: the step finishes with Status failure. Branch on Status to let the user try again.

Look up phone number

Inputs

FieldTypeRequiredWhat to put
TargetTextYesThe phone number in E.164 format, for example +40712345678.
Include Caller NameBooleanNoAlso get the caller ID name (CNAM). Prelude bills this separately. Default false.

Outputs

FieldTypeWhat you get
ResponseObject (JSON)The full Prelude answer, with every detail Prelude returns.
Country CodeTextThe ISO country code of the number, for example RO.
Carrier NameTextThe current carrier of the number.
Line TypeTextmobile, fixed_line, voip, toll_free and similar.
Request IDTextPrelude's request ID.

Good to know

  • Prelude bills your account for sends and lookups. Test with Prelude's sandbox or test numbers where you can.
  • When Prelude refuses a request (a wrong API key, an invalid phone number, and so on), the step fails and the process stops with a message such as Look up phone number failed with HTTP 400: <code> - <message> (request_id: …). The message carries Prelude's own error code and text.
  • Without a credential the step fails with Prelude Credentials are not configured. Select a Prelude credential on the Configuration tab.
  • An empty Target, or an empty Code for the Check operation, fails the step with 'Target' is required for the selected operation. (or 'Code' …).
  • Code Size and Custom Code cannot be used together; the step fails if both are set. Use Custom Code for an exact code, or Code Size for the length of a generated one.
  • To use an output in the next steps, map it to a process variable on the Output tab.
  • Decisional: branch on Status.
  • Call API: call other Prelude endpoints that this action does not cover.

On this page