# B-Bot Hub Concepts Source: https://docs.b-bot.space/concepts An overview of AI Agents, DeepAgents, multimodal workflows, training, and Distribution Channels in B-Bot Hub. # B-Bot Hub Concepts B-Bot Hub helps you configure AI Agents for focused roles and make them available through Distribution Channels. This section explains the ideas behind the product. For step-by-step setup instructions, use the linked Essentials guides. ## Start with the Core Concepts Learn the vocabulary used for an Agent's identity, instructions, capabilities, and access. Understand how to define, test, connect, publish, and maintain an Agent. See the conceptual flow from a user request to a model, tools, and a response. Learn how configured experiences make an Agent available to users and systems. ## Specialized Concepts Decide when examples and model fine-tuning are appropriate. Learn how teacher-generated examples can be used to train and evaluate a smaller model. Understand task planning, workspace files, and human review for multi-step work. Plan interactions that use text, voice, images, or files. ## Design an Agent Define a useful role, boundaries, tone, and evaluation scenarios. Write clear instructions that are easier to test and maintain. ## Explore Use Cases * [Customer support](/concepts/use_cases/customer-support): plan grounded answers, escalation, and review. * [Data analysis](/concepts/use_cases/data-analysis): structure data checks, analysis, and result validation. * [Content creation](/concepts/use_cases/content-creation): create repeatable drafting and editorial workflows. Available models, tools, modalities, and Distribution Channels depend on your B-Bot Hub configuration and connected providers. Confirm availability before designing a production workflow. ## Put the Concepts into Practice Use [Create Agent](/essentials/create-expert) to create the initial Agent, then continue with [Edit Agent](/essentials/edit-expert) to configure its behavior and capabilities. # Agent Architecture Source: https://docs.b-bot.space/concepts/architecture/agent-architecture A conceptual view of how requests, Agent configuration, models, context, tools, and Distribution Channels work together. # Agent Architecture B-Bot Hub separates the definition of an AI Agent from the experience used to reach it. This page describes that relationship at a conceptual level. It is not a specification of internal services or execution order. ## Main Layers A chat or another Distribution Channel receives input and presents the result. Identity, system instructions, abilities, model choices, and permitted capabilities define the Agent. Conversation context, knowledge, apps, tools, modalities, and team members provide task-specific inputs or actions. The selected model interprets the available context and generates a response or proposes tool use. ## Conceptual Request Flow ```text theme={null} User or system -> Distribution Channel -> conversation settings and input processing -> Agent instructions and available context -> selected model -> permitted knowledge, tools, apps, or team members -> response, file, or proposed action -> Distribution Channel ``` Not every request uses every layer. A direct text question may need only instructions and a model. A multi-step DeepAgents request may also use tasks, workspace files, and review points. ## Configuration and Authorization Instructions tell the model how it should behave. Permissions determine what the surrounding system allows it to access or do. These are different controls. * Use the system prompt for role, priorities, and behavioral boundaries. * Use app, tool, and account permissions for access control. * Use human-in-the-loop review for sensitive proposed actions. * Use Distribution Channel settings for how an experience is exposed. Do not treat a prompt instruction such as "never access private data" as a substitute for technical permissions. Remove access that the workflow does not need. ## State and Context The context available to a request can include the current conversation, Agent instructions, retrieved knowledge, tool results, and workspace artifacts. Availability and retention depend on the feature and configuration. Because context is limited and can change: * Keep instructions concise and resolve conflicts. * Retrieve only relevant source material. * Store large intermediate artifacts in workspace files when appropriate. * Confirm that important state is present before continuing a task. * Do not assume that information from another session or channel is available. ## Failure Boundaries Design each layer to handle failure clearly: * Invalid or unsupported input should produce an actionable message. * Missing knowledge should produce uncertainty or a request for information. * Tool failure should not be described as success. * Sensitive actions should stop at the configured review point. * The Distribution Channel should communicate the final status to the user. ## Related Concepts Learn the vocabulary for Agent configuration. Design, test, distribute, and maintain an Agent. Understand multi-step workspaces and review controls. Configure how users and systems reach an Agent. # Agent Lifecycle and Configuration Source: https://docs.b-bot.space/concepts/basics Understand the main configuration primitives and the lifecycle of an AI Agent in B-Bot Hub. # Agent Lifecycle and Configuration An effective AI Agent is built through iteration. Start with a narrow role, configure only the capabilities it needs, test representative requests, and revise the configuration when results do not meet your criteria. ## Lifecycle State the Agent's purpose, intended users, supported tasks, and boundaries. Decide what a successful response looks like. Set the identity, system prompt, model, abilities, templates, modalities, knowledge, apps, and team members that the use case requires. Test common requests, edge cases, ambiguous requests, and requests the Agent should refuse or hand off. Check factual accuracy and tool use separately from tone. Select and configure the appropriate Distribution Channel. Re-test permissions, inputs, outputs, and user experience in that channel. Review feedback and failures. Update instructions and knowledge when requirements change, then repeat the test set. ## Workflows Workflow templates in B-Bot Hub An **Agent** defines behavior and capabilities. A **Workflow** is a server-executed, multi-step automation. **DeepAgents** supports multi-step work inside an agent interaction. ## Configuration Primitives ### Identity and System Prompt Identity fields explain who the Agent is to users. The system prompt defines how it should work. Keep product facts and frequently changing information in maintained knowledge sources instead of embedding them in a long prompt. ### Model The model performs language and reasoning work. Model availability and supported features depend on configured providers. Select a model by testing it against your own quality, latency, and cost requirements rather than relying on a general ranking. ### Abilities and Templates * **Abilities** provide reusable behavior modes. * **Templates** provide reusable starting prompts. Neither adds external data or permissions by itself. ### Knowledge Knowledge can ground responses in maintained documents or structured sources. Retrieval does not guarantee that every relevant item will be selected, so test important questions and keep source material current. ### Apps, Tools, and Team Members Apps and tools extend what an Agent can access or do. Team members divide work among Agents. Apply the minimum permissions needed and define which capability should handle each task. ### Modalities Modalities determine the supported forms of input and output. Confirm that the selected model, provider, and Distribution Channel support the required combination. ### Conversation Settings Conversation-level settings can change how an Agent behaves for one session. When diagnosing a result, record both the Agent configuration and any session overrides. ## Configuration Layers ```text theme={null} User request -> Distribution Channel and session settings -> Agent identity and instructions -> Model, knowledge, apps, and tools -> Response or action ``` This is a conceptual flow. A capability must be configured and permitted before the Agent can use it. ## Evaluation Checklist * Does the Agent stay within its role? * Are factual claims supported by the available context? * Does it ask for missing information? * Does it avoid inventing tool results or completed actions? * Are sensitive or irreversible actions reviewed? * Does the complete Distribution Channel experience work as intended? * Can a maintainer understand and update the configuration? ## Related Guides Configure identity, abilities, models, apps, and team members. Add documents, QA pairs, or fine-tuning when the use case requires them. Configure supported input and output types. Make an Agent-based experience available to users or systems. # Design an AI Persona Source: https://docs.b-bot.space/concepts/best_practices/ai-persona-with-b-bot Define a useful role, voice, boundaries, capabilities, and evaluation plan for an AI Agent. # Design an AI Persona An AI persona is the consistent role and communication style users experience when interacting with an AI Agent. A useful persona supports the task. It should make expectations clearer, not pretend that the Agent has human experiences, feelings, or authority. ## Start with the Job Define the persona from operational requirements: * Who will use the Agent? * What problems should it help solve? * What information can it use? * Which actions may it take? * What must it refuse or escalate? * What does a successful result look like? Avoid broad roles such as "an expert in everything." A narrow role is easier to explain, configure, and evaluate. ## Persona Components A name, profession, and short description that set accurate user expectations. The tasks and outcomes the Agent is designed to support. A small set of observable writing traits, such as concise, calm, and direct. Unsupported topics, prohibited actions, privacy rules, and escalation conditions. ## Separate Behavior from Capability A persona can instruct an Agent to be careful, but it cannot grant knowledge, tools, or permissions. * Put role and behavior in the system prompt. * Put current facts in maintained knowledge sources. * Configure apps and tools for required capabilities. * Enforce access through technical permissions. * Use Distribution Channels to control how the experience reaches users. ## Build the Persona Example: "You are a support triage Agent that helps users find approved troubleshooting steps and prepares human handoffs." Prefer instructions such as "use short sentences and define specialist terms" over labels such as "sound brilliant." State what the Agent must not do, what information it must not request, and when it should stop or escalate. Connect only the knowledge, apps, tools, modalities, and team members required for the role. Use common requests, ambiguous requests, adversarial instructions, unavailable information, and out-of-scope tasks. Change one part at a time and repeat the same evaluation set. ## Evaluation Questions * Does the Agent describe its role accurately? * Is the voice consistent without becoming repetitive? * Does it clearly distinguish facts, suggestions, and uncertainty? * Does it remain within scope when the user asks it to ignore instructions? * Does it use the correct capability when one is available? * Does it avoid claiming that an action happened without confirmation? * Does it escalate at the defined boundary? ## Avoid Deceptive Personas Do not instruct an Agent to claim human credentials, personal experience, consciousness, or actions it cannot verify. Where confusion is possible, identify it as an AI Agent and explain the limits relevant to the task. ## Related Guides Turn the persona design into clear instructions. Configure the Agent in B-Bot Hub. # Craft a System Prompt Source: https://docs.b-bot.space/concepts/best_practices/crafting-a-system-prompt Write clear, testable, and maintainable system instructions for an AI Agent. # Craft a System Prompt A system prompt defines the role, priorities, and behavioral boundaries of an AI Agent. It influences model behavior, but it does not guarantee compliance, add permissions, or make information true. ## Recommended Structure ### 1. Role and Purpose State who the Agent serves and what it should help them accomplish. ```text theme={null} You are a customer support triage Agent for [organization]. Help users find approved troubleshooting information and prepare clear handoffs. ``` ### 2. Scope List supported tasks and important exclusions. ```text theme={null} You may explain documented setup and troubleshooting steps. You must not change accounts, approve refunds, or make policy exceptions. ``` ### 3. Source Rules Explain which information is authoritative and what to do when it is missing. ```text theme={null} Use the approved knowledge sources for product and policy facts. If the sources do not support an answer, say what is missing. Do not invent links, quotations, tool results, or completed actions. ``` ### 4. Interaction Rules Describe how the Agent should gather information and present results. ```text theme={null} Ask one focused question when required information is missing. Use short steps in the order they should be completed. Separate confirmed facts from suggestions. ``` ### 5. Safety and Escalation Define sensitive data rules, prohibited actions, and handoff conditions. ```text theme={null} Do not request passwords or unnecessary personal data. Escalate requests involving identity verification, legal commitments, financial decisions, or irreversible changes. ``` ### 6. Output Format Specify a format only when the workflow needs one. ```text theme={null} Return: 1. Summary 2. Recommended next step 3. Source or reason for escalation ``` ## Complete Template ```text theme={null} Role You are [role] for [users or organization]. Purpose Help users [supported outcome]. Scope - Support: [tasks] - Do not: [tasks or claims] Sources and tools - Use: [authoritative sources] - Use tools only for: [approved actions] - Never claim an action succeeded without confirmation. Interaction - Ask for: [required context] - Respond with: [tone and level of detail] - If uncertain: [fallback behavior] Safety and escalation - Do not collect: [sensitive data] - Stop or escalate when: [conditions] Output - Format: [required structure] - Include: [sources, assumptions, or limitations] ``` ## Writing Principles * Use direct, observable instructions. * Put the most important rules early. * Resolve conflicting instructions. * Avoid repeating the same rule in several forms. * Keep changing facts outside the prompt. * Do not include secrets or private credentials. * Define what to do when information or a tool is unavailable. ## Test Before Release Create a small evaluation set that covers: * Normal in-scope requests * Missing or ambiguous information * Out-of-scope requests * Requests to ignore the system prompt * Unavailable tools or source material * Sensitive and irreversible actions * Required output formats Review factual accuracy, boundary handling, tool claims, tone, and format separately. Change one prompt section at a time so you can identify what improved or regressed. System prompts are behavioral guidance, not security controls. Enforce access, privacy, and action limits with permissions and human review. ## Related Guides Define the role and boundaries before writing instructions. Test and maintain the full Agent configuration. # DeepAgents Source: https://docs.b-bot.space/concepts/deepagents/introduction Understand how DeepAgents use tasks, workspace files, tools, and human review for multi-step work. # DeepAgents DeepAgents is B-Bot Hub's mode for work that benefits from planning and intermediate artifacts. A DeepAgent can use a task list and workspace files while working through a multi-step request. The exact tools and actions available depend on the Agent, session, and environment. ## Core Concepts A visible plan can divide a goal into smaller steps and show progress. Inputs, notes, code, data, and outputs can be organized in the workspace. Configured tools may let the DeepAgent retrieve information, process files, run code, or interact with connected services. Human-in-the-loop controls can require review before selected actions. ## Conceptual Workflow ```text theme={null} Goal -> clarify requirements -> create or update tasks -> use permitted tools and workspace files -> check intermediate results -> request approval where required -> present outputs and unresolved issues ``` A task marked complete only indicates workflow state. It does not prove that the result is correct. ## When to Use DeepAgents DeepAgents can be useful for: * Projects with several dependent steps * Work that produces or revises multiple files * Analysis that needs visible assumptions and intermediate checks * Long requests that benefit from a maintained task list * Workflows where people need to review proposed actions Standard chat may be simpler for a direct question, a short rewrite, or another task that does not need a workspace. ## Giving a DeepAgent a Good Request Include: * The required outcome and audience * Inputs and source-of-truth material * Constraints, exclusions, and quality criteria * Allowed tools and actions * Required file names or output formats * Actions that require approval * A definition of done Example: ```text theme={null} Analyze the attached CSV and prepare a reviewable report. Create tasks for data inspection, cleaning, analysis, validation, and reporting. Keep the source file unchanged. Record every transformation in a separate file. Ask for approval before running code that writes new output files. Do not send data to external services. The work is complete when totals are reconciled and the report lists assumptions. ``` ## Human-in-the-Loop Use human review for actions that are sensitive, irreversible, externally visible, or costly. Examples include: * Sending messages or publishing content * Changing records or permissions * Running unfamiliar code * Using private data with an external service * Triggering purchases, payments, or deployments Human-in-the-loop reduces risk but does not make an action safe by itself. The reviewer still needs enough context to understand the proposal. ## Workspace Practices * Keep original inputs separate from generated files. * Use descriptive file names. * Record assumptions and decisions. * Review generated code before execution. * Download or retain important outputs according to your data policy. * Verify workspace behavior and retention for the specific workflow. Grant only the tools and permissions needed for the task. A system prompt is not an access-control boundary. ## Related Guides Learn how to enable and use workspace features. Learn about scheduled and on-demand tasks. Apply DeepAgents to a reviewable analysis workflow. Organize a multi-stage editorial workflow. # Fine-Tuning Source: https://docs.b-bot.space/concepts/fine-tuning/introduction Understand what fine-tuning changes, when to use it, and how to evaluate a trained model safely. # Fine-Tuning Fine-tuning continues the training of a supported base model on examples for a specific task. It can reinforce response patterns, terminology, style, or output structure. It does not automatically add reliable, current knowledge and it does not guarantee better results. Model and provider support varies. Confirm the available base models, data format, limits, and costs in your B-Bot Hub configuration before preparing a dataset. ## Choose the Right Method Use for instructions, priorities, tone, boundaries, and behavior that may change. Use for source material that must stay current, traceable, or easy to replace. Use for repeated examples of the behavior or output pattern you want the model to learn. Try prompt and knowledge improvements first. Consider fine-tuning when you have a stable task, a measurable gap, representative examples, and a supported model. ## Fine-Tuning Workflow Write a narrow improvement goal, such as following a response schema or applying a consistent support style. Prepare representative test cases before training. Keep them separate from training examples. Use clear inputs and reviewed ideal outputs. Include normal cases, difficult cases, and appropriate refusals. Remove duplicates, contradictions, sensitive data, outdated facts, and examples that reward unsupported claims. Select a supported base model and use the training controls available in B-Bot Hub. Evaluate the base and trained versions on the same held-out cases. Adopt the trained version only when it improves the defined target without unacceptable regressions. ## Dataset Principles * **Representative:** Match real inputs, including their length and ambiguity. * **Consistent:** Resolve conflicts in tone, policy, and expected behavior. * **Complete:** Include enough context for the desired answer. * **Current:** Remove stale policies, product details, and links. * **Safe:** Exclude secrets and personal data unless collection and use are approved. * **Balanced:** Include cases where the correct behavior is to ask, refuse, or escalate. There is no universal number of examples that guarantees a useful model. Start with a reviewed dataset, measure the result, and add examples that address observed gaps. ## Evaluation Evaluate dimensions separately: * Task success and factual accuracy * Instruction and format compliance * Appropriate uncertainty and refusal * Robustness to paraphrases and edge cases * Regressions outside the target behavior * Latency and cost in the intended environment Record the dataset version, base model, configuration, and evaluation results so the decision can be reproduced. ## Common Mistakes Frequently changing facts are usually easier to maintain in a knowledge source or request context. This measures memorization, not performance on new requests. Keep a separate evaluation set. Generated examples can contain errors and repeated patterns. Review them before training. A completed training job is not evidence of better behavior. Compare against the base model. ## Related Guides Use the B-Bot Hub training interface. Learn how teacher-generated examples can support a fine-tuning dataset. # Model Distillation Source: https://docs.b-bot.space/concepts/fine-tuning/model-distillation Learn how to create, review, and evaluate teacher-generated examples for a smaller student model. # Model Distillation Model distillation is a training approach in which outputs from a **teacher model** help create examples for a **student model**. The goal is to teach a narrower task to a model that may better fit the workflow's cost, latency, or deployment constraints. Distillation does not copy all capabilities of the teacher. Results depend on the task, teacher prompts, data coverage, student capacity, training method, and evaluation quality. ## Teacher and Student * The **teacher** generates or improves candidate answers for representative inputs. * Reviewers verify those candidates against source material and requirements. * The approved examples form part of the student's fine-tuning dataset. * The **student** is evaluated on cases that were not used for training. The teacher and student can be any models supported by the chosen training workflow. Avoid model names in a long-lived design because provider catalogs change. ## Distillation Workflow Specify the inputs, expected outputs, quality criteria, and boundaries. Distillation is easier to evaluate when the target is well defined. Create a held-out set from realistic use. Include common cases, edge cases, and cases requiring uncertainty or refusal. Ask the teacher for outputs using the same context and rules expected in production. Generate varied inputs instead of repeated templates. Check facts, reasoning, safety, tone, and format. Remove or rewrite weak examples; do not assume teacher output is correct. Format the approved examples for a supported fine-tuning workflow and train a version of the student model. Compare the student, teacher, and unmodified student base model on the held-out set and on operational requirements. Review production failures, data drift, and provider changes. Retrain only when new evidence supports it. ## Example Teacher Instruction ```text theme={null} Create a candidate response for the support case below. Use only the attached policy and product documentation. Follow the required response schema. If the sources do not support an answer, return "needs_review": true and explain which information is missing. Do not invent account actions, policy exceptions, links, or outcomes. ``` Treat the output as a candidate for review, not as approved training data. ## Evaluation Design Choose measures that match the task: * Exact schema or format compliance * Accuracy against approved sources * Correct tool or escalation decision * Human review scores using a written rubric * Failure rate on safety and refusal cases * Latency and measured cost in the intended environment Do not describe quality as a percentage unless the scoring method and test set make that percentage meaningful. Do not assume a fixed cost saving; calculate it from current provider pricing and measured token or resource use. ## When Distillation Is a Poor Fit * The task changes frequently * Answers depend mainly on current knowledge * A smaller model cannot support the required modality or tool behavior * You cannot review the generated examples * You do not have a representative evaluation set * Errors have consequences that the workflow cannot safely contain ## Data Safety Teacher prompts and generated datasets may be sent to model providers. Remove unnecessary personal data and secrets, and confirm that data handling is approved for every provider involved. ## Related Guides Review dataset preparation and evaluation fundamentals. Follow the available B-Bot Hub training workflow. # AI Agents and Core Vocabulary Source: https://docs.b-bot.space/concepts/introduction Learn what an AI Agent is and how B-Bot Hub describes identity, behavior, capabilities, and access. # AI Agents and Core Vocabulary An **AI Agent** is a configured AI experience for a defined role. In the interface and documentation, it may also be called an **Agent**. The configuration gives the Agent a recognizable identity, instructions, optional capabilities, and a model. An Agent is not automatically correct or autonomous. Its results depend on its instructions, model, available context, connected tools, and the quality of the user's request. Older guides or API surfaces may still use **Expert** to refer to an AI Agent. Create Agent basics in the B-Bot Hub interface ## Agent Configuration The name, profession, description, and profile image shown to users. The system prompt and other guidance that define the role, priorities, tone, and boundaries. The selected model and the configured forms of input or output, such as text, voice, images, or files. Abilities, connected apps, knowledge sources, and team members that may be available to the Agent. ## Product Vocabulary ### Abilities Abilities are reusable behavior instructions. They help users select a mode or approach for a conversation. Keep each ability focused and describe the expected behavior clearly. ### Templates Templates are prepared prompts that help users start common tasks. They are examples of what to ask, not guarantees about the result. ### Knowledge Knowledge sources provide information that an Agent can reference. Use them for material that must be maintained separately from the system prompt, such as product documentation or policies. ### Apps and Tools Connected apps and tools can provide information or actions beyond the model itself. Their availability and permissions depend on how the Agent and the user's session are configured. ### Team An Agent can be configured with other Agents as team members where that feature is available. Treat each team member as a specialist with a clear responsibility. ### Distribution Channels **Distribution Channels** define how an Agent-based experience reaches users or systems. Channel configuration is separate from the Agent's core identity and behavior. ### DeepAgents **DeepAgents** is a mode for multi-step work that uses tasks and workspace files. Human-in-the-loop controls can add review points before actions. ## A Useful Mental Model ```text theme={null} Agent = identity + instructions + model + permitted capabilities Experience = Agent + conversation settings + Distribution Channel ``` The same Agent may behave differently when the model, enabled tools, available context, or channel changes. Test the complete experience that users will receive. ## Next Steps Learn how the configuration pieces fit together over time. Follow the product guide to create your first Agent. # Multimodal AI Source: https://docs.b-bot.space/concepts/multimodal/introduction Understand how text, voice, images, and files can participate in an AI Agent workflow. # Multimodal AI A modality is a form of input or output. A multimodal workflow combines more than one form, such as a text question about an uploaded image or a spoken request with a text response. In B-Bot Hub, modality support depends on the selected model, provider, Agent configuration, and Distribution Channel. Configure and test the complete combination before relying on it. ## Common Modalities Instructions, questions, formatted responses, and code. Speech can be transcribed as input, and text can be synthesized as audio where configured. Supported models may inspect an image supplied with a question or produce an image through a configured capability. Supported files can provide context or become outputs in workflows that include file handling. ## Input and Output Are Separate An Agent that accepts an image does not necessarily generate images. Voice input and audio output also require separate configuration. For each workflow, document: * Accepted input types * Expected output types * Size, format, and language constraints * Required provider keys * Channel limitations * Fallback behavior when processing fails ## Example Patterns ### Image and Text The user uploads an image and asks a specific question. The Agent returns a text description or analysis. The result should be treated as an interpretation, especially for small text, measurements, or safety-critical images. ### File and Text The user supplies a document or dataset with instructions. The Agent extracts or analyzes supported content. For important work, confirm that the complete file was processed and verify the result against the source. ### Voice and Text Speech is transcribed, then processed as a user message. Transcription errors can change meaning, so show or confirm critical details before acting. ### Text and Audio A text response is converted to speech. Provide a text alternative and test pronunciation, language, and accessibility needs. ## Design Checklist Verify that the model, provider, and Distribution Channel support the required input and output types. Send only the content needed for the task. Remove unnecessary personal or confidential information. Tell users when an input cannot be processed and provide a safe alternative, such as text entry or a different file format. Test representative accents, images, document layouts, file sizes, devices, and network conditions. Require qualified review for medical, legal, financial, safety, identity, or accessibility decisions. ## Limitations * Speech recognition can mishear names, numbers, and specialist terms. * Image analysis can miss details or infer objects that are not present. * Document extraction can lose layout, tables, annotations, or scanned text. * Generated files may be malformed or contain incorrect data. * Provider behavior, limits, and pricing can change. Do not use an AI Agent as the sole authority for identity verification, diagnosis, compliance, or other high-impact decisions based on multimodal input. ## Related Guides Review the current B-Bot Hub input and output settings. Configure credentials for supported providers. Learn how users provide text, voice, images, and files in chat. Use workspace files in multi-step workflows. # Content Creation Source: https://docs.b-bot.space/concepts/use_cases/content-creation Design a repeatable content workflow with clear briefs, source checks, and human editorial review. # Content Creation A content creation AI Agent can help develop outlines, drafts, variations, and revisions. The strongest workflow separates generation from approval: people define the brief, review factual claims, apply editorial judgment, and authorize publication. ## Define the Editorial Contract Configure the Agent with: * Intended content types and audiences * Brand voice and required terminology * Prohibited topics, claims, and phrases * Formatting and accessibility requirements * Source and citation requirements * A review and approval process Store stable behavior in the system prompt. Keep changing facts, product details, and campaign information in maintained sources or in the request. ## Recommended Workflow Provide the goal, audience, channel, key message, required facts, sources, length, tone, and call to action. Ask for a structure before a full draft. Review scope, emphasis, and missing information. Generate from the approved outline. Require the Agent to mark unsupported claims and placeholders instead of filling gaps. Check facts, citations, brand rules, legal requirements, originality, accessibility, and channel-specific constraints. Give specific feedback tied to the brief. Keep approved facts unchanged unless a source supports the revision. Use a human approval step. Publishing requires a separately configured and authorized integration. ## Example Brief ```text theme={null} Create an outline for a 900-word product guide. Audience: administrators evaluating [product] Goal: explain the setup process without making performance claims Tone: direct, calm, and technical Required sources: [approved links or attached documents] Required sections: prerequisites, setup, verification, limitations Terminology: use "AI Agent" and "Distribution Channel" Do not invent features, customer examples, quotations, or statistics. Mark missing information as [NEEDS INPUT]. Return an outline only. ``` ## Using DeepAgents For a larger content package, DeepAgents can organize tasks and files for research notes, outlines, drafts, and review comments. Confirm which tools are available before asking the Agent to research, create media, or publish. ```text theme={null} campaign/ source-notes.md approved-claims.md article-outline.md article-draft.md social-variations.md review-checklist.md ``` ## Quality Checklist * Does the content satisfy the approved brief? * Are names, dates, links, quotations, and numbers verified? * Can each material claim be traced to an approved source? * Are invented case studies or testimonials excluded? * Is the content appropriate for the audience and channel? * Does it follow brand, accessibility, legal, and privacy requirements? * Has a person approved the final version? Fine-tuning may help with repeated style or format patterns, but it does not make facts current and does not remove the need for review. ## Related Guides Define the role, voice, boundaries, and evaluation set. Write clear and maintainable content instructions. Learn when examples or fine-tuning may help. Organize multi-step content projects. # Customer Support Source: https://docs.b-bot.space/concepts/use_cases/customer-support Plan a customer support AI Agent with grounded answers, clear boundaries, and human escalation. # Customer Support A customer support AI Agent can help users find documented information, follow troubleshooting steps, and prepare a handoff to a person. Design it as part of a support process, not as a replacement for policy, account controls, or human judgment. ## Define the Scope Start with a limited set of supported tasks, such as: * Answering questions from approved help content * Guiding users through reversible troubleshooting steps * Collecting details needed for a support request * Summarizing a conversation for a human agent * Drafting replies for human review List tasks the Agent must not complete without an approved tool and appropriate authorization. Examples include changing account access, issuing refunds, or making legal commitments. ## Configure the Agent Describe the products, users, languages, and issue types the Agent supports. State when it must say that it does not know. Connect current help articles, policies, and troubleshooting guides. Assign an owner and review date to each source. Require concise steps, distinguish confirmed facts from suggestions, and ask for missing context before diagnosing a problem. Specify when to involve a person and which details should be included in the handoff. Test both the Agent and its intended Distribution Channel with common questions, outdated assumptions, unsupported requests, and sensitive cases. ## Example System Prompt ```text theme={null} You are a customer support Agent for [organization]. Use only the approved support information available to you. If the answer is not supported, say what is missing and offer a human handoff. Ask for the minimum information needed to understand the issue. Give reversible troubleshooting steps one at a time. Do not claim that an account change, refund, or ticket update was completed unless an authorized tool confirms it. Do not request passwords, full payment details, or other unnecessary secrets. ``` Adapt this example to your policies and available capabilities. ## Escalation Design Escalate when: * The user asks for a person * The request requires identity verification or restricted account access * A policy exception or financial decision is required * The available knowledge does not support an answer * Troubleshooting could cause data loss or another irreversible outcome * The conversation involves safety, legal, or compliance concerns An escalation summary should separate user-provided facts, actions already attempted, relevant source material, and the unresolved question. ## Evaluation Build a repeatable test set and review: * **Grounding:** Is the answer supported by current source material? * **Resolution path:** Are the next steps clear and appropriate? * **Boundary handling:** Does the Agent avoid unsupported actions and claims? * **Escalation:** Does it hand off at the correct point with useful context? * **Privacy:** Does it avoid collecting unnecessary sensitive data? * **Tone:** Is the response respectful without hiding uncertainty? Track results from your own workflow. Do not assume a specific automation rate, response time, or cost saving before measurement. Review privacy, security, retention, and access requirements before connecting customer records or support systems. A connected app should receive only the permissions needed for the approved workflow. ## Related Guides Create the initial customer support Agent. Write testable behavior and escalation instructions. Choose between maintained knowledge, examples, and fine-tuning. Configure how users reach the support experience. # Data Analysis Source: https://docs.b-bot.space/concepts/use_cases/data-analysis Plan a traceable data analysis workflow with an AI Agent and optional DeepAgents workspace. # Data Analysis A data analysis AI Agent can help structure questions, inspect data, draft analysis code, and explain results. DeepAgents can support multi-step work with tasks and workspace files. The analyst remains responsible for data quality, method selection, and interpretation. ## Define the Analysis Before providing data, state: * The decision or question the analysis should support * The meaning, units, and time range of important fields * Known quality issues and missing values * Required filters, comparison groups, and assumptions * The expected output format * Privacy or access restrictions Do not upload data that the selected model, provider, or environment is not approved to process. ## A Reviewable Workflow Identify the file structure, field meanings, row counts, date ranges, and obvious quality issues. Do not begin with conclusions. Write the proposed transformations, calculations, and checks. Use DeepAgents tasks when the work benefits from visible stages. Handle missing values, duplicates, types, and exclusions. Preserve the original input and document each change. Perform the agreed calculations. Save reusable code or queries where the configured workspace supports files. Reconcile totals, inspect samples, test edge cases, and compare important calculations with an independent method. Present findings with assumptions, limitations, and enough detail for another person to reproduce the work. ## Example Request ```text theme={null} Analyze the attached sales data for January through June. First, describe the schema and report missing or invalid values. Then propose an analysis plan for revenue by month and region. Do not modify the source file. Save transformation steps and calculations separately. For every finding, include the calculation and relevant filters. Flag any conclusion that depends on incomplete data. Wait for approval before adding a forecast. ``` ## Using DeepAgents DeepAgents is useful when an analysis needs a visible plan and several intermediate files. A workspace might contain: ```text theme={null} tasks - inspect source data - document cleaning rules - calculate agreed metrics - validate totals - draft report files - data-quality-notes.md - cleaning-script.py - metric-definitions.md - validation-results.md - report-draft.md ``` These names illustrate an organization pattern. Actual file types and execution capabilities depend on the configured environment. ## Validation Checklist * Are the source, extraction time, and filters recorded? * Are units, currencies, time zones, and date boundaries explicit? * Can totals be reconciled with the source? * Are missing values and exclusions reported? * Are correlations presented without unsupported causal claims? * Are forecasts separated from observed results? * Can another analyst reproduce the transformations? * Has a qualified person reviewed high-impact conclusions? Generated code and calculations can be wrong even when the explanation sounds confident. Review code before execution and verify important results independently. ## Related Guides Understand tasks, workspace files, and review controls. Learn how to use the workspace in B-Bot Hub. Plan workflows that use files, images, and text. Review the product guide for scheduled work. # Hosting in Switzerland Source: https://docs.b-bot.space/declarations/hosting Where the B-Bot Hub platform infrastructure is hosted # Hosting in Switzerland The B-Bot Hub platform infrastructure is hosted on servers operated by **Phoeniqs Technologies AG in Switzerland**. **Last updated:** July 12, 2026 ## Platform scope The Swiss hosting environment covers the B-Bot-managed Hub application, platform services, APIs, and platform data storage. This replaces the providers and regions listed in earlier versions of this declaration. ## Third-party services B-Bot Hub can connect to services that are not part of the B-Bot-managed hosting environment, including: * AI model and media providers * Connected apps and MCP servers * Authentication or payment services * Services configured through Workflows, Tasks, or Distribution Channels When such a service is enabled or used, the data sent to that service is processed according to its configuration, hosting locations, and terms. Review the applicable provider before sending sensitive or regulated data. This page describes platform hosting. It is not a compliance certificate or a guarantee about the infrastructure of independently operated third-party services. # AI Image Generation Source: https://docs.b-bot.space/essentials/ai-image-generation Upload, generate, or link profile and company images # AI Image Generation B-Bot Hub uses one image picker for user avatars, agent images, and company images. ## Where images are available * **Profile**: Change your user avatar. * **Agent editor**: Change the image of an existing, saved agent. * **Company**: Change the active company's image. Save a new agent before adding its image. The image picker needs the saved agent's ID, so it is not shown during the initial unsaved setup. ## Choose an image source Select the current image or initials to open the picker. ### Upload 1. Open **Upload**. 2. Select **Choose file**. 3. Choose an image from your device. 4. Review the preview and select **Save**. ### Generate 1. Open **Generate**. 2. Choose one of the four styles: **Professional**, **Friendly**, **Modern**, or **Creative**. 3. Describe the image in the free-text prompt. 4. Select **Generate**. 5. Review the result and select **Save**. The Hub may add context such as the agent's profession or a company-logo hint to your prompt. ### URL 1. Open **URL**. 2. Enter a direct image URL. 3. Review the preview and select **Save**. The Hub fetches the image from the URL and uploads it to the selected profile, agent, or company record. The URL must be reachable and return a usable image. ## If an image cannot be saved * Confirm that the selected record has already been saved. * For uploads, choose a supported image file. * For URLs, check that the address is direct and publicly reachable. * For generation, revise the prompt and try again. * Read the error message shown by the Hub before retrying. Generation model, duration, output details, availability, and any provider charges can vary by environment. The image picker does not promise a specific model, completion time, result quality, or cost. ## Related guides * [Profile](/essentials/profile) * [Create an agent](/essentials/create-expert) * [Edit an agent](/essentials/edit-expert) * [Company and billing](/essentials/company-billing) # Apps Source: https://docs.b-bot.space/essentials/apps Connect Composio apps and MCP servers to an Agent # Apps Apps give the selected Agent access to external actions and events. Open **Apps** from the sidebar after selecting an Agent. Connected apps and app catalog in B-Bot Hub ## Browse apps The Apps page combines Composio integrations and MCP servers in one catalog: * **Connected** shows integrations already attached to the selected Agent. * **Featured** and **Trending** provide ranked recommendations. * **All apps** supports search, category and MCP health filters, card or tile views, and incremental loading. Catalog cards identify whether an entry comes from Composio or MCP. MCP entries can also show their verification state. ## Connect a Composio app Select a Composio entry from Featured, Trending, or All apps. Open **Capabilities** to inspect the available actions and triggers. In **Connect**, start the provider's OAuth flow or enter the credential fields shown by the app. After connecting, use the **Test** tab for a quick chat with the Agent and confirm that it can call the app. Select a connected Composio app to reopen its details. Use **Reconnect** when its authorization needs to be replaced. Use the disconnect button on its Connected card to remove it from the Agent. ## Connect an MCP server MCP entries open a test workspace before you connect them. You can: * Edit the server URL. * Choose `streamable_http` or `sse` transport. * Add or remove request headers. * Load the server's live tool list. * Select a tool, provide JSON arguments, and run a quick tool test. * Chat with the Agent while the MCP tools are available for the test. When the test succeeds, connect the MCP server to the selected Agent. ### Add a custom MCP server Select **Custom MCP** on the Apps page. Enter a name and URL, choose `streamable_http` or `sse`, and add any required header name and value pairs. Select **Connect** to save it. Treat header values as credentials. Use only trusted MCP servers and provide the minimum access they require. ## Control app permissions On a Connected card, select the permissions button to configure the app for the current Agent. * **App enabled** turns the whole integration on or off without disconnecting it. * **Allowed** controls whether the Agent may call an individual action. * **Requires approval** pauses an allowed action for human approval before execution. * **Apply recommended** enables approval for actions marked as recommended by the catalog. * **Clear approvals** removes all approval requirements without changing which actions are allowed. Disallowing an action also removes its approval requirement. Review write and destructive actions carefully, then save the permission changes. Verify the saved policy in the test chat: an allowed action should succeed, a disallowed action should be unavailable, and an approval-gated action should pause for review. ## Related guides Use connected app actions and events in automated workflows. # Chat Source: https://docs.b-bot.space/essentials/chat Start, continue, and manage Agent conversations in B-Bot Hub # Chat Chat is where you work with an Agent in a conversation thread. Select an Agent in the Hub header before you begin. The selected Agent supplies the available models, abilities, connected apps, memories, and workspace behavior. New Chat screen in B-Bot Hub ## Start or resume a conversation Open **Chat** and send a message to create a thread. Use **New chat** to return to an empty conversation without deleting existing threads. To continue earlier work, open the conversation history button and select a recent conversation. Choose **All conversations** for the full [Threads page](/essentials/threads). When you open an existing thread, the Hub restores its messages and aligns the Agent selector with that thread. ## Send messages Enter sends a message. Shift+Enter adds a new line. * Select the paperclip to attach one or more supported files. * Select the microphone to record and send a voice message. * Right-click the microphone to open **Live mode**. A short pause ends your turn while Live mode is listening. * Stop an active response with **Stop**. Attachment support and voice behavior depend on the selected model and its configured modalities. Your browser must allow microphone access. ### Queue follow-up messages You can send another message while the Agent is responding. The Hub adds it to the current thread's queue and sends it automatically after the active response finishes. In the queue panel, you can edit, reorder, remove, or clear waiting messages. Attachments are saved to the thread workspace when they are submitted or queued. ## Review actions and responses An Agent may pause before an action and display **Action required**. Review the action and its arguments, then choose **Approve** or **Reject**. In **Settings**, **Auto-approve actions** skips these approval prompts; use it only when you are comfortable with the Agent's configured tools. Message actions appear when you hover over or focus a message: * **Copy** copies message text. * **Edit & rerun** changes one of your messages and continues from that point. * **Regenerate** asks for another response from the preceding checkpoint. * Version arrows move between branches created by edits or regenerated responses. * **Message details** shows technical identifiers, time, checkpoint, and version information. Editing or regenerating creates an alternative branch. It does not overwrite the other version. ## Share a conversation Select **Invite** in an open thread to share it with a teammate. Choose a company, teammate, and link expiry, then send the invitation or copy the generated link. Sharing converts the thread into an invite-only company conversation. Only company conversations can be shared. Accepted invitations open the same shared conversation, and shared threads carry a **Shared** badge. ## Use the right drawer The icon rail on the right opens five panels. On desktop, resize the open drawer by dragging its edge. ### Settings Configure the current run: * model and ability * temperature and Top-p * extra instructions * enabled connected apps * Web search, Wolfram Alpha, and Deep research * automatic action approval * voice autoplay * step limit The options shown depend on the selected Agent and model. ### Tasks Shows the Agent's live to-do list for this thread. Items may be pending, active, or completed. This panel is read-only and appears only when the Agent produces task state. ### Files Browse files produced during the current run and files available for the thread. Select a file to view text, code, or supported media. You can copy content or a media path. Markdown files can be exported as PDF, with a company logo when one is available. ### Preview Displays a supported website or presentation artifact. You can start or refresh a preview and open it in a new tab. Ordinary file collections do not have a live preview, and preview availability depends on the workspace output and runtime capacity. ### Memories Shows the selected Agent's memory layers: * **Core profile** for structured, stable information * **Long-term** for durable facts and preferences * **Conversations** for summaries associated with the current thread You can add a long-term memory and manage entries shown in the panel. Memory content is Agent- and user-specific; do not assume that every message becomes a memory. For workspace details, see [DeepAgents Workspace](/essentials/deepagents-workspace). # Company and Billing Source: https://docs.b-bot.space/essentials/company-billing Manage companies, members, shared agents, credentials, plans, and seats # Company and Billing The Company and Billing pages separate shared organization resources from your personal subscription. ## Create and switch companies On **Company**, select **Create company**, then enter a name and optional description. The creator becomes the owner. If you belong to more than one company, use the company selector to change the active company. Company-scoped agents, invitations, keys, billing, and seats use that active context. Select the company image to upload a file, generate an image, or use an image URL. ## Company tabs ### Members The Members tab lists each member's name, email, image, and role. From this tab you can: * Invite a member by email * Select a role for the invitation * Add an optional personal message * Change an existing member's role The role selector shows the roles available for the active company. A role name alone is not a complete permission description; available actions also depend on the permissions assigned to the account. ### Agents The Agents tab lists agents shared with the company. You can add one of your agents to the company or remove a shared agent. The built-in platform assistant is excluded from this list. ### Invitations The Invitations tab shows invitation email, role, date, and status. A pending invitation can be cancelled. Recipients can accept or decline an invitation through its invitation flow. ### Keys The Keys tab manages provider keys for the active company. Company scope does not create B-Bot API keys. See [Keys](/essentials/provider-keys). ## Personal and company billing Billing opens in **Personal** scope. If you belong to a company, use the scope tabs to switch between personal and active-company billing. The page can show: * Current subscription and status * Trial or renewal information, when returned * Payment-method and cancellation actions, when billing is configured * The external billing portal for invoices and plan changes * Available monthly and yearly plans returned by the environment Plan names, prices, currencies, intervals, and availability come from the billing service and can differ by environment. ## Company seats Company billing includes seat controls for the products currently shown by the Hub. You can: * Review used and total seats * Increase or decrease seat quantity * Assign or remove product seats for individual company members The Hub prevents reducing a seat total below the number currently assigned. ## Open mode If Stripe is not configured, the Billing page reports that billing is running in **open mode**. In that environment, the Hub indicates that features are unlocked and payment is not required. Open mode is an environment state, not a purchased plan or a statement about other deployments. Follow the message shown in your current Hub. # Create an Agent Source: https://docs.b-bot.space/essentials/create-expert Create an Agent from scratch or a template in B-Bot Hub # Create an Agent Open **Agents** in the sidebar and select **Create agent**, or choose **Create agent** in the agent selector. Both open `/agents/new`. Create Agent basics in B-Bot Hub ## Choose a starting point * **From scratch:** Select **Create agent** and enter your own settings. * **From a template:** On the Agents page, select **Browse templates**, filter the list, and choose **Use template**. Review every prefilled value before saving. ## Complete the initial setup The new-agent page starts with **Basics** and **Goals**. ### Basics * **Name:** Required. * **Profession:** The role shown with the agent. * **Description:** Required to be at least 50 characters for a new agent. The field accepts up to 250 characters. ### Guided setup and Pro mode Guided setup uses the description to generate missing system and function metadata, selects a default model from available provider keys, and attempts to set up layered memory. Turn on **Pro mode** when you want to write the system message, function name, and function description yourself. You can also generate a system message from the current description. ### Goals Use **Goals** to add a northstar and measurable long-term goals when they are useful for the agent. Goals are optional during creation. ## Save before continuing Select **Save**. The Hub creates the agent and routes you to `/agents/{agentId}`. **Abilities**, **Model**, and **Team** are disabled until the agent has been saved. The profile-image control is also available only for a saved agent. Creation can continue even if optional model attachment or memory setup is unavailable. Review the saved agent before relying on those settings. ## Next steps Configure all five editor tabs and add a profile image. Select the saved agent and verify its behavior in a conversation. # Dashboard Source: https://docs.b-bot.space/essentials/dashboard Start work, reopen conversations, and review recent usage # Dashboard The dashboard is the starting point for your work in B-Bot Hub. ## Quick actions Use the three quick actions to: * Start a new chat * Create an agent * Open Apps ## Your agents The **Your agents** card shows up to five agents. Select an agent to open its editor, or follow the **Agents** link to see the full list. If you have not created an agent yet, the card shows an empty state. Create an agent before configuring features that require a selected agent. ## Recent conversations The **Recent conversations** card shows up to five recently updated conversations. Each entry opens the conversation in chat. A **Shared** badge identifies a conversation that other people can access. Select **Conversations** to open the complete list. If there are no conversations, the dashboard shows an empty state. ## Usage and analytics The analytics section covers the most recent 14 days and can show: * Total tokens * Traces and observations * The most-used model * Reported cost, when available * Token usage over time * Usage share by model Use **Retry** to refresh this section. The section has separate states for loading, no recorded usage, a request error, and analytics that are not configured for the current environment. An unavailable analytics section does not prevent you from using the quick actions, agents, or conversations above it. ## Next steps * [Create an agent](/essentials/create-expert) * [Start a conversation](/essentials/chat) * [Manage provider keys](/essentials/provider-keys) # DeepAgents Workspace Source: https://docs.b-bot.space/essentials/deepagents-workspace Understand task, file, preview, and memory panels used by DeepAgents # DeepAgents Workspace DeepAgents can organize multi-step work inside a conversation workspace. You can follow that work through **Tasks**, **Files**, **Preview**, and **Memories** in the Chat right drawer. There is no separate Deep Mode toggle. Workspace content appears when the selected Agent and its tools produce it. ## Tasks The **Tasks** panel displays the live to-do state reported by the Agent. It distinguishes pending, active, and completed items so you can follow a multi-step run. The Chat task list is read-only. Guide the work by messaging the Agent or by approving or rejecting a requested action. Scheduled automation is managed separately on the [Tasks page](/essentials/tasks). ## Files The **Files** panel combines files arriving during the current run with files available for the open thread. * Browse folders in the file tree. * Open text and code in the inline viewer. * View supported images, audio, and other media. * Copy file content or a media path. * Export Markdown as PDF, optionally with the company logo. The first available file opens automatically on desktop. On smaller screens, select a file and use the back control to return to the tree. Files shown here belong to the conversation workspace. Availability after a later visit depends on the thread and workspace services. Copy or export important results instead of treating the workspace as guaranteed long-term storage. ## Preview The **Preview** panel is for supported generated artifacts: * website workspaces can start or wake a live preview * presentations can render their entry file directly * ordinary file collections show that no live preview is available You can refresh the preview or open its URL in another tab. A preview may need time to start, may be recreated after inactivity, or may be unavailable when runtime capacity is limited. The panel does not guarantee that arbitrary code or every file type can run. ## Memories The **Memories** panel groups information for the selected Agent and user: * **Core profile** contains structured profile information. * **Long-term** contains durable facts and preferences. * **Conversations** contains per-thread summaries; in Chat, this layer is filtered to the open thread. You can add a long-term memory and manage existing entries. Memory creation is selective. A message, file, or task is not automatically a durable memory unless the Agent's memory behavior stores it. ## Approvals and control When a tool requires human review, Chat displays an **Action required** card with **Approve** and **Reject**. The **Auto-approve actions** setting can bypass these prompts for the current run configuration. Approvals govern requested actions; they are not a switch that enables DeepAgents or guarantees autonomous completion. Keep auto-approval off when you need to review external or sensitive operations. ## Related workspaces Scheduled tasks have a separate workspace drawer with user-created to-dos and files plus files generated by the latest run. This is different from the live task state shown in Chat. See [Tasks](/essentials/tasks) for that workflow. # Distribution Channels Source: https://docs.b-bot.space/essentials/distribution-channels Publish an Agent through supported Hub channels # Distribution Channels Distribution channels publish the selected Agent for a specific audience or use case. Open **Channels** from the sidebar to view, create, edit, or delete channels. Channel types available in B-Bot Hub ## Create a channel Choose the Agent that the channel will publish. Go to `/channels` and select **New channel**. Enter a channel name, then select one of the available channel types. Complete the controls shown for that channel. After saving, the channel appears with its channel ID and edit and delete controls. The creation dialog currently supports **B-Bot Chat**, **Embed**, **API**, **Tasks**, and **Template**. **Twilio**, **n8n**, and **Zapier** are visible as coming soon and cannot be selected. ## B-Bot Chat B-Bot Chat publishes the Agent in B-Bot Chat. Its visibility controls are: * **Company only**, which limits access to one company. * **Company**, which selects that company when company-only access is enabled. If no companies are available, company-only access is disabled. ## Embed Embed creates a website experience and provides a live preview and generated code after the channel is saved. You can configure: * System tools: **Memory Search**, **Web Search**, **File Manager / Upload**, **Workspace Tools**, and **Task Scheduler**. * Whether tool calls are shown. * **Blank** or **Bubble** embed style. * Theme color. * A Lucide header icon. * A custom image URL for the bubble launcher. * Optional password protection. Save the channel before using its preview or copying its generated embed code. Edit the channel later to change these settings. ## API The API channel exposes the Agent for programmatic use. The channel dialog controls which knowledge write actions are disabled: * Edit single line * Edit multiple lines * Create document The dialog does not display or generate example API endpoints. Use the API reference provided for your deployment when implementing a client. ## Tasks The Tasks channel distributes the Agent to task execution. The current channel dialog has no additional Tasks-specific controls. See [Tasks](/essentials/tasks) for task setup and operation. ## Template Template publishes the Agent as a reusable template. Configure: * A template category. * Whether the template is marked as featured. The dialog also lists the Agent's connected apps so you can review the resources associated with the template. ## Manage existing channels Each saved channel card shows its name, type, and channel ID. You can copy the ID, edit the channel, or delete it. Embed channels also provide a shortcut to copy the generated embed code. Connect the tools an Agent needs before publishing it. # Edit an Agent Source: https://docs.b-bot.space/essentials/edit-expert Configure a saved agent across the five routed editor tabs # Edit an Agent Open **Agents**, find a saved agent, and select **Edit**. The editor opens at `/agents/{agentId}`. Select **Save** after changing Basics or Goals; controls in the other tabs save their own changes when you use them. ## Basics Set the agent's name, profession, and description. Turn on **Pro mode** to edit its system message, function name, and function description. The profile-picture control also appears in Basics for saved agents. ### Profile image options and limits * **Upload:** The file picker accepts images. A square image is recommended. * **Generate:** Enter a description and choose Professional, Friendly, Modern, or Creative. Generated images use a 1:1 aspect ratio. * **URL:** Enter a direct image URL. The source must allow the Hub to fetch it. The image control does not display a file-size limit. Unsupported or oversized uploads may still be rejected. ## Goals Define a northstar and optional measurable goals. Each goal can include a title, metric, baseline, target, time horizon, and notes. ## Abilities Manage two kinds of prompt cards: * **Abilities:** Short capability instructions that can be applied in chat. * **Example questions:** Suggested prompts shown when a user opens a chat. Add cards manually or generate a starting card, then edit or remove cards as needed. ## Model Choose the main conversational model and configure supported input and output modalities. Available models depend on provider configuration. Text input and output remain available without extra modalities. ## Team Add other agents as team members. Team members are made available as tools during a run. If no other agents exist, this tab has nothing to add. Give team members distinct roles, then test a request that makes the expected routing clear. ## Verify the result Before testing, define what a successful response must include and what it must not invent. Return to **Chat**, select the edited agent, and use a repeatable request that exercises the settings you changed. If the result needs improvement, change the smallest relevant setting and rerun the same request. # Knowledge Source: https://docs.b-bot.space/essentials/knowledge Manage retrieval domains, documents, graphs, and access for an Agent # Knowledge Knowledge organizes source documents into domains that an Agent can retrieve when it needs grounded information. Open Knowledge from the shortcut on the [Resources](/essentials/resources) page. Knowledge retrieval does not fine-tune a model. To teach response patterns with example conversations, use [Training](/essentials/training). ## Select an Agent Select the Agent whose knowledge you want to manage before opening Knowledge. The page lists the domains available to that Agent. ## Create, attach, or delete a domain Select **Add domain** to create a domain: 1. Enter a name. 2. Add an optional description. 3. Select **Create**. The Hub normalizes the name for use as the domain key. Select the domain name on its card to open it. Select **Attach domain** to reuse a domain from another Agent. Choose the source Agent and one of its domains, then select **Attach**. The attached domain uses the same documents and graph. Use the delete action on a domain card to remove the domain from the selected Agent. Review the selected Agent and domain before deleting. ## Work in a domain An editable domain has four tabs: * **Documents**: Upload, process, open, edit, and delete source documents. * **Graph**: Explore extracted entities and their relationships. * **Studio**: Create supported views and outputs from domain content. * **Settings**: Maintain domain details and the entity types used by the graph. Users with view-only access can inspect the domain content without editing controls. ## Add and manage documents In **Documents**, drop files onto the upload area or select files from your device. Supported source formats are: * PDF (`.pdf`) * Markdown (`.md`) * Plain text (`.txt`) * Word (`.docx`) After upload, the document appears as processing while the Hub extracts its content. A processed document card shows its status and section count. Select a document to open it. If you can edit the domain, you can update the document content and save it. Saving updates the stored content and refreshes extracted graph information. You can also delete a document from its card. The document editor can export content as PDF. It can also open the domain sharing controls. ## Explore entities and relationships The **Graph** tab visualizes entities extracted from the domain documents and the relationships between them. You can: * Filter the graph by entity type. * Adjust the maximum number of displayed nodes. * Select an entity to inspect its type, description, aliases, attributes, document count, confidence, and related entities. * Use the entity list to find and select a node. ## Use Studio The **Studio** tab provides three domain tools: * **Podcast**: Create a podcast output from the domain documents. * **Table**: View graph entities in a table. * **Mindmap**: View entities and relationships as a mind map. Table and Mindmap use the domain graph. Add and process documents before using graph-based Studio views. ## Update domain settings Use **Settings** to update the domain name and description. You can also select standard entity categories or add custom entity types for the graph to focus on. ## Control visibility and member roles Open a document and select **Share** to manage access for its domain. Choose a visibility: * **Private**: Restricted domain access. * **Company**: Access through the active company. * **Public**: Public domain visibility. When company members are available, assign each member one of these roles: * **None**: No explicit member access. * **Viewer**: Can view the shared domain. * **Editor**: Can edit the shared domain. Sharing applies at the domain level, so the selected visibility and member roles cover the domain rather than only the open document. ## Knowledge and Training Knowledge and Training solve different problems: * Knowledge retrieves current information from managed documents at response time. * Training fine-tunes a model from user and assistant conversation examples. * Knowledge documents can be edited or deleted when facts change. * Training runs create provider jobs and resulting fine-tuned models. ## Next steps Return to thread outputs, project previews, and Memories. Create conversation examples and start fine-tuning. # Input and Output Modalities Source: https://docs.b-bot.space/essentials/modalities Configure verified voice, file, image, and generated output options # Input and Output Modalities Modalities define the additional input and output types associated with an agent's main model. ## Configure modalities 1. Open a saved agent. 2. Open **Models and modalities**. 3. Choose the main model first. 4. Select **Add** under input or output modalities. 5. Choose an option, review its configuration, and add it. The Hub saves modality changes to the selected model. It allows one entry of each input type and replaces an existing output entry of the same type. ## Current input options ### Voice input Speech-to-text options shown in the current Hub are: * Local Whisper Tiny with WebGPU * Local Whisper Base with WebGPU * OpenAI Whisper * Groq Whisper Large V3 * Use the main model, if supported You can enable automatic transcription when recording stops. The configured audio formats are WebM, MP3, and WAV. ### Camera, images, audio, and documents The current editor also offers: * **Camera / video input** with main-model, OpenAI, Anthropic, or Google vision choices * **Image upload** for JPEG, PNG, GIF, and WebP * **Audio upload** for MP3, WAV, WebM, and OGG * **Document upload** for PDF, DOC, DOCX, and TXT Image, audio, and document entries expose Base64 and URL-support toggles. These settings describe the modality configuration; successful handling still depends on the selected model and runtime. ## Current output options ### Text-to-speech Text-to-speech choices shown in the current Hub are: * OpenAI TTS-1 * OpenAI TTS-1-HD * Google Gemini 2.5 Flash Preview TTS * Google Gemini 2.5 Pro Preview TTS * Local Pocket TTS, marked experimental The configuration includes **Auto-play responses** and **Stream audio while generating** toggles. ### Image generation Image output choices shown in the current Hub are: * OpenAI DALL·E 3 * OpenAI GPT Image 1 * Stability SD3 * Google Imagen 3 You can enable automatic generation when the agent mentions an image. ## Compatibility guidance A modality appearing in the editor does not guarantee that every main model, browser, device, provider key, or deployment supports it. * Select a main model that accepts the configured input type. * Add the provider key required by a remote STT, TTS, vision, or image model. * Local WebGPU options require compatible browser and device support. * Browser microphone, camera, and autoplay policies can affect chat behavior. * Treat preview and experimental model names as changeable. * Test the complete path with the same agent, model, browser, and deployment that users will use. For credential management, see [Keys](/essentials/provider-keys). For profile and company images, see [AI image generation](/essentials/ai-image-generation). # News, Tours, and Onboarding Source: https://docs.b-bot.space/essentials/news-tours Discover product updates and guided paths through the current Hub # News, Tours, and Onboarding B-Bot Hub provides three discovery experiences: News, Tours, and the initial onboarding flow. Guided Tours available in B-Bot Hub ## News Open **News** to browse product updates, announcements, and release notes. You can: * Search titles, summaries, and content * Filter by announcements, releases, or updates * Open pinned items * Move between result pages when pagination is available * Open an item to read its detail page News combines built-in announcements with items loaded from the content service. If the remote request fails, the page reports the error and can continue showing local announcements. Current routes are `/news` for the list and `/news/:newsId` for an item. ## Tours Open **Tours** to browse guided walkthroughs. Each card shows its estimated time, difficulty, tools, availability, and completion state. Available tours can be started or restarted. A tour navigates to the relevant Hub page and highlights the target interface. Cards marked **Coming soon** cannot be started. Current routes are `/tours` for the catalog and `/tour/:id` for a direct tour link. ## Onboarding The authenticated onboarding flow is available at `/onboarding`. It asks for: 1. Workspace context, including region, industry, and an optional website 2. A first focus 3. A launch action for an agent, chat, tasks, or provider keys You can skip onboarding and continue to the dashboard. Your selected focus determines the destination of **Start primary flow**. From the launch plan, you can also add a provider key or open B-Bot chat. Some tour content, news controls, and onboarding text may currently fall back to English even when another interface language is selected. For ongoing preferences, see [Settings](/essentials/settings). For the main starting page, see [Dashboard](/essentials/dashboard). # Profile Source: https://docs.b-bot.space/essentials/profile View your account details and change your profile image # Profile The Profile page shows the identity connected to your B-Bot Hub account. ## Name and email Your name and email address are read-only in the Hub. They are managed by your identity provider. If either value is incorrect, update it through your identity provider or contact the administrator responsible for your account. ## Profile image Select your current avatar to open the image picker. You can choose one of three sources: * **Upload**: Select an image file from your device. * **Generate**: Enter a description, choose a style, and generate an image. * **URL**: Enter a direct image URL. Review the preview, then select **Save** to attach the image to your profile. For details about the shared image picker, see [AI image generation](/essentials/ai-image-generation). ## Related settings Theme, language, and web push controls are on the [Settings page](/essentials/settings). Provider and B-Bot API keys are managed separately under [Keys](/essentials/provider-keys). # Keys Source: https://docs.b-bot.space/essentials/provider-keys Manage personal and company provider credentials and B-Bot API keys # Keys Open **Keys** from the Hub navigation. The page separates credentials by ownership. ## Personal tab The **Personal** tab contains two sections. ### Provider keys Add a provider key by selecting a provider and entering the credential. You can also: * Add an optional nickname * Mark the key as primary * Mark the key as fallback * Show or hide the value while entering it * Edit or delete an existing key * Review the status or reported error shown by the Hub The provider list shown in the dialog includes model, voice, infrastructure, and integration providers and may change over time. ### Personal B-Bot API keys Personal B-Bot API keys are separate from provider credentials. When creating one, you can add a label and mark it as primary. Copy a newly created B-Bot API key when the Hub displays it. Store it in an appropriate secret manager. Do not paste it into chat, commit it to source control, include it in documentation, or expose it in client-side code. Existing entries show their label, status, primary marker, and final characters. You can delete keys you no longer need. ## Company tab The **Company** tab is available only when you belong to at least one company. It manages provider keys for the active company. Company scope has these limitations in the current Hub: * It is tied to the active company. * It contains provider keys only. * Personal B-Bot API keys are not created in company scope. * Available actions can depend on your company role and account permissions. You can also reach the same company provider-key panel from the **Keys** tab on the Company page. ## Minimum safe handling Treat every key as a secret: 1. Use only the permissions required for the intended integration. 2. Keep personal and company credentials in the correct scope. 3. Remove keys that are no longer needed. 4. If a key may have been exposed, revoke or rotate it at the provider and replace it in the Hub. 5. Review provider-side usage and access controls as appropriate for your organization. The Hub UI does not establish a security or availability guarantee for a provider credential. Refer to the relevant provider's current documentation for account-specific creation, restriction, rotation, and incident procedures. ## Related guides * [Company and billing](/essentials/company-billing) * [Input and output modalities](/essentials/modalities) * [Create an agent](/essentials/create-expert) # Resources Source: https://docs.b-bot.space/essentials/resources Find files and projects created in Agent threads # Resources Resources is a thread-centered browser for outputs created in Agent conversations. It groups files under the thread that produced them, so you can return to the conversation or open its output. Resources browser in B-Bot Hub Only threads with generated files appear on this page. Outputs are grouped as **Website**, **Presentation**, or **Files**. ## Browse your resources Use the scope buttons to switch between: * **My resources**: Threads and outputs associated with your account. * **Company resources**: Threads and outputs associated with the active company. This scope is unavailable when no company is active. Use search to match a thread title or thread ID. Enable **Only selected Agent** to show only threads associated with the Agent that is currently selected. You can also refresh the list to request the latest available resources. ## Understand a resource card Each card represents one conversation thread. It shows: * The output type. * The thread title. * A shortened thread ID and update time when available. * The files returned for that thread. * **Go to thread**, which opens the original conversation. Select a file to open it. Markdown is rendered as formatted content, while other supported workspace text is shown in a text viewer. A file with a direct download URL opens in a new browser tab when an in-app path is not available. Markdown files can be exported as PDF. If the active company has a logo, the export menu can create a branded or plain PDF. ## Preview websites and presentations Website and presentation cards provide a project preview. Select the preview area to open it. * A **Website** preview can display project settings for **Deploy** and **Versions**. * A **Presentation** provides its preview without website project settings. * A general **Files** resource displays its files but does not open a project preview. These controls appear only when the resource type supports them. ## Open Knowledge Select the **Knowledge** shortcut at the top of Resources to manage retrieval domains for the selected Agent. Knowledge documents are separate from generated thread files. See [Knowledge](/essentials/knowledge) for domain creation, document processing, graph exploration, and sharing. ## Open Memories Select **Memories** at the top of Resources to inspect the memories associated with the current resource context or selected Agent. Memories are organized into three layers: * **Core memories**: Core information associated with the Agent context. * **Long-term memories**: Persistent entries that can be added and maintained. * **Mid-term memories**: Conversation summaries associated with threads. Knowledge and Memories provide context in different ways. Knowledge retrieves from managed documents, while Memories preserve layered context associated with an Agent and its conversations. ## Next steps Create domains and add source documents for retrieval. Fine-tune a model with example conversations. # Settings Source: https://docs.b-bot.space/essentials/settings Choose a theme and language, and manage web push # Settings The current Settings page contains appearance, language, and web push controls. Appearance, language, and notification settings ## Theme Choose one of these themes: * **Light** * **Dark** * **System**, which follows your operating system preference The selection applies to the Hub interface. ## Language Choose **English**, **Deutsch**, **Français**, or **Italiano**. Some parts of the current Hub are not localized yet and may fall back to English. ## Web push notifications The notifications card reports: * Whether the browser supports web push * The browser's current notification permission * Whether the notification service is configured Select **Enable notifications** to request browser permission and create a subscription. Select **Disable notifications** to remove the current subscription. If the browser does not support web push, the enable action is unavailable. If permission is denied or the notification service is not configured, enabling notifications may fail and the Hub displays the reported reason. ## Settings managed elsewhere * Change your avatar and view identity-provider data under [Profile](/essentials/profile). * Manage provider and B-Bot API keys under [Keys](/essentials/provider-keys). * Manage companies and subscriptions under [Company and billing](/essentials/company-billing). # Tasks Source: https://docs.b-bot.space/essentials/tasks Schedule, trigger, inspect, and manage Agent automation # Tasks Tasks run instructions with the selected Agent on a schedule, from a webhook, or through polling. Select an Agent in the Hub header before creating or viewing its tasks. Task operations and Proactive mode in B-Bot Hub ## List and calendar views Use **List** to manage tasks and **Calendar** to inspect scheduled runs by date. The list shows each task's name, instructions, trigger, next run, and active or inactive status. A **Proactive** badge identifies the system task used by Proactive mode. Filter the list by: * all, active, or inactive status * all, scheduled, or webhook trigger Refresh reloads task data. The calendar uses the same filtered set. ## Create a task Select **New task**, then provide: 1. A name and clear instructions. 2. The assistant associated with the selected Agent. 3. A priority: low, medium, high, or urgent. 4. Optional comma-separated tags and a due date. 5. One trigger type. ### Schedule Choose once, hourly, daily, weekly, monthly, or a custom cron expression. The schedule builder exposes the relevant time, day, or minute fields and shows a summary. ### Webhook The Hub creates a webhook URL after the task is saved. An external system can call that URL to trigger the task. ### Polling Polling checks a source at a configured interval: * **HTTP** calls a URL with GET, POST, or PUT and includes a test action. * **MCP** selects a tool from a connected MCP app and passes JSON arguments. * **Composio** selects an action from a connected app and passes JSON arguments. Only connected apps available to the Agent are selectable. Testing a source confirms the request; it does not guarantee that every later run will succeed. ## Manage tasks From the list, you can: * open task details * open the task workspace * edit a user-created task * pause or resume it * delete it * use **Run now** for a webhook task Keep a new task inactive until you have reviewed its instructions and trigger. Activate it only when both are correct. Task details include the job ID, trigger, next and last run, run count, assistant, priority, tags, due date, readiness, related thread count, and webhook URL when applicable. ## Task workspace Each task has a workspace drawer with three tabs: * **To-dos** lets you add, complete, and remove planning items. * **Files** lets you add small text files, download them, or remove them. * **Generated files** shows files from the latest related run and links to its conversation. The manually managed to-dos and files are separate from the Agent's live task state in Chat. Generated files depend on a related run producing workspace files. ## Operations console and autonomy The operations console summarizes items needing attention, active tasks, total runs, and recent activity for the selected Agent. **Proactive mode** manages a system task on a six-hour heartbeat. When enabled, the console can show: * the next heartbeat * readiness score and missing context * a question you can answer to improve readiness * **Run now** * **Reset autonomy** * the autonomy timeline Resetting autonomy starts the next proactive run fresh. Proactive mode controls recurring Agent work; it does not promise successful completion or delivery to email, chat channels, databases, or other output systems. ## Where results appear Runs can create related conversation threads and workspace files. Inspect them through task details, **Generated files**, or **Open conversation**. Webhooks and polling are input triggers in this interface, not guaranteed output channels. For the Chat workspace panels, see [DeepAgents Workspace](/essentials/deepagents-workspace). # Threads Source: https://docs.b-bot.space/essentials/threads Find, open, and remove saved conversations # Threads Threads are saved Agent conversations. Open **Threads** from the main navigation to browse conversations independently of Chat. ## Find a conversation The page shows the total number of conversations and up to the most recently loaded threads. Search matches text in the conversation title and message preview. Each card can show: * the Agent name and avatar * the conversation title and latest preview * message count and last update time * a **Shared** badge for company conversations * a **Presentation** or **Website** badge for shared project threads * a non-idle status such as **busy**, **interrupted**, or **error** Idle conversations do not display a status badge. ## Open or delete Select a card to open the conversation in Chat. The Hub selects the Agent associated with that thread and loads its history. Use the delete button on a card to remove the conversation. Deletion is not presented as reversible, so confirm that you no longer need the thread or its workspace before deleting it. ## Terminology across locales The navigation page is named **Threads** in English. Within the interface, the saved items are usually called **conversations**. Translated locales may use their local equivalents for both terms. In this documentation, a *thread* is the saved record and a *conversation* is the chat experience it contains. For creating, resuming, branching, or sharing a thread, see [Chat](/essentials/chat). # Training Source: https://docs.b-bot.space/essentials/training Create conversation examples and fine-tune a model for an Agent # Training Training turns example conversations into a fine-tuning job for an Agent. Each training session contains ordered user and assistant turns and keeps the job status with the session. Training is different from Knowledge. [Knowledge](/essentials/knowledge) retrieves information from uploaded documents when an Agent needs it. Training sends example conversations to a model provider to create a fine-tuned model. ## Before you start Select the Agent you want to train. A new training session is linked to the selected Agent, and the session can use models configured for that Agent. ## Create or open a session 1. Open **Training**. 2. Select **New session**. 3. Enter a clear session name. You can also add a description. 4. Select **Create** to open the session. The Training page lists existing sessions with their names, descriptions, number of examples, and current status. Select a session card to open it. Use the delete action on a card to remove a session you no longer need. Use one session for one behavior or response style. A focused name such as `Support escalation replies` is easier to review than a general name such as `Training 1`. ## Choose a model In the session, choose a **Base model** from the models configured for the selected Agent. If no model is available, configure a model for the Agent before starting fine-tuning. The chosen model is the starting point for the fine-tuning job. The Hub does not use Knowledge documents as training examples automatically. ## Add conversation examples Each example is an ordered conversation made of user and assistant turns. ```text theme={null} User: My order arrived damaged. What should I do? Assistant: I am sorry your order arrived damaged. Please send the order number and a photo of the package so I can help with the next step. ``` Select **Add example** to create an example with one user turn and one assistant turn. Then: * Enter the message text in each turn. * Select the user or assistant role beside a turn. * Select **Add turn** to continue the conversation. * Delete a turn when it is not needed. * Duplicate an example to create a similar variation. * Delete an example to remove it from the session. Write the response you want the Agent to learn. Keep roles correct, include enough context in the user turn, and avoid contradictory assistant responses. ## Save and start fine-tuning Select **Save** to store the session name, description, and examples without starting a job. When the examples are ready: 1. Confirm that the intended Agent is selected. 2. Confirm the base model. 3. Review every user and assistant turn. 4. Select **Start training**. The Hub saves the current session before it starts the fine-tuning job. You can start only when at least one turn contains text and no job is currently active. ## Follow the job status The session displays the current fine-tuning stage: * **Draft**: The session has not started a job. * **Queued**: The provider accepted the job and queued it. * **Validating files**: The provider is validating the prepared training data. * **Running**: Fine-tuning is in progress. * **Deployment in progress**: The resulting model is being prepared. * **Succeeded**: Fine-tuning completed. The resulting model identifier is shown. * **Failed**: The job stopped with an error. * **Cancelled**: The active job was cancelled. An active job can be cancelled from its status panel. When available, the panel also shows the number of trained tokens or the provider error. ## Training and Knowledge Use the feature that matches your goal: * Use [Knowledge](/essentials/knowledge) for facts that should remain editable and retrievable from documents. * Use Training for repeated examples of how an Agent should respond. * Update a Knowledge document when source information changes. * Create and review a new training session when you need another fine-tuned behavior. ## Next steps Add documents that an Agent can retrieve as grounded context. # Workflows Source: https://docs.b-bot.space/essentials/workflows Build, test, run, and publish Agent workflows # Workflows Workflows connect Agents, app actions, decisions, and human review in a visual automation. Open **Workflows** from the sidebar to view saved workflows or start a new one. Workflow templates in B-Bot Hub ## Start from the list or a template The Workflows page shows: * Starter templates for lead qualification, support ticket triage, and document intake. * Saved workflows with their draft or active status, step count, and trigger type. * **New workflow** for a blank workflow. Selecting a template opens the builder with its steps already arranged. Selecting a saved workflow opens it for editing. Start with the shortest path that proves the intended result. Add branches or integrations after that path succeeds. ## Build on the canvas Add nodes from the palette and place them on the canvas. Connect one node's output handle to another node's input handle to define execution order and branches. Select a node to open its configuration panel. B-Bot Hub supports these node types: * **Trigger** * **Agent step** * **Action** * **If condition** * **Switch** * **For each** * **While loop** * **Wait** * **Merge** * **Human approval** * **Task update** * **Stop** Node settings vary by type. For example, an Agent step selects an Agent and prompt, while an Action selects a connected Agent, app connection, and action. ## Map data between nodes Agent and Action nodes define input and output fields. Use the mapping editor to map each input to an output from an upstream node. Clear field names and structured Agent outputs make conditions, switches, and later mappings more reliable. For branching nodes, connect the labeled output handles to the correct downstream paths. For loops, connect the loop path to the repeated steps and the completed path to the steps that follow the loop. ## Save, test, and inspect runs Save the workflow as a draft. A saved workflow receives the ID required by runs and configured triggers. Select **Test run**. The builder saves current changes first and queues a test execution. Open **Runs** to review execution status and node details. Runs can wait for approval when they reach a Human approval node or an action that requires approval. Select **Publish** to make the workflow active. Use **Unpublish** to return it to draft status. ## Configure triggers after saving The trigger node supports these trigger types: * **Manual run** * **Schedule** * **Webhook** * **Polling** * **App trigger** After the workflow has been saved, open **Triggers** to create and manage operational triggers. You can add webhook triggers and schedule triggers with preset intervals, copy a generated webhook URL, enable or disable a configured trigger, and delete it. Configured triggers are active only while the workflow is published. Before publishing, test representative inputs against expected results. When diagnosing a failure, change one configuration element at a time and rerun the same input. ## Related guides Connect Composio apps and MCP servers for Action and App trigger steps. Learn how task execution and task workspaces operate. # B-Bot Hub Source: https://docs.b-bot.space/introduction A quick orientation to B-Bot Hub for creating agents, chatting, and managing your work # Welcome to B-Bot Hub B-Bot Hub is the web application for creating AI agents, talking with them, and managing the resources and services they use. Older screens, APIs, and documentation may use **Expert** for the same concept. In the current Hub, the primary UI term is **Agent**. ## Start here Continue through sign-in, then provide your workspace context, choose a first outcome, and review your launch plan. If sign-in started from a protected Hub page, the Hub returns you to that page afterward. Use the agent selector beneath the B-Bot Hub logo. Choose **B-Bot** for platform help, or select one of your agents for agent-specific work. Select **Chat** in the sidebar, enter a message, and start your first conversation. ## Find your way around The sidebar groups pages by purpose: * **Platform:** Dashboard, Chat, Threads, and Tasks * **Build:** Agents, Resources, Training, Workflows, Apps, and Channels * **Discover:** News and Guided tours The user menu at the bottom of the sidebar contains Profile, Company, Settings, Keys, Billing, theme controls, and Sign out. Collapse the sidebar when you need more working space. Some pages depend on the selected agent or on services configured for your account. See [Feature availability](/roadmap) for details. ## Continue Start from scratch or use a template. Configure identity, goals, abilities, model, team, and profile image. # A2A Post Source: https://docs.b-bot.space/mainapi-reference/a2a/a2a-post post /a2a/{assistant_id} Communicate with an assistant using the Agent-to-Agent Protocol. Sends a JSON-RPC 2.0 message to the assistant. - **Request**: Provide an object with `jsonrpc`, `id`, `method`, and optional `params`. - **Response**: Returns a JSON-RPC response with task information or error. **Supported Methods:** - `message/send`: Send a message to the assistant - `tasks/get`: Get the status and result of a task **Notes:** - Supports threaded conversations via thread context - Messages can contain text and data parts - Tasks run asynchronously and return completion status # API User Memories: Delete Memory Source: https://docs.b-bot.space/mainapi-reference/api-user-memories/delete-memory POST /v0/api-user/memories/delete Delete a memory for one of your end-users (tenant-scoped) ## Overview Delete a memory item for one of your end-users. The backend derives the storage namespace from your tenant + `end_user_id` + `expert_id`. ## Authentication Send your API key via `BBOT-API-Key` (or `X-API-Key`). ## Body Expert id Your end-user identifier core | mid | long Store key to delete ## Example Request ```bash cURL theme={null} curl --location 'https://api.b-bot.space/api/v0/api-user/memories/delete' \ --header 'Content-Type: application/json' \ --header 'BBOT-API-Key: ' \ --data '{ "expert_id": 42, "end_user_id": "user-123", "layer": "long", "key": "long_custom_001" }' ``` # API User Memories: Get Memories Source: https://docs.b-bot.space/mainapi-reference/api-user-memories/get-memories GET /v0/api-user/memories List/search memories for one of your end-users (tenant-scoped, server-derived entity_id) ## Overview Fetch memories for one of **your app's end-users**. The backend derives the storage namespace from: * your authenticated **tenant** (API key / token) * the provided `end_user_id` * the provided `expert_id` So you never need (and cannot) pass a raw `entity_id`. ## Authentication Send your API key: Your BBOT API key Alias header for your BBOT API key ## Query Parameters Expert id (scopes memories per expert) Your own end-user identifier (string) Memory layers to fetch. Allowed: core, mid, long Optional semantic query (applies to Store search) Max items per layer Pagination offset ## Response Server-derived namespace id (for debugging only) Per-layer results ## Example Request ```bash cURL theme={null} curl --location 'https://api.b-bot.space/api/v0/api-user/memories?expert_id=42&end_user_id=user-123&layers=core&layers=long&layers=mid&limit=50' \ --header 'BBOT-API-Key: ' ``` # API User Memories: Upsert Memory Source: https://docs.b-bot.space/mainapi-reference/api-user-memories/upsert-memory POST /v0/api-user/memories/upsert Create or update a memory for one of your end-users (tenant-scoped) ## Overview Upsert a memory item for one of your end-users. The backend derives the storage namespace from your tenant + `end_user_id` + `expert_id`. ## Authentication Send your API key via `BBOT-API-Key` (or `X-API-Key`). ## Body Expert id Your end-user identifier core | mid | long Store key (e.g. "profile", a thread\_id, or a deterministic long-memory key) JSON payload stored for this memory ## Example Request ```bash cURL theme={null} curl --location 'https://api.b-bot.space/api/v0/api-user/memories/upsert' \ --header 'Content-Type: application/json' \ --header 'BBOT-API-Key: ' \ --data '{ "expert_id": 42, "end_user_id": "user-123", "layer": "long", "key": "long_custom_001", "value": { "text": "User prefers email over phone.", "tags": ["preference"] } }' ``` # Distribution Channel Metadata Source: https://docs.b-bot.space/mainapi-reference/distribution-channels-metadata Complete reference for Distribution Channel metadata structure and configuration options ## Overview Distribution Channels define where and how your AI assistants are deployed. Each channel type has specific metadata and configuration options that control its behavior and integration. ## Metadata Structure When creating or updating a distribution channel (assistant), include the `distributionChannel` object in the `metadata` field: ```json theme={null} { "name": "My Assistant", "metadata": { "distributionChannel": { "type": "Chat", "config": { // Channel-specific configuration } }, // Other metadata fields... } } ``` ## Channel Types ### Chat **Integration with B-Bot Chat App** ```json theme={null} { "type": "Chat", "config": { "type": "chat-integration", "public": true } } ``` **Additional Metadata Fields:** * `profileImage`: URL to assistant profile picture * `abilities`: Array of ability objects/strings * `templates`: Array of template objects/strings * `description`: Assistant description shown in chat *** ### Embed **Embeddable widget for websites and apps** ```json theme={null} { "type": "Embed", "config": { "type": "embed-widget", "public": true } } ``` **Additional Metadata Fields:** * `profileImage`: URL to assistant profile picture * `bubbleIcon`: URL to custom chat bubble icon (optional, uses default if not set) * `headerIcon`: Lucide icon name for embed header * `abilities`: Array of ability objects/strings * `templates`: Array of template objects/strings * `description`: Assistant description shown in embed *** ### API **Direct integration via REST API endpoints** ```json theme={null} { "type": "API", "config": { "type": "api-integration" } } ``` No additional configuration required. Assistant will be available via standard LangGraph API endpoints. *** ### Tasks **Internal task distribution system** ```json theme={null} { "type": "Tasks", "config": { "type": "task-distribution" } } ``` **Additional Behavior:** * When created, the assistant ID is automatically linked to the expert's `task_assistant_id` field * Used for automated task routing and execution within the B-Bot ecosystem *** ### Template **Share as public expert template for others to install** ```json theme={null} { "type": "Template", "category": "Sales & Marketing", "featured": false, "config": { "type": "template", "category": "Sales & Marketing", "featured": false, "public": true, "usage_count": 0 } } ``` **Required Fields:** * `category`: Template category (see categories below) * `featured`: Request featured status (requires admin approval) * `usage_count`: Number of times template has been installed (auto-managed) **Available Categories:** * Sales & Marketing * Customer Support * Development * Finance & Accounting * HR & Recruitment * Content Creation * Project Management * Data Analysis * Education * Other **Template Behavior:** * App credentials are removed when template is shared * Users must connect their own app credentials when installing * Knowledge containers are copied to the installing user's expert *** ### Coming Soon The following channel types are planned for future releases: **Twilio** - SMS and messaging integration ```json theme={null} { "type": "Twilio", "config": { "accountSid": "", "phoneNumber": "" } } ``` **N8n** - Workflow automation integration ```json theme={null} { "type": "N8n", "config": { "webhookUrl": "", "active": false } } ``` **Zapier** - App integration platform ```json theme={null} { "type": "Zapier", "config": { "webhookUrl": "", "triggerEvent": "message" } } ``` ## Complete Example Here's a complete example of creating a Chat distribution channel with all metadata: ```json theme={null} { "name": "Customer Support Assistant", "description": "Helps customers with product questions", "graph_id": "bbot", "metadata": { "distributionChannel": { "type": "Chat", "config": { "type": "chat-integration", "public": true } }, "profileImage": "https://example.com/profile.jpg", "abilities": [ { "text": "Answer product questions" }, { "text": "Process returns" } ], "templates": [ { "text": "Help me understand [feature]" }, { "text": "I need to return [item]" } ], "description": "Customer Support Assistant" }, "config": { "graph_id": "bbot", "temperature": 0.7, "top_p": 0.95, "query_model": "openai/gpt-4", "response_model": "openai/gpt-4" } } ``` ## Filtering by Distribution Channel When fetching distribution channels via the public endpoints, the API automatically filters assistants based on their `distributionChannel.type` metadata: **Included Types:** `Chat`, `Embed`, `Template` Assistants without a `distributionChannel` metadata field will **not** be included in public endpoints. This ensures legacy assistants don't automatically appear in public-facing applications. ## Best Practices 1. **Always specify a distribution channel type** when creating new assistants intended for public use 2. **Use meaningful categories** for Template channels to help users discover your expert 3. **Include profile images and descriptions** for Chat and Embed channels to provide better user experience 4. **Test embed customizations** (bubbleIcon, headerIcon) before deploying to production 5. **Request featured status carefully** - only for high-quality, well-tested templates # Count Distribution Channels Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/count-distribution-channels post /distribution-channels/count Get the count of distribution channels matching the specified criteria. # Create Distribution Channel Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/create-distribution-channel post /distribution-channels Create a distribution channel. An initial version of the distribution channel will be created and the channel is set to that version. To change versions, use the `POST /distribution-channels/{channel_id}/latest` endpoint. # Delete Distribution Channel Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/delete-distribution-channel delete /distribution-channels/{channel_id} Delete a distribution channel by ID. All versions of the distribution channel will be deleted as well. # Get Distribution Channel Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/get-distribution-channel get /distribution-channels/{channel_id} Get a distribution channel by ID. # Get Distribution Channel Graph Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/get-distribution-channel-graph get /distribution-channels/{channel_id}/graph Get a distribution channel's graph by ID. # Get Distribution Channel Schemas Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/get-distribution-channel-schemas get /distribution-channels/{channel_id}/schemas Get a distribution channel's schemas by ID. # Get Distribution Channel Subgraphs Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/get-distribution-channel-subgraphs get /distribution-channels/{channel_id}/subgraphs Get a distribution channel's subgraphs. # Get Distribution Channel Subgraphs by Namespace Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/get-distribution-channel-subgraphs-by-namespace get /distribution-channels/{channel_id}/subgraphs/{namespace} Get a distribution channel's subgraphs filtered by namespace. # Get Distribution Channel Versions Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/get-distribution-channel-versions post /distribution-channels/{channel_id}/versions Get all versions of a distribution channel. # Patch Distribution Channel Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/patch-distribution-channel patch /distribution-channels/{channel_id} Update a distribution channel. # Search Distribution Channels Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/search-distribution-channels post /distribution-channels/search Search for distribution channels. This endpoint also functions as the endpoint to list all distribution channels. # Set Latest Distribution Channel Version Source: https://docs.b-bot.space/mainapi-reference/distribution-channels/set-latest-distribution-channel-version post /distribution-channels/{channel_id}/latest Set the latest version for a distribution channel. # Create Expert Source: https://docs.b-bot.space/mainapi-reference/experts/create-expert post /v1/create_expert Create a new expert in the B-Bot system. Only available for Agencies and Middleware Partners. **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**. # Delete Expert Source: https://docs.b-bot.space/mainapi-reference/experts/delete-expert delete /v1/experts/{expert_id} Permanently delete an expert from the system. This action is irreversible. Only available for Agencies and Middleware Partners. **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**. This action is **irreversible**. All expert data, configurations, and associations will be permanently deleted. ## What Gets Deleted When you delete an expert, the following data is permanently removed: * Expert configuration and metadata * Associated abilities and templates * App connections and credentials * Knowledge container associations * Team member relationships * Profile picture references * Task assistant linkages **Note:** Deleting an expert does NOT delete: * Distribution channels (assistants) created from the expert * Chat history or conversation threads * Uploaded files in knowledge containers (they become orphaned) * Users or other experts # Get Expert by ID Source: https://docs.b-bot.space/mainapi-reference/experts/get-expert-by-id get /v1/get_expert/{expert_id} Retrieve a specific expert by its ID. Only available for Agencies and Middleware Partners. **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**. # Get All Experts Source: https://docs.b-bot.space/mainapi-reference/experts/get-experts get /v1/get_experts Retrieve all experts associated with the authenticated user. Only available for Agencies and Middleware Partners. **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**. # Get Template Experts Source: https://docs.b-bot.space/mainapi-reference/experts/get-template-experts get /v1/get_template_experts Retrieve publicly available expert templates for installation. Only available for Agencies and Middleware Partners. **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**. ## Template Categories Available categories for filtering: * `Sales & Marketing` * `Customer Support` * `Development` * `Finance & Accounting` * `HR & Recruitment` * `Content Creation` * `Project Management` * `Data Analysis` * `Education` * `Other` ## Featured Templates Featured templates have been reviewed and approved by B-Bot administrators. They represent high-quality, well-tested configurations suitable for production use. ## Template Installation When installing a template expert: 1. **Copy configuration** - Expert settings are duplicated to user's account 2. **Remove credentials** - App credentials are NOT copied 3. **Prompt for apps** - User must connect their own app credentials 4. **Copy knowledge** - Knowledge containers are duplicated 5. **Increment counter** - `template_usage_count` is incremented 6. **Create expert** - New expert is created under user's ownership # Update Expert (PUT) Source: https://docs.b-bot.space/mainapi-reference/experts/update-expert put /v1/experts/{expert_id} Update an existing expert's configuration using PUT. Only available for Agencies and Middleware Partners. **Permission Required:** This endpoint is only available for **Agencies** and **Middleware Partners**. ## Partial Updates Supported Both `PUT` and `PATCH` methods support partial updates. You only need to include the fields you want to change. The API automatically validates ownership - you can only update experts you own. # Knowledge Domains: List Documents Source: https://docs.b-bot.space/mainapi-reference/knowledge-domains/list-documents GET /v0/containers/{container_id}/docs List documents in a knowledge domain, including extracted entities and relationships. ## Overview Fetch all documents for a knowledge domain container, plus the extracted entities and relationships. Access is restricted to the container owner derived from your `BBOT-API-Key`. ## Authentication Send your API key: Your BBOT API key ## Path Parameters Knowledge container id (example: `userId_expertId_knowledge_name`) ## Response Document objects for the container (includes sections, chunks, and token counts where available) Entities extracted from the documents Relationships inferred between entities Summary counts: document\_count, entity\_count, relationship\_count ## Example Request ```bash cURL theme={null} curl --location 'https://api.b-bot.space/api/v0/containers//docs' \ --header 'BBOT-API-Key: ' ``` # Knowledge Domains: List Entities Source: https://docs.b-bot.space/mainapi-reference/knowledge-domains/list-entities GET /v0/containers/{container_id}/entities List entities extracted from a knowledge domain container. ## Overview Entities are extracted from your documents and stored per container. Access is restricted to the container owner derived from your `BBOT-API-Key`. ## Authentication Send your API key: Your BBOT API key ## Path Parameters Knowledge container id (example: `userId_expertId_knowledge_name`) ## Query Parameters Optional entity type filter (for example: `PERSON`, `ORGANIZATION`) Max items to return (1-1000) Pagination offset ## Response Entity entries with name, type, description, aliases, confidence, attributes\_json, document\_count, documents Total matching entities Applied limit Applied offset ## Example Request ```bash cURL theme={null} curl --location 'https://api.b-bot.space/api/v0/containers//entities?limit=5' \ --header 'BBOT-API-Key: ' ``` # Knowledge Domains: List Relationships Source: https://docs.b-bot.space/mainapi-reference/knowledge-domains/list-relationships GET /v0/containers/{container_id}/relationships List relationships inferred between entities in a knowledge domain. ## Overview Relationships are inferred from your documents and stored per container. Access is restricted to the container owner derived from your `BBOT-API-Key`. ## Authentication Send your API key: Your BBOT API key ## Path Parameters Knowledge container id (example: `userId_expertId_knowledge_name`) ## Query Parameters Optional relationship type filter (for example: `RELATED_TO`) Max items to return (1-1000) Pagination offset ## Response Relationship entries with source, relationship, and target Total matching relationships Applied limit Applied offset ## Example Request ```bash cURL theme={null} curl --location 'https://api.b-bot.space/api/v0/containers//relationships?limit=5' \ --header 'BBOT-API-Key: ' ``` # MCP Get Source: https://docs.b-bot.space/mainapi-reference/mcp/mcp-get get /mcp/ Implemented according to the Streamable HTTP Transport specification. # MCP Post Source: https://docs.b-bot.space/mainapi-reference/mcp/mcp-post post /mcp/ Implemented according to the Streamable HTTP Transport specification. Sends a JSON-RPC 2.0 message to the server. - **Request**: Provide an object with `jsonrpc`, `id`, `method`, and optional `params`. - **Response**: Returns a JSON-RPC response or acknowledgment. **Notes:** - Stateless: Sessions are not persisted across requests. # Terminate Session Source: https://docs.b-bot.space/mainapi-reference/mcp/terminate-session delete /mcp/ Implemented according to the Streamable HTTP Transport specification. Terminate an MCP session. The server implementation is stateless, so this is a no-op. # Create Background Run Source: https://docs.b-bot.space/mainapi-reference/stateless-runs/create-background-run post /runs Create a run in a new thread, return the run ID immediately. Don't wait for the final run output. # Create Run Batch Source: https://docs.b-bot.space/mainapi-reference/stateless-runs/create-run-batch post /runs/batch Create a batch of runs in new threads, return immediately. # Create Run, Stream Output Source: https://docs.b-bot.space/mainapi-reference/stateless-runs/create-run-stream-output post /runs/stream Create a run in a new thread, stream the output. # Create Run, Wait for Output Source: https://docs.b-bot.space/mainapi-reference/stateless-runs/create-run-wait-for-output post /runs/wait Create a run in a new thread. Wait for the final output and then return it. # Delete an item. Source: https://docs.b-bot.space/mainapi-reference/store/delete-an-item delete /store/items # List namespaces with optional match conditions. Source: https://docs.b-bot.space/mainapi-reference/store/list-namespaces-with-optional-match-conditions post /store/namespaces # Retrieve a single item. Source: https://docs.b-bot.space/mainapi-reference/store/retrieve-a-single-item get /store/items # Search for items within a namespace prefix. Source: https://docs.b-bot.space/mainapi-reference/store/search-for-items-within-a-namespace-prefix post /store/items/search # Store or update an item. Source: https://docs.b-bot.space/mainapi-reference/store/store-or-update-an-item put /store/items # Server Information Source: https://docs.b-bot.space/mainapi-reference/system/server-information get /info Get server version information, feature flags, and metadata. # Cancel Run Source: https://docs.b-bot.space/mainapi-reference/thread-runs/cancel-run post /threads/{thread_id}/runs/{run_id}/cancel # Cancel Runs Source: https://docs.b-bot.space/mainapi-reference/thread-runs/cancel-runs post /runs/cancel Cancel one or more runs. Can cancel runs by thread ID and run IDs, or by status filter. # Create Background Run Source: https://docs.b-bot.space/mainapi-reference/thread-runs/create-background-run post /threads/{thread_id}/runs Create a run in existing thread, return the run ID immediately. Don't wait for the final run output. # Create Run, Stream Output Source: https://docs.b-bot.space/mainapi-reference/thread-runs/create-run-stream-output post /threads/{thread_id}/runs/stream Create a run in existing thread. Stream the output. # Create Run, Wait for Output Source: https://docs.b-bot.space/mainapi-reference/thread-runs/create-run-wait-for-output post /threads/{thread_id}/runs/wait Create a run in existing thread. Wait for the final output and then return it. # Delete Run Source: https://docs.b-bot.space/mainapi-reference/thread-runs/delete-run delete /threads/{thread_id}/runs/{run_id} Delete a run by ID. # Get Run Source: https://docs.b-bot.space/mainapi-reference/thread-runs/get-run get /threads/{thread_id}/runs/{run_id} Get a run by ID. # Join Run Source: https://docs.b-bot.space/mainapi-reference/thread-runs/join-run get /threads/{thread_id}/runs/{run_id}/join Wait for a run to finish. # Join Run Stream Source: https://docs.b-bot.space/mainapi-reference/thread-runs/join-run-stream get /threads/{thread_id}/runs/{run_id}/stream Join a run stream. This endpoint streams output in real-time from a run similar to the /threads/__THREAD_ID__/runs/stream endpoint. If the run has been created with `stream_resumable=true`, the stream can be resumed from the last seen event ID. # List Runs Source: https://docs.b-bot.space/mainapi-reference/thread-runs/list-runs get /threads/{thread_id}/runs List runs for a thread. # Copy Thread Source: https://docs.b-bot.space/mainapi-reference/threads/copy-thread post /threads/{thread_id}/copy Create a new thread with a copy of the state and checkpoints from an existing thread. # Count Threads Source: https://docs.b-bot.space/mainapi-reference/threads/count-threads post /threads/count Get the count of threads matching the specified criteria. # Create Thread Source: https://docs.b-bot.space/mainapi-reference/threads/create-thread post /threads Create a thread. # Delete Thread Source: https://docs.b-bot.space/mainapi-reference/threads/delete-thread delete /threads/{thread_id} Delete a thread by ID. # Get Thread Source: https://docs.b-bot.space/mainapi-reference/threads/get-thread get /threads/{thread_id} Get a thread by ID. # Get Thread History Source: https://docs.b-bot.space/mainapi-reference/threads/get-thread-history get /threads/{thread_id}/history Get all past states for a thread. # Get Thread History Post Source: https://docs.b-bot.space/mainapi-reference/threads/get-thread-history-post post /threads/{thread_id}/history Get all past states for a thread. # Get Thread State Source: https://docs.b-bot.space/mainapi-reference/threads/get-thread-state get /threads/{thread_id}/state Get state for a thread. The latest state of the thread (i.e. latest checkpoint) is returned. # Get Thread State At Checkpoint Source: https://docs.b-bot.space/mainapi-reference/threads/get-thread-state-at-checkpoint get /threads/{thread_id}/state/{checkpoint_id} Get state for a thread at a specific checkpoint. # Get Thread State At Checkpoint Source: https://docs.b-bot.space/mainapi-reference/threads/get-thread-state-at-checkpoint-1 post /threads/{thread_id}/state/checkpoint Get state for a thread at a specific checkpoint. # Join Thread Stream Source: https://docs.b-bot.space/mainapi-reference/threads/join-thread-stream get /threads/{thread_id}/stream This endpoint streams output in real-time from a thread. The stream will include the output of each run executed sequentially on the thread and will remain open indefinitely. It is the responsibility of the calling client to close the connection. # Patch Thread Source: https://docs.b-bot.space/mainapi-reference/threads/patch-thread patch /threads/{thread_id} Update a thread. # Search Threads Source: https://docs.b-bot.space/mainapi-reference/threads/search-threads post /threads/search Search for threads. This endpoint also functions as the endpoint to list all threads. # Update Thread State Source: https://docs.b-bot.space/mainapi-reference/threads/update-thread-state post /threads/{thread_id}/state Add state to a thread. # Feature Availability Source: https://docs.b-bot.space/roadmap What is available in B-Bot Hub, what depends on context, and what is coming soon # Feature Availability Availability can depend on your selected Agent, account, company, browser, provider keys, or connected services. ## Available * Sign-in and three-step onboarding * Dashboard, Chat, saved Threads, and scheduled Tasks * Agent creation from scratch or from a template * Agent editing for Basics, Goals, Abilities, Model, and Team * Resources, layered memories, and conversation files * Knowledge domains with documents, entities, relationships, and graph views * Training sessions built from example conversations * Workflow creation, publishing, triggers, and test runs * App connections, including remote MCP servers * Channels for B-Bot Chat, Embed, API, Tasks, and public templates * Companies, invitations, provider keys, profile settings, notifications, news, and guided tours ## Context-dependent * **Selected agent:** Resources, Knowledge, Training, Apps, Channels, Threads, and Tasks require a saved agent. They are unavailable when the built-in B-Bot assistant is selected. * **Provider keys and services:** Model choices, AI-generated setup, image generation, app catalogs, training, and some chat tools depend on configured providers and available platform services. * **Company access:** Shared agents, company keys, seats, and company-only chats depend on company membership and permissions. * **Browser support:** Voice, notifications, clipboard actions, and some media behavior depend on browser permissions and supported browser APIs. * **Deployment configuration:** Billing, analytics, web push, third-party integrations, and workspace previews can report that they are unavailable when their backing service is not configured. ## Coming soon The channel picker explicitly marks these channel types as coming soon: * Twilio * n8n * Zapier No release date is published for coming-soon features. Features not listed here should not be assumed to be available. # Javascript / TypeScript SDK Source: https://docs.b-bot.space/sdks/javascript Use the official B-Bot SDK to integrate AI capabilities into your Javascript/TypeScript applications. The **B-Bot SDK** (`@beyond-bot-ai/sdk`) is the official way to interact with the B-Bot Platform. It provides a type-safe interface to manage Distribution Channels (Assistants), Threads, and Runs, built on top of the [LangGraph SDK](https://langchain-ai.github.io/langgraph/) but adapted for B-Bot's terminology. View on NPM ## Installation ```bash theme={null} npm install @beyond-bot-ai/sdk ``` ## Quick Start Initialize the client with your B-Bot API Key. The SDK is pre-configured to connect to the B-Bot API. ```typescript theme={null} import { BBotClient } from "@beyond-bot-ai/sdk"; const client = new BBotClient({ apiKey: "bbot_your_api_key_here" // Your B-Bot API Key }); ``` ### Getting Your API Key 1. Go to [B-Bot Hub](https://hub.b-bot.space) 2. Navigate to **Settings** → **API Keys** 3. Click **Create New API Key** 4. Copy the key (starts with `bbot_`) 5. Store it securely (treat it like a password!) Never commit your API key to version control. Use environment variables: ```typescript theme={null} const client = new BBotClient({ apiKey: process.env.BBOT_API_KEY }); ``` ## Core Concepts ### 1. Distribution Channels In B-Bot, AI Assistants are exposed as **Distribution Channels**. You can search, retrieve, and manage them using the `client.distributionChannels` property. ```typescript theme={null} // Search for available channels const channels = await client.distributionChannels.search({ limit: 10, offset: 0 }); // Get a specific channel by assistant_id const channel = await client.distributionChannels.get("assistant-id"); // Extract entity_id from channel config (required for runs) const entityId = channel.config?.configurable?.entity_id; ``` ### 2. Threads Threads persist the state of a conversation. Every interaction happens within a thread. ```typescript theme={null} // Create a new thread const thread = await client.threads.create(); // Add initial messages to the thread state await client.threads.updateState(thread.thread_id, { values: { messages: [ { role: "user", content: "Hello, B-Bot!" } ] } }); ``` ### 3. Streaming Runs (Recommended) **Important:** B-Bot sends **cumulative content** in `messages/partial` events (e.g., "Hello", "Hello!", "Hello! How"), not individual tokens. Your `onMessage` callback should **replace** the content, not append it. The SDK includes a powerful **Streaming Handler** (`client.streamRun`) that simplifies processing real-time events like token streaming, tool execution, and state updates. ```typescript theme={null} // Get the channel first to extract entity_id const channel = await client.distributionChannels.get("assistant-id"); const entityId = channel.config?.configurable?.entity_id; // Stream a run (this waits until the stream completes) await client.streamRun( "thread-id", channel.assistant_id, // Use assistant_id from the channel { messages: [ { role: "user", content: "Write a short poem about AI." } ] }, { // Handle real-time token streaming // isCumulative=true means REPLACE content, don't append onMessage: (content, isCumulative) => { if (isCumulative) { // Replace the entire message content setStreamingContent(content); } else { // Append (rare case) setStreamingContent(prev => prev + content); } }, // Handle tool execution events onToolEvent: (event) => { console.log("\n[Tool Running]:", event.tool_name); }, // Handle completion onUpdate: (messages) => { console.log("\n[Done]"); }, onError: (err) => console.error("Error:", err) }, { entity_id: entityId } // Pass entity_id from channel config ); ``` ### Manual Streaming (Advanced) If you need lower-level control over the stream: ```typescript theme={null} const stream = await client.runs.stream( threadId, assistantId, // Note: Use assistant_id, not channel_id { input: { messages: [ { role: "user", content: "Help me with marketing." } ], entity_id: entityId // Required by B-Bot graph }, streamMode: ["values", "messages"] } ); // This blocks until the stream completes for await (const chunk of stream) { console.log(chunk.event, chunk.data); } ``` ## State Management (Todos & Files) The SDK automatically extracts structured data like **Todos** and **Files** generated by the AI. ```typescript theme={null} await client.streamRun( threadId, assistantId, { messages: [...] }, { // Called when the AI creates or updates todos onTodosUpdate: (todos) => { console.log("Active Todos:", todos); }, // Called when the AI generates files onFilesUpdate: (files) => { // files is a map of { filename: content } for (const [name, content] of Object.entries(files)) { saveFile(name, content); } } }, { entity_id: entityId } ); ``` ## Debugging If `onMessage` is not being called or you're not receiving events, enable debug mode: ```typescript theme={null} await client.streamRun( threadId, assistantId, { messages: [...] }, { onMessage: (content, isCumulative) => { console.log("Received:", content); } }, { entity_id: entityId, debug: true // Enable detailed logging } ); ``` This will log: * Every chunk received from the stream * Event types and data structures * Content extraction process * Total chunks processed ## Common Pitfalls ### 1. Missing `entity_id` B-Bot requires `entity_id` in the initial state. Always extract it from the channel config: ```typescript theme={null} const channel = await client.distributionChannels.get(assistantId); const entityId = channel.config?.configurable?.entity_id; ``` ### 2. Using `channel_id` instead of `assistant_id` The API returns `assistant_id`, not `channel_id`. Use `channel.assistant_id`. ### 3. Appending cumulative content B-Bot sends the full message so far in each chunk. Always **replace** content when `isCumulative=true`. ## Features * **Native Terminology**: Uses `client.distributionChannels` instead of `client.assistants`. * **Streaming Handler**: Built-in `streamRun` helper for easy real-time UI updates. * **State Extraction**: Automatically extracts Todos and Files from stream events. * **Auto-Configuration**: Pre-configured for `api.b-bot.space`. * **Type Safety**: Full TypeScript support. * **Cumulative Streaming**: Properly handles B-Bot's cumulative content streaming. ## License MIT # Health Check Source: https://docs.b-bot.space/mainapi-reference/system/health-check get /ok Check the health status of the server. Optionally check database connectivity. # System Metrics Source: https://docs.b-bot.space/mainapi-reference/system/system-metrics get /metrics Get system metrics in Prometheus or JSON format for monitoring and observability.