1 Get your church registered
Embedding is per-church — every embedded page is tied to your church's own data (Bible Reading Plan progress, Prayer Wall posts if you scope them, etc.) via a tenant slug. If your church isn't set up on the platform yet, start with church registration (KMS). Once approved, you'll have a tenant slug — it's the short id in your portal URL, e.g. grace-chapel.
Already registered? Ask whoever manages your church's account, or check the confirmation email from registration, for your exact slug.
2 Get your domain approved
For a browser to allow our page inside your <iframe> at all, your website's domain has to be explicitly allow-listed on our side — this is a security control (frame-ancestors), not optional, and it can't be skipped by anything you do on your own site.
If you registered your church through church registration (KMS), you can list your domain(s) right there — they're pre-approved the moment your church is approved, no separate step needed. Otherwise, a platform admin adds it in Admin panel → Embeds (just the bare host, e.g. example-church.org — no https:// or path). Either way, this is the one step that needs the platform's action, not yours — if you're not the platform admin, ask them to add your domain.
<iframe> will simply show a blank frame or a browser refusal — that's expected, not a bug in your embed code.3 Add the iframe to your page
Once your domain is approved, paste this into your page's HTML, swapping in your tool and slug:
<iframe
src="https://kanisa.co.ke/<TOOL-PATH>/?embed=1&tenant=<YOUR-SLUG>"
style="width:100%; height:640px; border:0;"
loading="lazy"
title="<What this tool is>">
</iframe>
Replace <TOOL-PATH> and <YOUR-SLUG> using this table:
| Tool | TOOL-PATH | Notes |
|---|---|---|
| Verse of the Moment | vom | Fully scoped to your church. |
| Bible Reading Plan | reading-plan | Shows your church's plan/progress. |
| Prayer Wall | prayer-wall | One shared wall platform-wide — tenant here is only used for your usage stats, it does not filter what's shown (everyone's posts are visible, same as the non-embedded page). |
height is up to you — pick whatever fits your page's layout; the tool itself scrolls internally if the content is taller than the frame.
4 What ?embed=1 actually changes
- Removes our site header and account/profile link — so it reads as part of your page, not a visit to ours.
- Removes top padding that assumes a header is present.
- Everything else — the tool's real functionality, live data, styling — is identical to the normal, non-embedded page.
- One silent, anonymous ping is sent when the embed loads, so your church can see embed usage numbers later (in the admin panel, or ask your admin) — it never affects your visitors and fails silently if it can't reach us.
5 Test it
- Load the page on your own site (not a local file:// preview — the domain check only passes on the real, approved domain).
- Confirm the tool loads with no header/account bar, and that it works exactly like it does on our site.
- If it's blank: check your browser console — a CSP/frame-ancestors error there means step 2 hasn't been completed (or applied) yet.
www.example-church.org and example-church.org are different hosts for this purpose. Approve both if your site answers on both.6 Cookies on your site
The embedded tools show the same small cookie bar inside the frame. The visitor chooses there; you do not need to add anything to your page. Until they agree, the tool keeps things for that tab only and forgets them when it closes. Our cookies page lists exactly what is kept. If your own site has a cookie notice, you may link to it.