Portal Community
Two-step flow: This operation calls POST /{phoneNumberId}/request_code with code_method (SMS or VOICE) and language. Meta delivers a 6-digit code to the physical phone. Follow this node with phone-number/verifyCode to complete verification.

When to Use

Configuration

Connection

FieldRequiredDescription
accessTokenRequiredPermanent System User access token. Store in BizFirst Credentials Manager.
phoneNumberIdRequiredNumeric string ID of the phone number requesting verification.
apiVersionOptionalMeta Graph API version. Defaults to v18.0.

Operation

FieldRequiredDescription
phoneNumberIdOptionalOverride the connection-level Phone Number ID.
codeMethodRequiredDelivery method: SMS or VOICE.
languageRequiredBCP-47 language code for the verification message (e.g. en_US, fr_FR, de_DE).

Sample Configuration

{
  "resource": "phone-number",
  "operation": "request-verification",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "codeMethod": "SMS",
  "language": "en_US"
}

Validation Errors

ErrorCause
accessToken is requiredThe accessToken field is empty.
phoneNumberId is requiredNo Phone Number ID at connection or operation level.
codeMethod is requiredNo delivery method specified. Must be SMS or VOICE.
language is requiredNo language code specified.
100 (Meta)Invalid code_method value or unsupported language code.
131031 (Meta)Rate limit — too many verification code requests for this number in a short period.

Output

Success Port

FieldTypeDescription
successbooltrue when the code request was accepted and Meta has dispatched the code.
statusstring"code_requested".
rawResponsestringFull raw JSON from the Meta Graph API.

Error Port

FieldTypeDescription
statusstring"failed" or "error".
errorCodestringMeta error code or "timeout".
errorMessagestringHuman-readable error description.

Sample Output

{
  "success": true,
  "status": "code_requested",
  "rawResponse": "{\"success\":true}"
}

Expression Reference

ValueExpressionNotes
Request accepted{{ $output.requestCode.success }}Gate downstream steps — only proceed to human verification or verifyCode if true.
Status string{{ $output.requestCode.status }}Log to provisioning audit trail: expected value "code_requested".

Node Policies & GuardRails

Policy AreaRecommendation
Credential storageStore the access token in BizFirst Credentials Manager.
Rate limitingMeta limits the number of verification code requests per number per day. Do not retry in a tight loop — implement exponential backoff and alert on repeated failures.
Human-in-the-loop handoffAfter a successful code request, pause the workflow and route to a human approval step (or BizFirst HIL node) for the operator to enter the code from the physical device. Never attempt to automate reading the code from a device.
Voice fallbackAfter an SMS request, wait at least 2 minutes before trying a VOICE fallback to give the SMS time to arrive before occupying the phone line.
Error portConnect the error port. A 131031 rate-limit error means a prior request is still pending — wait before retrying.

Examples

New Number Provisioning — SMS Verification

{
  "resource": "phone-number",
  "operation": "request-verification",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $input.newPhoneNumberId }}",
  "codeMethod": "SMS",
  "language": "en_US"
}

A new tenant provisioning workflow calls this node after adding a phone number to the WABA. On success, the workflow pauses and a notification is sent to the technical onboarding engineer to retrieve the SMS code from the physical device and enter it into the next workflow step (phone-number/verifyCode).

Voice Fallback After SMS Timeout

{
  "resource": "phone-number",
  "operation": "request-verification",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $input.phoneNumberId }}",
  "codeMethod": "VOICE",
  "language": "{{ $input.languageCode }}"
}

If the SMS code path times out after 3 minutes without a verification code entry, the workflow branches to this node which requests a voice call. The voice call delivers the code audibly to the operator at the physical device, who then enters it into the phone-number/verifyCode step.