Skip to main content
View Categories

AI Concierge: Live Concierge

7 min read

Let a real team member step into an AI Concierge chat and talk to a guest live from Slack, watch conversations as they happen, and jump in even when the guest did not ask for a person.


What it does #

Most of the time the AI Concierge can answer a guest on its own. But some conversations are worth a human: a guest who is ready to book and has one last question, or someone the assistant cannot quite satisfy. Without a way to step in, your only option is to capture the guest as a lead and follow up later, by which point the moment has often passed.

Live Concierge gives you that human moment without asking your team to sit inside the WordPress dashboard. Your team works entirely from a Slack channel they already watch. There are three parts, and you can use as much or as little as you want:

  • Guest-requested takeover. When live chat is available, a guest can choose to talk to a person. The request lands in Slack, an operator replies in the thread, and one click hands the guest back to the AI.
  • Session mirror. Stream live conversations into Slack as they happen, so your team can read along even before anyone steps in.
  • Unprompted takeover. From a mirrored thread, an operator can jump into a chat the guest never asked to escalate. The guest sees a brief notice that a team member has joined.

Here is the guest-requested flow from both sides:

  • A guest opens the concierge chat and chooses talk to a live person.
  • Your operator channel in Slack gets a Live chat requested message, including the guest’s last message and a link to the page they are on.
  • An operator replies in that Slack thread. Each reply shows up in the guest’s chat window, and anything the guest types back is relayed into the same thread, so the whole conversation stays in one place.
  • When the operator is done, they click Release to AI (or type /concierge release), and the guest is handed back to the assistant.

The talk to a live person option only appears when three things are true at once: Live Takeover is turned on, the current time is inside the hours you set, and an operator has marked the team as present. When any of those is not true, the guest is offered the contact form instead, so you never advertise a live option you cannot staff.

How to turn it on #

Everything for live human takeover lives on one screen. In your AI Concierge settings, open the Live Concierge tab. It has three sections, top to bottom: Availability and Presence, the Live Operator Slack app, and Session Mirror and Takeover. You set up a Slack app once, then paste three values into WordPress.

1. Set your hours and turn on Live Takeover #

Under Availability & Presence, switch on Enable Live Takeover, then choose your Available Days, set Opens At and Closes At for the daily window, and confirm the Timezone. Outside those hours, guests automatically get the contact form instead.

2. Create a Slack app for your workspace #

In Slack’s app settings, create a new app for your workspace and add a bot to it. Give the bot permission to post messages and to read messages in the channel you will use, then install the app to your workspace. From the app you will need two values:

  • The Bot User OAuth Token (it starts with xoxb-), found on the app’s OAuth and Permissions page.
  • The Signing Secret, found on the app’s Basic Information page. This is what lets your site confirm that incoming requests really came from Slack.

3. Point the Slack app back at your site #

The Slack app needs to know where to send guest requests, slash commands, and button clicks. In the app settings, use your site address followed by these paths:

  • Events request URL: https://your-site.com/wp-json/hr-ai-enhancer/v1/slack/events
  • Slash command request URL: https://your-site.com/wp-json/hr-ai-enhancer/v1/slack/command
  • Interactivity request URL: https://your-site.com/wp-json/hr-ai-enhancer/v1/slack/interactivity

Enable interactivity, add a slash command named /concierge pointed at the command URL above, and subscribe the app to new messages so operator replies reach your site.

4. Paste your credentials and pick your channel #

Back on the Live Concierge tab, in the Live Operator (two-way Slack chat) section, fill in Bot Token, Signing Secret, and Operator Channel. For the channel, use the Slack channel ID (something like C0123456789), not the channel name, and invite the app’s bot into that channel so it can post. A short setup helper on this section walks you through the same steps.

5. Go live when someone is staffing it #

When an operator is ready to take chats, mark the team present, either with the Operator Presence control on the Live Concierge tab or by typing /concierge on in Slack. Presence lapses on its own after the number of minutes you set, so mark present again to keep the live option open. Type /concierge status any time to see whether live chat is currently available, and /concierge off to stop offering it.

