HappierleadsDocs
Embed Happierleads screens

Introduction

Show our Leads, pixel install and other screens inside your own app, under your brand, in an iframe.

Your menu on the left, our Leads and pixel-install screens on the right, in an iframe. Your users sign in to your app only, your server opens each session, and nothing secret ever reaches the browser. Most teams are live in a day.

Try it

This is exactly what your users see (our read-only demo account; pixel checks are simulated, so any domain works).

No domain yet, so the field is open. Type any domain and click Verify: the check fails and the screen explains what to fix.

Embed settings to preview (the same switches as Account settings → White label → Embed in your app)
ProductsFeaturesScreens
app.youragency.example/install

Three ways to integrate

Not sure embedded screens are the right fit? Compare them:

API onlyEmbedded screensFull white label
Where your clients workYour own screens, fed by our APIYour app, with our screens in an iframeOur dashboard on your domain (reveal.youragency.example)
Who signs them inYouYou (we never see their password)Our sign-in page, with your brand
What you buildThe leads list, pixel install, settingsOne server endpoint and an iframeYour marketing site and your billing
Who bills your clientsYouYouYou: your server calls our API on every payment
Time to launchWeeksA dayA few days (DNS + branding)

All three use the same building blocks: one website per client, created with your master key, and leads (credits) that follow what the client pays you.

Your path through this section

The two keys

KeyLooks likeWhere you get itWhat it can do
Master key (HL_MASTER_KEY)master-priv-…Account settings → API KeysCreate and change websites, set credits and trials. Sent as ?privateKey=.
Embed key (HL_EMBED_KEY)hle_…Account settings → White label → Embed in your appOnly open embedded sessions. Sent as Authorization: Bearer.

Both keys stay on your server

Never put either key in front-end code, a mobile app or a public repository. The browser only ever gets a link that works once.

Common questions

Which integration is right for my SaaS? Embedded screens when your users already live in your app and you want our screens behind your own menu. Full white label when you would rather send clients to the whole dashboard on your domain. API only when you build every screen yourself. The table above compares all three.

Do my users need a Happierleads login? No. They sign in to your app only; your server asks us for a one-time link on every page load, and we never see their password or need their email (Open a screen).

How long does a session stay open? As long as your Session length says: 1 week by default, from 1 minute to 1 year. Then the frame sends session-ended and your page fetches a fresh link (Show it in an iframe). Revoking a key or switching embedding off ends every session at once.

Do my users see the Happierleads name? Not once the screens are on your domain (Your domain and keys); the frame’s messages carry no brand either. Keep our name out of your own routes, titles and menu items too (Keep it white label).

How are leads billed? Leads (credits) come from your account. Your server gives each client’s website its own allowance and trial or paid state, and you bill the client yourself: start a trial, switch to paid, change plan, cancel. A normal monthly renewal needs no call.

Can I test on localhost? Yes: add http://localhost:8000 under Your app’s addresses and follow the Quickstart. Any address not on that list gets a blank frame.

On this page