Docs Product page Dashboard

Chat

v1.1.37

A floating chat bubble with four channels — WhatsApp (with an optional intake form), call-me-back, an embedded contact form and real-time live chat — plus a tap-to-answer FAQ, fully translatable and spam-proof, all from one WPStack panel with no third-party chat service.

Included in every plan Updated August 2026

Overview

The Chat module adds a single floating bubble to your site that opens a popup of the channels you enable.

One button, four ways to reach you. Turn on any mix of WhatsApp, call-me-back, an embedded contact form and live chat; each becomes a labelled option inside the popup. Everything runs on your own WordPress site — there is no external chat SaaS and no per-agent fee.

How can we help?
Chat on WhatsAppTypically replies in minutes
Call me backWe'll call you back shortly
Send us a messageWe'll get back to you shortly
Live ChatChat with us in real time
The bubble popup — each enabled channel appears as a labelled button.
  • WhatsApp — one tap opens a chat with your number (optional pre-filled message)
  • WhatsApp form — optionally ask a few questions first; the answers pre-fill the WhatsApp message
  • Call me back — visitors leave a number; requests are saved and emailed to you
  • Contact form — open any Stack Form right inside the bubble
  • Live chat — real-time visitor to team messaging, saved to your database
  • Instant FAQ — tappable questions that answer in the bubble, each with an optional button
  • A booking-style inbox for callbacks and live chats
  • Every visible word is a translatable label, with one-click language presets
  • A honeypot and rate-limit keep spam out automatically
No third-party serviceWhatsApp opens the visitor’s own app, and live chat runs on your site — messages are stored in your database. Nothing is sent to an external chat provider.

Requirements & compatibility

It runs on any WordPress site; the form channel needs the Forms module.

RequirementMinimumRecommended
WordPress6.06.5 or newer
PHP7.48.1 or newer
Forms moduleOnly for the form channelEnabled if you want the embedded form
WhatsAppA phone numberA business number visitors can reach
Works with any themeThe bubble is injected in the footer on every page — no shortcodes to place and no theme edits.

Installation & activation

Chat ships inside WPStack — switch it on, pick your channels, and save.

1

Activate the module

In WPStack → Modules, flip Chat on. A Chat Bubble item appears in the WPStack menu.

2

Enable your channels

Under Settings, turn on WhatsApp, call-me-back, a form and/or live chat and set each button’s label and sub-label.

3

Style & save

Choose the bubble colour, accent and position (bottom-left or bottom-right), then save. The bubble is live on your site.

WhatsApp

Send visitors straight into a WhatsApp conversation with you.

Enter your number in international format (no “+” or spaces) and, optionally, a message to pre-fill. The button builds a wa.me link, so tapping it opens a chat with you in the visitor’s WhatsApp — mobile or WhatsApp Web.

Number formatUse the full country code with no symbols — e.g. 32478123456, not +32 478 12 34 56.

Optional intake form

Instead of opening WhatsApp straight away, you can ask a few questions first. In the WhatsApp settings card, add text fields and a multiple-choice checklist (like “What do you need?”); when the visitor taps Send via WhatsApp, their answers are composed into the message and WhatsApp opens pre-filled.

Send us the details
What is your website URL?
wpstack.io
How many visitors per month?
1.500
What do you need?
Send via WhatsApp
The WhatsApp intake form — text questions and a checklist that pre-fill the message.

Call me back

Capture a phone number and call the visitor back on your own time.

The visitor leaves their number (and optional name). The request is saved to a Callbacks inbox and an email is sent to your admin address instantly, with the source page recorded. Mark a request as called, call again, or delete it.

Callback Requests
PhoneStatusReceived
+32 478 12 34 56NewMay 26, 2026 08:52✓ Mark called
+32 471 98 76 54CalledMay 25, 2026 21:19Call again
+31 6 1122 3344NewMay 22, 2026 11:28✓ Mark called
The Callbacks inbox — new vs called at a glance, with the source page and time.

Contact form

Open one of your Stack Forms right inside the bubble.

Pick any form built with the Forms module and it opens in the bubble’s panel — no page change. Submissions use the form’s own validation and notifications and are stored in the same entries table. The channel appears only when the Forms module is active.

Live chat

Real-time messaging between visitors and your team, saved for later.

A visitor starts a conversation (optionally leaving a name and email) and messages stream to your WordPress inbox. Reply from a clean, booking-style screen; every message is stored, so you can close a chat and re-open it any time. Messages poll in near real time — no websockets to configure.

Live Chats
VisitorPageStatusUpdated
Emma
Do you deliver on weekends?
/Open3 min agoView
Liam
Thanks, that answered it!
/Closed2 hours agoView
Noah
Is the spa open on Monday?
/ClosedYesterdayView
Visitor
/Closed2 days agoView
The Live Chats inbox — every conversation with its status, saved to your site.
Turn it on when you can answerLive chat sets an expectation of a quick reply — enable it during hours someone can respond, and rely on the callback or form channel otherwise.

Instant FAQ

Let visitors self-serve the most common questions — right in the bubble.

On the FAQ tab, write question & answer pairs (each answer can add a button with a link). The questions show as tappable chips in the popup; tapping one plays the answer as a chat reply, with the optional button beneath. It is entirely client-side — no AI and no external service — and the bubble shows even if the FAQ is your only feature.

