Installing the script
Seny ships as a single <script>tag. There's no SDK to install, no npm package, no build step. The runtime is about 35 KB gzipped and loads asynchronously so it never blocks your page.
Floating button (default)
The simplest install — paste one line anywhere before the closing</body> tag. The agent renders a floating button in the corner you configured under Configure → Appearance.
<script src="https://app.seny.ai/w/wgt_abc123.js" async></script>Inline embed
If you'd rather have the agent appear directly in your page layout (instead of floating in a corner), switch the widget to inline mode under Configure → Appearance, then add a target container where you want it to render.
<div data-seny-widget></div>
<script src="https://app.seny.ai/w/wgt_abc123.js" async></script>The widget takes over the container with a full-width conversation panel. Useful for landing pages, pricing pages, or a dedicated "Talk to us" section.
Framework-specific examples
Next.js
// app/layout.tsx
import Script from "next/script";
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://app.seny.ai/w/wgt_abc123.js"
strategy="afterInteractive"
/>
</body>
</html>
);
}WordPress
Paste the script tag into your theme's footer template, or use a plugin like Insert Headers and Footers and add it to the footer section.
Shopify
In your theme editor, open theme.liquid and paste the script tag just before </body>.
Webflow
Project settings → Custom code → Footer code → paste the script tag and publish.
Content Security Policy
If your site has a CSP, you'll need to allow Seny's script origin and WebSocket endpoint:
script-src 'self' https://app.seny.ai;
connect-src 'self' https://app.seny.ai wss://seny-broker-499745110623.us-east1.run.app;
media-src 'self' data: blob:;Verifying the install
Once the script is live, reload your site — the widget should appear. A healthy boot is silent in the browser console; if the widget doesn't show up, check the console for [seny] warnings, confirm the script URL is reachable, and check that your agent's status is active or draft in the dashboard.