WP Manifestindependent plugin directory
manifest / integrations / syntekpro-chat

SyntekPro Chat WP Registry grade B. Medium-severity findings · 1 findingWP RegistryMedium-severity findings · 1 findingOpen the reportB

SyntekPro Chat — WordPress plugin supporting WhatsApp, Messenger, Telegram, Instagram, and 10+ more channels with an AI-powered inbox and native widget.

★ 0stars
5release downloads
v1.0.2latest · 3mo ago

Install

Download syntekpro-chat-1.0.2.zip From the v1.0.2 release on GitHub, Jul 1, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/syntekpro/syntekpro-chat/releases/download/v1.0.2/syntekpro-chat-1.0.2.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

The ultimate WordPress chat hub — embed every major chat platform and manage all conversations from one unified inbox.

Plugin page: https://plugins.syntekpro.com/chat Changelog: https://plugins.syntekpro.com/chat/changelog Releases / older versions: https://github.com/syntekpro/syntekpro-chat/releases


Features

Feature Details
14 channels WhatsApp, Messenger, Instagram, Telegram, Viber, LINE, Twitter/X, Tawk.to, Intercom, Zendesk, Crisp, Drift, HubSpot, Native Widget
Unified inbox All conversations with open/pending/resolved/spam status
AI Agent Auto-reply via OpenAI, Claude, or Gemini with confidence threshold & handoff
Analytics Daily volume, per-channel breakdown, response time distribution
Auto-updates WordPress notifies you when a new GitHub release is published
Older versions Every release ZIP is permanently preserved on GitHub Releases
Integrations WooCommerce, Elementor, Divi
Security AES-256-GCM credential encryption, HMAC webhook verification

Installation

# Download the latest release ZIP
https://github.com/syntekpro/syntekpro-chat/releases/latest

# Or clone into your plugins directory
git clone https://github.com/syntekpro/syntekpro-chat.git \
    wp-content/plugins/syntekpro-chat

Activate under Plugins → Installed Plugins, then go to SyntekPro Chat → Channels.


Versioning & Releases

This plugin uses Semantic Versioning (MAJOR.MINOR.PATCH).

How to cut a new release

  1. Update SPC_VERSION constant and the Version: header in syntekpro-chat.php.
  2. Add a ## [X.Y.Z] — YYYY-MM-DD section to CHANGELOG.md.
  3. Commit → tag → push:
    git commit -am "Release vX.Y.Z"
    git tag vX.Y.Z
    git push && git push --tags
  4. GitHub Actions builds the ZIP, attaches it to the release, and all WordPress sites running the plugin receive an update notification automatically.

Downloading an older version

Every tagged release is permanently archived on GitHub Releases. Click any version to download its ZIP.


Requirements

  • WordPress 6.0+
  • PHP 8.1+
  • MySQL 5.7+ / MariaDB 10.3+

Support


License

GPL v2 or later. Powered by: SyntekPro


📁 File Structure

