Skip to content
Built to extend

A platform, not a black box.

Wabbiyo exposes stable WordPress actions, filters, a REST API, and WP-CLI so you can hook in without forking. It's GPL — read it, extend it, ship it.

Read the docsBrowse the API →
functions.php
// React to every inbound WhatsApp message
add_action( 'wabbiyo_message_ingested', function ( $message, $contact ) {
    if ( str_contains( $message->body, 'refund' ) ) {
        wp_mail( 'ops@store.com', 'Refund request', $contact->phone );
    }
}, 10, 2 );

// Inject a dynamic template variable
add_filter( 'wabbiyo_template_variables', function ( $vars, $order ) {
    $vars['loyalty_points'] = get_points( $order );
    return $vars;
}, 10, 2 );
Four extension surfaces

Hook in however you like.

Actions

Fire your code on message, contact, campaign, OTP, and flow-node events.

Filters

Reshape outbound payloads, template variables, AI prompts, and vector queries.

REST API

The full wabbiyo/v1 namespace with nonce / Bearer auth.

WP-CLI

Script bulk operations and CI tasks with wp wabbiyo.

Actions

wabbiyo_message_ingested wabbiyo_message_sent wabbiyo_contact_created wabbiyo_campaign_dispatched wabbiyo_otp_verified wabbiyo_flow_node_executed

Filters

wabbiyo_outbound_payload wabbiyo_template_variables wabbiyo_ai_system_prompt wabbiyo_vector_query wabbiyo_capabilities_map
REST API · wabbiyo/v1

A complete REST surface.

Conversations, contacts, campaigns, flows, templates, analytics, and webhooks — all available over REST with nonce / Bearer auth, pagination, filtering, and rate limiting.

  • Nonce auth for in-WP requests, Bearer tokens for external clients.
  • Cursor pagination, rich filtering, and per-token rate limits.
  • Outbound webhooks with HMAC-signed payloads and retry/backoff.
curl
# Send a templated WhatsApp message
curl -X POST https://yoursite.com/wp-json/wabbiyo/v1/messages \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550192",
    "template": "order_shipped",
    "variables": {
      "name": "Aisha",
      "tracking_url": "dhl.com/4821"
    }
  }'

# → 202 Accepted
{ "id": "msg_9f2c", "status": "queued" }
WP-CLI · wp wabbiyo

Automate from the command line.

Run bulk operations, reindex the AI knowledge base, dispatch campaigns, and wire Wabbiyo into CI — all without touching the admin UI.

  • Scriptable for deploys, cron, and migrations.
  • Reindex, import, export, and health-check commands included.
terminal
$ wp wabbiyo kb:reindex --post-type=product
Indexing 1,284 products… done (12,902 chunks)

$ wp wabbiyo contacts:import customers.csv
Imported 4,820 contacts, 12 skipped (no opt-in)

$ wp wabbiyo campaign:send 42 --throttle=60
Dispatching "Spring Sale" → 4,820 recipients…

$ wp wabbiyo health
DB ✓  Cache ✓  Webhook ✓  Rate-limit ✓
Under the hood

Modern stack. Honest engineering.

PHP 8.1+ WordPress 6.4+ React 18 admin GPL-2.0-or-later HPOS-ready AES-256-GCM ~5 KB widget

Extend it, don't replace it.

Read the full API reference, hook catalog, and WP-CLI guide in the docs.

Open the docsGet Wabbiyo