JPG Insurance: AI chat with live agents

How the JPG Insurance chat assistant answers visitors and takes quote requests, and how an agent takes over when someone asks for a person.

Client
JPG Insurance, an independent insurance agency in Las Vegas
What we built
Sarah, a chat assistant for the website, and a live agent portal for the agency’s team
Also in the project
A rebuilt WordPress website and server security work

Visitors to the agency’s website can ask Sarah a question at any hour. She answers from the agency’s own information and takes quote requests in the chat. When a visitor asks for a person, every signed-in agent is alerted, and one of them takes over the same chat with the whole conversation in front of them.

Below is one visit from start to finish, from the first question to the log the office gets each night.

How it works

The screenshots come from a private demo copy of the chat service. The visitors, agents, email addresses and phone numbers in them are made up. The demo ran without the AI service and sent no email, so the answers shown are Sarah’s built-in replies and the emails are examples composed by the service’s own code.

Step 1: A visitor opens the chat

Who: any visitor, on any page, on a computer or a phone.

  • The Need help? button opens the chat window, and Sarah greets the visitor.
  • Three quick actions sit under the message box: Start a quote, Chat with a live agent, and Have an agent call me.
  • Have an agent call me opens a short form for a name, phone number and topic. The website’s own form sends it to the office, with the site’s usual spam protection.

What happens automatically

  • Each visitor gets a random, private chat ID, so nobody can guess or open someone else’s chat.
  • Replies appear without reloading the page, and the conversation follows the visitor from page to page.
  • Staff can see every visitor in the portal, including people who are only browsing.
Insurance agency home page with the chat window open. The assistant gives the office hours, says the office is closed right now and when it reopens, and gives the address. Three quick actions sit under the message box.
The chat open on the agency’s home page. Sarah gives the office hours, says the office is closed right now and when it reopens, and gives the address. From a private demo copy of the chat.

Step 2: Sarah answers from the agency’s own information

Who: Sarah, automatically.

  • In live service, an AI language model writes Sarah’s answers. It works from the agency’s own material: agency facts, who handles what, the published FAQ, and eleven topic guides, such as personal auto, home and renters, workers’ comp, and employee benefits.
  • For each question, Sarah gets only the guides that match it.
  • Office hours, the office address, whether the office is open right now, and carrier payment and claim links come from fixed rules.
  • Sarah keeps answers short and in plain text, stays on insurance, and ignores attempts to change her instructions. She never invents prices, staff, carriers, discounts or policy terms, never decides whether something is covered, and never promises approval or timing.
  • When she isn’t sure, she offers a live agent. If anyone may be in danger, she tells them to call 911 first.

What happens automatically

  • Before a reply reaches the visitor, a filter checks it for a dollar amount, a promise of coverage, an email address or an owner’s name. If it finds one, the whole reply is replaced with a polite hand-off to a licensed agent and the office phone number.
  • If the AI service is unavailable, Sarah falls back to short built-in answers, so the chat never goes silent.
Close-up of the chat window. A visitor asks about life insurance and the assistant names the kinds of coverage the agency handles. Below are the message box and the buttons Start a quote, Chat with a live agent and Have an agent call me.
A question about life insurance, with the message box and quick actions below. The demo ran without the AI service, so this is one of Sarah’s built-in answers. Demo data. Visitors and agents are made up.

Step 3: Sarah takes a quote request, step by step

Who: the visitor and Sarah. The office receives the request.

  • When a visitor mentions a quote or asks what insurance costs, Sarah offers to take the request in the chat. It takes about 2 minutes, and she asks yes or no before starting.
  • The questions are fixed, so every request has the same fields as the website’s quote form: personal or business, the kind of coverage, two to four questions that fit it, anything else the team should know, then name, phone, email and ZIP.
  • Everyday words work. “Car” means Auto, and “workers comp” means Workers Compensation.
  • Sarah reads everything back and asks, “Shall I send this to the JPG Insurance team?” Nothing goes out until the visitor says yes, and typing “cancel” stops the request.

