Portal Community
Display name change requires Meta review: Updating verified_name submits a name-change request to Meta for review. The number continues operating under its current name until Meta approves the new one. This process can take 1–3 business days.

When to Use

Configuration

Connection

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

Operation

FieldRequiredDescription
phoneNumberIdOptionalOverride the connection-level Phone Number ID for this operation.
displayNameOptionalNew verified display name to request. Subject to Meta review. Must comply with Meta's business name policy.
newPinOptionalNew 6-digit two-step verification PIN. Provide to rotate the PIN for the number.
At least one of displayName or newPin must be provided. Providing both updates both in a single call.

Sample Configuration

{
  "resource": "phone-number",
  "operation": "update-display-name",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "displayName": "Acme Corp (New Brand)"
}

Validation Errors

ErrorCause
accessToken is requiredThe accessToken field is empty.
phoneNumberId is requiredNo Phone Number ID at connection or operation level.
displayName or newPin requiredNeither update field was provided — at least one is required.
newPin must be 6 digitsThe PIN field contains non-numeric characters or is not exactly 6 digits.
132000 (Meta)Display name does not meet Meta's business name policy guidelines.
100 (Meta)Invalid Phone Number ID.

Output

Success Port

FieldTypeDescription
successbooltrue when the update request was accepted by Meta.
statusstring"updated".
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": "updated",
  "rawResponse": "{\"success\":true}"
}

Expression Reference

ValueExpressionNotes
Update success flag{{ $output.updatePhone.success }}Gate downstream steps on this boolean — proceed only if true.
Status string{{ $output.updatePhone.status }}Log to audit trail: expected value is "updated" on success.

Node Policies & GuardRails

Policy AreaRecommendation
Credential storageStore the access token in BizFirst Credentials Manager. Never inline in configuration.
Name change approval lagDo not assume the new display name is active immediately. Follow up with a phone-number/get call on a schedule until the name is reflected, or monitor Meta's webhook for the name-change event.
PIN securityNever store the new PIN in workflow configuration. Pass it from BizFirst Credentials Manager or a secrets vault using an expression. Rotate PINs on a quarterly schedule or following any suspected credential compromise.
Audit loggingLog every update operation to an audit table with timestamp, phone number ID, and changed field names (not the PIN value itself) for compliance purposes.
Error portConnect the error port. A 132000 Meta error means the display name violates their policy — review the name before resubmitting.

Examples

Rebranding Name Update

{
  "resource": "phone-number",
  "operation": "update-display-name",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "displayName": "{{ $input.newBrandName }}"
}

A brand change project triggers this workflow with the approved new display name. The node submits the update request. A confirmation email is sent to the brand team noting that Meta review is in progress (1–3 business days). A follow-up scheduled workflow uses phone-number/get daily to detect when verifiedName changes to confirm approval.

Quarterly PIN Rotation

{
  "resource": "phone-number",
  "operation": "update-display-name",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $env.WHATSAPP_PHONE_ID }}",
  "newPin": "{{ $credentials.whatsAppNewPin }}"
}

A quarterly security schedule triggers the workflow. The new 6-digit PIN is retrieved from the secrets vault and injected via $credentials.whatsAppNewPin. After the node confirms success: true, the old PIN entry is invalidated in the vault and the new PIN is stored. The audit log records the rotation timestamp and phone number ID.