
Integrationer
FlowHunt integreras med dina favoritverktyg för kundservice och produktivitet så att du kan använda AI-chattbottar och automatisering var som helst. Utforska vå...

Komplett referens for FlowHunt JS API v2-integration. Lar dig hur du baddar in chatboten, prenumererar pa alla 10 handelser, anvander flodesvariabler, sparar interaktioner med URL-parametrar och styr chattfonster programmatiskt.
FlowHunt JS API ger dig full kontroll over hur din chatbot integreras med din webbplats. Med v2-integrationskoden kan du badda in chatboten, prenumerera pa livscykel- och interaktionshendelser, skicka dynamisk data via flodesvariabler, spara interaktioner med URL-parametrar och programmatiskt styra chattfonstret.
Denna guide tacker alla aspekter av JS API med kodexempel som du kan kopiera och anpassa till ditt projekt.
Nar du skapar en chatbot i FlowHunt far du ett integrationskodfragment. Kopiera och klistra in det i din HTML strax fore den avslutande </body>-taggen:
<script id="fh-chatbot-script-YOUR_CHATBOT_ID">
var currentScript = document.currentScript
|| document.getElementById('fh-chatbot-script-YOUR_CHATBOT_ID');
var script = document.createElement('script');
script.async = true;
script.src = 'https://app.flowhunt.io/api/chatbot/YOUR_CHATBOT_ID'
+ '?workspace_id=YOUR_WORKSPACE_ID&v=2';
script.onload = function() {
window.FHChatbot_YOUR_CHATBOT_ID.init(function(chatbotManager) {
// The chatbot is ready — use chatbotManager here
});
};
if (currentScript && currentScript.parentNode) {
currentScript.parentNode.insertBefore(script, currentScript.nextSibling);
} else {
document.head.appendChild(script);
}
</script>
Ersatt YOUR_CHATBOT_ID och YOUR_WORKSPACE_ID med vardena fran din FlowHunt-instrumentpanel. Chatbot-ID:t i det globala variabelnamnet (window.FHChatbot_YOUR_CHATBOT_ID) anvander understreck istallet for bindestreck.
Fore anrop av init() kan du overskriva standardinstellningarna for chatboten med setConfig():
<script id="fh-chatbot-script-YOUR_CHATBOT_ID">
var currentScript = document.currentScript
|| document.getElementById('fh-chatbot-script-YOUR_CHATBOT_ID');
var script = document.createElement('script');
script.async = true;
script.src = 'https://app.flowhunt.io/api/chatbot/YOUR_CHATBOT_ID'
+ '?workspace_id=YOUR_WORKSPACE_ID&v=2';
script.onload = function() {
window.FHChatbot_YOUR_CHATBOT_ID.setConfig({
headerTitle: 'Support Assistant',
maxWindowWidth: '700px',
showChatButton: false,
flowVariables: {
userId: '12345',
plan: 'enterprise'
},
urlSuffix: '?utm_source=chatbot'
});
window.FHChatbot_YOUR_CHATBOT_ID.init(function(chatbotManager) {
// Chatbot initialized with custom config
});
};
if (currentScript && currentScript.parentNode) {
currentScript.parentNode.insertBefore(script, currentScript.nextSibling);
} else {
document.head.appendChild(script);
}
</script>
| Option | Type | Beskrivning |
|---|---|---|
headerTitle | string | Anpassad rubriktext |
maxWindowWidth | string | Maximal bredd pa chattfonstret (t.ex. '700px') |
maxWindowHeight | string | Maximal hojd pa chattfonstret |
inputPlaceholder | string | Platshallare for meddelandeinmatningsfaltet |
showChatButton | boolean | Visa eller dolj den flytande standardchattknappen |
openChatPanel | boolean | Oppna chattpanelen automatiskt vid sidladdning |
flowVariables | object | Nyckel-varde-par med anpassad data som skickas till flodet |
urlSuffix | string | Fragesrang som laggs till alla chatbot-genererade URL:er |
cookieConsent | boolean | Aktivera sessionsbestandighet via cookies |
embedded | string | Stall in for att aktivera inbaddat lage (ingen stangknapp) |
theme | string | Temalage |
Flodesvariabler later dig skicka anpassad data fran din webbplats till chatbotflodet. Detta mojliggor personaliserade konversationer baserade pa anvandarkontext.
window.FHChatbot_YOUR_CHATBOT_ID.setConfig({
flowVariables: {
userId: getCurrentUserId(),
userEmail: getCurrentUserEmail(),
currentPage: window.location.pathname,
plan: 'enterprise'
}
});
Nar de ar installda ar dessa variabler tillgangliga i din chatbotflodes-logik, vilket gor det mojligt att personalisera svar, dirigera konversationer eller skicka kontext till AI-agenter.
Parametern urlSuffix lagger till en fragesrang till varje URL som genereras av chatboten. Detta ar anvandbart for att spara chatbotgenererad trafik i analysverktyg:
window.FHChatbot_YOUR_CHATBOT_ID.setConfig({
urlSuffix: '?utm_source=chatbot&utm_medium=widget'
});
Anvandningsomraden:
FlowHunt JS API skickar 10 anpassade handelser pa window-objektet. Alla handelser anvander CustomEvent
-API:t med bubbles: true och composed: true.
Utloses nar chatbot-widgeten har renderats helt och ar redo att anvandas.
Utloses nar en ny chattsession skapas pa servern. Utloses aven nar sessionen startas om.
Utloses nar anvandaren oppnar chattfonstret.
Utloses nar anvandaren stanger chattfonstret.
Utloses nar anvandaren skickar ett meddelande.
event.detail.metadata):{
"content": "Hello, I need help with...",
"createdAt": "2026-02-19T10:30:00.000Z"
}
Utloses nar chatboten tar emot och visar ett svar.
event.detail.metadata):{
"flow_id": "abc123",
"message_id": "msg_456",
"message": "Sure, I can help you with that!",
"sender": {
"sender_name": "Support Agent",
"sender_avatar": "https://example.com/avatar.png"
}
}
Faltet sender ar valfritt och finns bara nar en mansklig agent ar inblandad.
Utloses nar anvandaren skickar formulerdata via chatboten.
event.detail.metadata):{
"objectData": { "name": "John", "email": "john@example.com" },
"createdAt": "2026-02-19T10:31:00.000Z"
}
Utloses nar en anvandare ger tumme upp eller tumme ner-feedback pa ett chatbotmeddelande.
event.detail.metadata):{
"message_id": "msg_456",
"content": "Optional feedback text",
"feedback": "P"
}
Vardet for feedback ar "P" for positivt (tumme upp) eller "N" for negativt (tumme ner).
Utloses nar ett verktyg eller en aktion kors under flodesbearbetning.
event.detail.metadata):{
"metadata": {
"flow_id": "abc123",
"message_id": "msg_789",
"message": "Calling search API..."
},
"createdAt": "2026-02-19T10:32:00.000Z"
}
Observera: Utloses bara i flowAssistant- och flowAssistantV3-lagen, inte i standardchattbotlaget.
Utloses nar ett fel uppstar under chatbotens drift.
event.detail.metadata):{
"metadata": {
"flow_id": "abc123",
"message_id": "msg_err",
"message": "Flow execution failed"
},
"createdAt": "2026-02-19T10:33:00.000Z"
}
Det finns tva satt att prenumerera pa chatbothendelser.
Anvand window.addEventListener var som helst pa din sida. Detta fungerar aven innan chatboten har laddats:
<script>
document.addEventListener('DOMContentLoaded', function() {
// Chatbot lifecycle events
window.addEventListener('onFHChatbotReady', function(event) {
console.log('Chatbot is ready');
});
window.addEventListener('onFHChatbotSessionCreated', function(event) {
console.log('Session created');
});
window.addEventListener('onFHChatbotWindowOpened', function(event) {
console.log('Chat window opened');
});
window.addEventListener('onFHChatbotWindowClosed', function(event) {
console.log('Chat window closed');
});
// Message events
window.addEventListener('onFHMessageSent', function(event) {
console.log('User sent:', event.detail.metadata.content);
});
window.addEventListener('onFHMessageReceived', function(event) {
console.log('Bot replied:', event.detail.metadata.message);
});
window.addEventListener('onFHFormDataSent', function(event) {
console.log('Form submitted:', event.detail.metadata.objectData);
});
// Feedback
window.addEventListener('onFHFeedback', function(event) {
var feedback = event.detail.metadata;
console.log('Feedback on message', feedback.message_id, ':',
feedback.feedback);
});
// Tool calls (flowAssistant modes only)
window.addEventListener('onFHToolCall', function(event) {
console.log('Tool called:', event.detail.metadata);
});
// Errors
window.addEventListener('onFHError', function(event) {
console.error('Chatbot error:', event.detail.metadata);
});
});
</script>
For att sluta lyssna pa en handelse, anvand removeEventListener med samma funktionsreferens:
var handleMessage = function(event) {
console.log(event.detail.metadata);
};
window.addEventListener('onFHMessageReceived', handleMessage);
// Later, when you want to stop listening:
window.removeEventListener('onFHMessageReceived', handleMessage);
I init()-callbacken anvander du chatbot-hanterarens inbyggda metoder:
window.FHChatbot_YOUR_CHATBOT_ID.init(function(chatbotManager) {
chatbotManager.onSessionCreated(function() {
console.log('Session created');
});
chatbotManager.onWindowOpened(function() {
console.log('Window opened');
});
chatbotManager.onWindowClosed(function() {
console.log('Window closed');
});
chatbotManager.onMessageSent(function(event) {
console.log('User sent:', event.metadata);
});
chatbotManager.onMessageReceived(function(event) {
console.log('Bot replied:', event.metadata);
});
chatbotManager.onFormDataSent(function(event) {
console.log('Form data:', event.metadata);
});
chatbotManager.onFeedback(function(event) {
console.log('Feedback:', event.metadata);
});
chatbotManager.onToolCall(function(event) {
console.log('Tool call:', event.metadata);
});
chatbotManager.onError(function(event) {
console.error('Error:', event.metadata);
});
});
| Method | Parameters | Beskrivning |
|---|---|---|
onSessionCreated(fn) | fn: () => void | Lyssna pa sessionsskapande |
onWindowOpened(fn) | fn: () => void | Lyssna pa fonsterdppning |
onWindowClosed(fn) | fn: () => void | Lyssna pa fonsterstangning |
onMessageSent(fn) | fn: (event) => void | Lyssna pa anvandarmeddelanden |
onMessageReceived(fn) | fn: (event) => void | Lyssna pa botsvar |
onFormDataSent(fn) | fn: (event) => void | Lyssna pa formularinlamningar |
onFeedback(fn) | fn: (event) => void | Lyssna pa anvandarfeedback |
onToolCall(fn) | fn: (event) => void | Lyssna pa verktygskdrningar |
onError(fn) | fn: (event) => void | Lyssna pa fel |
openChat() | — | Oppnar chattpanelen |
closeChat() | — | Stanger chattpanelen |
For att helt kontrollera nar chatboten visas, dolj den flytande standardknappen och oppna chatten programmatiskt — till exempel fran din egen anpassade knapp.
<!-- Your custom chat button -->
<button id="my-chat-button">Chat with us</button>
<!-- FlowHunt integration with hidden default button -->
<script id="fh-chatbot-script-YOUR_CHATBOT_ID">
var currentScript = document.currentScript
|| document.getElementById('fh-chatbot-script-YOUR_CHATBOT_ID');
var script = document.createElement('script');
script.async = true;
script.src = 'https://app.flowhunt.io/api/chatbot/YOUR_CHATBOT_ID'
+ '?workspace_id=YOUR_WORKSPACE_ID&v=2';
script.onload = function() {
window.FHChatbot_YOUR_CHATBOT_ID.setConfig({
showChatButton: false
});
window.FHChatbot_YOUR_CHATBOT_ID.init(function(chatbotManager) {
// Open chat when your custom button is clicked
document.getElementById('my-chat-button')
.addEventListener('click', function() {
chatbotManager.openChat();
});
});
};
if (currentScript && currentScript.parentNode) {
currentScript.parentNode.insertBefore(script, currentScript.nextSibling);
} else {
document.head.appendChild(script);
}
</script>
Du kan kombinera dold aktivering med handelselyssnare for att skapa avancerade interaktioner:
<button id="open-chat" style="display:none;">Need help?</button>
<script>
// Show a custom button only when the chatbot is ready
window.addEventListener('onFHChatbotReady', function() {
document.getElementById('open-chat').style.display = 'block';
});
</script>
<!-- FlowHunt integration -->
<script id="fh-chatbot-script-YOUR_CHATBOT_ID">
var currentScript = document.currentScript
|| document.getElementById('fh-chatbot-script-YOUR_CHATBOT_ID');
var script = document.createElement('script');
script.async = true;
script.src = 'https://app.flowhunt.io/api/chatbot/YOUR_CHATBOT_ID'
+ '?workspace_id=YOUR_WORKSPACE_ID&v=2';
script.onload = function() {
window.FHChatbot_YOUR_CHATBOT_ID.setConfig({
showChatButton: false
});
window.FHChatbot_YOUR_CHATBOT_ID.init(function(chatbotManager) {
document.getElementById('open-chat')
.addEventListener('click', function() {
chatbotManager.openChat();
});
});
};
if (currentScript && currentScript.parentNode) {
currentScript.parentNode.insertBefore(script, currentScript.nextSibling);
} else {
document.head.appendChild(script);
}
</script>
Ett fullstandigt fungerande exempel som demonstrerar konfigurationsdverskrivningar, handelsesparning och anpassad chattaktivering tillsammans:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>FlowHunt Chatbot Integration</title>
</head>
<body>
<h1>My Website</h1>
<button id="open-chat-btn">Talk to our AI assistant</button>
<button id="close-chat-btn">Close chat</button>
<!-- Subscribe to events before the chatbot loads -->
<script>
document.addEventListener('DOMContentLoaded', function() {
window.addEventListener('onFHChatbotReady', function() {
console.log('Chatbot widget is ready');
});
window.addEventListener('onFHChatbotSessionCreated', function() {
console.log('New chat session started');
});
window.addEventListener('onFHMessageSent', function(event) {
console.log('User message:', event.detail.metadata.content);
});
window.addEventListener('onFHMessageReceived', function(event) {
console.log('Bot response:', event.detail.metadata.message);
});
window.addEventListener('onFHFeedback', function(event) {
var fb = event.detail.metadata;
if (fb.feedback === 'P') {
console.log('Positive feedback on message', fb.message_id);
} else {
console.log('Negative feedback on message', fb.message_id);
}
});
window.addEventListener('onFHError', function(event) {
console.error('Chatbot error:', event.detail.metadata);
});
});
</script>
<!-- FlowHunt integration -->
<script id="fh-chatbot-script-YOUR_CHATBOT_ID">
var currentScript = document.currentScript
|| document.getElementById('fh-chatbot-script-YOUR_CHATBOT_ID');
var script = document.createElement('script');
script.async = true;
script.src = 'https://app.flowhunt.io/api/chatbot/YOUR_CHATBOT_ID'
+ '?workspace_id=YOUR_WORKSPACE_ID&v=2';
script.onload = function() {
window.FHChatbot_YOUR_CHATBOT_ID.setConfig({
showChatButton: false,
headerTitle: 'AI Assistant',
maxWindowWidth: '600px',
flowVariables: {
source: 'website',
page: window.location.pathname
},
urlSuffix: '?utm_source=chatbot'
});
window.FHChatbot_YOUR_CHATBOT_ID.init(function(chatbotManager) {
document.getElementById('open-chat-btn')
.addEventListener('click', function() {
chatbotManager.openChat();
});
document.getElementById('close-chat-btn')
.addEventListener('click', function() {
chatbotManager.closeChat();
});
});
};
if (currentScript && currentScript.parentNode) {
currentScript.parentNode.insertBefore(script, currentScript.nextSibling);
} else {
document.head.appendChild(script);
}
</script>
</body>
</html>

FlowHunt integreras med dina favoritverktyg för kundservice och produktivitet så att du kan använda AI-chattbottar och automatisering var som helst. Utforska vå...

Lär dig bygga en AI JavaScript-spelgenerator i FlowHunt med hjälp av Tool Calling Agent, Prompt-nod och Anthropic LLM. Steg-för-steg-guide baserad på flödesdiag...

Integrera FlowHunt med interactive-mcp för att möjliggöra säker, realtidskommunikation mellan stora språkmodeller och användare på lokala maskiner. Fånga använd...
Cookie-samtycke
Vi använder cookies för att förbättra din surfupplevelse och analysera vår trafik. See our privacy policy.