What happens automatically

  • The office gets an email with every answer. Hitting Reply goes straight to the visitor.
  • The visitor gets a short confirmation email in fixed wording.
  • Sarah never asks for sensitive details. She asks for ages, not birth dates, and removes anything shaped like a Social Security number.
  • Hourly limits on quote emails keep the chat from being misused. If a limit is reached or email fails, Sarah says so and gives the office phone number.
Chat on a phone. The assistant offers to take a workers compensation quote request in the chat, says it takes about 2 minutes, and asks yes or no before starting.
A visitor asks for a workers’ comp quote in their own words. Sarah offers to take the request and asks first. Demo data. Visitors are made up.
Top of an example email labelled Example email, not sent: a new quote request from the chat, with the coverage type and the visitor's name, phone, email and ZIP code. Reply-To is set to the visitor.
The top of the office email, with the coverage and the visitor’s contact details. The full email lists every answer. Example email composed by the chat service’s own code from the demo answers. Never sent.

Step 4: The visitor asks for a person

Who: the visitor.

  • The visitor taps Chat with a live agent, or types something like “real person” or “talk to someone”.
  • Sarah replies, “Please wait while I try and connect you with a live agent.” The visitor stays in the same window.
  • If they keep typing while they wait, Sarah keeps answering.

What happens automatically

  • Limits on live agent requests from one internet address keep the queue from being flooded. A chat that is already waiting can’t be queued twice.
Looping clip: a visitor on a phone asks the chat assistant about employee benefits and asks for a person, the request shows up in the agent portal, an agent takes over, and the two trade messages.
A 21-second clip. A visitor on a phone (left) asks for a person, the request appears in the agent portal (right), and an agent takes over the same chat. Demo data. Visitors and agents are made up.

Step 5: Agents get an alert

Who: the agency’s staff, signed in to the portal.

  • Staff sign in to the portal with their company accounts. Only the company’s own accounts are accepted.
  • The waiting visitor jumps to the top of Website Visitors with a red Needs Agent! badge, and the portal plays an alert sound.
  • The portal keeps checking for changes in a background tab, so it keeps alerting while staff work in other windows.

What happens automatically

  • If nobody answers within a minute (the default), an alert email goes to the staff list with the visitor’s last few messages and a link to the portal.
  • If there’s still no answer, Sarah tells the visitor no agents are free and asks for their name, phone number, email and a short note. Their reply is saved for staff and sends a second alert.
  • Limits on alert emails keep a busy day from flooding inboxes. The visitor still shows as waiting in the portal.
Live agent portal. A visitor marked Needs Agent sits at the top of the visitor list. Their conversation with the assistant is open, ending with a request for a real person, with Ask Team and Accept and Take Over buttons above it.
The portal when a visitor asks for a person. Their chat with Sarah is open in full, with Ask Team and Accept & Take Over at the top. Demo data. Visitors and agents are made up.

Step 6: An agent takes over

Who: an agent.

  • The agent opens the visitor and sees everything so far: Sarah’s answers, any quote in progress, and the request for a person.
  • Ask Team drafts “Is anyone available to take over Website Visitor #…?” in Agent Chat, with a link that opens that visitor.
  • Accept & Take Over makes the agent the owner. Sarah steps back, and any quote she was collecting stops so the agent can finish it.
  • The visitor sees the agent’s greeting in the same window, marked Live.

What happens automatically

  • Only the owning agent can reply. Other agents see who is handling the chat, and the agent list shows who each agent is chatting with.
  • Another agent can ask for control. The owner has 60 seconds to approve, and control passes on its own if they don’t answer or have been offline for a minute.
Live agent portal after the agent accepted the chat. The agent's greeting and replies follow the assistant's earlier answers, with Transfer and End Live Chat buttons at the top and the team chat on the left.
After Accept & Take Over. The agent’s replies follow Sarah’s earlier answers, with Transfer and End Live Chat at the top. On the left, the team chat shows two agents agreeing who takes it. Demo data. Visitors and agents are made up.

Step 7: A teammate takes the chat

