GLE Widget · Playground
Each test page imitates a globallawexperts.com template and loads the production widget loader. The concierge reads the page — article topic, lawyer profile, practice area — and adapts its opening and intake flow. Every conversation is traced in Langfuse and visible in the dashboard.
Auto-detected from og:type=article, description, article:section and breadcrumbs — zero configuration on the live site.
Auto-detected from the schema.org Person JSON-LD (name, firm, city, practice areas). The concierge offers to connect with that lawyer.
Detected from the /lawyer_practice_area/<slug>/ URL on the live site (passed explicitly here).
Cold start: nothing is known about the visitor.
One tag before </body>. Context is detected automatically from the page's meta tags and JSON-LD (RankMath already emits everything needed). Add data-page-context only to override.
<script src="https://ai.i.floo.one/widget.js" defer></script>
Explicit override (e.g. on a landing page without structured data):
<script
src="https://ai.i.floo.one/widget.js"
defer
data-page-context='{"type":"practice_area","practiceArea":"immigration","country":"Germany"}'
></script> JS API: GLEConcierge.open(), .close(), .on('contact_submitted', fn). Events also fire as gle-concierge CustomEvents on window for analytics. Attributes: data-position, data-color, data-auto-context="false".