Guide

How to add free live chat to SvelteKit

Add a live chat widget to your SvelteKit site in five minutes by placing a script tag in src/app.html. No subscriptions or seat limits.

JH
Jerry Holt
July 25, 2026 · 7 min read

The short version

  • The chat script must be placed in src/app.html to avoid SvelteKit hydration issues.
  • LastWorker chat is free forever with no limits on agent seats or conversation history.
  • AI features are disabled by default and only charge $0.04 per generated reply when enabled.
  • Seven of the twelve major chat tools limit how many staff members can use their free tier.

To add free live chat to SvelteKit, open src/app.html and paste the script tag inside the body tag, immediately before %sveltekit.body% closes. This specific location ensures the widget loads correctly without being interrupted by the framework's hydration process. LastWorker provides this widget for free with no limits on agents or conversations and no monthly subscription fees.

How do I install the widget step by step?

I have spent eighteen years running operations for service businesses. I have hired receptionists for dental practices and written phone scripts at 2am for restaurant groups. I know that when you are trying to get a piece of technology to work, you do not want a philosophy lesson. You want the steps.

First, you need to locate the correct file in your SvelteKit project. SvelteKit uses a template file for the entire application. That file is located at src/app.html. This is the skeleton of your site.

Second, you need to paste the following script tag inside the body section. You should place it after the %sveltekit.body% placeholder. This ensures the rest of your site loads before the chat widget initializes.

<script src="https://lastworker.com/widget.js" data-agent-id="YOUR_AGENT_ID" async></script>

Third, you must restart your development server. While SvelteKit is excellent at hot reloading components, changes to the app.html file often require a fresh start to reflect correctly in the browser.

Why does the script belong in app.html?

Every other guide I have read leaves out the most important detail about SvelteKit. SvelteKit is a framework that uses hydration. This means it takes static HTML and turns it into a functional application in the user's browser.

If you try to put a raw script tag inside a regular .svelte component, the compiler might ignore it or the hydration process might break it. I have seen developers spend hours trying to wrap chat widgets in onMount functions or custom Svelte actions. It is a waste of time.

The app.html file is the only place in a SvelteKit project that does not get hydrated away. It is a safe harbor for third party scripts. By placing the code here, you are telling the browser to load the widget as a global element that stays put while the user navigates between different pages on your site.

What makes this different from other chat tools?

I have sat at a front desk with eleven different browser tabs open. I have watched leads die in a voicemail box because the software we used had a limit on how many people could log in at once. Most software companies build their business on those limits.

I looked at twelve major competitors in this space. Four of them, including Zendesk and Intercom, do not even offer a free plan. They want a credit card before you can even see the dashboard. Seven of the remaining eight tools put a strict cap on your staff. Crisp and Chatwoot limit you to two seats. Freshdesk and HubSpot also stop you at two.

If you run a regional dental practice with eleven front desks, a two-seat limit is useless. You would have to pay $19 or $25 per month for every single person just to let them answer a chat. LastWorker is different. We provide the shared inbox, contacts, tickets, and the knowledge base for free. There is no subscription and no per-seat fee. You can have fifty people in the dashboard and it will still cost zero dollars.

How does the pricing work for phone and SMS?

I have worked with shops where the owner was terrified of the monthly software bill. They would see a $300 charge and wonder if the tool actually generated $300 in value that month. We decided to stop doing that.

At LastWorker, live chat and email support are free forever. You get unlimited conversations and unlimited teammates. You do not even have to put a credit card on file to use them. We only charge for the things that cost us money to provide.

If you want a dedicated phone number, it is $1 per month. If you want the AI to answer a phone call, it is $10 cents per minute. That price includes the carrier costs. If you want to send an outbound SMS, it is $3 cents per segment. Inbound SMS messages are free.

This allows a small business to have the same tools as a massive corporation without the fixed overhead. You pay for what you use. If you have a slow month at the restaurant, your bill reflects that. If you are a solo contractor who only needs one phone number, you are not subsidizing a giant enterprise.

Can I turn off the AI features?

I have a healthy skepticism for technology that tries to be too smart. I have seen AI generate weird answers that frustrate customers. That is why AI is off by default at LastWorker.

When you install the widget on your SvelteKit site, it is a manual tool. A human answers the messages. Nothing is generated by a machine unless you choose to turn that feature on. If you do decide to use the AI for chat or email replies, we charge $4 cents only when it actually generates a response.

This puts the control back in your hands. You can use the free ticketing system and the free knowledge base to help your team work faster. You can use the saved replies to answer common questions without typing them out every time. These tools are free. You only move to the paid AI features when you decide the volume of work justifies the cost.

Why is a free help center included?

When I ran operations for a restaurant group, we spent half our day answering the same three questions. People wanted to know about parking, holiday hours, or gluten-free options. I have watched good employees burn out because they were stuck on the phone repeating the same script over and over.

A public help center solves this. We include a hosted knowledge base in our free tier. Most companies charge extra for this or hide it behind a "Pro" plan. Zoho Desk, for example, does not even offer live chat on their free plan. They only give you email ticketing.

By providing a free help center and free live chat together, we allow you to deflect those repetitive questions. You can write an article once and send the link to a customer in the chat. This saves your team time and gives the customer an answer in seconds instead of minutes.

How do I handle multiple locations?

In the dental practice I worked with, we had eleven different front desks. Managing those as separate silos was a nightmare. One office would be overwhelmed while another had three people standing around.

The LastWorker shared inbox lets you see everything in one place. Because we do not charge per seat, you can give every single employee access. You can see which tickets are open and who is currently talking to a customer.

This transparency is what keeps a business from losing leads. You no longer have to wonder if someone followed up on a voicemail or an email from three days ago. The history is there, it is unlimited, and it does not cost you anything to keep it.

What is the catch?

People often ask me how we can offer so much for free. They expect a "powered by" badge that they have to pay to remove, like the one Tawk.to puts on their widget. Or they expect the widget to stop working after 50 conversations like Tidio.

There is no catch. We want to be the infrastructure for your business operations. We believe that if we provide the best free tools for chat and email, you will eventually want to use our AI phone agents or our SMS features.

We do not invent features or make claims we cannot back up. We do not have hidden fees. We do not have a "Starter" plan that you eventually outgrow. We provide the tools I wish I had when I was writing phone scripts at 2am. You can get your SvelteKit site connected in five minutes, and you will never get a bill for the seats your team occupies.

Frequently asked questions

Where do I put the live chat script in SvelteKit?

You should place the script tag inside the src/app.html file. It needs to go inside the body tag, specifically right before the %sveltekit.body% placeholder closes.

Is there a free live chat for SvelteKit with no seat limits?

Yes. LastWorker provides free live chat with unlimited agents and conversations. Unlike tools like Crisp or Chatwoot which limit you to two seats, we do not charge per user.

Will the chat widget slow down my SvelteKit site?

The widget uses an async script tag. This means it loads without blocking the rest of your site's content, maintaining the performance benefits of the SvelteKit framework.

JH
Jerry Holt
Customer Operations Lead, LastWorker

Jerry Holt has spent eighteen years running customer operations for service businesses, from a two-location restaurant group to a regional dental practice with eleven front desks. He has hired receptionists, written phone scripts at 2 a.m., and watched good leads die in a voicemail box. These days he writes about what actually moves the needle on the phones, in the inbox, and over chat, and where AI earns its place versus where it gets in the way.

Stop letting customers go to voicemail.

Set up in about fifteen minutes. Live chat and email are free forever, so there is no bill to weigh up before you try it.