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
- Health dashboard: A monitoring workflow runs on a schedule to retrieve the quality rating of the business phone number and raise an alert when it drops to
RED, giving operations teams early warning before Meta restricts messaging throughput.
- Onboarding verification: A setup workflow calls this operation immediately after registration to confirm that
code_verification_status is VERIFIED before proceeding to send the first message.
- Throughput capacity check: Before launching a large bulk campaign, the workflow checks the
throughput.level field to ensure the number is operating at STANDARD or higher tier.
- Support ticket enrichment: A customer support flow automatically retrieves the verified business name associated with the phone number ID and appends it to the ticket for agent context.
- Pre-send number validation: A template broadcast workflow verifies that the sending phone number is active and in good standing before dispatching thousands of messages.
Configuration
Connection
| Field | Required | Description |
accessToken | Required | Permanent System User access token. Store in BizFirst Credentials Manager — never inline. |
phoneNumberId | Required | Numeric string ID of the WhatsApp Business phone number (from Meta Business Manager). |
apiVersion | Optional | Meta Graph API version. Defaults to v18.0. |
Operation
| Field | Required | Description |
phoneNumberId | Optional | Override 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
| Error | Cause |
accessToken is required | The accessToken field is empty or missing. |
phoneNumberId is required | No 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. |
timeout | The Meta Graph API did not respond within the configured request timeout. |
Output
Success Port
| Field | Type | Description |
id | string | Numeric Phone Number ID as returned by Meta. |
displayPhoneNumber | string | Human-readable phone number with country code (e.g. +1 415-555-2671). |
verifiedName | string | Business display name verified by Meta. |
qualityRating | string | GREEN, YELLOW, or RED quality tier. |
codeVerificationStatus | string | VERIFIED or NOT_VERIFIED. |
platformType | string | Platform the number is registered on (e.g. CLOUD_API). |
throughput | string | Throughput level: STANDARD, HIGH, or NOT_APPLICABLE. |
status | string | "success". |
rawResponse | string | Full raw JSON from the Meta Graph API. |
Error Port
| Field | Type | Description |
id | string | Phone Number ID echoed from input. |
status | string | "failed" or "error". |
errorCode | string | Meta error code or "timeout". |
errorMessage | string | Human-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
| Value | Expression | Notes |
| 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 Area | Recommendation |
| Credential storage | Store the access token in BizFirst Credentials Manager. Never inline tokens in node configuration. |
| Quality rating monitoring | Schedule 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 gate | For high-volume campaigns, check throughput before dispatching. A NOT_APPLICABLE or missing level signals the number has not yet been granted higher throughput. |
| Error port | Always connect the error port. A 200 permission error typically means the System User token was regenerated without the whatsapp_business_management permission. |
| Rate limiting | Meta 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.