Selda on your website
Everything else in Selda goes outward. This is the one thing that faces in: a small launcher in the corner of your own site. A visitor taps it, picks what they came for, and the enquiry lands in Selda as a lead with a reply already drafted and waiting for you.
One script tag. It works on any site that lets you add one.
Why it offers choices and never chats
A model answering live on your website is a sentence nobody can take back, written on a page Selda does not own, in your name. So nothing in the request path calls a model.
Selda proposes the options once, from your Brain, when you press the button in settings. You edit them and save. From that moment a visitor only ever reads text a person approved. Free text is allowed, and it reaches you unanswered rather than being replied to by a machine that is guessing.
A visitor is told they are using an automated form before they type anything. That line is not a setting.
Set it up
Selda Inbound is an add-on. If your workspace does not have it yet, ask support and it is switched on.
- Open Settings → Apps in the app and find Selda Inbound.
- Press the button that asks Selda to propose the options. It reads your Brain and suggests what people are likely to be coming for. A workspace with an empty Brain gets an honest “there is nothing here yet” and a reason, never four invented services under your company name.
- Edit the options, the headline and the launcher label. Pick which reply channels you offer: email, WhatsApp, phone, or a booking link.
- Optionally add a Home tab: a background picture, your logo and one sentence. Only tabs with something behind them are shown.
- Save. Nothing reaches a visitor before you do.
- Copy the embed snippet from the panel.
The snippet looks like this, with your own key in it:
<script src="https://.../widget/w.js?k=YOUR_KEY" async></script>Copy the exact line from the app rather than typing this one. The key is what identifies your workspace.
Paste it just before the closing </body> tag. The loader adds itself to the page body, so a footer slot is the one place that works everywhere.
Where to paste it
WordPress
There is a Selda plugin for WordPress, and it does a different job. Selda for WordPress captures the forms you already have (Contact Form 7, WPForms, Gravity Forms, Elementor Pro) and sends the submissions to Selda. It does not place this widget. If you want both, install the plugin and paste the snippet below; they do not collide.
Do not edit theme files directly if you can avoid it, a theme update overwrites them.
The way that survives updates: install a header and footer snippet plugin (WPCode and “Insert Headers and Footers” are the common ones), open its settings, and paste the snippet into the Footer or Body end box. Save. That is the whole job.
With Elementor Pro: Templates → Custom Code → add code, set Location to End of <body>, paste, publish.
Without a plugin, if you run a child theme: Appearance → Theme File Editor → footer.php, paste before </body>. In a child theme only. In the parent theme the next update deletes it.
On WordPress.com (the hosted service, not self hosted) custom scripts need the Business plan. On lower plans there is no way to add one, and no plugin changes that.
Check it worked by opening your site in a private window. The launcher sits in the bottom right.
Webflow
Project settings → Custom code → Footer code, paste, save, publish. Custom code needs a paid site plan.
Shopify
Online Store → Themes → the three dots → Edit code → layout/theme.liquid. Paste before </body>, save. Duplicate the theme first if you want a way back.
Squarespace
Settings → Advanced → Code Injection → Footer, paste, save. Code injection needs a Business plan or above.
Wix
Settings → Custom code → Add code, set it to load on all pages, place it in Body end.
Framer
Site settings → General → Custom code → End of <body> tag, paste, publish.
Next.js
// app/layout.tsx
import Script from "next/script";
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html>
<body>
{children}
<Script src="https://.../widget/w.js?k=YOUR_KEY" strategy="afterInteractive" />
</body>
</html>
);
}Plain HTML, or anything else
...your page...
<script src="https://.../widget/w.js?k=YOUR_KEY" async></script>
</body>If your site has a strict Content Security Policy
The widget is one script that loads one iframe, both from the origin in your snippet. Allow that origin in script-src and frame-src. Nothing else is fetched.
What the visitor gets
- A launcher in the bottom right, 380px panel on a desktop.
- On a phone under 480px the panel is the whole screen, edge to edge, and it follows the keyboard rather than hiding the send button behind it.
- Your CSS cannot reach into the widget and the widget’s cannot reach into your page. It is an iframe on its own origin, which is what makes it safe to leave running on a site nobody at Selda has seen.
- Powered by Selda sits at the bottom of the panel.
Where the enquiry goes
Into the same door every outside system already reports through, so there is no second lead path:
visitor → widget → lead (source: inbound) → draft waiting in your Sales InboxSomebody who filled in a form is waiting, so the draft is prepared immediately. It is a draft. The widget cannot cause a send, the same absolute as everywhere else in Selda: nothing goes out until you press it.
Limits and safety
- 60 enquiries per minute per widget, and 6 per minute per visitor. A refusal is an explicit “wait a moment”, never a silently dropped enquiry. The ceilings exist because every enquiry drafts a reply, which spends your credits.
- Allowed origins. You can restrict which sites may submit with your key. Leave it empty and any page carrying the snippet works, which is what you want while you are testing.
- Turning the widget off in the panel stops it everywhere immediately. You do not have to touch your site again.
Next
- Selda in Telegram, the same machine from your phone
- Connect your app, if you would rather push enquiries from your own backend
- Security and privacy