Who: agents.

  • Agent Chat has a Team thread that every signed-in agent sees, and private threads between two agents.
  • To transfer a chat, the agent picks an online teammate. The menu shows how many chats each teammate already has.
  • The teammate gets Accept and Decline buttons with a 60-second countdown. If they don’t answer, the chat stays with the first agent.
  • On Accept, the new agent introduces themselves in the visitor’s window. The history stays, so the visitor never has to repeat themselves.

What happens automatically

  • Agent Chat keeps the last 24 hours of messages. Private messages go only to the two agents in the thread.
A second agent's portal showing a transfer request with Accept and Decline buttons and a countdown, a private chat between the two agents about the hand-off, and the second agent's own live chat.
The teammate’s portal: the transfer request with Accept, Decline and a countdown, and the private chat where the two agents agreed on it. Demo data. Visitors and agents are made up.
The visitor's chat window after a transfer. A new agent, marked Live, introduces themselves and says they are taking over from the first agent, below the earlier messages.
The visitor’s side. The new agent says they’re taking over, below the earlier messages in the same window. Demo data. Visitors and agents are made up.

Step 8: The live chat ends

Who: the agent.

  • End Live Chat posts a closing message with the office phone number.
  • The visitor goes back to Sarah, so a new question gets an answer right away.

What happens automatically

  • A visitor who goes quiet for 20 minutes leaves the portal and is written to that day’s visitor log. Leaving a tab open doesn’t count as activity.
  • If the service restarts, everyone still listed is written to the log first.
Chat on a phone after the agent ended the live session. The assistant says the session has ended and gives the office phone number, and the quick actions are back.
The visitor’s phone after the agent ends the session. Sarah is back, with the quick actions. Demo data. Visitors and agents are made up.

Step 9: The office gets a nightly visitor log

Who: automatic. It goes to the people set up to receive it.

  • About half an hour after midnight Pacific time, the previous day’s log arrives by email.
  • It starts with the day’s totals: visitors, how many chatted, live agent requests, chats handled by an agent, quotes sent through Sarah, and visitors who only browsed.
  • Every conversation follows, with times and agent names.

What happens automatically

  • Visitor text is labelled as untrusted, and links are removed.
  • If email fails, it tries again every 30 minutes. If the service was down, it catches up on up to 7 missed days.
  • Only the service itself can read the log files, and they’re deleted after 90 days by default.
Top of an example nightly visitor log email, labelled Example email, not sent: the day's totals for visitors, chats, live agent requests, chats handled by an agent, quote requests and visitors who only browsed.
The top of the log: the day’s totals and the start of the first conversation. Example email composed by the chat service’s own code from the demo visitors. Never sent.

What we built

  • Sarah, a chat assistant that answers from the agency’s own information and takes quote requests in the chat.
  • A live agent portal with company sign-in, visitor and agent lists, sound alerts, take over, transfer, and team and private chat.
  • Alert emails when a visitor is left waiting, and a nightly visitor log.
  • A rebuilt WordPress website, with old addresses redirected, accessibility fixes, a cookie notice with equal Accept and Reject buttons, and spam protection on every form.
  • A new server, set up and tested before the switch, with tighter firewall rules, password logins turned off for server access, and two-step sign-in on the server’s administrator login.

Results

These come from the website part of the project. We list results only where we measured them.

  • Homepage, desktop: main content 3.4 s → 1.0 s. Data downloaded before the page finished loading: 1.18 MB → about 340 KB. Both measured on the test copy.
  • Accessibility: axe, an automated accessibility checker, found no WCAG 2.1 level A or AA problems on the sample pages we re-checked.
  • After the switch, a crawl of all 82 pages found 0 broken links and 0 broken images.
  • All 81 addresses found on the old site land on a working page.

Next case study: Walker Home Pros, from request to report
All our work

Tell us what you're working on.

A website chat, a network you're unsure about, or a task that eats your week.

Book a call

Book a call

Let's set up a call

Two quick steps: what you need, then how to reach you.

Fields marked with an asterisk are required.

Please don't send passwords or access details through this form. We'll ask for what we need over a secure channel.

This site is protected by reCAPTCHA and the Google Privacy Policy (opens in a new tab) and Terms of Service (opens in a new tab) apply.

Sending this doesn't start any work. We'll reply to set up a call.