EasyStarter logoEasyStarter

Live Chat

Optional Tawk.to live chat widget for the web app

Overview

EasyStarter can load a Tawk.to chat bubble on the web app. The widget is opt-in: when the IDs are blank, no Tawk script is requested.

The free Tawk.to plan has no agent, conversation, or history caps. The widget shows Powered by tawk.to until you pay for their whitelabel add-on.

Environment Variables

These are public VITE_ vars. They are embedded in the client bundle. Do not put them in apps/server/.dev.vars.

VariablePurpose
VITE_TAWK_PROPERTY_IDTawk property ID from the embed snippet
VITE_TAWK_WIDGET_IDTawk widget ID from the embed snippet

Set both in:

  1. apps/web/.env.development for local dev
  2. apps/web/.env.production for local production builds (gitignored)
  3. apps/web/wrangler.jsonc vars for Cloudflare deploys and GitHub-connected builds

Both values must be present. If either is empty, the widget stays disabled.

VITE_* values are baked into the client bundle at build time. Cloudflare dashboard Worker variables only affect runtime unless they are also configured as build variables. If wrangler.jsonc already has the IDs, a GitHub Cloudflare Build does not need the dashboard.

Get the IDs

  1. Create a free account at tawk.to.
  2. Create a property for your site.
  3. Open Administration → Channels → Chat Widget and copy the embed snippet.
  4. The script URL looks like https://embed.tawk.to/{PROPERTY_ID}/{WIDGET_ID}.
VITE_TAWK_PROPERTY_ID=64abc123def4567890abcdef
VITE_TAWK_WIDGET_ID=1hxxxxxxx

Behavior

  • Landing, docs, blog, legal, and dashboard pages show the bubble.
  • Auth pages (/auth/sign-in, /auth/sign-up, and locale-prefixed equivalents) hide it so it does not cover forms.
  • Signed-in users are sent to Tawk as name and email so agents can see who is chatting.
  • Sign-out resets the widget so the next visitor is not tagged as the previous user.
  • Native apps are not wired. This is a web widget only.

Verification

  1. Leave both IDs blank, run pnpm dev:web, and confirm DevTools → Network has no embed.tawk.to requests.
  2. Fill both IDs, restart the web app, and confirm the bubble on the landing page.
  3. Open /auth/sign-in and confirm the bubble is hidden.
  4. Sign in, open the dashboard, and confirm the Tawk inbox shows the user email.

On this page