Widget

Front-door support, drop-in

A single script tag, RTL-aware, theme-aware, opens a real ticket conversation. No third-party iframe sprawl.

The widget is the single fastest path from a confused customer to a ticket in your queue. One script tag, no iframe sprawl, no third-party host, no build step required. It speaks Arabic and English natively, picks up your site’s theme, and opens a real ticket — not a “we will get back to you” form.

What you embed

<script
async
src="https://cdn.reqdesk.support/widget/latest/index.iife.js"
data-tenant="your-workspace-id"
data-locale="auto"
></script>

That is the whole integration. The data-tenant attribute points at your workspace; data-locale="auto" follows the page’s <html lang>. Pin to a specific version (e.g. widget/1.3.0/index.iife.js) when you want to lock the surface.

Why a script tag, not an iframe

Iframes break in the worst ways: they cannot inherit your theme, they cannot match your typography, they cannot share a scroll position, and they punch holes in your CSP. A script tag rendering into the host page can be styled, themed, RTL-flipped, and reasoned about. Cloudflare Turnstile keeps the abuse vector closed.

RTL is native, not bolted on

The widget uses CSS Logical Properties throughout. Switching the host page to dir="rtl" flips the entire surface natively — no JavaScript hooks, no second stylesheet. Arabic typography (Noto Sans Arabic) loads only when the locale needs it.

Versioning and the CDN

Every published widget version sits at cdn.reqdesk.support/widget/<version>/index.iife.js with a one-year immutable cache header. The latest alias updates on each release. We retain a curated set of older versions explicitly — bumps never silently break sites that pinned to a specific release.