Frequently asked
How do I create an account?
It takes under a minute — click below and follow the two steps. No card needed to explore.
Create account
What are the prices?
Can I try it for free?
The FAQ — a tapped question answered inline, with a call-to-action button and more chips.
  • Each answer can hold safe HTML plus an optional button + link
  • Managed on its own FAQ screen, separate from Settings
  • Fully client-side — instant, with no server round-trip

Translations

Every word in the bubble is a label you control.

Under Settings → Labels you can edit every visible string — buttons, prompts, placeholders and the “How can we help?” title. The Fill all labels language picker prefills Dutch, French, German or Spanish in one click (including the channel buttons), then you can tweak any field. Leave a field blank to keep the English default.

Reset to EnglishChoosing English (reset to defaults) in the language picker clears your overrides and restores the built-in English wording.

Anti-spam

Bots are stopped automatically — no CAPTCHA for real visitors.

  • A hidden honeypot field silently drops bot submissions
  • A 15-requests-per-minute per-IP rate limit blocks floods
  • Offending IPs are blocked automatically and listed under Security
  • Clear any block with one click
Blocked by mistake?If a real visitor trips the limit, open Chat → Blocked IPs and remove their address — they can use the bubble again immediately.

Settings reference

The main options on the Chat settings screen.

SettingTypeDefaultWhat it does
Enable bubbletoggleOffShow the chat bubble on all front-end pages.
PositionselectBottom rightBottom-left or bottom-right corner.
Bubble colourcolour#25d366The floating button colour.
Panel accentcolour#0891b2Accent for the panel buttons.
ChannelstogglesWhatsApp onEnable WhatsApp, call-me-back, form and/or live chat, each with its own labels.
WhatsApp formtoggle + fieldsOffAsk text / multiple-choice questions that pre-fill the WhatsApp message.
FAQtoggle + Q&AOffTap-to-answer questions shown in the bubble, each with an optional button.
LabelstextEnglishEvery front-end string, with one-click language presets.

Webhooks & integrations

Send new chats, visitor messages and callback requests to Make, Zapier or your own CRM as they happen.

With the Connect module enabled, every conversation and call-me-back request can be posted to any address you give it. Set it up under WPStack → App Connect → Integrations: paste the URL your tool generated, pick Chat & callbacks from the module list, tick the events, and press Send test.

Events you can subscribe to

EventSent when
chat.startedA visitor opens a new live chat, with their name, email and the page they were on.
chat.messageA visitor sends a message. Your own replies do not fire this.
chat.closedA chat is closed or reopened — from wp-admin or the mobile app. Carries the previous status.
callback.createdA visitor asks to be called back.
callback.status_changedYou mark a callback as called, or back to new.
callback.deletedA callback is removed. The full record is included.
Callbacks are the quick winA call-me-back request is a phone number and nothing else — exactly the shape a CRM or an SMS tool wants. Point callback.created at Slack and your team sees the number before the visitor has closed the tab.
Your replies never leave the siteOnly visitor messages fire chat.message. Replies you send from wp-admin or the mobile app are deliberately excluded — otherwise every answer you typed would loop straight back out to your automation.
Only real changes fireMarking a callback “called” when it is already called sends nothing, and neither does closing a chat that is already closed. A status event always means something actually moved.
One-way by designData only ever leaves your site. These endpoints give nobody a way to write back into WordPress, and there is no API key for an outsider to hold. Add a signing secret and each delivery carries an X-WPStack-Signature header your receiver can verify.

For developers

Every event is also a standard WordPress action, so you can handle it in a plugin or your theme without Connect. Note the wpsc_ prefix: it is the module’s own, and predates the wpstack_ naming used by Booking and Events. The status hooks fire from the database layer, so they run whether the change came from wp-admin or the mobile app.

HookTypeDescription
wpsc_chat_session_startedaction$session_id, $session — a visitor opened a new chat.
wpsc_new_chat_messageaction$session_id, $message, $sender, $session — a visitor message. Agent replies do not fire this.
wpsc_chat_session_status_changedaction$session_id, $new, $old — only on a real change.
wpsc_callback_createdaction$callback_id, $phone
wpsc_callback_status_changedaction$callback_id, $new, $old — only on a real change.
wpsc_callback_deletedaction$callback_id, $callback — fires just before the row is removed.
php
add_action( 'wpsc_callback_created', function ( $callback_id, $phone ) {
    $callback = WPSC_DB::get_callback( $callback_id );
    // $callback->name, ->phone, ->page_url, ->created_at
    // …send an SMS, open a task, ring a desk phone…
}, 10, 2 );
Pass the argument countThe 4th parameter of add_action() is how many arguments your callback receives. Leave it off and WordPress hands you only the first.

FAQ

No. WhatsApp opens the visitor’s own app and live chat runs on your WordPress site, storing messages in your database. There is no external SaaS and no per-agent fee.

Into an admin inbox under the Chat menu. Callbacks also email your admin address, and live-chat conversations are saved so you can reply later.

Yes — the form channel embeds any Stack Form, reusing its fields, validation, notifications and entries table.

Completely. Every string is an editable label, and a one-click preset fills Dutch, French, German or Spanish — including the channel buttons and popup title.

A hidden honeypot drops bots and a 15-per-minute rate limit blocks floods, with automatic IP blocking you can clear from the Security tab.

Yes — add an FAQ and each question becomes a tappable chip that answers inline as a chat reply, with an optional button. It is client-side, with no AI or external service.

Turn on the WhatsApp form and add a few questions; the visitor’s answers pre-fill the WhatsApp message when they tap send.

Was this page helpful?