# Send Message Source: https://docs.soca.ai/api-reference/chats/post POST /chat/{agent_id} This endpoint is used to send a prompt (command or question) to the message processing system and retrieve its response. # How can I get my credentials? Source: https://docs.soca.ai/api-reference/credentials Learn how to get your `private-key`. ## Authentication Retrieve your `private-key`by: 1. Log in to the [Soca AI Platform](https://platform.soca.ai/). 2. Navigate to the **Developers** menu from the sidebar and select the **API Key** tab. 3. Click the **Create New API Key** button. 4. **Input a name** for your API key to help you identify it later. 5. Click **Generate**. 6. Once generated, copy your private-key. Store it securely—this key is required to authenticate API requests. **Note:** Generate API Key is only available for **Business** and **Enterprise** subscription plans. # Introduction Source: https://docs.soca.ai/api-reference/introduction Discover how to get more from **Soca AI** with our **API Docs**. Learn how to get your API credentials ## Base URL ```text theme={null} https://api.soca.ai ``` ## Authentication All the endpoints are protected by [OAuth 2.0](https://oauth.net/2/) and require a valid Bearer token. You can get your access token by following the steps described in the **Authentication** section. # Create Session Source: https://docs.soca.ai/api-reference/sessions/create_session POST /session/{agent_id} Creates a new conversation session for a given agent. # Delete Session Source: https://docs.soca.ai/api-reference/sessions/delete_session DELETE /session/{agent_id}/{session_id} Deletes a specific conversation session. # Detail Session Source: https://docs.soca.ai/api-reference/sessions/detail_session GET /session/chat/{agent_id}/{session_id} Retrieves the paginated chat history of a specific session for an agent. # List Session Source: https://docs.soca.ai/api-reference/sessions/list_session GET /session/{agent_id} Retrieves a paginated list of an agent's conversation sessions. # Voice Stream Websocket Source: https://docs.soca.ai/api-reference/voice/voice-stream Real-time voice conversations with Speech-to-Text and Text-to-Speech streaming Real-time bi-directional WebSocket for streaming microphone audio and receiving AI voice responses with barge-in support. ## Voice WebSocket Endpoint ```bash theme={null} wss://api.soca.ai/voice-ws ``` **Input Audio:** PCM16LE, Mono, 16 kHz\ **Output Audio:** Chunked MP3, 22.05 kHz *** ## Quick Start ### Open WebSocket Connection ```javascript theme={null} const ws = new WebSocket("wss://api.soca.ai/voice-ws"); ws.binaryType = "arraybuffer"; ``` Set `binaryType` to `"arraybuffer"` for efficient binary audio streaming ### Send Start Message ```json theme={null} { "type": "start", "private_key": "", "session_id": "", "agent_id": "", "lang": "id", "sr": 16000 } ``` Must be exactly `"start"` Your API key from Soca AI platform Session ID for this message. The unique identifier of a Soca AI agent created in the Studio. Language: `"id"` (Indonesian) or `"en"` (English) Sample rate (must be 16000) ### Server Responses ```json Session Ready theme={null} { "type": "ready", "session_id": "" } ``` ```json STT Ready theme={null} { "type": "stt.ready" } ``` When you receive `stt.ready`, you can start streaming audio! ### Send PCM16 Frames ```javascript theme={null} // Continuously send binary audio frames ws.send(int16Array.buffer); ``` Send **binary frames only** (not base64). Must be Int16Array buffer. *** ## Audio Format Specifications ### Required Format | Property | Value | Description | | --------------- | --------- | ------------------------------------ | | **Format** | PCM16LE | 16-bit signed integer, little-endian | | **Channels** | Mono (1) | Single channel only | | **Sample Rate** | 16,000 Hz | Required sampling rate | | **Bit Depth** | 16-bit | 2 bytes per sample | ### Frame Sizes | Duration | Bytes | Recommendation | | --------- | ----------- | ---------------------------------------- | | **20 ms** | 640 bytes | ⭐ **Recommended** - Best for low latency | | **40 ms** | 1,280 bytes | ✅ Good - Balanced performance | | **50 ms** | 1,600 bytes | ⚠️ Max - Higher latency | **Formula:** `bytes = sampleRate × duration × 2` Example: 16,000 × 0.020 × 2 = 640 bytes ### Response Format | Property | Value | | --------------- | --------------------- | | **Format** | MP3 | | **Sample Rate** | 22,050 Hz | | **Bitrate** | \~32 kbps | | **Channels** | Mono (1) | | **Delivery** | Base64-encoded chunks | Agent speech is delivered as **multiple chunks per sentence**. Collect all chunks and play when complete. *** ## Message Types ### Speech Recognition Events Sent continuously while user is speaking: ```json theme={null} { "type": "stt.partial", "text": "Halo apa kabar" } ``` Display with visual indication (italic, gray) to show it's not final Sent when user stops speaking: ```json theme={null} { "type": "stt.final", "text": "Halo apa kabar hari ini?" } ``` After non-empty final transcript, agent starts processing response ### Audio Response - Chunked MP3 Each sentence arrives as multiple chunks: ```json theme={null} { "stepType": "sentence", "chatId": "9e4d8f7a-1234-5678", "sentenceId": 123456, "contentStep": "Halo! Senang bertemu dengan Anda.", "audioBase64": "", "audioMime": "audio/mp3", "chunkIndex": 0, "isLastChunk": false, "seq": 12 } ``` Keep collecting chunks where `isLastChunk: false` Final chunk may have `audioBase64: null`: ```json theme={null} { "stepType": "sentence", "sentenceId": 123456, "audioBase64": null, "chunkIndex": 7, "isLastChunk": true, "seq": 12 } ``` Combine all chunks and play complete sentence Maintain separate player per `sentenceId` AND per `seq` for proper synchronization ### Optional Control Commands ```json Stop Utterance theme={null} { "type": "stop" } ``` ```json Manual Barge-in theme={null} { "type": "barge" } ``` Send these commands as JSON text frames (not binary) ### Complete Response Summary ```json theme={null} { "stepType": "final_answer", "stepTitle": "Final Answer", "fullResponse": { "answers": [{ "output": "Complete response text" }] }, "audioBase64": null, "audioMime": "audio/mp3", "isFinal": true, "seq": 12, "stepDuration": 1543.2 } ``` Processing duration in milliseconds *** ## Barge-in Control **Barge-in** allows users to interrupt the AI agent mid-speech, creating natural conversation flow. While agent is talking, user begins new input Server analyzes if speech is meaningful (not filler words) ```json theme={null} { "type": "barge", "seq": 12, "reason": "content_partial" } ``` Stop all audio players with `seq < 12` Only play audio matching new `seq: 12` Server triggers barge-in when ALL conditions are met: | Setting | Default | Description | | --------------------- | ------- | ------------------------------------- | | `MIN_PARTIAL_CHARS` | 10 | Minimum characters in speech | | `MIN_PARTIAL_WORDS` | 2 | Minimum number of words | | `MIN_CONFIDENCE` | 0.30 | STT confidence threshold (0.0 to 1.0) | | `SPEECH_START_WINDOW` | 1.5s | Time window after VAD detection | | `BARGE_COOLDOWN` | 0.8s | Minimum time between barges | **Filler words do NOT trigger barge-in:** `uh`, `um`, `hmm`, `eh`, `ah`, `ya`, `yah` **Check Sequence on Every Message:** ```javascript theme={null} // When receiving any message if (msg.seq && msg.seq > currentSeq) { // Stop all old audio stopAllAudio(currentSeq); currentSeq = msg.seq; } ``` **Stop Old Audio Function:** ```javascript theme={null} function stopAllAudio(beforeSeq) { audioPlayers.forEach((player, key) => { const [seq] = key.split('_'); if (parseInt(seq) < beforeSeq) { player.audio.pause(); player.audio.currentTime = 0; audioPlayers.delete(key); } }); } ``` Always maintain `currentSeq` as a global variable to track the latest sequence number. *** ## Complete Example ```javascript Basic Setup theme={null} const ws = new WebSocket("wss://api.soca.ai/voice-ws"); ws.binaryType = "arraybuffer"; ws.onopen = () => { // Send start message ws.send(JSON.stringify({ type: "start", private_key: "", session_id: "", agent_id: "", lang: "id", sr: 16000 })); }; ws.onmessage = (e) => { const msg = JSON.parse(e.data); // Handle different message types switch(msg.type) { case "stt.partial": console.log("Partial:", msg.text); break; case "stt.final": console.log("Final:", msg.text); break; case "barge": handleBarge(msg.seq); break; } // Handle audio chunks if (msg.stepType === "sentence") { handleAudioChunk(msg); } }; ``` ```javascript Send Audio theme={null} // Capture microphone const stream = await navigator.mediaDevices.getUserMedia({ audio: { sampleRate: 16000, channelCount: 1, echoCancellation: true, noiseSuppression: true } }); const audioContext = new AudioContext({ sampleRate: 16000 }); const source = audioContext.createMediaStreamSource(stream); const processor = audioContext.createScriptProcessor(4096, 1, 1); processor.onaudioprocess = (e) => { const float32 = e.inputBuffer.getChannelData(0); const int16 = convertFloat32ToInt16(float32); if (ws.readyState === WebSocket.OPEN) { ws.send(int16.buffer); } }; source.connect(processor); processor.connect(audioContext.destination); ``` ```javascript Float32 to Int16 theme={null} function convertFloat32ToInt16(float32Array) { const int16Array = new Int16Array(float32Array.length); for (let i = 0; i < float32Array.length; i++) { const s = Math.max(-1, Math.min(1, float32Array[i])); int16Array[i] = s < 0 ? s * 0x8000 : s * 0x7FFF; } return int16Array; } ``` ```javascript Play Audio theme={null} function handleAudioChunk(msg) { const key = `${msg.seq}_${msg.sentenceId}`; // Collect chunks if (!pendingChunks.has(key)) { pendingChunks.set(key, []); } if (msg.audioBase64) { pendingChunks.get(key).push(msg.audioBase64); } // Play when complete if (msg.isLastChunk) { const chunks = pendingChunks.get(key); const fullBase64 = chunks.join(''); // Decode and play const audioData = atob(fullBase64); const buffer = new ArrayBuffer(audioData.length); const view = new Uint8Array(buffer); for (let i = 0; i < audioData.length; i++) { view[i] = audioData.charCodeAt(i); } const blob = new Blob([buffer], { type: 'audio/mp3' }); const url = URL.createObjectURL(blob); const audio = new Audio(url); audio.play(); audio.onended = () => URL.revokeObjectURL(url); pendingChunks.delete(key); } } ``` *** ## Error Handling ```json theme={null} { "type": "error", "message": "must start with type=start" } ``` **Solution:** Ensure `start` message is sent immediately after connection ```json theme={null} { "type": "error", "message": "Invalid or expired token" } ``` **Solution:** Get fresh token from Soca AI dashboard Server attempts transparent reconnect for audio sends. Client should implement reconnection logic with exponential backoff. ```javascript theme={null} ws.onclose = (event) => { if (event.code !== 1000) { setTimeout(() => reconnect(), getBackoffDelay()); } }; ``` *** ## Troubleshooting **Possible causes:** * Not using MSE for MP3 streaming * Missing user-gesture for autoplay * Chunks not combined correctly **Solutions:** * Use ` **Cause:** Not respecting sequence numbers **Solution:** ```javascript theme={null} if (msg.seq > currentSeq) { stopAllAudio(currentSeq); currentSeq = msg.seq; } ``` **Solutions:** * Reduce frame size to 20-40 ms * Disable heavy DSP in `getUserMedia` * Check network latency **Checklist:** * ✅ Grant microphone permission * ✅ Use HTTPS (required for getUserMedia) * ✅ Check browser compatibility * ✅ Verify audio constraints (16kHz, mono) *** See complete working implementation with source code on GitHub # Contact Management Source: https://docs.soca.ai/build/contact Contact Organize, store, and manage all your customer contact data in one place efficiently using the Contact Management feature on the Soca Platform! * **Centralized Contact Storage:** Save customer contacts directly from your WhatsApp Inbox, sync them in bulk, or import them using a ready-made template. All contact data — including name, phone number, email, address, company, and role — is stored neatly in one place and ready to use at any time. * **Flexible Contact Segmentation:** Group your contacts into segments (categories) based on your business needs, such as by industry, purchase history, or campaign target. This makes it easier to send the right message to the right audience when running a broadcast. * **Easy Contact Management:** Update or delete contact data at any time directly from the Contact Management page. You can also add contacts one by one manually or import hundreds of contacts at once using a CSV or Excel file. **Why Your Business Should Use This Feature?** * **Accurate & Ready-to-Use Data:** Having organized contact data means you're always ready to run campaigns, or follow-ups without wasting time searching for customer information. * **Seamless Integration with Broadcast:** Contacts stored in Contact Management can be directly used as recipients when sending broadcast messages via My Contacts, making the process faster and more targeted. * **Scalable for Growing Businesses:** Whether you have 10 or 10,000 contacts, the Contact Management feature is built to handle your growing customer database without any hassle. # Conditions Node Source: https://docs.soca.ai/build/studio/conditions Elevate your AI's intelligence with adaptive instruction flows! The Conditions Node in Soca Platform allows you to create AI prompts that are capable of logical reasoning and making decisions based on specific data or conditions. Knowledge1 Pn ### If-This-Then-That Logic for Your AI The Conditions Node acts as a **logical gate** within your prompting flow. Its function is to direct the AI's processing stream based on the outcome of a previous step or the input data: * **Condition Checking:** This node evaluates whether a specific condition (e.g., input value is greater than X, the text contains a specific keyword, or the result of another function is *True*) has been met. * **Flow Decision Making:** Based on the check result (*True* or *False*), it will **automatically** instruct the AI to proceed to a different subsequent prompt or function. * **Example:** If the input is classified as "Complaint," proceed to *Prompt* A (apology response). If it is "General Inquiry," proceed to *Prompt* B (informative response). Conditions12 Pn ### Smart Response Automation & Efficiency Utilizing the Conditions Node is key to building a more sophisticated and flexible AI, offering you three main advantages: * **More Relevant & Personalized Responses:** The AI can provide highly specific and contextual answers or actions because the prompts used are **segmented** based on the conditions you have set. This replaces the need to write one gigantic prompt attempting to cover every scenario. * **Efficiency and Cost Reduction:** By intelligently routing the instruction flow, you **minimize unnecessary or repetitive AI model calls**. The process only runs on the relevant path, saving processing time and API costs. * **Clear, Complex Flow Creation:** Building complex workflows (like multi-level Customer Service Automation or layered data validation) becomes **structured, easy to debug, and transparent**. You can clearly see where the flow will branch. # Conversation Node Source: https://docs.soca.ai/build/studio/conversation_node Select a conversation channel type. Conversation1 Pn With the Conversation node, you can: * Choose how your AI agent communicates: Chat, WhatsApp, or Voice Stream. * Define the entry point for every user interaction and control how conversations are triggered per channel. Why the Conversation node is important? 1. It connects your AI workflows directly to your users across multiple channels. 2. Enables seamless multi-channel automation from a single node. 3. Lets you test and iterate faster—no need for complex setup. 4. You can try WhatsApp instantly using our sandbox. Just click Try Sandbox to use our pre-configured number and message template. # Global Prompt Node Source: https://docs.soca.ai/build/studio/global_prompt A reusable prompt node for consistent AI behavior across tasks and channels. Greeting1 Pn With the Global Prompt node, you can define shared instructions that guide how your AI agents respond across multiple workflows and channels. It helps you maintain consistency in tone, context, and behavior—no need to rewrite prompts for each step. Greeting12 Pn Here are a few quick facts: 1. This node allows you to manage AI instructions centrally and reuse them across tasks. 2. Changes to the prompt here will automatically apply wherever the node is used. 3. Ideal for setting tone of voice, persona, or general instructions for your AI agents. 4. Works seamlessly across Chat, WhatsApp, and Voice Stream flows. 5. Includes an AI-powered prompt generator to help you create effective global prompts—for free, even if you don’t know where to start. # Knowledge Based Source: https://docs.soca.ai/build/studio/knowledge Integrates diverse data sources. Knowledge1 Pn With the **Knowledge** node, you can integrate various information sources into your AI workflows, enabling agents to access and utilize relevant data to provide more accurate and contextual responses. This node supports several types of knowledge sources: * **Docs (Documents):** Upload and manage various document formats (e.g., PDF, TXT, DOCX) that AI can use to answer questions or provide information. * **Table (Tables):** Connect or upload data in tabular formats (e.g., CSV, or Excel) so that AI can perform analysis, search for specific information, or generate data in visual forms such as bar charts, line graphs, donut charts, pie charts, and scatter plots. * **Audio:** Integrate audio files (e.g., conversation recordings, transcripts) that AI can analyze to understand context, extract information, or provide responses based on the audio content. * **JSON:** Leverage structured data in JSON format as a knowledge source for complex configurations, product details, or other specific information. Knowledge12 Pn **Why is the Knowledge Node Important?** * **Enhances Accuracy and Relevance:** Allows AI to provide answers and take actions based on reliable and up-to-date information. * **Expands AI Capabilities:** Provides access to various data types, going beyond basic natural language processing capabilities. * **Personalizes Interactions:** Enables AI to tailor responses based on specific knowledge about users or context. # Sub Agent Source: https://docs.soca.ai/build/studio/sub_agent ## **Overview** Subagent1 A **Sub-Agent** is a specialized AI agent designed to handle a specific type of conversation, task, or user intent within an AI workflow. Instead of placing all business logic into a single agent, you can divide responsibilities into multiple Sub-Agents. Each Sub-Agent focuses on one particular area, making conversations more accurate, easier to manage, and simpler to maintain as your AI grows. For example, you might create separate Sub-Agents for: * Needs Exploration * Product Information * Price Inquiry * Booking Assistant * Employee Support * Reimbursement * Technical Support * Human Handover When a user sends a message, the AI analyzes the conversation and determines which Sub-Agent best matches the user's intent based on the configuration you provide. # **Why Use Sub-Agents?** Using Sub-Agents offers several advantages: * Organize complex workflows into smaller, specialized components. * Improve response accuracy by assigning conversations to the most appropriate agent. * Reduce prompt complexity by separating responsibilities. * Simplify maintenance and future updates. * Build scalable AI workflows that are easier to extend over time. Instead of one large prompt trying to handle every scenario, each Sub-Agent is responsible for a clearly defined purpose. # **Configuring a Sub-Agent** Subagent2 A Sub-Agent consists of two main configuration fields: 1. **Agent Name** 2. **Describe When to Use This Agent** These fields work together to help the AI identify and route conversations to the appropriate Sub-Agent. # **Agent Name** ## **Purpose** The **Agent Name** is the unique name of the Sub-Agent. It helps you identify the Sub-Agent within your project and makes your workflow easier to organize and maintain. The name should clearly reflect the responsibility of the Sub-Agent. ## **Requirements** * Maximum **50 characters** * Must be unique within the project * Use a concise and descriptive name ## **Good Examples** * Needs Exploration * Booking Assistant * Product Information * Employee Support * Reimbursement Agent * Technical Support * Human Handover * FAQ ## **Avoid** * Agent 1 * Test * New Agent * My Agent * Untitled These names do not describe the purpose of the Sub-Agent and may cause confusion when managing multiple agents. # **Describe When to Use This Agent** ## **Purpose** This field tells the AI **when this Sub-Agent should be selected** during a conversation. Rather than defining how the Sub-Agent responds, this field describes the types of conversations that belong to the Sub-Agent. Think of it as the routing guide that helps the AI decide: "Is this the right Sub-Agent for the current conversation?" A well-written description significantly improves routing accuracy. # **What Should Be Included?** Describe the characteristics of conversations that this Sub-Agent is designed to handle. You can include: * User intent * Conversation goals * Common scenarios * Types of requests * Keywords or phrases * User sentiment, when relevant Focus on identifying **what the user is trying to accomplish**, rather than explaining how the AI should respond. # **Example** ### **Needs Exploration** **When to use this agent** Use this Sub-Agent when the user is describing their situation or explaining what they need, and additional information is required before providing recommendations or taking action. Typical situations include: * The user is explaining a problem. * The user is seeking recommendations. * The user's request is still unclear. * The AI needs to gather more information before continuing. Common keywords: * need * problem * issue * consultation * recommendation * looking for * help * not sure ### **Booking Assistant** **When to use this agent** Use this Sub-Agent when the user wants to schedule, modify, or cancel an appointment. Typical situations include: * Booking a new appointment * Checking available schedules * Rescheduling an appointment * Canceling an appointment Common keywords: * booking * appointment * available * schedule * tomorrow * next week * reschedule * cancel ### **Human Handover** **When to use this agent** Use this Sub-Agent when the conversation should be transferred to a human representative. Typical situations include: * The user requests a human agent. * The AI cannot resolve the issue. * The request requires manual handling. * The user submits a complaint. Common keywords: * human * customer service * representative * operator * admin * complaint # **Best Practices** * Assign each Sub-Agent a single, well-defined responsibility. * Choose a clear and descriptive name that reflects the Sub-Agent's purpose. * Describe **when** the Sub-Agent should be used, rather than **how** it should respond. * Include common user intents and conversation patterns. * Add keywords that users are likely to use naturally. * Keep descriptions focused and easy to understand. # **Common Mistakes** The **Describe When to Use This Agent** field should **not** contain operational instructions or response prompts. Avoid writing: * AI personality * Response formatting * Tone of voice * Workflow instructions * Tool usage * Business rules * Knowledge retrieval logic For example, this is **not recommended**: You are a friendly AI assistant. Always respond politely, use emojis, and provide detailed explanations. These instructions belong in the **Conditions** or **Prompt** configuration of the Sub-Agent, not in the routing description. # **Summary** | **Field** | **Purpose** | **Recommended Content** | | :---------------------------------- | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------- | | **Agent Name** | Identifies the Sub-Agent within the project. | A unique, concise, and descriptive name (maximum 50 characters). | | **Describe When to Use This Agent** | Defines when the AI should route a conversation to this Sub-Agent. | User intent, conversation context, common scenarios, keywords, and sentiment that indicate this Sub-Agent is the best fit. | | **Conditions / Prompt** | Defines how the Sub-Agent should behave after it has been selected. | Instructions, business logic, response rules, knowledge sources, tool usage, guardrails, and output formatting. | This separation of responsibilities helps ensure that conversations are routed accurately while keeping each Sub-Agent focused, maintainable, and easy to expand as your AI workflow evolves.
# HTTP Request Source: https://docs.soca.ai/build/tools/fetch_url Fetch Pn Your Advanced Solution for Seamless Data Integration. The HTTP Request feature in Soca is your powerful upgrade for: * **Full API Control:** Input any API endpoint URL and let Soca handle the rest — fetch titles, descriptions, images, structured content, or any custom data your workflow demands. * **Custom Query Parameters:** Go beyond basic fetching. Attach query parameters to fine-tune your request and retrieve exactly the data you need — filtered, sorted, or paginated. * **Header Configuration:** Send custom headers with every request — including authentication tokens, content types, or any API-required metadata — for secure and precise data access. * **Maximum Flexibility:** Whether you're pulling public web data or integrating with private APIs, HTTP Request adapts to your technical requirements without limitations. How Soca HTTP Request Transforms Your Work: 1. **Advanced & Accurate:** Get structured, real-time API data in seconds with full control over request parameters. 2. **Secure by Design:** Pass authentication headers safely, ensuring your integrations remain protected. 3. **Minimize Errors:** Eliminates manual data entry with consistent, automated data retrieval every time. Elevate your workflow with HTTP Request — where full API power meets the simplicity of Soca's platform. # Shopify Source: https://docs.soca.ai/build/tools/shopify Shopify1 Pn ### Core Function: Connecting **Real-Time** Store Context to AI The core function of the Shopify MCP is to create a standardized bridge between your **Large Language Model (LLM)** AI within SOCA (e.g., a chatbot or virtual assistant) and the **active e-commerce data** in your Shopify store. This enables the AI to: * **Perform Real Actions:** Execute *actionable* commands directly to the store. * **Provide Accurate Context:** Deliver **up-to-the-minute** context on product data, pricing, and availability, ensuring the AI does not provide customers with outdated or incorrect information. Shopify12 Pn ### Transforming AI from Passive to **Transactional** You must adopt this integration because it fundamentally changes the role of AI on your platform from a merely passive information tool into an **active conversion engine**. * **Increased Conversion:** The AI doesn't just answer questions; it takes actions that lead to transactions. Customers can **shop directly through the chat**. * **Superior Customer Experience:** Responses become highly personalized and accurate because they are supported by real-time Shopify data, reducing customer frustration and building trust. # Virtual Try-On Source: https://docs.soca.ai/build/tools/virtual_try_on Vton1 Pn #### **Transforming Chat into a Personal Fitting Room** * **Interactive & Instant:** VTO allows your customers to **virtually try on products** just by interacting through a WhatsApp chat. No need to download extra apps or leave the conversation. * **Seamless Integration:** This feature is implemented directly as a function within the Soca Platform, which is already integrated with your WhatsApp Business API, creating a smooth and unified shopping flow. #### **Why Should You Use Soca Virtual Try-On?** * **Boost Sales Conversion:** Giving buyers confidence before purchasing. The "try-on" experience reduces doubt, which directly **increases the conversion rate**. * **Lower Return Rates:** One of the main reasons for returns is size or appearance mismatch. VTO helps customers make more informed decisions, thereby **reducing the cost and logistical hassle** of returns. * **Superior Customer Experience (CX):** Offering innovative and convenient technology makes your brand appear modern, *customer-centric*, and **superior to competitors** who only rely on photo catalogs. * **Soca Platform Advantage:** VTO connects with the entire Soca *customer engagement* ecosystem, allowing you to track VTO data and use it to personalize future offers. # Webhook Source: https://docs.soca.ai/build/tools/webhook Webhook Pn With the **Webhook** node, you can integrate your Soca AI application with external systems or third-party services in real-time. This node allows you to send and receive data via HTTP(S) requests. **How Does It Work?** When a workflow reaches the Webhook node, Soca AI will send a request (usually in JSON format) to the URL you configure. The external system can then process this data and send a response back to Soca AI, which can then be used further in the workflow. **Why is the Webhook Node Important?** * **Broad Integration:** Enables Soca AI to interact with a wide range of external applications and services. * **Advanced Process Automation:** Triggers actions in other systems based on events in your Soca AI workflows. * **Real-time Data Exchange:** Ensures relevant information is instantly available across different systems. * **High Customization:** Provides the flexibility to build integrations tailored to your specific needs. # Widget Source: https://docs.soca.ai/build/widget Widget1 Add interactive widgets directly to your website and deliver a more personal communication experience between your business and customers — right from your web page, no extra apps needed, using the Widget feature on Soca Platform! Widget2 **Chat Widget: AI-Powered Conversations Directly on Your Website** Connect the AI agent you've built on Soca directly to your website through a chat widget. Visitors can ask questions, get answers, and interact anytime without switching platforms. * Connected to Your AI Agent: Select the AI agent you've configured on Soca and link it directly to the chat widget on your website. * Fully Customizable Appearance: Adjust colors, icons, display name, font, and greeting messages so the widget feels seamlessly integrated with your website's visual identity. * Informative Start Screen: Add prompt shortcuts and a disclaimer to guide visitors in starting conversations more effectively. **WhatsApp Widget: Connect Customers to WhatsApp Business in One Click** Embed your WhatsApp Business (WABA) number — already integrated in Soca — directly on your website. When a visitor clicks the widget, they are instantly redirected to a WhatsApp conversation with your business — fast, easy, and frictionless. * Direct Redirect to WABA: Select your connected WhatsApp Business number on Soca and turn it into a button on your website. * Customizable Appearance: Adjust the widget's color and icon to stay consistent with your website's theme. **Voice Stream Widget: An AI Voice Assistant on Your Website** Deliver a more natural communication experience with the Voice Stream widget. Visitors simply speak, and the AI agent responds with voice in return — just like talking to a virtual assistant ready to help at any time. * Connected to Your AI Agent: Choose the AI agent that will handle voice-based conversations directly from your website. * Voice-Based Interaction: No typing required — visitors simply speak and the AI agent responds with voice in real-time. * Customizable Appearance: Set the widget's icon and color to match your website's look and feel. **Why Should Your Business Use the Widget Feature?** * Boost Website Visitor Engagement: With a widget active directly on your web page, visitors don't need to search for contact information or switch to another platform to get help. This reduces bounce rates and increases the likelihood of conversion. * One Platform, Multiple Communication Channels: Manage your Chat, WhatsApp, and Voice Stream widgets all from a single dashboard on Soca — efficient and easy to monitor without juggling multiple tools. * Consistent and Professional Experience: With full customization options — from colors and icons to greeting messages — your widget will blend seamlessly with your website's branding and leave a professional impression on every visitor. # Setup Account Source: https://docs.soca.ai/channel/whatsapp/setup_account Setup12 Pn ### **Smart Automation with the SOCA Platform** * **WhatsApp AI Chat Implementation:** Connect your Meta Business-registered WhatsApp Business number directly to artificial intelligence via the **SOCA Platform**. * **24/7 Automated Responses:** The AI Chat can instantly answer customer queries, 24 hours a day, 7 days a week, without the need for staff intervention. * **Reduced Staff Workload:** Automate repetitive tasks, allowing your team to focus on more complex cases that require a human touch. * **Easy Scalability:** Serve hundreds to thousands of chats simultaneously without delays or bottlenecks. # Try Sandbox Source: https://docs.soca.ai/channel/whatsapp/try_sandbox Sandbox1 Pn The **Try WhatsApp Sandbox on Soca Platform** feature is specifically designed as a secure environment for *testing* your *AI Chat* solutions before they go *live* on an official WABA number. * **Real-Time Simulation**: Experience how your AI Chatbot responds to customer interactions on WhatsApp, from simple to complex scenarios. * **Testing Without Your Own WABA Number**: We provide a *test* number (Sandbox) so you can start trying it out immediately without needing to register or configure a new WABA number. This is ideal for *developer* and *product* teams who need fast concept validation. * **Exclusive Access**: This function ensures that the *AI Chat* integration process runs smoothly and is minimally *buggy* when implemented on your actual WABA number in the future. # Enterprise Services Source: https://docs.soca.ai/general/enterprise Build and scale with SOCA. If you’re building a production AI for your company, we can help you every step of the way from idea to full-scale deployment. #### Enterprise services include : 1. Hands-on 24/7 support 2. Customization services 3. Build your own model 4. Deploy in your own environment 5. Unlimited integrations ### Contact us: To get started with Soca AI, you can reach us [here](https://soca.ai/company/contact-us/) # Multimodal Source: https://docs.soca.ai/general/multimodal To promise a future of inclusivity, we enthusiastically leverage the potential of Multimodal Large Language Models (LLM) for enterprises. Hero Light Hero Dark Unlock digital transformation with our advanced AI platform. Combine LLM and vision to easily extract images from PDFs, and enjoy intelligent chat, precise OCR, and advanced translation in regional languages. Use our speech model for audio analytics to extract insights from MP3 files. Deploy your AI anywhere for seamless integration and enhanced efficiency. # On-Prem Deployments Source: https://docs.soca.ai/general/onprem_deployment Deploy AI in your private cloud or physical server. With Soca On-Prem, you can deploy our advanced enterprise AI platform directly within your private cloud or physical server. Whether it's on a cloud provider of your choice, in any geographic location, or running on your GPUs, Soca AI On-Prem integrates seamlessly into your existing environment. By choosing On-Prem, you ensure that your data, including any documents, files, or databases connected to Soca, remains securely within your own cloud. None of your data is transmitted through Soca’s servers. This is particularly crucial if you're handling sensitive information such as health, financial, or legal data, and need to adhere to strict data privacy requirements. While your deployment does regularly send performance and usage metrics to Soca’s cloud for the purpose of optimizing GPU resources and billing, all network traffic from your device is meticulously logged. This audit trail allows your engineering or security teams to monitor and review the device's activities continuously. ### Prerequisites : You’ll be promptly connected with a Soca Account Representative who will assist you every step of the way, from proof-of-concept to full production deployment. Our Account Representative will guide you through the process of setting up: * A Soca AI product contract * A Soca AI Console account. Your contract will be associated with a specific Soca project, and you can manage your usage, credentials, billing, and more in the Soca Console. Before your planned on-prem deployment, your Soca Account Representative will need: * Your verified email address * Your Company ID Providing this information will enable Soca AI to authorize your project for on-prem usage, including access to container images and download links for AI models. For detailed troubleshooting and on-demand support, an ongoing support contract with Soca AI is required. Hero Light Hero Dark ### Contact us: For more information about Soca On-Prem, please contact us at [support@soca.ai](mailto:support@soca.ai) # Our Platform Source: https://docs.soca.ai/general/our_platform Our platform is designed to adapt and scale to meet every task and need. Hero Light Hero Dark Our platform simplifies complex tasks and adapts to your changing business needs. With powerful data handling and flexible AI workflows, it helps enterprises automate, act, and grow—faster and smarter. # Support Source: https://docs.soca.ai/general/support Soca AI is here for all your inquiries, feedback, and feature requests. Reach out for assistance or to share your ideas, and we’ll ensure you get the support you need. ### Join Soca Community * To take part in community discussion join our [Discord Server](https://discord.com/channels/974212237747183676/974224184458752040) to collaborate with other users and developers. * For quick support: Visit #support channel to submit support requests. * If you encounter any issues, feel free to reach out to our support team via: * Email: [**support@soca.ai**](mailto:support@soca.ai) * WhatsApp: **+62 851-4491-2423** Our team is ready to assist you. # Introduction Source: https://docs.soca.ai/introduction Welcome to Soca AI documentation. Intro1 Pn Intro1 Pn ## Resources Explore the possibilities of our AI platform Build conversational AI agents with no-code workflows Get up & running in minutes with one of our quickstart guides Connect your data or applications to AI programmatically # Broadcast Source: https://docs.soca.ai/monitor/broadcast Bc1 Pn Send promotional messages, product updates, or important notifications to thousands of your customers personally and efficiently using the **Broadcast Template Message** feature via the Soca Platform! * **Scheduled & Instant Mass Delivery:** Utilize pre-approved *message templates* on Meta (WABA). You can send these messages **instantly** for urgent announcements, or **schedule them** on the Soca Platform at the optimal time to reach your audience. * **Policy-Compliant Personal Messages:** Send transaction notifications, promotional follow-ups, or other important information to your customer *database*, ensuring 100% message delivery while complying with WhatsApp Business API policies. * **Accurate Audience Segmentation:** Send specific messages only to relevant customers. For example, send a special discount only to customers who have made a purchase in the last 30 days. Broadcast12 Pn ### Why Your Business Should Use This Feature? * **Increased Efficiency and Scalability:** Save your marketing team's time. Instead of sending messages one by one, you can reach thousands of contacts simultaneously with a single click. This makes your campaigns faster to execute and easier to scale. * **High Delivery Guarantee & Official Status:** Because it uses **Template Messages (HSM)** approved by Meta, your messages have a much higher delivery rate and can be sent to contacts who haven't interacted within the last 24 hours, which is not possible with the standard WhatsApp Business App. * **Boost Conversion and Customer Retention:** Personalized and timely messages (thanks to the scheduling feature) will feel more relevant to customers, encouraging them to take immediate action, whether it's a purchase or other interaction. # Follow Up Source: https://docs.soca.ai/monitor/follow_up Fu Never lose a potential customer just because you forgot to follow up! Automate your WhatsApp follow-up messages and let AI handle the conversation for you using the Follow-Up feature on the Soca Platform! * **AI-Powered Follow-Up:** For Sales and Engagement goals, the AI automatically crafts and sends follow-up messages based on your instructions — no manual effort needed. The AI understands the context of each conversation and determines the best time to reach out. * **Template-Based Follow-Up:** For Retention and Feedback goals, send structured follow-up messages using Meta-approved templates. Perfect for post-purchase follow-ups, relationship maintenance, or collecting customer reviews on a scheduled basis. * **Flexible Scheduling:** Set follow-up intervals that suit your business flow — from as short as 30 minutes for urgent sales follow-ups, up to 30 days ahead for long-term retention campaigns. Each follow-up supports up to 3 sequences and stops automatically once the customer replies. **Why Your Business Should Use This Feature?** * **Never Miss a Follow-Up Again:** Human error is inevitable — your sales team may forget to follow up with a lead at the right time. This feature ensures every contact is followed up automatically and consistently, without exception. * **Higher Conversion Rate:** Studies show that most sales happen after the first point of contact. By sending timely and contextual follow-up messages, you significantly increase the chance of converting leads into paying customers. * **Save Time, Scale Faster:** Instead of manually chasing every customer, your team can focus on closing deals while the platform handles follow-ups in the background — across hundreds or thousands of contacts simultaneously. # Inbox Source: https://docs.soca.ai/monitor/inbox Inbox12 Pn Monitor, manage, and respond to all your customer conversations in one place with the Inbox feature on the Soca Platform — powered by AI, personalized by your team! * **Centralized Multi-WABA Monitoring:** View all incoming messages from every WhatsApp Business Account (WABA) integrated into your Soca Platform in a single, organized inbox. Messages are grouped by time (Today, Yesterday, Last 7 Days) and can be filtered by read/unread status, so your team never misses a single conversation. * **AI & Human Hybrid Response:** Every conversation can be handled automatically by your configured AI Agent or taken over manually by a human agent at any time. Simply toggle between AI and Human mode mid-conversation — giving you full flexibility to deliver fast automated responses while still allowing personal intervention when it matters most. * **Customer Journey Tracking:** Every interaction with a customer is automatically recorded as a journey stage — from the first chat, human response, contact creation, to deal progression. This gives your team a full picture of where each customer stands in their relationship with your business, all without leaving the inbox. * **Personalized Notes per Customer:** Add private notes to any customer's number directly from the inbox panel. Whether it's a preference, a follow-up reminder, or a special instruction for your team, notes are saved and visible every time that number appears in a conversation. * **One-Click Contact Saving:** Save any customer's number directly to your Contact Management from the inbox with a single click, ensuring no lead or customer data is ever lost and every contact is ready for your next campaign or follow-up. **Why Your Business Should Use This Feature?** * **Total Conversation Control:** Managing customer messages across multiple WABA numbers without a centralized tool leads to missed messages and inconsistent responses. The Inbox brings everything into one place so your team can operate with full visibility and control. * **Faster Response, Better Customer Experience:** With AI handling routine inquiries automatically and human agents stepping in only when needed, your business can deliver fast, accurate, and personalized responses 24/7 — without burning out your team. * **Data-Driven Customer Relationships:** The combination of Customer Journey tracking, personalized notes, and seamless contact saving means every conversation becomes a data point that helps your team understand, segment, and serve customers better over time. # Billing Source: https://docs.soca.ai/organization/billing View plans, track usage, and manage invoices securely. Billing11 Pn Track your subscription and monitor credits usage—your in-app. Access usage history by each member, manage payment methods, and download invoices for easy financial tracking. Billing12 Pn # Billing13 Pn # General Source: https://docs.soca.ai/organization/general Manage your organization’s basic settings and preferences. Set the foundation of your organization by configuring core details like company name and full address. General12 Pn # Members Source: https://docs.soca.ai/organization/members Invite, assign roles, and manage access for your team. Members11 Pn Manage your team effortlessly. Invite users one by one via email or speed things up with a bulk import. Assign roles, monitor activity, and keep collaboration secure with role-based access controls. Member12 Pn # Platform Overview Source: https://docs.soca.ai/platform_overview Start building awesome AI agents in minutes ## Home It all starts here. A powerful no-code AI platform to build endless AI agents that can think, act, and engage—through WhatsApp, chat, and voice stream. Home1 Pn ## Studio Imagine building AI agents with ease. With Studio, you can create dynamic use cases using tools, conditions, webhooks, and more. Automate complex processes and let AI understand your data to take actions autonomously. Studio11 Pn Studio11 Pn One Studio. Every Channel. Build quickly, run effortlessly, and control everything securely—from one powerful workspace. Studio12 Pn # Tutorials Source: https://docs.soca.ai/tutorials Learn how to build AI agent. Soca AI team has prepared a few tutorials and materials to help you get started with multiple AI projects. ### Create Whatsapp Commerce Agent with Studio In this tutorial, we show you how to use **Studio**. It plays an essential role in how AI works in the background to process your **Shopify** product data and **WhatsApp** interactions to power the **Virtual Try-On** feature.