6. Mirror conversations and allow unprompted takeover (optional) #

In the Session Mirror & Takeover section, choose how much to stream into Slack with Mirror Sessions to Slack: off, engaged only (once a guest has sent two or more messages), or all sessions. Optionally set a separate Mirror Channel for that feed (the bot must be invited to it too).

Leave Allow Unprompted Takeover on if you want operators to be able to join a chat the guest did not request. A Take over button appears on the mirrored Slack thread, and clicking it (or running /concierge takeover <session-id>, where the session ID is on the thread’s mirror card) puts the operator in the chat. The guest sees the Takeover Notice as a system note. Set the Team Display Name to control how your team is labeled to the guest.

Settings #

SettingWhat it controls
Enable Live TakeoverThe master switch for the whole feature. When off, the live option never appears, the widget never checks for an operator, and everything below is dormant. Off by default.
Available DaysThe days your team offers live chat. With no days selected, the live option never opens. Defaults to Monday through Friday.
Opens At / Closes AtThe start and end of your daily live-chat window, in 24-hour time. If the close time is earlier than the open time, the window spans midnight. Defaults to 9:00 AM and 5:00 PM.
TimezoneThe timezone your hours are read in. Leave blank to use your site timezone.
Presence Auto-Lapse (minutes)How long a single “available” toggle stays active before it lapses on its own, so a forgotten “on” never strands guests. Defaults to 60.
Operator PresenceA live toggle (not a saved setting) that marks your team available right now. The Slack /concierge on and /concierge off commands control the same state.
Bot TokenThe Slack app’s Bot User OAuth Token. Powers the two-way operator channel. Required. Leave the field blank on save and a stored token is kept.
Signing SecretThe Slack app’s signing secret. Verifies that inbound requests genuinely come from Slack. Required.
Operator ChannelThe Slack channel ID where live-chat requests post. Use the channel ID, not the #name, and invite the bot to that channel. Required.
Mirror Sessions to SlackHow much of the conversation is streamed into Slack. Off: only escalated chats reach Slack. Engaged only: mirroring starts once a guest has sent two or more messages (recommended, to avoid flooding). All sessions: every conversation is mirrored. Off by default.
Mirror ChannelAn optional separate channel ID for the mirrored feed. Leave blank to use the operator channel above. The bot must be invited to it.
Allow Unprompted TakeoverShows a “Take over” button on Slack session threads so an operator can join a chat the guest did not request. On by default.
Team Display NameHow the live operator is labeled to the guest in chat, for example your brand or team name. Defaults to “Our team”.
Takeover NoticeThe status line the guest sees when an operator joins, rendered as a system note rather than a chat message. Defaults to “A team member has joined the chat.”

The Slack slash command supports /concierge on, /concierge off, /concierge release, /concierge status, and /concierge takeover <session-id>.

Tips #

  • Live Concierge is different from Slack Notifications. Slack Notifications is a one-way alert that fires when a guest submits their contact details, set up with a simple webhook on the Integrations tab. Live Concierge is a two-way conversation that needs a full Slack app. You can run both at the same time.
  • Start the session mirror on Engaged only rather than All sessions. It keeps your channel focused on conversations that have momentum instead of flooding it with one-line bounces.
  • Unprompted takeover pairs naturally with the mirror: read along on the threads you care about, and step in with the Take over button the moment a conversation is worth a human.
  • Not seeing requests in Slack? Check that Live Takeover is enabled, the current time is inside your hours, an operator is marked present (presence auto-lapses), the bot has been invited to the operator channel, and you saved the channel ID rather than the channel name. Run /concierge status in Slack to see the first three at a glance. A Slack outage never breaks guest chat, and the AI keeps answering.
  • When nobody is staffing chat, guests are offered the contact form instead, saved through Lead Capture. For the full admin tour see Operator Tools, and for the big picture see the AI Concierge overview.