Agent config

Customise how your AI sales agent looks and behaves.

Your install snippet

Paste this on your website. The data-tenant key links every chat, lead, and document to your account only.

Loading…

Displayed in the chat header and greeting messages.

A square image shown as the agent avatar in the chat, until the live video avatar connects. PNG, JPG, GIF or WebP, up to 5 MB.

None

Or use one of ours

Picking a face fills in the name too — you can change it straight after.

Preview yesterday's report — opens the real email without sending it.

The real thing: a GPU box lip-syncs real footage of the person to every sentence she actually says. Everything in the stack is free and self-hosted — the GPU is the only cost. Leave empty and nothing changes. When it's reachable it takes priority over everything below; when it isn't, the chat silently falls back to the looping clips.

Choose an avatar

More avatars are on the way — the chat falls back to the looping clips below whenever the GPU isn't reachable.

How to set this up

Rent a GPU (an RTX 4090 or L40S is plenty), run bash scripts/runpod_setup.sh in avatar-service/, then build the avatar once with python scripts/build_avatar_pack.py ./sources.

Paste the pod URL above and pick an avatar. Until the GPU is running, the chat keeps using the looping clips below.

Full walkthrough, costs and licence notes: docs/avatar-photoreal-gpu.md and docs/avatar-pack.md.

Two short looping clips of a real person. The chat plays the idle clip and crossfades to the talking one whenever the agent speaks — photoreal, with no GPU, no per-minute cost and nothing to run out of. Used instead of the flat photo whenever the paid video avatar isn't available, and it takes priority over the 3D model below.

How to make the two clips

Generate them from the agent photo (free) — SadTalker on Google Colab's free GPU turns one photo into both clips in ~10 minutes: blinking idle face + moving lips. Step-by-step guide: docs/avatar-photoreal-free.md in the repo (start with python scripts/make_avatar_audio.py).

Or record them — 10–20 seconds each on a phone, same seat, same framing, same lighting. Idle: look at the lens, blink, breathe. Talking: read anything at a natural pace. Start and end in the same pose so the loop doesn't jump.

Or generate via a trial — one HeyGen/D-ID free credit renders a talking clip you loop forever.

Or use stock — Pexels and Pixabay have free talking-head footage.

Mute them and keep them small (a few MB). Drop the files in content/agent/ and reference them as /agent-assets/<file>.mp4, or paste any public URL.

A .glb head whose lips move with what the agent says — used whenever the paid video avatar isn't available, instead of the flat photo. Leave blank to keep using the photo.

To try it right now, paste this public test head: . For your own, create one free at Ready Player Me and add ?morphTargets=Oculus%20Visemes,ARKit to the URL, or export a .glb with ARKit blend shapes from any tool. The model must be served with CORS enabled.

Describe how the agent should speak, e.g. "professional but friendly, concise".

The first message visitors see when the chat widget opens.

Short video shown in the chat header instead of a photo.

BCP-47 language tag, e.g. en, fr.

Your Calendly / Cal.com link — opens as an inline calendar in the chat and is used in follow-up emails.

What the AI shows when a visitor asks for a demo. In Slides mode it displays the specific slide image that matches the question; in Video mode it plays your demo video. Manage your slides & videos on the Demos page.

Branding

Sets the chat buttons, bubbles, and launcher. Pick a scheme below, or type any hex colour. Leave blank for the default blue.

Shown in the chat header instead of the agent name (wide/transparent PNG works best). PNG, JPG, GIF or WebP, up to 5 MB.

No logo

A Google Fonts family name, e.g. Roboto, Poppins. Leave blank for the default.

Known pages (AI can redirect here)

Pages on your site the AI may send visitors to. When a visitor asks about a topic that matches one (e.g. pricing), the AI answers, then—after it finishes speaking—takes them to that page. Use a path on the site where the widget is embedded, e.g. /pricing (not a full https:// link).

Per-page playbooks

Override the greeting and how fast the chat opens, based on the visitor's page or campaign. The first matching rule wins; pages with no match use the defaults above.