Two lines. The widget carries its own styles in a shadow root, so nothing on the host page can break it and it cannot leak into your layout.
<script src="support-widget.js"></script> <redesk-support></redesk-support>
Set live: true and give it your endpoints. Signatures match the mock exactly, so nothing else changes.
ReDeskSupport.configure({
live: true,
baseUrl: 'https://api.redesk.ai',
headers: { Authorization: 'Bearer ' + token },
user: { name, email, org, projectRef },
endpoints: {
searchArticles: { method: 'GET', path: '/v1/support/articles' },
createTicket: { method: 'POST', path: '/v1/support/tickets' },
listTickets: { method: 'GET', path: '/v1/support/tickets' },
getTicket: { method: 'GET', path: '/v1/support/tickets/:id' },
replyTicket: { method: 'POST', path: '/v1/support/tickets/:id/replies' }
}
});If your backend does not look like REST — Zendesk, Freshdesk, an internal gateway — hand it one function and the widget stops caring.
ReDeskSupport.configure({
transport: async (name, { params, body }) => {
if (name === 'createTicket') return myGateway.open(body);
if (name === 'listTickets') return { tickets: await myGateway.mine() };
// searchArticles, getTicket, replyTicket, uploadAttachment,
// agentAvailability
}
});Every meaningful action fires a DOM event, so analytics or a CRM write needs no changes inside the widget.
document.addEventListener('redesk-support:ticket-created', (e) => {
analytics.track('Support ticket created', e.detail.ticket);
});
// also: :open :close :ticket-replied :article-viewed
// programmatic: ReDeskSupport.open('new')Short modules, certification where it matters, and crew training in four languages. Two live sessions a year are included on Enterprise.
How a site becomes a design, an order, an install and an asset — and why that sequence matters.
Working the checklist offline, capturing evidence that passes review first time, raising a snag properly.
Writing an install down once, setting evidence requirements, and configuring payment gates.
Rate cards, approval thresholds, margin floors and reading the project P&L honestly.
Authentication, pagination, webhook signatures and the sandbox, with working examples.
Enforcing SSO safely, provisioning from your directory, and streaming audit events to a SIEM.
The same queue as the widget, with slower routing.
Invoice corrections, GST details, plan changes.
Acknowledged within 24 hours. Safe harbour applies.
New workspaces, plan sizing, procurement paperwork.
Production down only. Please raise the ticket too.