syntekpro-chat/
│
├── syntekpro-chat.php          # Plugin entry point (headers, constants, bootstrap)
├── class-plugin.php            # Main singleton — boots all subsystems
├── uninstall.php               # Cleanup on plugin deletion
├── composer.json               # PHP dependencies & autoload config
├── package.json                # Node/npm — frontend build
│
├── core/                       # Framework-level classes (autoloader, installer, etc.)
│   ├── class-autoloader.php    # PSR-4 autoloader
│   ├── class-installer.php     # Activation / deactivation / DB migrations
│   ├── class-hook-loader.php   # Deferred hook registration
│   ├── class-assets.php        # Script & style enqueueing
│   ├── class-license.php       # License validation & edition management
│   ├── abstracts/
│   │   └── class-abstract-channel.php   # Base class every channel extends
│   ├── traits/
│   │   ├── trait-singleton.php
│   │   └── trait-logger.php
│   └── interfaces/
│       └── interface-channel.php
│
├── admin/                      # WordPress admin panel
│   ├── class-admin.php         # Menu registration, admin-bar item
│   ├── css/
│   │   └── admin.css           # Admin stylesheet
│   ├── js/
│   │   ├── index.js            # React SPA entry point (built by @wordpress/scripts)
│   │   └── src/                # React components source
│   │       ├── App.js
│   │       ├── store/          # @wordpress/data stores
│   │       └── components/
│   └── views/                  # Server-side PHP view partials (fallback / email)
│       ├── dashboard/
│       ├── channels/
│       ├── inbox/
│       ├── settings/
│       └── analytics/
│
├── assets/                     # Public-facing assets
│   ├── css/
│   │   └── widget.css          # Frontend chat widget styles
│   ├── js/
│   │   ├── src/                # Widget source (vanilla JS)
│   │   │   └── widget.js
│   │   └── dist/               # Built output (committed)
│   │       └── widget.js
│   ├── images/
│   │   └── channels/           # SVG icons: whatsapp.svg, messenger.svg …
│   └── fonts/
│
├── includes/                   # Feature modules
│   │
│   ├── channels/               # Chat channel integrations
│   │   ├── class-channel-registry.php   # Discovers & manages all channels
│   │   ├── social/             # Social & messaging platforms
│   │   │   ├── class-whatsapp-channel.php
│   │   │   ├── class-messenger-channel.php
│   │   │   ├── class-instagram-channel.php
│   │   │   ├── class-telegram-channel.php
│   │   │   ├── class-viber-channel.php
│   │   │   ├── class-line-channel.php
│   │   │   └── class-twitter-channel.php
│   │   └── support/            # Support desk platforms
│   │       ├── class-native-chat-channel.php   # Built-in live chat
│   │       ├── class-tawkto-channel.php
│   │       ├── class-intercom-channel.php
│   │       ├── class-zendesk-channel.php
│   │       ├── class-crisp-channel.php
│   │       ├── class-drift-channel.php
│   │       └── class-hubspot-channel.php
│   │
│   ├── api/
│   │   ├── rest/               # WP REST API endpoints (syntekpro-chat/v1/)
│   │   │   ├── class-rest-api.php              # Route registration
│   │   │   ├── class-conversations-controller.php
│   │   │   ├── class-channels-controller.php
│   │   │   ├── class-contacts-controller.php
│   │   │   ├── class-analytics-controller.php
│   │   │   └── class-webhook-controller.php
│   │   └── webhooks/           # Inbound webhook handlers
│   │       └── class-webhook-verifier.php
│   │
│   ├── ai/
│   │   └── class-ai-engine.php     # Auto-reply, intent detection, routing
│   │
│   ├── cron/
│   │   └── class-cron-manager.php  # Scheduled tasks (cleanup, analytics)
│   │
│   └── integrations/           # Third-party plugin bridges
│       ├── woocommerce/
│       │   └── class-woocommerce-integration.php
│       ├── elementor/
│       │   └── class-elementor-widget.php
│       └── divi/
│           └── class-divi-module.php
│
├── database/
│   ├── migrations/             # Versioned DB migration scripts
│   │   └── class-migration-1-0-0.php
│   └── seeders/                # Default data for fresh installs
│       └── class-default-seeder.php
│
├── templates/
│   ├── widget/                 # Frontend widget HTML templates
│   │   └── widget.php
│   ├── email/                  # Email notification templates
│   │   ├── new-conversation.php
│   │   └── agent-assignment.php
│   └── admin/                  # Admin view partials (non-React fallbacks)
│
├── languages/                  # POT / PO / MO translation files
│   └── syntekpro-chat.pot
│
└── tests/
    ├── unit/                   # PHPUnit unit tests
    │   └── ChannelRegistryTest.php
    └── integration/            # Integration tests (requires WP test suite)
        └── RestApiTest.php

🚀 Getting Started (Development)

PHP

composer install

JavaScript

npm install
npm run start      # Dev mode with watch
npm run build:all  # Production build (admin + widget)

Tests

composer test

🔌 Adding a Custom Channel

// In your theme's functions.php or a separate plugin:
add_action( 'spc_register_channels', function ( $registry ) {
    $registry->register( new My_Custom_Channel() );
} );

Your channel class must extend SyntekProChat\Core\Abstracts\Abstract_Channel and implement: connect(), send_message(), parse_webhook(), get_settings_fields().


🛠 REST API

Base URL: {site_url}/wp-json/syntekpro-chat/v1/

Method Endpoint Description
GET /conversations List inbox conversations
GET /conversations/{id} Single conversation + messages
POST /conversations/{id}/reply Send a reply
PATCH /conversations/{id}/status Update status
GET /channels All channels & status
POST /channels/{slug}/connect Save channel credentials
GET /contacts Contact list
GET /analytics/summary Dashboard metrics
ANY /webhook/{slug} Public inbound webhook

📄 License

GPL v2 or later. See LICENSE.

Powered by SyntekPro — https://syntekpro.com

Releases

3 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.0.2 latest
Jul 1, 2026 3mo ago
syntekpro-chat-1.0.2.zip
3
Jul 1, 2026 3mo ago
syntekpro-chat-1.0.1.zip
2
Mar 20, 2026 7mo ago
syntekpro-chat-1.0.0.zip
0
B grade

Security

SyntekPro Chat 1.0.2 · audited by WP Registry

Medium-severity findings.

1 medium
Audited release
1.0.2
Findings
1
Worst severity
medium
Content hash
1a607c1309573fa6358a6132…

Findings

  • medium Webhook signature verification skipped when app_secret is empty

    insecure_config

    verify_signature() returns true when the channel has no app_secret configured, explicitly for 'development convenience'. On a production site that connected a channel without setting the secret, unauthenticated callers can POST to /wp-json/syntekpro-chat/v1/webhook/{slug} and inject inbound messages/contacts. Fail closed when the secret is missing.

    includes/api/rest/class-webhook-controller.php:122-135

    Recommendation

    Return false (401/403) when app_secret is empty in production; only allow skip behind an explicit WP_DEBUG/dev flag if needed.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.