Skip to content
✨ Learn more about Convo Space & Omnid →
Convo Embeds
Embed a Convo

Embed a Convo


You can utilize Convo to create a dynamic comments section on any page/section of a website with a fully built UI provided by Convo. Embeds are useful in scenarios like serving dynamically generated pages requiring one or multiple comment boxes on each one of those pages.

Refer here, if you are looking to build a Custom UI instead of using an Iframe.


Embed a Convos use a combination of the Site URL and Custom Thread ID to uniquely identify a comments section without having to create one through Convo's Interface.

// Link Format

Here are the details on the required query parameters for a dynamic embeddable convo,

  • url: This is the url encoded (encodeURIComponent()) full website link. This should ideally contain the url without any query parameters or internal links (i.e origin+pathname). You can use new URL("<your-site-url>") to clean your url and get the origin and pathname values easily.
  • threadId: This is a unique identifier for the comments page on your site, you can set unique values for this key to have multiple threads on the same url. ThreadId is your own unique identifier, doesn't have to come from Convo. Could be a Contract Address, NFT Id etc

Values of url and threadId combined become the primary identifier for a dynamic Convo. Do not use the same values for url and threadId on a different page/element unless you want the same Convo over there too.


<iframe id="frm" src="" allowtransparency="true" width="100%" height="600px" style="border: none;">

Now you can use this snippet on any website by simply inserting this HTML wherever you want the comments page to appear.


Here it is recommended to set allowtransparency="true" in the iframe to automatically adapt the iframe to the color scheme of the page.


Start by Entering a URL and ThreadId

Customization Options

Query ParamDescriptionDefault Value
themeSet the default theme of the Convo. dark or lightdark
heightSet the default height of the Chat Element.300

Communicating with the Embed

We use window.postMessage() (opens in a new tab) with the target key in the message data as convo-embed.

Update Theme

const msg = {
  target: "convo-embed",
  action: "setTheme",
const frm = document.getElementById('frm').contentWindow;
frm.postMessage(msg, "");

Allowed values for theme are: dark & light.

Use Custom Auth

Coming Soon.

Use Custom Avatars

Coming Soon.