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.
Install
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.zipThe 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
- Update
SPC_VERSIONconstant and theVersion:header insyntekpro-chat.php. - Add a
## [X.Y.Z] — YYYY-MM-DDsection toCHANGELOG.md. - Commit → tag → push:
git commit -am "Release vX.Y.Z" git tag vX.Y.Z git push && git push --tags - 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
- Email: development@syntekpro.com
- Plugin page: plugins.syntekpro.com/chat
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.