Portal Community
Fields returned: This operation queries id, display_phone_number, verified_name, quality_rating, code_verification_status, platform_type, and throughput.level from the Meta Graph API in a single call.

When to Use

Configuration

Connection

FieldRequiredDescription
accessTokenRequiredPermanent System User access token. Store in BizFirst Credentials Manager — never inline.
phoneNumberIdRequiredNumeric string ID of the WhatsApp Business phone number (from Meta Business Manager).
apiVersionOptionalMeta Graph API version. Defaults to v18.0.

Operation

FieldRequiredDescription
phoneNumberIdOptionalOverride the connection-level Phone Number ID for this operation. Defaults to the connection value when omitted.

Sample Configuration

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

Validation Errors

ErrorCause
accessToken is requiredThe accessToken field is empty or missing.
phoneNumberId is requiredNo Phone Number ID supplied at either connection or operation level.
100 (Meta)Invalid Phone Number ID — the numeric string is malformed or does not exist in this WABA.
200 (Meta)Insufficient permissions — the access token does not have whatsapp_business_management scope.
timeoutThe Meta Graph API did not respond within the configured request timeout.

Output

Success Port

FieldTypeDescription
idstringNumeric Phone Number ID as returned by Meta.
displayPhoneNumberstringHuman-readable phone number with country code (e.g. +1 415-555-2671).
verifiedNamestringBusiness display name verified by Meta.
qualityRatingstringGREEN, YELLOW, or RED quality tier.
codeVerificationStatusstringVERIFIED or NOT_VERIFIED.
platformTypestringPlatform the number is registered on (e.g. CLOUD_API).
throughputstringThroughput level: STANDARD, HIGH, or NOT_APPLICABLE.
statusstring"success".
rawResponsestringFull raw JSON from the Meta Graph API.

Error Port

FieldTypeDescription
idstringPhone Number ID echoed from input.
statusstring"failed" or "error".
errorCodestringMeta error code or "timeout".
errorMessagestringHuman-readable error description.

Sample Output

{
  "id": "123456789012345",
  "displayPhoneNumber": "+1 415-555-2671",
  "verifiedName": "Acme Corp Support",
  "qualityRating": "GREEN",
  "codeVerificationStatus": "VERIFIED",
  "platformType": "CLOUD_API",
  "throughput": "STANDARD",
  "status": "success",
  "rawResponse": "{\"id\":\"123456789012345\",\"display_phone_number\":\"+1 415-555-2671\",\"verified_name\":\"Acme Corp Support\",\"quality_rating\":\"GREEN\",\"code_verification_status\":\"VERIFIED\",\"platform_type\":\"CLOUD_API\",\"throughput\":{\"level\":\"STANDARD\"}}"
}

Expression Reference

ValueExpressionNotes
Quality rating{{ $output.getPhone.qualityRating }}Compare to "RED" in an IfCondition node to trigger quality-drop alerts.
Verified name{{ $output.getPhone.verifiedName }}Use in outbound communications or ticket enrichment as the official business name.
Throughput level{{ $output.getPhone.throughput }}Gate campaign launches — only proceed if value is "STANDARD" or "HIGH".
Verification status{{ $output.getPhone.codeVerificationStatus }}Assert "VERIFIED" before sending messages in onboarding workflows.
Phone number display{{ $output.getPhone.displayPhoneNumber }}Show in dashboards and reports as the human-readable sender number.

Node Policies & GuardRails

Policy AreaRecommendation
Credential storageStore the access token in BizFirst Credentials Manager. Never inline tokens in node configuration.
Quality rating monitoringSchedule this operation daily or hourly for production numbers. A RED rating means Meta has restricted or may restrict your messaging — respond immediately by reviewing message content and opt-out handling.
Throughput gateFor high-volume campaigns, check throughput before dispatching. A NOT_APPLICABLE or missing level signals the number has not yet been granted higher throughput.
Error portAlways connect the error port. A 200 permission error typically means the System User token was regenerated without the whatsapp_business_management permission.
Rate limitingMeta imposes read-rate limits. Do not poll this operation more frequently than once per minute per phone number.

Examples

Quality Rating Alert Workflow

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

A Schedule trigger fires every hour. This node retrieves the quality rating. An IfCondition node evaluates {{ $output.getPhone.qualityRating }}: if "RED", a Slack node posts a critical alert to the #whatsapp-ops channel, and a Function node logs the event to the audit table with a timestamp.

Pre-Campaign Throughput Check

{
  "resource": "phone-number",
  "operation": "get",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $input.senderPhoneNumberId }}"
}

Before a template broadcast workflow dispatches to a large segment, this node confirms {{ $output.getPhone.throughput }} is "STANDARD". If the rating is "NOT_APPLICABLE" the workflow branches to a throttled send path that limits to 250 messages per second to avoid API rejections.

Onboarding Verification Check

{
  "resource": "phone-number",
  "operation": "get",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "{{ $workflow.phoneNumberId }}"
}

After completing the phone registration flow, this node is called to confirm {{ $output.getPhone.codeVerificationStatus }} is "VERIFIED". If not, the workflow sends an internal notification to retry verification and halts further setup steps until the status clears.