Skip to content

Live chat and the chat widget

Live chat lets visitors talk to you directly from your website. A small widget sits on the page, the assistant answers in real time, and your team can step in when a conversation needs a person. In oHallo the chat widget and the chat channel are the same thing: creating a chat widget provisions the channel behind it, so there is one place to set it up.

  1. Go to Settings, then Widgets. The Live chat tab is the first tab on the page.
  2. Select New to create a chat widget. If you have none yet, the empty state offers Create your first chat widget.
  3. Give the widget a display name, for example “Website chat”, and choose the workspace it serves.
  4. Set the widget’s appearance and, if you want, restrict which websites it may load on. See “Widget appearance” below.
  5. Save. The widget is created and the underlying chat channel is active straight away. There are no records to publish and no waiting: the widget works as soon as its embed code is on your site.

A public key is minted when you create the widget. It goes in the embed code and identifies your widget to the platform.

After you create the widget, its detail page shows an Embed snippet: a short piece of HTML to add to your website. Copy it and paste it into your site’s pages, usually just before the closing </body> tag. Your web developer or site administrator can help with this step.

Copy the snippet from your widget detail page rather than from this article. The snippet on that page is generated for your account and already contains the right values.

There are two shapes of snippet, depending on how you want the chat to appear.

Floating or sidebar. The widget renders itself, as a launcher in the corner or a panel from the edge of the page. The snippet is just the script tag:

<script src="https://widget.ohallo.eu/chat.js"
data-key="your-public-key"
data-api-base="https://api.ohallo.eu" async></script>

The widget is active as soon as the script is on the page.

Inline. The widget renders inside a section of the page that you choose. Place a container where the conversation should appear, then add the script after it. data-target must match the container’s id:

<div id="ohallo-chat"></div>
<script src="https://widget.ohallo.eu/chat.js"
data-key="your-public-key"
data-api-base="https://api.ohallo.eu"
data-target="ohallo-chat"
async></script>

The widget detail page has a Public key section with a Rotate key option. Rotating the key invalidates the current embed immediately, so any snippet still using the old key stops loading. After you rotate, update the snippet on your website with the new key. You are asked to confirm before the key changes.

The widget’s appearance is set on its detail page.

  • Presentation. Choose how the chat shows on the page: Floating (a launcher in the corner opens the chat in a small window), Inline (the chat lives inside a section of the page, with no window around it), or Sidebar (the chat opens as a full-height panel from the edge of the page). Floating is the default.
  • Position. For the floating presentation, choose Bottom right or Bottom left. This applies only to the floating presentation.
  • Colour. Pick the accent colour used in the widget, using the colour picker or a hex value.
  • Suggested prompts. For the inline presentation, you can add a few starter prompts. They are shown before the visitor writes anything; choosing one sends it as their first message.

Under Security on the widget detail page, the Allowed origins field lets you list, one per line, the websites the widget may load on. The chat only loads on those sites. Leave it blank to allow every site.

How the assistant behaves when a visitor needs a person is set on the chat channel’s Chat handling tab. Open it from Settings, then Channels, and select the chat channel (you can reach it from the widget’s detail page).

The main choice, How your team steps in, has two options:

  • Your team joins the chat while the visitor is there. During your workspace’s opening hours, the assistant may offer to bring in a person, and someone can join the conversation while the visitor is still on the page. Outside opening hours, this behaviour automatically changes to a follow-up instead, so a visitor is never promised a person when nobody is available.
  • Your team follows up with the visitor afterwards. The assistant never promises a live person. When a person is needed, it collects the visitor’s contact details so your team can follow up. This is the default.

Opening hours are set at the workspace level, under Settings, Workspaces. If they are not configured, the channel is treated as closed and no live offers are made.

When you choose the “join the chat” option, an optional What is worth a person field appears. Describe, in your own words, which conversations your team wants to take over, for example higher-value orders, complaints, or questions about deliveries. The assistant uses this as guidance. It also brings your team in whenever a visitor asks for a person, regardless of this field.

Also for the “join the chat” option, the If no one joins section decides what the assistant does when a person was offered but nobody joins in time, so the visitor is not left waiting:

  • Keeps helping the visitor itself. The assistant carries on answering.
  • Takes a message for your team. The assistant collects a message for your team to review later.
  • Offers a phone call from your team. The visitor can request a callback. These requests land in the Callbacks section for your team to claim.

You can optionally set What the assistant says next: the line the assistant uses the moment it comes back to the visitor. Leave it empty to use the standard line for the option you chose.

The widget shows a greeting, a message box, and a clear notice that the visitor is talking to an automated assistant. Visitors can return to the same conversation later; a resolved conversation shows a closing notice, and the visitor can start a new one by writing again. The widget uses the workspace’s operating language.

When a conversation reaches something that needs a verified customer, the assistant verifies the visitor in the chat itself. See “Identity verification in the chat” below.

The assistant verifies a visitor with the methods you enable for the chat channel: security questions, the email link, and National eID. See Setting up identity verification.

With National eID switched on for the chat channel, the assistant’s explanation and a verification bubble arrive together in the conversation. The bubble carries a Verify your identity button that opens a secure verification page in a new tab, showing your workspace name, the request it belongs to, and that the request was started moments ago in a live chat. The visitor logs in with their own national eID through the scheme’s own login, and the conversation continues automatically: the answer appears in the still-open chat window.

Two behaviours are worth knowing:

  • The button expires. A button that sits unused lapses after its validity period. The bubble is also shown live only: a page reload rebuilds the conversation from its messages. In both cases the recovery is the same: the visitor asks again, and the assistant issues a fresh button and says so in plain language.
  • Verification unlocks the customer’s own record only. A verification completes when the identity the scheme proves matches the identifier on the record the question is about, so it works only for the person who is the customer on that record. A login by anyone else shows one neutral page and leaves the conversation as it was.

Turn National eID on for the chat channel under Settings, then Verification, on the Channels tab. See Verifying with a national eID for the country setup.

Chat conversations appear in your Conversations inbox alongside email and voice, so you read and reply to them the same way. See Conversations.