VibotTroubleshootingIndex

Troubleshooting

”Your phone number’s verification with Meta has expired” (campaign launch blocked)

This is separate from the 6-digit two-step PIN. Meta independently verifies that you own the SIM behind your WhatsApp Business number via an SMS or voice OTP, and expires that verification periodically — typically:

  • After ~30 days of inactivity (no business-initiated conversations on the number)
  • Annually, as a routine security refresh
  • After a WABA admin or system-user change (someone added/removed in Meta Business Manager)
  • After certain Meta-side security events (global policy pushes)

Until you re-verify, Meta accepts your template sends but silently drops them — no delivery webhook fires, recipients never receive the message, and your number’s quality score takes a hit.

Fix it from the Virtuo dashboard

  1. Open Connect WhatsApp in the dashboard.
  2. You’ll see an amber banner: “Meta verification expired — campaigns will fail until you re-verify”.
  3. Pick Text message (SMS) or Voice call for how you want to receive the 6-digit code.
  4. Click Send code. Meta sends a fresh OTP to your connected number.
  5. Enter the 6 digits → Verify.
  6. Status flips to a green Number verified with Meta pill. Re-launch your campaign.

The code expires in 10 minutes. If you mistype, click Resend to get a new one.

Two-step PIN vs. number verification — they are NOT the same

Two-step PINNumber verification (SMS/voice OTP)
What it provesYou know the 6-digit secret set on the WhatsApp Business appYou own the SIM behind the number
When triggeredAfter a new connection, after PIN reset, after restoring from backupAfter ~30 days idle, annually, after admin changes
Where to fixConnect WhatsApp → Fix Registration (existing flow)Connect WhatsApp → Verify Number (this flow)
Code sourceYou set it yourself on the WhatsApp Business appMeta sends a fresh code each time

Both can be needed. Re-verifying one does NOT refresh the other.

WhatsApp shows “Pending Registration” (amber)

  1. Go to Connect WhatsApp.
  2. Click Fix Registration.
  3. Enter your 6-digit two-step verification PIN (WhatsApp Business app → Settings → Account → Two-step verification).
  4. Click Confirm & Connect. Status turns green.

Template was REJECTED by Meta

Common causes: overly promotional body text, category mismatch, missing sample data.

  1. Create a new template (templates cannot be edited after submission).
  2. Use a factual, non-salesy tone in the body.
  3. Pick the right category — order status updates = Utility, not Marketing.
  4. Fill in Sample Data for every {{1}} {{2}} variable before submitting.

Campaign recipients stuck in FAILED

Open the campaign detail page → click the amber Retry Failed (N) button in the header.

Knowledge Base document stuck in “Processing” for more than 5 minutes

  1. Click the trash icon to delete the document.
  2. Re-upload, checking the file is within your plan’s size limit.

AI stopped responding to customers

Two most likely causes:

  1. Quota exceeded. Billing → Overview → check the AI messages bar. If at limit, add wallet credits (overage costs ₹1.25 – ₹2.00 per message depending on plan) or upgrade.
  2. Manually escalated. In Chats, find the conversation with the amber Human badge → click Hand to AI.

Campaign blocked at launch — “Insufficient wallet balance”

The 402 error shows required vs. available amounts. Billing → Overview → Add Credits, top up at least the required amount, then relaunch.

Team member cannot see certain pages

Check their role at Settings → Members. An AGENT can only access Chats + Escalations. Change to SUPERVISOR for full access (except Billing/Members). Note seat limits scale with plan.

Payment failed on subscription renewal

Vibot falls back to your wallet automatically. If both fail, the subscription enters a halted state.

  1. Billing → Overview → Add Credits to top up the wallet.
  2. Razorpay retries automatically in 24–48 hours, or click Upgrade Plan to retry immediately.

Team member received invite but cannot accept

Invite links expire after 72 hours. Delete the pending invite row → send a new one.

Campaign Step 3 — “Sending blocked” (red preflight)

Every blocker is listed. Most common fixes:

  1. Re-export the CSV with phone numbers in +919876543210 format (with leading +).
  2. Make sure every {{1}} {{2}} variable has a non-empty value in the mapped column.
  3. Pick a different contact filter that excludes opted-out contacts.

Fix the source, return to Step 2, re-import. Step 3 will re-run preflight automatically.

Campaign Step 3 — “Review warnings before launch” (amber preflight)

Launchable, but with soft warnings (previously-failed numbers, opt-out matches, length-overflow rows).

  • Accept by ticking “I’ve reviewed the warnings above and want to launch anyway” — those rows go into the campaign report as SKIPPED with a typed reason; you’re never charged for them.
  • Or go back to Step 2, clean the list, relaunch.

Campaign was cancelled by “Safety check failed”

When the canary flag is on, the first 10 recipients are sent as a canary cohort and evaluated 60 seconds later. If 5%+ return spam-block errors, the campaign auto-cancels.

  1. Open the campaign detail page — the red banner shows the spam-failure count.
  2. Investigate the source list (most common cause: mass-imported old or low-quality numbers).
  3. Clean the list (remove failed numbers, double-check phone formats).
  4. Use Resume Skipped (N) with the Conservative drip preset to send the cleaned list paced.

See Recover from a cancelled campaign.

Voice replies stopped working — “Cap reached”

Basic plan = 20 voice replies per billing cycle. Once the cap is hit, the AI silently falls back to text-only — no error to the customer. The counter resets automatically on your next subscription renewal date. To remove the cap: upgrade to Pro.

My team is testing and our phones show as “dead_number”

The system caches Meta’s 131026/131049 errors as a 30-day dead-number flag, cross-tenant.

Fix: label those contacts Test (capital T) on the Contacts page — they’re exempted from dead_number warnings for that tenant.

AI didn’t respond meaningfully to an image or document

  1. Open the conversation in Chats — the cached AI caption (or “User sent a document: filename.pdf”) on the inbound row shows what the AI saw.
  2. If the caption looks wrong, the image was probably blurry / screenshot-of-a-screenshot / text-too-small. Ask the customer to resend.
  3. If a document didn’t extract (“text could not be extracted”), it’s likely a scanned image-PDF with no text layer, or password-protected. Ask the customer for an unprotected version.

Onboarding banner won’t go away after I verified my number

The banner gates on two things — phone verified and profile complete (org name + industry). Click Complete profile in the banner and finish steps 3 + 4 of the wizard.