Overview
Custom Scripts let you inject custom JavaScript and CSS into three surfaces of the platform:
- Dashboard: the panel used by your support team.
- Portal: the public Help Center site.
- Widget: the chat embedded on your website.
This lets you add behaviors (e.g., track events, show a notice) or styling tweaks (e.g., hide/highlight elements) without changing the platform's code. It's a powerful feature, which is why it lives in platform administration.
Prerequisites
- Operator/super administration access to the platform.
- JavaScript/CSS knowledge (the script runs in the browser of whoever uses the chosen surface).
- An environment to test before publishing (ideally outside production).
Step by step
- Access the platform administration panel and open the Custom Scripts area.
- Create a new script with: surface (dashboard, portal or widget), type (JS or CSS) and when it should run (run on).
- Paste your code. In JS scripts, use the context object (
ctx) provided by the platform to interact safely with the surface. - Teardown: scripts that add elements/listeners should remove them when requested, to avoid accumulating side effects in SPA navigation.
- Save, enable and test on the matching surface before rolling out to everyone.
Settings & options
- Surface: choose which environment the script runs in (dashboard, portal or widget).
- Type: JavaScript (behavior) or CSS (style).
- When to run (run on): controls the execution moment/context.
- Active/Inactive: turn a script on or off without deleting it.
Use cases
- Add a temporary notice/banner on the team dashboard.
- Hide or restyle a portal element to match your brand.
- Fire an analytics event when the widget opens.
Tips, limits & best practices
- Keep scripts small and idempotent; always implement the teardown.
- Avoid heavy external dependencies β they affect the surface's performance.
- Version your code outside the platform and document what each script does.
- Because it's code injection, treat it as high impact: review before publishing.
Troubleshooting
- The script doesn't run: check the chosen surface, that it's active, and the run-on moment.
- Something broke on screen: disable the script and use the browser console to see errors.
- The effect duplicates on navigation: the teardown is missing β remove added elements/listeners.
- I can't find the Custom Scripts area: it's in platform administration β ask the installation owner for access.