Changelog

New features, improvements, and updates to Dualhook.

Documentation Expansion

  • New documentation across Calling, Marketing Messages, Authentication, and Service Messages.

Volume Insights & Identity-Key Check

  • New Usage tab on each connection: message volume by pricing category and per-market volume tier, from Meta's pricing_analytics endpoint.
  • Identity-Key Check toggle on the connection overview: enable Meta's recycled-phone protection (error 137000) for high-value transactional flows.
  • Template editor enforces the OTP Copy Code button on AUTHENTICATION templates, in the UI and on the server before POSTing to Meta.

Sharper Error Handling for Meta Failures

  • Subscribe-error banner diagnoses the precise OAuth scope / WABA target_id gap when Meta rejects with a permission error.
  • Template create / update / sync / delete actions translate Meta's verbose errors into actionable copy (4-week category lock, lost WABA access, invalid URL button, permission denied), with a Reconnect CTA where appropriate.
  • Stricter URL button validation: must be http(s); the optional {{1}} variable is only allowed at the end of the path or query.

BSUID Transition Guide & Checker

  • Rewrote the ranked BSUID guide to cover usernames, contact book behavior, webhook field changes, and the 2026 rollout timeline.
  • Added an interactive BSUID transition checker to model field visibility and send-path changes.
  • Updated dashboard and docs copy to distinguish wa_id phone-number data from the new user_id BSUID fields.

Meta Graph API v25 Migration

  • Upgraded all Graph API calls to v25.0.
  • Configurable META_GRAPH_VERSION environment variable for future version bumps.

Template Media Uploads

  • Upload IMAGE, VIDEO, and DOCUMENT headers via Meta resumable upload sessions.
  • Live preview of template content before submission.
  • Duplicate any existing template to create a new version for resubmission.

Health & Quality Monitoring

  • Real-time phone number messaging status: Available, Limited, or Blocked.
  • Quality rating indicator (GREEN / YELLOW / RED) with trend tracking.
  • Messaging limit tier display and Coexistence warning banner for read-receipt limitations.

13-Day Heartbeat Monitoring

  • Dashboard badge showing days remaining until the next heartbeat is due.
  • Email reminders via Resend as the deadline approaches.
  • One-click acknowledgment button to reset the 13-day timer.

Template Management

  • Sync, create, edit, and delete WhatsApp message templates from the dashboard.
  • Category support: Marketing, Utility, and Authentication templates.
  • Approval status tracking: APPROVED, REJECTED, PENDING, DISABLED, PAUSED, IN_APPEAL.

Embedded Signup & Webhook Override

  • Meta Embedded Signup flow with automatic OAuth token exchange.
  • Webhook Override configuration via subscribed_apps with override_callback_uri.
  • Fallback ID discovery chain: debug_token → /me/businesses → owned WABAs → phone_numbers.
  • Token expiry tracking with dashboard warnings.

Initial Launch

  • Organization management with Clerk authentication.
  • Connection configuration: WABA ID, Phone Number ID, webhook URL, and verify token.
  • Webhook delivery logs for management events (template status, quality changes, account alerts).
  • Configurable data retention: 7, 30, or 90 days.
  • CSV export for webhook logs.