Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:FlowiseAI Flowise UpdateChatflow Public

From Leeroopedia
Attribute Value
Page Name UpdateChatflow_Public
Workflow Chatbot_Deployment
Repository FlowiseAI/Flowise
Domain Deployment, Sharing, Public Access
Source packages/ui/src/api/chatflows.js:L9-L13
Last Updated 2026-02-12 14:00 GMT

Overview

API call implementations for toggling a chatflow's public access and loading chatflow configuration from the unauthenticated public endpoint.

Code Reference

Source Location

  • File: packages/ui/src/api/chatflows.js, lines 9 and 13
  • UI Components:
    • packages/ui/src/views/chatflows/ShareChatbot.jsx (594 lines) -- sharing UI with toggle and appearance settings
    • packages/ui/src/views/chatbot/index.jsx (118 lines) -- public chatbot page renderer

Signature

Update chatflow public status:

const updateChatflow = (id, body) => client.put(`/chatflows/${id}`, body)

Fetch chatflow from public endpoint (no auth required):

const getSpecificChatflowFromPublicEndpoint = (id) => client.get(`/public-chatflows/${id}`)

Import

import chatflowsApi from '@/api/chatflows'

The API client is configured at packages/ui/src/api/client.js with base URL ${baseURL}/api/v1.

I/O Contract

Inputs (updateChatflow for public toggle)

Parameter Type Description
id string The chatflow ID to update
body object Object containing isPublic: boolean
{
  isPublic: boolean  // true to make public, false to make private
}

Inputs (getSpecificChatflowFromPublicEndpoint)

Parameter Type Description
id string The chatflow ID to retrieve

Outputs

Field Type Description
data Chatflow The chatflow object with updated isPublic flag

Returns Promise<{data: Chatflow}> with the full chatflow record.

Public URL Format

`${window.location.protocol}//${window.location.host}/chatbot/${chatflowId}`

Usage Examples

Making a Chatflow Public

import chatflowsApi from '@/api/chatflows'

// Enable public access
const response = await chatflowsApi.updateChatflow(chatflowId, {
  isPublic: true
})

// The chatbot is now accessible at:
// https://your-flowise-host.com/chatbot/{chatflowId}
console.log('Public URL:', `${baseURL}/chatbot/${chatflowId}`)

Revoking Public Access

import chatflowsApi from '@/api/chatflows'

// Disable public access
const response = await chatflowsApi.updateChatflow(chatflowId, {
  isPublic: false
})

Loading Chatflow Config on Public Page

import chatflowsApi from '@/api/chatflows'

// This call does not require authentication
const response = await chatflowsApi.getSpecificChatflowFromPublicEndpoint(chatflowId)

// response.data contains the chatflow configuration
// including chatbotConfig for appearance settings
const chatbotConfig = response.data.chatbotConfig
  ? JSON.parse(response.data.chatbotConfig)
  : {}

ShareChatbot.jsx Toggle Pattern

// From ShareChatbot.jsx -- the actual toggle implementation
const onSwitchChange = async (checked) => {
  try {
    const saveResp = await chatflowsApi.updateChatflow(chatflowid, {
      isPublic: checked
    })
    if (saveResp.data) {
      dispatch({ type: SET_CHATFLOW, chatflow: saveResp.data })
    }
  } catch (error) {
    // Error handling with snackbar notification
  }
}

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment