Portal Community
PIN required: Registration requires the 6-digit two-step verification PIN that was set when the number was first enrolled. This PIN is separate from the verification code delivered via SMS/voice during the requestVerificationCode/verifyCode flow. Store the PIN securely in BizFirst Credentials Manager.

When to Use

Configuration

Connection

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

Operation

FieldRequiredDescription
phoneNumberIdOptionalOverride the connection-level Phone Number ID.
pinRequired6-digit two-step verification PIN for the phone number. Retrieve from BizFirst Credentials Manager.

Sample Configuration

{
  "resource": "phone-number",
  "operation": "register",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "pin": "{{ $credentials.whatsAppPin }}"
}

Validation Errors

ErrorCause
accessToken is requiredThe accessToken field is empty.
phoneNumberId is requiredNo Phone Number ID at connection or operation level.
pin is requiredNo PIN was provided.
pin must be 6 digitsThe PIN is not exactly 6 numeric digits.
132012 (Meta)Incorrect PIN — the supplied PIN does not match the one set for this number.
132016 (Meta)Number is already registered — call phone-number/deregister first if re-registration is needed.
100 (Meta)Invalid Phone Number ID.

Output

Success Port

FieldTypeDescription
successbooltrue when registration was accepted.
statusstring"registered".
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": "registered",
  "rawResponse": "{\"success\":true}"
}

Expression Reference

ValueExpressionNotes
Registration success{{ $output.registerPhone.success }}Gate provisioning completion on this boolean.
Status string{{ $output.registerPhone.status }}Log "registered" to the provisioning audit trail.

Node Policies & GuardRails

Policy AreaRecommendation
Credential storageStore both the access token and PIN in BizFirst Credentials Manager. Never inline credentials in configuration.
PIN managementThe two-step verification PIN is a long-lived credential. Rotate it periodically via phone-number/update and update the Credentials Manager entry accordingly.
Already-registered guardCall phone-number/get before registration to confirm the number is not already registered. A 132016 error on an already-registered number is harmless but should be handled gracefully.
Post-registration confirmationAfter success, call phone-number/get to confirm the number is in a sendable state before routing traffic to it.
Error portConnect the error port. A 132012 wrong PIN error should trigger a credential review alert rather than an automated retry.

Examples

New Tenant Number Activation

{
  "resource": "phone-number",
  "operation": "register",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $input.phoneNumberId }}",
  "pin": "{{ $credentials.newTenantWhatsAppPin }}"
}

The final step of a new tenant onboarding workflow. After requestVerificationCode and verifyCode have completed, this node registers the number with the tenant's 2-step PIN. On success: true, the tenant's account is marked WHATSAPP_ACTIVE in the provisioning database and a welcome notification is sent.

Re-Registration After WABA Migration

{
  "resource": "phone-number",
  "operation": "register",
  "accessToken": "{{ $credentials.newWabaToken }}",
  "phoneNumberId": "{{ $workflow.migratedPhoneId }}",
  "pin": "{{ $credentials.migratedPhonePin }}"
}

After a WABA migration, the workflow deregisters numbers from the old WABA and registers them in the new one using the new WABA's access token. Each number is registered with its existing 2-step PIN. The workflow confirms registration of all numbers before routing production traffic to the new WABA.