01
Approve the domain or app
The launcher only shows on properties you allow 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 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.
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>01
The launcher only shows on properties you allow in the dashboard.
02
No second deploy for copy, launcher, or visitor capture.
03
Web and mobile conversations join one operator queue.
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
}}
/>
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.
Create a workspace, copy the install for your surface, and keep operators in one inbox.