Publish
Get your AI applications into users' hands with Web Apps, APIs, Embeds, and MCP Server. ClickAI Publish Options

Table of Contents
· [Overview](#overview)
· [Deployment Methods](#deployment-methods)
· [API Integration Guide](#api-integration-guide)
· [Managing conversation_id](#managing-conversation_id)
· [Best Practices](#best-practices)
Overview
After building your AI application in ClickAI Studio, you have multiple ways to deploy it. The process is simple:
1. ✅ Finish building your app
2. 🔘 Click Publish
3. 📋 Choose deployment method
4. 🔗 Copy URL / API Key
5. 🌐 Share immediately
Deployment Methods
1. Web App
Deploy as a standalone web page, ready to share instantly.
Property
Details
Speed
⚡ Instant
Requirements
No coding needed
URL
https://app.clickai.vn/chat/<app-id>
ClickAI supports 2 Web App types:
· Chatbot / Agent Web App: Real-time chat interface, multi-turn conversation
· Workflow Web App: Input form for batch processing, result management
How to deploy:
6. Open your app in ClickAI Studio
7. Click "Publish" button in the top right
8. Select "Web App" tab
9. Copy URL and share with users
2. API Integration
Integrate AI capabilities into any application via RESTful API.
Property
Details
Base URL
https://api.clickai.vn/v1
Authentication
Bearer Token (API Key)
Response
JSON / Server-Sent Events (streaming)
⚠️ IMPORTANT: API Key (Secret Key) must never be exposed on the client-side. Always call the API from a backend server.
3. Embed in Website
Embed your AI application directly into an existing website:
iFrame:
<iframe src="https://app.clickai.vn/chatbot/<app-id>?embed=true" style="width: 100%; height: 600px; border: none;" allow="microphone"> </iframe>
Chat Bubble Script:
<script> window.clickaiChatbotConfig = { token: 'YOUR_APP_TOKEN', baseUrl: 'https://api.clickai.vn' } </script> <script src="https://app.clickai.vn/embed.min.js" defer></script>
4. MCP Server
Deploy as a Model Context Protocol Server — allowing other AI clients (Claude Desktop, VS Code Copilot) to call your application.
API Integration Guide
Authentication
Authorization: Bearer {YOUR_SECRET_KEY}
Text Generation App
curl -X POST 'https://api.clickai.vn/v1/completion-messages' \ -H 'Authorization: Bearer YOUR-SECRET-KEY' \ -H 'Content-Type: application/json' \ -d '{ "inputs": {"text": "Write a thank-you email to a customer"}, "response_mode": "streaming", "user": "user-123" }'
import requests, json url = "https://api.clickai.vn/v1/completion-messages" headers = { 'Authorization': 'Bearer YOUR-SECRET-KEY', 'Content-Type': 'application/json', } data = { "inputs": {"text": "Write a thank-you email"}, "response_mode": "streaming", "user": "user-123" } response = requests.post(url, headers=headers, data=json.dumps(data)) print(response.text)
Conversational App (Chatbot / Agent)
curl -X POST 'https://api.clickai.vn/v1/chat-messages' \ -H 'Authorization: Bearer YOUR-SECRET-KEY' \ -H 'Content-Type: application/json' \ -d '{ "inputs": {}, "query": "Hello, I need support", "response_mode": "streaming", "conversation_id": "", "user": "user-123" }'
Workflow App
curl -X POST 'https://api.clickai.vn/v1/workflows/run' \ -H 'Authorization: Bearer YOUR-SECRET-KEY' \ -H 'Content-Type: application/json' \ -d '{ "inputs": {"input_text": "Data to process"}, "response_mode": "streaming", "user": "user-123" }'
Managing conversation_id
Scenario
How to Handle
New conversation
Leave conversation_id empty → System generates a new ID
Continue conversation
Send the previously received conversation_id
Change variables mid-session
Use Conversation Variables
🚨 WARNING: When passing an existing `conversation_id`, `inputs` values will be ignored. Only `query` is processed for the ongoing conversation.
Best Practices
Before Publishing
· ☐ Clear app description
· ☐ Professional icon & branding
· ☐ Configure access controls
· ☐ Set up rate limits for API
Choose the Right Method
Goal
Recommended Method
Quick user feedback
Web App
Building your own product
API
Existing website needs AI
Embed
Extending AI tools
MCP Server
📖 Previous: [Build](./01-build-en.md) · Next: [Monitor]
Last updated