IntegrationsRedoclyDeveloper portal

Add Chat Button to Redocly Developer Portal

Integrate Inkeep's chat button into your Redocly Developer Portal for real-time API documentation assistance.

Overview

Redocly Developer Hubs provide a way to build sites for your documentation from plain Markdown files.

Get an API key

Follow these steps to create an API key for your web integration.

Attach the script

Attach the addInkeep.js script in the siteConfig.yaml file:

siteConfig.yaml
scripts:
  - ./static/addInkeep.js

Create the addInkeep.js script

Create an addInkeep.js file in your static folder.

touch static/addInkeep.js

Now, configure the chat button component.

addInkeep.js
// Function for adding a script to the page
const addScript = (src, type = "module", defer = true) => {
  const script = document.createElement("script");
  script.src = src;
  script.type = type;
  script.defer = defer;
  document.body.appendChild(script);
  return script;
};
 
// Function for customizing the widget configuration
const inkeepConfig = () => {
  return {
    baseSettings: {
      apiKey: "INKEEP_API_KEY", // required
      primaryBrandColor: "#26D6FF", // your brand color, widget color scheme is derived from this
      organizationDisplayName: "Inkeep",
      // ...optional settings
    },
    modalSettings: {
      // optional settings
    },
    searchSettings: {
      // optional settings
    },
    aiChatSettings: {
      // optional settings
      aiAssistantAvatar: "/img/logo.svg", // use your own AI assistant avatar
      exampleQuestions: [
        "Example question 1?",
        "Example question 2?",
        "Example question 3?",
      ],
    },
  };
};
 
// Function for initializing the widget
const addInkeepWidget = () => {
  const inkeepWidgetScript = document.createElement("script");
  inkeepWidgetScript.defer = true;
 
  // Initialize the widget using the `Inkeep.ChatButton()` function.
  inkeepWidgetScript.innerHTML = `
    const config = (${inkeepConfig.toString()})();
    Inkeep.ChatButton(config);
  `;
 
  document.body.appendChild(inkeepWidgetScript);
};
 
// Adding the script and initializing the widget
const embedScript = addScript(
  "https://cdn.jsdelivr.net/npm/@inkeep/cxkit-js@0.5/dist/embed.js"
);
 
embedScript.addEventListener("load", () => {
  addInkeepWidget();
});

For a full list of customizations, check out the Chat Button documentation.

// Initialize the widget using the `Inkeep.ChatButton()` function.
const config = {
  baseSettings: {
    apiKey: "INKEEP_API_KEY", // required
    primaryBrandColor: "#26D6FF", // your brand color, widget color scheme is derived from this
    organizationDisplayName: "Inkeep",
    // ...optional settings
  },
  modalSettings: {
    // optional settings
  },
  searchSettings: {
    // optional settings
  },
  aiChatSettings: {
    // optional settings
    aiAssistantAvatar: "/img/logo.svg", // use your own AI assistant avatar
    exampleQuestions: [
      "Example question 1?",
      "Example question 2?",
      "Example question 3?",
    ],
  },
};
 
const inkeepWidget = Inkeep.ChatButton(config);

On this page