What is Webflow
Webflow is a visual web development platform that enables users to design, build, and launch websites without the need for coding.
Get an API key
- Go to the Inkeep Dashboard
- Select your project under Projects
- Go to the Integrations tab
- Click on Create integration
- Select Web
- Provide a Name and URL (optional) for the integration
- Click on Create
- Click the Example < /> button to get your API key and view suggested settings
Connect the script
- Navigate to Site settings (not the designer)
- Open the Custom code tab
- Add the below to the Head code section
<script id="inkeep-script" src="https://unpkg.com/@inkeep/uikit-js@0.3.18/dist/embed.js" type="module" defer></script>
Create a trigger
You need to create a trigger in your application with ID - inkeepButton
. This can be done using Webflow’s built-in designer.
Example:
Click on the Footer code section and add the below script.
<script type="text/javascript" defer>
const inkeepButton = document.getElementById("inkeepButton");
const inkeepDiv = document.createElement("div");
inkeepDiv.id = "inkeepModal";
inkeepDiv.style.position = "absolute";
document.body.appendChild(inkeepDiv);
const handleClose = () => {
inkeepWidget.render({
...config,
isOpen: false,
});
};
const handleOpen = () => {
inkeepWidget.render({
...config,
isOpen: true,
});
}
// configure and initialize the widget
const config = {
componentType: "CustomTrigger", // required
targetElement: inkeepDiv, // required
properties: {
isOpen: false, // required
onClose: handleClose, // required
onOpen: undefined,
baseSettings: {
apiKey: "INKEEP_API_KEY", // required
integrationId: "INKEEP_INTEGRATION_ID", // required
organizationId: "INKEEP_ORGANIZATION_ID", // 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
botAvatarSrcUrl: "/img/inkeep-logo.svg",
quickQuestions: [
"Example question 1?",
"Example question 2?",
"Example question 3?",
],
},
},
};
// Embed the widget using the `Inkeep.embed()` function.
const inkeepWidget = Inkeep().embed(config);
inkeepButton.addEventListener("click", handleOpen);
</script>
For a full list of customizations, check out the Custom Trigger documentation.