← Back to Unified Messaging overview
Features (Full Detail) — Unified Messaging
Current version: v1.0.0
Unified inbox for Facebook, Instagram, WhatsApp and Web Chat in Perfex CRM
This page explains module capabilities in depth so new users understand what each feature does, why it matters, and how to use it inside Perfex CRM.
Feature catalog (explained)
Every major capability below is explained in plain language — what it is, why it helps, and how to use it.
1. Unified inbox with channel filters, staff assignment, CRM linking
In plain words: Unified inbox with channel filters, staff assignment, CRM linking
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
2. Web chat widget with AI assistant (DeepSeek, Groq, OpenRouter, Together, OpenAI)
In plain words: Web chat widget with AI assistant (DeepSeek, Groq, OpenRouter, Together, OpenAI)
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
3. Meta webhook integration with HMAC signature validation
In plain words: Meta webhook integration with HMAC signature validation
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Enable credentials in Unified Messaging → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
4. Async AI replies via cron queue
In plain words: Async AI replies via cron queue
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Enable credentials in Unified Messaging → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
5. Auto-assign (round robin / default staff)
In plain words: Auto-assign (round robin / default staff)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
6. Media download for WhatsApp & Messenger
In plain words: Media download for WhatsApp & Messenger
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
7. Outbound media send — (image, video, PDF) from inbox
In plain words: Outbound media send: (image, video, PDF) from inbox
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open the list screen for this data, use Import / Export / PDF buttons (or the bulk actions menu), follow the template columns, then verify a few rows after upload.
8. WhatsApp template message sending with optional components JSON
In plain words: WhatsApp template message sending with optional components JSON
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
9. WhatsApp interactive button messages (CSAT)
In plain words: WhatsApp interactive button messages (CSAT)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
10. Failed message retry queue (no duplicate rows on retry)
In plain words: Failed message retry queue (no duplicate rows on retry)
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
11. Widget rate limiting & domain allowlist
In plain words: Widget rate limiting & domain allowlist
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
12. Encrypted AI API keys at rest
In plain words: Encrypted AI API keys at rest
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Enable credentials in Unified Messaging → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
13. SLA first-response timers with breach alerts
In plain words: SLA first-response timers with breach alerts
Why it matters: This supports compliance, audit readiness, and on-time operations so nothing important is missed.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
14. CSAT surveys on conversation resolve
In plain words: CSAT surveys on conversation resolve
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
15. Analytics dashboard with CSAT and SLA metrics
In plain words: Analytics dashboard with CSAT and SLA metrics
Why it matters: This supports compliance, audit readiness, and on-time operations so nothing important is missed.
How to use it: Go to Unified Messaging → Reports / Dashboard (or the matching analytics screen), set filters (date, status, warehouse, staff), then run or export the report.
16. SSE real-time inbox updates (toggle in Settings)
In plain words: SSE real-time inbox updates (toggle in Settings)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Configure under Unified Messaging → Settings, and assign staff access from Setup → Staff → Roles.
17. WebSocket real-time — via Pusher / Soketi (optional alternative to SSE)
In plain words: WebSocket real-time: via Pusher / Soketi (optional alternative to SSE)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
18. Business hours with away auto-reply (web chat + Meta channels)
In plain words: Business hours with away auto-reply (web chat + Meta channels)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
19. Bulk inbox actions (status, assign, mark read, archive)
In plain words: Bulk inbox actions (status, assign, mark read, archive)
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
20. Agent performance analytics chart
In plain words: Agent performance analytics chart
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Go to Unified Messaging → Reports / Dashboard (or the matching analytics screen), set filters (date, status, warehouse, staff), then run or export the report.
21. Visual WhatsApp template parameter builder
In plain words: Visual WhatsApp template parameter builder
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
22. Starred conversations, My conversations filter, manual CRM link
In plain words: Starred conversations, My conversations filter, manual CRM link
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
23.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open the list screen for this data, use Import / Export / PDF buttons (or the bulk actions menu), follow the template columns, then verify a few rows after upload.
24.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
25.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
26.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
27.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
28.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Go to Unified Messaging → Reports / Dashboard (or the matching analytics screen), set filters (date, status, warehouse, staff), then run or export the report.
29.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
30.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
31.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
32.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
33.
In plain words:
Why it matters: This supports compliance, audit readiness, and on-time operations so nothing important is missed.
How to use it: Configure under Unified Messaging → Settings, and assign staff access from Setup → Staff → Roles.
34.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Ensure Perfex CRM cron is running (`php /path/to/perfex/index.php cron/index`). Then enable the related option in module Settings so jobs, alerts, or queues process automatically.
35.
In plain words:
Why it matters: This reduces manual work so agents can focus on exceptions and high-value customers.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
36.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
37.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
38.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
39.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Enable credentials in Unified Messaging → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
40.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Enable credentials in Unified Messaging → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
41.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Enable credentials in Unified Messaging → Settings (API keys, webhooks, sandbox/production). Test with a sample record, then monitor the module log or sync screen.
42.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
43.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
44.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
45.
In plain words:
Why it matters: This helps your team complete the work faster with fewer mistakes and a clear audit trail inside Perfex CRM.
How to use it: Open Unified Messaging in the admin sidebar, then use the related menu screen for this capability.
Features & workflows from documentation
Features
- Unified inbox with channel filters, staff assignment, CRM linking
- Web chat widget with AI assistant (DeepSeek, Groq, OpenRouter, Together, OpenAI)
- Meta webhook integration with HMAC signature validation
- Async AI replies via cron queue
- Auto-assign (round robin / default staff)
- Media download for WhatsApp & Messenger
- Outbound media send (image, video, PDF) from inbox
- WhatsApp template message sending with optional components JSON
- WhatsApp interactive button messages (CSAT)
- Failed message retry queue (no duplicate rows on retry)
- Widget rate limiting & domain allowlist
- Encrypted AI API keys at rest
- SLA first-response timers with breach alerts
- CSAT surveys on conversation resolve
- Analytics dashboard with CSAT and SLA metrics
- SSE real-time inbox updates (toggle in Settings)
- WebSocket real-time via Pusher / Soketi (optional alternative to SSE)
- Business hours with away auto-reply (web chat + Meta channels)
- Bulk inbox actions (status, assign, mark read, archive)
- Agent performance analytics chart
- Visual WhatsApp template parameter builder
- Starred conversations, My conversations filter, manual CRM link
Phase 4–6 (v2.9.0 – v3.1.1)
- AI Knowledge Base (RAG) — FAQs, PDF/TXT upload, vector + keyword search
- Multi-provider embeddings — OpenAI, OpenRouter, Together, Custom (Auto fallback for DeepSeek/Groq chat)
- Human handoff rules — trigger phrases pause AI, auto-assign staff
- Bot flow builder — greeting → questions → handoff
- Sentiment detection — keyword, AI, or hybrid modes with staff alerts
- AI usage analytics — token counts and estimated cost
- Inbox filters — sentiment label, AI paused only, resume AI button
- WhatsApp multi-product list — send catalog product lists from inbox
- Smart adaptive polling — slower updates when browser tab is hidden (SSE off)
Phase 2 (v2.7.0)
- Automation rules engine — keyword triggers for auto-reply, assign, tag, lead, status, spam/block
- Multi-step SLA escalation — configurable steps after first-response breach
- Outgoing queue UI — view/retry/dismiss failed sends
- Spam & block list — block by external ID, phone, or email
- Conversation merge — bulk merge from inbox
- WhatsApp 24h window badge — session status in inbox header
- Per-channel business hours — override global away auto-reply per channel
Phase 3 (v2.8.0)
- Meta template catalog sync — pull approved WhatsApp templates from Business Account
- Template builder preview — visual preview + inbox picker from synced catalog
- WhatsApp catalog products — sync and send single product messages
- WhatsApp Flows — inbound
nfm_replyand order message handling - Instagram story replies — story reply and mention detection
- Voice message playback — inline audio player in inbox
- Read receipts — delivered/read ticks on outbound messages
API Endpoints (Admin)
| Endpoint | Method | Description |
|---|---|---|
| ---------- | -------- | ------------- |
conversations | GET | List conversations (filters: assigned, starred, tag, etc.) |
conversation/{id} | GET/POST | View/update conversation (status, assign, tags, star) |
send | POST | Send text message |
send_media | POST | Send image/video/PDF (multipart file) |
search_crm | GET | Search leads/customers for manual CRM link |
create_lead | POST | Create CRM lead from contact |
create_ticket | POST | Create support ticket |
send_template | POST | Send WhatsApp template (optional components JSON) |
analytics | GET | Message analytics + CSAT + SLA + agent performance |
stream | GET | SSE real-time updates (inbox) |
export_conversations | GET | CSV export (filtered) |
export_ai_insights | GET | CSV export of AI insights (days param) |
export_conversation/{id} | GET | Single conversation transcript CSV |
schedule_send | POST | Schedule outbound message (conversation_id, body, scheduled_at) |
snooze | POST | Snooze/unsnooze conversation (conversation_id, preset or until) |
add_note | POST | Add internal note |
resume_ai | POST | Resume AI after handoff (conversation_id) |
send_catalog_product_list | POST | Send WhatsApp multi-product list |
bulk_update | POST | Bulk status/assign/mark read/archive |
merge_conversations | POST | Merge source conversations into target (target_id, source_ids) |
block_contact | POST | Block contact from conversation (conversation_id, optional reason) |
meta_templates | GET | Synced Meta templates + catalog products for channel |
send_catalog_product | POST | Send WhatsApp catalog product (conversation_id, product_id) |
link_crm | POST | Link contact to CRM |
Listing highlights
Item Title
Unified Messaging — Omnichannel Inbox for Perfex CRM
Short Description (max ~160 chars)
Unified inbox for WhatsApp, Facebook, Instagram and Web Chat in Perfex CRM with AI, automation & SLA
Category
PHP Scripts → Add-ons → Perfex CRM (Compatible With)
Tags
perfex crm, unified messaging, whatsapp, facebook messenger, instagram, web chat, inbox, omnichannel, ai chatbot, nasbix
Files Required by CodeCanyon
| Field | File |
|---|---|
| ------- | ------ |
| Thumbnail (80×80) | images/thumbnail_80x80.jpg |
| Main File(s) | unified_messaging-v1.0.0-codecanyon.zip |
| Inline Preview (590×300) | images/preview_590x300.jpg |
| HTML Description | copy/html_description.html |
| Message to Reviewer | copy/message_to_reviewer.txt |
Official HTML documentation (feature sections)
2. How to Use This Module
2.1 Setup Wizard
- After activation, open Unified Messaging → Setup Wizard (if shown).
- Enable the channels you need (Web Chat and/or Meta channels).
- Configure basic notification and AI options.
- Mark the wizard complete when finished.
2.2 Web Chat Widget
- Go to Unified Messaging → Web Chat Widget.
- Customize color, position, greeting, and offline message.
- (Optional) Configure AI provider + API key under Settings.
- Copy the embed script and paste it before
</body>on your website. - Optionally restrict domains under Settings → Widget Security.
2.3 WhatsApp / Facebook / Instagram (Meta)
- Create a Meta App at developers.facebook.com.
- In Perfex: Unified Messaging → Channels → Add Channel.
- Select channel type (WhatsApp, Facebook, or Instagram).
- Enter App ID, App Secret (required for webhook HMAC), Access Token, and Page / Phone Number IDs.
- Save the channel — note the channel ID.
- In Meta webhook settings, set the Callback URL to:
{your_crm_url}/unified_messaging/unified_messaging_webhook/receive/{channel_id} - Use the channel’s Verify Token from channel settings for Meta verification.
- Subscribe to the required messaging webhooks (messages, messaging_postbacks, etc.).
2.4 Unified Inbox
- Open Unified Messaging → Inbox.
- Filter by channel, assigned staff, starred, tags, sentiment, or snoozed.
- Reply with text or media (image / video / PDF).
- Assign conversations, add tags, create leads/tickets, or link CRM contacts.
- For WhatsApp outside the 24h window, send an approved template message.
- Mark conversations resolved — optional CSAT survey is sent automatically when enabled.
2.5 AI Assistant
- Go to Unified Messaging → Settings and enable AI.
- Choose a provider (DeepSeek, Groq, OpenRouter, Together, OpenAI, or Custom).
- Add your API key (stored encrypted).
- Optionally enable AI on Meta channels and configure handoff phrases.
- Add FAQs / documents under AI Knowledge Base for RAG answers.
- Build guided conversations under Bot Flows.
2.6 Automation, SLA & CSAT
- Automation — create keyword/event rules for auto-reply, assign, tag, lead, spam, handoff.
- SLA — set first-response minutes and multi-step escalation under Settings / Channels.
- CSAT — enable survey on resolve and customize the question.
- Business Hours — set global or per-channel away auto-replies.
2.7 Analytics & Operations
- Analytics — message volume, CSAT, SLA, agent performance.
- Operations — webhook health, queue stats, team workload.
- Outgoing Queue — retry failed sends.
- Webhook Failures — replay failed Meta payloads.
- Scheduled Messages — send later from inbox.
3. Features
- Unified inbox for WhatsApp, Facebook Messenger, Instagram DM, and Web Chat
- Staff assignment, tags, notes, merge, snooze, spam/block
- CRM linking: leads, customers, tickets
- Web chat embed with domain allowlist and rate limiting
- AI assistant with multi-provider support and encrypted API keys
- AI knowledge base (RAG), bot flows, sentiment, human handoff
- WhatsApp templates, catalog products, Flows, media send/receive
- Automation rules engine with event triggers
- SLA timers + multi-step escalation
- CSAT surveys on resolve
- Real-time inbox via SSE or Pusher/Soketi WebSocket
- Analytics + operations dashboard
- Clean uninstall removes all module tables and uploads
4. Permissions
Assign under Setup → Staff → Roles.
| Feature | Typical capabilities |
|---|---|
| Inbox | view, create, edit, delete |
| Channels | view, create, edit, delete |
| Templates | view, create, edit, delete |
| Settings | view, edit |
| Analytics / Operations | view |
| Automation | view, create, edit, delete |
| Queue / Scheduled / Webhooks | view, edit |
| AI / Knowledge / Bot Flows | view, edit |
| Audit / Export | view, export |
| Blocked contacts | view, create, delete |
| Meta templates | view, edit |
5. Cron Jobs
Background tasks use the main Perfex CRM cron. Example (every minute):
* * * * * php /path/to/perfex/index.php cron/index > /dev/null 2>&1
Cron powers: AI reply queue, send retries, SLA checks, scheduled messages, webhook failure retries, session cleanup.
Check Unified Messaging → Settings → System Health to verify cron and DB version.
6. Uninstall
- Go to Setup → Modules.
- Deactivate the module (optional — keeps data).
- Click Uninstall to permanently remove:
- All
um_*database tables - Related options
- Files under
uploads/unified_messaging/
- All
Deactivate = keep data. Uninstall = delete all module data.
7. FAQ
Webhook verification fails
Confirm the Callback URL includes the correct channel ID and the Verify Token matches the channel settings. Ensure App Secret is saved for signature validation.
AI not replying
Enable AI in Settings, add a valid API key, confirm cron is running, and check that the conversation is not AI-paused / assigned in a way that blocks auto-replies.
WhatsApp template required
Outside the 24-hour customer care window you must send an approved WhatsApp template. Sync templates from your Meta Business Account first.
Widget not showing
Confirm the webchat channel is active, the embed script is on the page, and the domain is allowed if domain restriction is enabled.
Related: Quick Start · How to Install · FAQ & Tips · Version & Changelog