IntegrationsRedoclyDeveloper portal

Add AI Search to your Redocly developer portal

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, create a container and configure the search bar 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 = {
  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 initializating the widget
const addInkeepWidget = () => {
  const search = document.getElementById("inkeepSearchBar");
  if (search) {
    Inkeep.SearchBar("#inkeepSearchBar", inkeepConfig);
  }
};
 
// Adding the script and initializing the widget
const inkeepWidgetScript = document.createElement("script");
inkeepWidgetScript.defer = true;
inkeepWidgetScript.innerHTML = addInkeepWidget.toString();
 
document.body.appendChild(inkeepWidgetScript);
 
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 Search Bar documentation.

On this page