Install GiovChat. Keep the rest in the dashboard.

A script on the web. One component in React Native and Expo. Appearance, domains, and GiovBot stay out of the codebase.

Website widget install beside a code editor

Pick the surface you are shipping.

Website and WordPress share the widget script. React Native and Expo share @fegig/giovchat-rn. Next.js and other SPAs load that same script after the client mounts.

Website widget

Paste this before the closing body tag. Replace the tenant id from Widget settings. Approve the domain before the launcher will show.

widget.giovchat.app

<script src="https://widget.giovchat.app/{tenant-id}" async></script>

After the snippet is live

01

Approve the domain or app

The launcher only shows on properties you allow in the dashboard.

02

Tune greeting and theme there

No second deploy for copy, launcher, or visitor capture.

03

Same tenant, same inbox

Web and mobile conversations join one operator queue.

Identify the visitor you already know

On mobile, pass a contact object so the pre-chat form can skip fields you already have. On the website, visitor capture is configured in the dashboard.

React Native / Expo contact

<GiovChat
  tenantKey="YOUR_TENANT_KEY"
  contact={{
    userId: currentUser.id,
    email: currentUser.email,
    firstName: currentUser.firstName,
    lastName: currentUser.lastName
  }}
/>
GiovChat mobile chat sheet

API on Advanced

Expanded API access is on Advanced: identify visitors, sync attributes, and connect the rest of your stack. The default API host is https://api.giovchat.app. Reference docs will land here as endpoints stabilize — we will not invent routes.

Get a tenant id and ship the snippet.

Create a workspace, copy the install for your surface, and keep operators in one inbox.