### Install and Run CLI Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Global installation and help command usage. ```bash npm install -g @hexabot-ai/cli ``` ```bash npx @hexabot-ai/cli --help ``` -------------------------------- ### Install base system packages Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Installs NGINX, Certbot, and PostgreSQL on a Linux server. ```bash sudo apt-get update sudo apt-get install -y nginx certbot python3-certbot-nginx postgresql postgresql-contrib sudo systemctl enable --now nginx postgresql ``` -------------------------------- ### Install NVM Source: https://docs.hexabot.ai/developer-guide/setup-node.js-with-nvm.md Downloads and executes the NVM installation script. ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash ``` -------------------------------- ### Install and configure Node.js Source: https://docs.hexabot.ai/developer-guide/setup-node.js-with-nvm Commands to install, set as default, and activate the required Node.js version. ```bash nvm install 24.17.0 ``` ```bash nvm alias default 24.17.0 ``` ```bash nvm use 24.17.0 ``` -------------------------------- ### Install NGINX Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Update package lists and install the NGINX web server. ```bash sudo apt update sudo apt install nginx ``` -------------------------------- ### Run Initial Bootstrap Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Start the application in development mode to initialize the database. ```bash hexabot dev ``` -------------------------------- ### Install Node.js version Source: https://docs.hexabot.ai/developer-guide/setup-node.js-with-nvm.md Installs the specified version of Node.js using NVM. ```bash nvm install 24.17.0 ``` -------------------------------- ### Install Published Package Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/packaging-custom-actions.md Standard command for users to install the action into their Hexabot project. ```sh npm install hexabot-action-acme-ticket ``` -------------------------------- ### Start Production-Oriented Mode Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Run the project using production configurations. ```bash hexabot start hexabot start --docker --services api,postgres --build ``` -------------------------------- ### Example Workflow Commands Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Step-by-step commands for creating, entering, and running a project with Docker. ```bash npx @hexabot-ai/cli create support-bot ``` ```bash cd support-bot hexabot dev ``` ```bash hexabot dev --docker --services postgres,redis ``` -------------------------------- ### Start Production Stack Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Launch the production environment after completing the bootstrap process. ```bash hexabot start --docker --services postgres --build -d ``` -------------------------------- ### GET /quickstart/create-your-1st-workflow.md Source: https://docs.hexabot.ai/quickstart/create-your-1st-workflow.md Queries the documentation for specific information using a natural language question. ```APIDOC ## GET /quickstart/create-your-1st-workflow.md ### Description Queries the documentation dynamically by asking a question. This is useful when the answer is not explicitly present in the current page or additional context is required. ### Method GET ### Endpoint https://docs.hexabot.ai/quickstart/create-your-1st-workflow.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ``` -------------------------------- ### Install Hexabot Skills and Configure Environment Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Install the required action creator and workflow writer skills, then set the necessary environment variables for the MCP server. ```bash npx skills add hexabot-ai/hexabot-action-creator npx skills add hexabot-workflow-writer export HEXABOT_MCP_URL="http://localhost:3000/api/mcp" export HEXABOT_MCP_TOKEN="paste-your-token-here" ``` -------------------------------- ### Install and Test Package Locally Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/packaging-custom-actions.md Install the generated tarball into a project to verify action registration. ```sh cd path/to/hexabot-project npm install ../hexabot-action-acme-ticket/hexabot-action-acme-ticket-1.0.0.tgz hexabot dev ``` ```sh pnpm add ../hexabot-action-acme-ticket/hexabot-action-acme-ticket-1.0.0.tgz pnpm dev ``` -------------------------------- ### Verify Skill Installation Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md List all currently installed skills to confirm the addition of Hexabot skills. ```bash npx skills list ``` -------------------------------- ### Default Development Flow Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Standard sequence for initializing and starting a new project. ```bash hexabot create my-project cd my-project hexabot dev ``` -------------------------------- ### GET /quickstart/using-ai-coding-agents.md Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Perform an HTTP GET request on the documentation page to retrieve answers to specific questions or context related to a goal. ```APIDOC ## GET /quickstart/using-ai-coding-agents.md ### Description Queries the documentation dynamically to retrieve information or context not explicitly present in the current page. ### Method GET ### Endpoint https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### Run Development Mode Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Start the project locally or with Docker services. ```bash # Local development hexabot dev # Docker development with Postgres hexabot dev --docker --services postgres ``` -------------------------------- ### Install SQLite vector helper Source: https://docs.hexabot.ai/retrieval-augmented-generation/migrate-from-v3.3.x Install the required package for semantic vector retrieval on SQLite. ```bash npm install hexabot-helper-sqlite-vector ``` -------------------------------- ### Install PostgreSQL vector helper Source: https://docs.hexabot.ai/retrieval-augmented-generation/migrate-from-v3.3.x Install the required package for semantic vector retrieval on PostgreSQL. ```bash npm add hexabot-helper-pgvector ``` -------------------------------- ### Install Docker Community Edition Source: https://docs.hexabot.ai/developer-guide/setting-up-docker.md Installs the Docker engine, CLI, containerd, and build/compose plugins. ```bash sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` -------------------------------- ### Verify NVM installation Source: https://docs.hexabot.ai/developer-guide/setup-node.js-with-nvm.md Checks the installed version of NVM. ```bash nvm --version ``` -------------------------------- ### GET /faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Queries the documentation for specific information by providing a question and an optional goal. ```APIDOC ## GET /faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md ### Description Queries the documentation dynamically to retrieve answers, excerpts, and sources based on a provided question. ### Method GET ### Endpoint https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the response. ``` -------------------------------- ### Initialize Hexabot Project Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Commands to install the CLI, clone the repository, and initialize the Docker environment. ```bash npm install -g @hexabot-ai/cli ``` ```bash git clone git@github.com:YOUR_ORG/my-project.git cd my-project npm install hexabot env init --docker ``` -------------------------------- ### Build and Run Commands Source: https://docs.hexabot.ai/developer-guide/develop-custom-channels.md Commands to compile the project and start the development server. ```sh npm run build ``` ```sh npm run dev ``` -------------------------------- ### Install Docker Engine on Ubuntu Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Commands to install Docker Engine and the Compose plugin on an Ubuntu system. ```bash sudo apt-get update sudo apt-get install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable --now docker ``` -------------------------------- ### Install Hexabot CLI globally Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Installs the Hexabot CLI package using npm. ```bash npm install -g @hexabot-ai/cli ``` -------------------------------- ### Start Development Services Source: https://docs.hexabot.ai/developer-guide/smtp-configuration.md Commands to launch the development environment with smtp4dev support. ```bash hexabot dev --docker --services smtp4dev ``` ```bash docker compose \ -f docker/docker-compose.yml \ -f docker/docker-compose.smtp4dev.yml \ -f docker/docker-compose.dev.yml \ up --build ``` -------------------------------- ### Clone project and install dependencies Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Clones the project repository and installs required Node.js dependencies. ```bash git clone git@github.com:YOUR_ORG/my-project.git /home/ubuntu/my-project cd /home/ubuntu/my-project npm install ``` -------------------------------- ### Header Authentication Example Source: https://docs.hexabot.ai/workflow-editor/workflow-types/manual-workflows-http-webhooks-and-api-triggers.md Example cURL command for triggering a workflow using Header-based authentication. ```bash curl --request POST "" \ --header "Content-Type: application/json" \ --header "X-Webhook-Token: " \ --data '{ "raw_signals": {}, "existing_backlog": [], "approved_for_wordpress_staging": true, "wordpress_post_status": "draft" }' ``` -------------------------------- ### GET /faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Queries the documentation for information by providing a specific question and an optional end goal. ```APIDOC ## GET /faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md ### Description Queries the documentation dynamically to retrieve answers, excerpts, and sources based on a natural language question. ### Method GET ### Endpoint https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask the documentation. - **goal** (string) - Optional - The broader end goal to help tailor the response context. ``` -------------------------------- ### Windsurf Example Prompt Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md A sample prompt to test the Hexabot MCP server integration in Windsurf. ```txt Using the Hexabot MCP server, inspect the available tools and generate a Hexabot action for sending a WhatsApp template message. Follow the Hexabot action creator skill. ``` -------------------------------- ### GET /quickstart.md Source: https://docs.hexabot.ai/quickstart Queries the documentation page for specific information using natural language questions and optional goal context. ```APIDOC ## GET /quickstart.md ### Description Perform an HTTP GET request on the documentation page URL to retrieve answers to specific questions, along with relevant excerpts and sources. ### Method GET ### Endpoint https://docs.hexabot.ai/quickstart.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ### Request Example GET https://docs.hexabot.ai/quickstart.md?ask=How do I install Hexabot?&goal=Setting up a new project ### Response #### Success Response (200) - **answer** (string) - A direct answer to the question. - **excerpts** (array) - Relevant excerpts from the documentation. - **sources** (array) - Sources used to generate the answer. ``` -------------------------------- ### Create and Run a Hexabot Project Source: https://docs.hexabot.ai/quickstart/installation.md Standard commands to initialize and start a development server for a new project. ```bash hexabot create my-project cd my-project hexabot dev ``` ```bash npx @hexabot-ai/cli create my-project cd my-project npx @hexabot-ai/cli dev ``` -------------------------------- ### Integrate via CDN for Simple Websites Source: https://docs.hexabot.ai/faq/how-can-i-add-the-hexabot-chat-widget-to-my-website.md Use this method for quick setup on static sites. Replace @latest with a specific version for stable deployments. ```html
``` -------------------------------- ### Query documentation via HTTP GET Source: https://docs.hexabot.ai/audience.md Perform an HTTP GET request to the documentation URL with 'ask' and 'goal' parameters to retrieve context-aware answers. ```http GET https://docs.hexabot.ai/audience.md?ask=&goal= ``` -------------------------------- ### Install Certbot and NGINX plugin Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Install the necessary packages to manage SSL certificates for the NGINX web server. ```bash sudo apt install nginx certbot python3-certbot-nginx ``` -------------------------------- ### OpenCode CLI and Prompting Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Commands to manage MCP servers and an example prompt for creating a Hexabot action. ```bash opencode mcp list opencode mcp debug hexabot ``` ```text Use the Hexabot action creator skill and the Hexabot MCP server. Create a new Hexabot action named crm-ticket-create that accepts firstname, lastname, email, phone, category, and description, then calls a CRM REST API. ``` -------------------------------- ### GET /developer-guide/setup-node.js-with-nvm.md Source: https://docs.hexabot.ai/developer-guide/setup-node.js-with-nvm Performs a dynamic query against the documentation page to retrieve answers and relevant excerpts based on a specific question and optional goal. ```APIDOC ## GET /developer-guide/setup-node.js-with-nvm.md ### Description Queries the documentation dynamically to get answers to specific questions, optionally providing a broader goal to tailor the response. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/setup-node.js-with-nvm.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### Install AI SDK Providers Source: https://docs.hexabot.ai/faq/which-ai-llm-providers-does-hexabot-support.md Commands to install additional AI provider packages into your Hexabot project. ```bash npm install @ai-sdk/mistral ``` ```bash npm install @ai-sdk/provider-name ``` -------------------------------- ### GET /developer-guide/develop-custom-actions/packaging-custom-actions.md Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/packaging-custom-actions.md Queries the documentation for specific information by providing a question and an optional goal. ```APIDOC ## GET /developer-guide/develop-custom-actions/packaging-custom-actions.md ### Description Performs a dynamic query against the documentation to retrieve answers, excerpts, and sources based on a specific question. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/develop-custom-actions/packaging-custom-actions.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the response. ``` -------------------------------- ### GET /introduction/overview.md Source: https://docs.hexabot.ai/introduction/overview.md Queries the documentation for information by providing a specific question and an optional end goal. ```APIDOC ## GET /introduction/overview.md ### Description Queries the documentation dynamically by asking a question. The response provides a direct answer along with relevant excerpts and sources. ### Method GET ### Endpoint https://docs.hexabot.ai/introduction/overview.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ### Response #### Success Response (200) - **answer** (string) - The direct answer to the question. - **excerpts** (array) - Relevant excerpts and sources from the documentation. ``` -------------------------------- ### Install Jest Dependencies Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/testing-custom-actions.md Commands to install necessary Jest and TypeScript transformation dependencies for standalone action packages. ```sh npm install -D jest @swc/core @swc/jest @types/jest typescript ``` ```sh pnpm add -D jest @swc/core @swc/jest @types/jest typescript ``` -------------------------------- ### JWT Authentication Example Source: https://docs.hexabot.ai/workflow-editor/workflow-types/manual-workflows-http-webhooks-and-api-triggers.md Example cURL command for triggering a workflow using a Bearer token for JWT authentication. ```bash curl --request POST "" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer " \ --data '{ "topic": "AI workflow automation" }' ``` -------------------------------- ### Install Channel Extension Source: https://docs.hexabot.ai/faq/which-channels-are-supported-in-hexabot.md Install a specific channel extension package using npm from the root directory of your Hexabot project. ```bash npm install ``` ```bash npm install hexabot-channel-whatsapp ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.hexabot.ai/dashboard.md Perform an HTTP GET request to the documentation URL to retrieve answers to specific questions. ```http GET https://docs.hexabot.ai/dashboard.md?ask=&goal= ``` -------------------------------- ### Cline Example Prompt Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md A sample prompt to initiate a workflow using the Hexabot MCP server in Cline. ```txt Use the Hexabot MCP server. Create a production-ready Hexabot workflow for lead qualification, then generate any missing actions required by the workflow. ``` -------------------------------- ### Monitor API Startup Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Wait for this specific log message to confirm the application has successfully started. ```txt Nest application successfully started ``` -------------------------------- ### Test File Layout Examples Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/testing-custom-actions.md Recommended directory structures for organizing action source files and their corresponding test files. ```text hexabot-action-acme-ticket/ |-- src/ | |-- acme-create-ticket.action.ts | `-- acme-create-ticket.action.spec.ts |-- jest.config.cjs `-- package.json ``` ```text test/ `-- acme-create-ticket.action.spec.ts ``` -------------------------------- ### Install Hexabot Skills Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Use the npx skills CLI to add Hexabot-specific agent skills. ```bash npx skills add hexabot-ai/action-creator npx skills add hexabot-ai/workflow-writer ``` -------------------------------- ### Install Hexabot Channel Packages Source: https://docs.hexabot.ai/faq/which-channels-are-supported-in-hexabot.md Use these commands to install the necessary npm packages for integrating specific messaging platforms with your Hexabot instance. ```bash npm install hexabot-channel-facebook ``` ```bash npm install hexabot-channel-whatsapp ``` ```bash npm install hexabot-channel-telegram ``` ```bash npm install hexabot-channel-discord ``` ```bash npm install hexabot-channel-slack ``` -------------------------------- ### GET /introduction.md Source: https://docs.hexabot.ai/introduction Queries the documentation for information by providing a specific question and an optional end goal. ```APIDOC ## GET /introduction.md ### Description Perform an HTTP GET request on the documentation page URL to retrieve a direct answer to a question, along with relevant excerpts and sources. ### Method GET ### Endpoint https://docs.hexabot.ai/introduction.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ### Request Example GET https://docs.hexabot.ai/introduction.md?ask=How do I build a workflow?&goal=Automate customer support ``` -------------------------------- ### Example Agent Prompt Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md A sample prompt to initiate action and workflow creation using the connected Hexabot MCP server. ```text Use the Hexabot MCP server and the installed Hexabot skills to create a new action and workflow for the following use case... ``` -------------------------------- ### Bootstrap Hexabot Database Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/docker-deployment.md Execute the development command to seed the database and start required services. ```bash hexabot dev --docker --services postgres -d ``` -------------------------------- ### GET /developer-guide.md Source: https://docs.hexabot.ai/developer-guide Queries the documentation dynamically by providing a question and an optional goal to receive a tailored response. ```APIDOC ## GET /developer-guide.md ### Description Queries the documentation dynamically to retrieve answers and relevant excerpts based on a specific question and optional goal. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask the documentation. - **goal** (string) - Optional - The broader end goal to help tailor the response. ### Response #### Success Response (200) - **answer** (string) - The direct answer to the question. - **excerpts** (array) - Relevant excerpts and sources from the documentation. ``` -------------------------------- ### GET /retrieval-augmented-generation/quickstart.md Source: https://docs.hexabot.ai/retrieval-augmented-generation/quickstart.md Queries the documentation page dynamically to retrieve answers based on a specific question and optional goal. ```APIDOC ## GET /retrieval-augmented-generation/quickstart.md ### Description Performs a dynamic query against the documentation page to retrieve an answer and relevant source excerpts. ### Method GET ### Endpoint https://docs.hexabot.ai/retrieval-augmented-generation/quickstart.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the answer. ### Response - The response contains a direct answer to the question along with relevant excerpts and sources from the documentation. ``` -------------------------------- ### Schema Definitions Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions.md Examples of Zod schema definitions for input, settings, and output. ```ts const inputSchema = z.object({ orderId: z.string().min(1), }); ``` ```ts const settingsSchema = z.object({ notifyCustomer: z.boolean().default(true), }); ``` ```ts const outputSchema = z.object({ sent: z.boolean(), reference: z.string(), }); ``` -------------------------------- ### Initialize environment file Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Creates the .env file from .env.example if it does not already exist. ```bash hexabot env init ``` -------------------------------- ### Format text using JSONata Source: https://docs.hexabot.ai/workflow-editor/expressions-and-jsonata-scopes.md Examples of concatenating input and output data into strings. ```yaml text: "='Thanks for your message: ' & $input.text" ``` ```yaml text: "='Order ' & $input.order_id & ' is ' & $output.lookup_order.status" ``` -------------------------------- ### GET /developer-guide/develop-custom-channels.md Source: https://docs.hexabot.ai/developer-guide/develop-custom-channels.md Queries the documentation for a specific question, optionally providing a goal to contextualize the response. ```APIDOC ## GET /developer-guide/develop-custom-channels.md ### Description Perform a natural language query against the documentation to receive an answer and relevant excerpts. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/develop-custom-channels.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### Example Memory Prompt Format Source: https://docs.hexabot.ai/memory.md The structure of the memory data appended to model system instructions. ```markdown # Working Memory ## Customer Profile - Preferred name: Ada - Language: en - Interests: ["billing","enterprise plan"] ``` -------------------------------- ### Integrate via npm for React or Next.js Source: https://docs.hexabot.ai/faq/how-can-i-add-the-hexabot-chat-widget-to-my-website.md Install the widget package and render the ChatWidget component within your application. ```bash npm install @hexabot-ai/widget ``` ```tsx import { ChatWidget } from '@hexabot-ai/widget'; import '@hexabot-ai/widget/dist/style.css'; export function SupportWidget() { return ( ); } ``` -------------------------------- ### GET /faq/which-ai-llm-providers-does-hexabot-support.md Source: https://docs.hexabot.ai/faq/which-ai-llm-providers-does-hexabot-support.md Queries the documentation for specific information by providing a question and an optional goal. ```APIDOC ## GET /faq/which-ai-llm-providers-does-hexabot-support.md ### Description Queries the documentation dynamically by asking a question. The response provides a direct answer along with relevant excerpts and sources. ### Method GET ### Endpoint https://docs.hexabot.ai/faq/which-ai-llm-providers-does-hexabot-support.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ``` -------------------------------- ### GET /introduction/features.md Source: https://docs.hexabot.ai/introduction/features.md Queries the documentation for information by providing a specific question and an optional end goal. ```APIDOC ## GET /introduction/features.md ### Description Queries the documentation dynamically to retrieve answers, excerpts, and sources based on a natural language question. ### Method GET ### Endpoint https://docs.hexabot.ai/introduction/features.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ### Request Example GET https://docs.hexabot.ai/introduction/features.md?ask=How do I add team members?&goal=Setting up my workspace ### Response #### Success Response (200) - **answer** (string) - The direct answer to the question. - **excerpts** (array) - Relevant excerpts from the documentation. - **sources** (array) - Sources used to generate the answer. ``` -------------------------------- ### GET /faq/how-can-i-add-the-hexabot-chat-widget-to-my-website.md Source: https://docs.hexabot.ai/faq/how-can-i-add-the-hexabot-chat-widget-to-my-website.md Queries the documentation for information by providing a specific question and an optional end goal. ```APIDOC ## GET /faq/how-can-i-add-the-hexabot-chat-widget-to-my-website.md ### Description Performs a dynamic query against the documentation to retrieve answers, excerpts, and sources based on a natural language question. ### Method GET ### Endpoint https://docs.hexabot.ai/faq/how-can-i-add-the-hexabot-chat-widget-to-my-website.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### GET /readme.md Source: https://docs.hexabot.ai/readme.md Queries the documentation dynamically by providing a specific question and an optional end goal. ```APIDOC ## GET /readme.md ### Description Queries the documentation dynamically to retrieve answers, excerpts, and sources based on a provided question. ### Method GET ### Endpoint https://docs.hexabot.ai/readme.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ### Response #### Success Response (200) - **answer** (string) - A direct answer to the question. - **excerpts** (array) - Relevant excerpts from the documentation. - **sources** (array) - Sources used to generate the answer. ``` -------------------------------- ### package.json Configuration Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/packaging-custom-actions.md Example configuration for a Hexabot action package, including peer dependencies and build scripts. ```json { "name": "hexabot-action-acme-ticket", "version": "1.0.0", "description": "Create and update Acme support tickets from Hexabot workflows.", "author": "Your Organization", "license": "FCL-1.0-ALv2", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ "dist", "README.md" ], "scripts": { "clean": "rimraf dist", "build": "tsc -p tsconfig.json", "typecheck": "tsc --noEmit -p tsconfig.json", "prepack": "npm run build", "pack:check": "npm pack --dry-run" }, "peerDependencies": { "@hexabot-ai/api": "^3.2.0", "zod": "^4.0.0" }, "devDependencies": { "@hexabot-ai/api": "^3.2.0", "@types/node": "^20.0.0", "rimraf": "^6.0.0", "typescript": "^5.1.0", "zod": "^4.0.0" }, "keywords": [ "hexabot", "hexabot-action", "workflow", "automation" ] } ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.hexabot.ai/content.md Perform a dynamic query against the documentation by appending ask and goal parameters to the page URL. ```http GET https://docs.hexabot.ai/content.md?ask=&goal= ``` -------------------------------- ### GET /developer-guide/workflow-yaml-syntax.md Source: https://docs.hexabot.ai/developer-guide/workflow-yaml-syntax.md Queries the documentation page dynamically to retrieve answers to specific questions based on the provided context. ```APIDOC ## GET /developer-guide/workflow-yaml-syntax.md ### Description Perform an HTTP GET request on the current page URL to query the documentation dynamically. This allows for retrieving specific information or clarifications when not explicitly found in the text. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/workflow-yaml-syntax.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate, specific question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ### Response #### Success Response (200) - **answer** (string) - A direct answer to the question. - **excerpts** (array) - Relevant excerpts and sources from the documentation. ``` -------------------------------- ### Minimal Custom Action Implementation Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions.md Complete example of a custom action defining schemas and the execute function. ```ts import { ConversationalWorkflowContext, createAction } from '@hexabot-ai/api'; import { z } from 'zod'; const createTicketInputSchema = z.object({ email: z.string().email().meta({ title: 'Email', description: 'Customer email address.', }), subject: z.string().min(1).meta({ title: 'Subject', description: 'Ticket subject.', }), message: z.string().min(1).meta({ title: 'Message', description: 'Ticket message.', }), }); const createTicketOutputSchema = z.object({ ticketId: z.string().meta({ title: 'Ticket ID', description: 'Identifier of the created ticket.', }), status: z.string().meta({ title: 'Status', description: 'Ticket creation status.', }), }); const createTicketSettingsSchema = z.object({ priority: z.enum(['low', 'normal', 'high']).default('normal').meta({ title: 'Priority', description: 'Default priority for created tickets.', }), }); type CreateTicketInput = z.infer; type CreateTicketOutput = z.infer; type CreateTicketSettings = z.infer; const CreateTicketAction = createAction< CreateTicketInput, CreateTicketOutput, ConversationalWorkflowContext, CreateTicketSettings >({ name: 'create_ticket', description: 'Creates a support ticket from workflow data.', inputSchema: createTicketInputSchema, outputSchema: createTicketOutputSchema, settingsSchema: createTicketSettingsSchema, icon: 'Ticket', color: '#2563EB', group: 'support', async execute({ input, settings }) { return { ticketId: `ticket_${Date.now()}`, status: settings.priority, }; }, }); export default CreateTicketAction; ``` -------------------------------- ### GET /faq.md Source: https://docs.hexabot.ai/faq Queries the documentation dynamically by providing a question and an optional goal to receive a context-aware answer. ```APIDOC ## GET /faq.md ### Description Perform an HTTP GET request on the documentation page URL to query information dynamically. This is useful when specific details are not explicitly present in the static content. ### Method GET ### Endpoint https://docs.hexabot.ai/faq.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the response. ``` -------------------------------- ### VS Code MCP Configuration File Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Example configuration for VS Code using the 'servers' object and 'inputs' for secure token management. ```json { "inputs": [ { "type": "promptString", "id": "hexabot-mcp-token", "description": "Hexabot MCP Token", "password": true } ], "servers": { "hexabot": { "type": "http", "url": "http://localhost:3000/api/mcp", "headers": { "Authorization": "Bearer ${input:hexabot-mcp-token}" } } } } ``` -------------------------------- ### GET /developer-guide/smtp-configuration.md Source: https://docs.hexabot.ai/developer-guide/smtp-configuration.md Queries the documentation page for information using a natural language question and an optional goal. ```APIDOC ## GET /developer-guide/smtp-configuration.md ### Description Queries the documentation dynamically by providing a specific question and an optional goal to receive a direct answer and relevant excerpts. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/smtp-configuration.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question in natural language. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### GET /workflow-runs/step-trace-and-inspector.md Source: https://docs.hexabot.ai/workflow-runs/step-trace-and-inspector.md Queries the documentation dynamically by asking a question related to the current page content. ```APIDOC ## GET /workflow-runs/step-trace-and-inspector.md ### Description Perform an HTTP GET request on the current page URL to query the documentation dynamically for information not explicitly covered in the page. ### Method GET ### Endpoint https://docs.hexabot.ai/workflow-runs/step-trace-and-inspector.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the answer. ``` -------------------------------- ### GET /integrations/mcp-servers.md Source: https://docs.hexabot.ai/integrations/mcp-servers.md Queries the documentation page for specific information using natural language questions. ```APIDOC ## GET /integrations/mcp-servers.md ### Description Queries the documentation dynamically by asking a question. This is useful when information is not explicitly present in the page or additional context is required. ### Method GET ### Endpoint https://docs.hexabot.ai/integrations/mcp-servers.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ``` -------------------------------- ### Define MCP bindings in YAML Source: https://docs.hexabot.ai/integrations/mcp-servers.md Example configuration showing how to define a model, an MCP server binding, and an AI agent task that utilizes those tools. ```yaml defs: primary_model: kind: model settings: provider: openai model_id: your-model-id api_key: 00000000-0000-4000-8000-000000000000 crm_tools: kind: mcp settings: server_id: 11111111-1111-4111-8111-111111111111 tool_names: - lookup_customer - create_ticket answer_with_tools: kind: task action: ai_agent inputs: input_mode: prompt prompt: "=$input.text" system: "Use the CRM tools when customer account data is needed." bindings: model: primary_model mcp: - crm_tools flow: - do: answer_with_tools ``` -------------------------------- ### GET /developer-guide/cli-command-reference.md Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Queries the documentation page dynamically to retrieve answers and relevant excerpts based on a specific question and optional goal. ```APIDOC ## GET /developer-guide/cli-command-reference.md ### Description Perform an HTTP GET request on the current page URL to query the documentation dynamically. This is useful when you need clarification, additional context, or related documentation sections. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/cli-command-reference.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask, written in natural language. - **goal** (string) - Optional - Describes the broader end goal to help tailor the answer. ### Request Example GET https://docs.hexabot.ai/developer-guide/cli-command-reference.md?ask=How+do+I+use+the+CLI%3F&goal=Automate+deployment ### Response #### Success Response (200) - **answer** (string) - A direct answer to the question. - **excerpts** (array) - Relevant excerpts and sources from the documentation. ``` -------------------------------- ### GET /faq/which-channels-are-supported-in-hexabot.md Source: https://docs.hexabot.ai/faq/which-channels-are-supported-in-hexabot.md Queries the documentation for information by providing a specific question and an optional end goal. ```APIDOC ## GET /faq/which-channels-are-supported-in-hexabot.md ### Description Performs a query against the documentation to retrieve an answer, relevant excerpts, and sources based on a natural language question. ### Method GET ### Endpoint https://docs.hexabot.ai/faq/which-channels-are-supported-in-hexabot.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ### Request Example GET https://docs.hexabot.ai/faq/which-channels-are-supported-in-hexabot.md?ask=What channels are supported?&goal=Integration setup ``` -------------------------------- ### OpenAI Codex CLI and Prompting Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Commands to run the Codex agent and an example prompt for utilizing the Hexabot MCP server. ```bash codex ``` ```text Use the Hexabot MCP server and the Hexabot workflow writer skill. Inspect the available workflow schema, then generate a workflow that qualifies a lead, stores the user email in memory, and creates a CRM ticket through an action. ``` -------------------------------- ### GET /developer-guide/develop-custom-actions.md Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions.md Performs a dynamic query against the documentation page to retrieve answers and relevant excerpts based on a provided question. ```APIDOC ## GET /developer-guide/develop-custom-actions.md ### Description Performs an HTTP GET request to query the documentation dynamically. This is useful for retrieving information not explicitly present on the current page or for clarifying context. ### Method GET ### Endpoint https://docs.hexabot.ai/developer-guide/develop-custom-actions.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### Manage Environment Files Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Commands to initialize and list environment configuration files. ```bash hexabot env init hexabot env init --docker hexabot env list ``` -------------------------------- ### Instantiate Action for Unit Testing Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/testing-custom-actions.md Example of instantiating an action class with a mocked ActionService for unit testing. ```ts import { ActionService } from '@hexabot-ai/api'; import { AcmeCreateTicketAction } from './acme-create-ticket.action'; describe('AcmeCreateTicketAction', () => { let action: InstanceType; let registerAction: jest.Mock; beforeEach(() => { registerAction = jest.fn(); const actionService = { register: registerAction, } as unknown as ActionService; action = new AcmeCreateTicketAction(actionService); }); it('registers with ActionService when Nest initializes the provider', async () => { await expect(action.onModuleInit()).resolves.toBeUndefined(); expect(registerAction).toHaveBeenCalledWith(action); }); }); ``` -------------------------------- ### Run package checks with npm Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/testing-custom-actions.md Execute standard package verification commands using npm before publishing or installing an action. ```sh npm run typecheck npm test npm run build npm pack --dry-run ``` -------------------------------- ### Define Source Settings Schema Source: https://docs.hexabot.ai/developer-guide/develop-custom-channels.md Example of defining per-source credentials and options using Zod, including UI metadata for the admin panel. ```typescript // src/extensions/channels/acme/settings.schema.ts import z from "zod"; export const ACME_CHANNEL_NAME = "acme" as const; export const ACME_CHANNEL_SOURCE_SETTINGS_SCHEMA = z .strictObject({ api_url: z.url().default("https://api.acme.example").meta({ title: "API URL", description: "Base URL for the Acme messaging API.", }), api_key: z.string().default("").meta({ title: "API key", description: "Token used to call the Acme API.", "ui:widget": "password", }), verify_token: z.string().default("").meta({ title: "Verify token", description: "Token used during webhook verification.", "ui:widget": "password", }), webhook_secret: z.string().default("").meta({ title: "Webhook secret", description: "Secret used to verify signed webhook payloads.", "ui:widget": "password", }), tenant_id: z.string().default("").meta({ title: "Tenant ID", description: "Optional tenant filter for incoming events.", }), }) .meta({ title: "Acme Channel", }); export type AcmeChannelSettings = z.infer< typeof ACME_CHANNEL_SOURCE_SETTINGS_SCHEMA >; ``` -------------------------------- ### GET /users-and-roles.md Source: https://docs.hexabot.ai/users-and-roles.md Perform a query against the documentation to retrieve information or clarification regarding users, roles, and access control. ```APIDOC ## GET /users-and-roles.md ### Description Perform an HTTP GET request on the current page URL to query the documentation dynamically for information not explicitly present or for clarification. ### Method GET ### Endpoint https://docs.hexabot.ai/users-and-roles.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question written in natural language. - **goal** (string) - Optional - Describes the broader end goal to tailor the answer. ``` -------------------------------- ### Cursor Agent Prompting Source: https://docs.hexabot.ai/quickstart/using-ai-coding-agents.md Example prompt for Cursor to generate a workflow YAML using the Hexabot MCP server. ```text Use the Hexabot MCP server and the installed Hexabot workflow writer skill. Generate a workflow YAML for a support triage agent that detects the customer issue, asks for missing information, and triggers an action to open a ticket. ``` -------------------------------- ### GET /users-and-roles/roles-and-permissions.md Source: https://docs.hexabot.ai/users-and-roles/roles-and-permissions.md Perform a query against the documentation to retrieve answers, excerpts, and sources based on a specific question and optional goal. ```APIDOC ## GET /users-and-roles/roles-and-permissions.md ### Description Queries the documentation dynamically to receive a direct answer, relevant excerpts, and sources based on a provided question. ### Method GET ### Endpoint https://docs.hexabot.ai/users-and-roles/roles-and-permissions.md ### Parameters #### Query Parameters - **ask** (string) - Required - The specific, self-contained question to ask the documentation. - **goal** (string) - Optional - The broader end goal to help tailor the answer for the user. ``` -------------------------------- ### Manipulate arrays Source: https://docs.hexabot.ai/workflow-editor/expressions-and-jsonata-scopes.md Examples of accessing and filtering array data. ```yaml in: "=$input.recipients" ``` ```yaml condition: "=$count($input.items[status = 'open']) > 0" ``` ```yaml merge: "=$append($accumulator, [$iteration.item])" ``` -------------------------------- ### Initialize PostgreSQL Database Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Create the database and user for Hexabot via the PostgreSQL command line. ```bash sudo -u postgres psql ``` ```sql CREATE USER hexabot WITH PASSWORD 'change-me'; CREATE DATABASE hexabot OWNER hexabot; \q ``` -------------------------------- ### Run package checks with pnpm Source: https://docs.hexabot.ai/developer-guide/develop-custom-actions/testing-custom-actions.md Execute standard package verification commands using pnpm before publishing or installing an action. ```sh pnpm typecheck pnpm test pnpm build pnpm pack --dry-run ``` -------------------------------- ### Legacy mode-based retrieval logic Source: https://docs.hexabot.ai/retrieval-augmented-generation/migrate-from-v3.3.x Example of legacy logic that should be replaced as the 'mode' setting is no longer used for retrieval selection. ```text mode = lexical for one workflow mode = embedding for another workflow ``` -------------------------------- ### GET /workflow-editor/actions-tasks-and-steps.md Source: https://docs.hexabot.ai/workflow-editor/actions-tasks-and-steps.md Queries the documentation page dynamically to retrieve answers, excerpts, and sources based on a specific question and optional goal. ```APIDOC ## GET /workflow-editor/actions-tasks-and-steps.md ### Description Queries the documentation dynamically by providing a specific question and an optional end goal to receive a tailored answer with relevant excerpts. ### Method GET ### Endpoint https://docs.hexabot.ai/workflow-editor/actions-tasks-and-steps.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask the documentation. - **goal** (string) - Optional - The broader end goal to help tailor the response. ``` -------------------------------- ### Create systemd service file Source: https://docs.hexabot.ai/faq/how-can-i-deploy-my-hexabot-project/manual-deployment.md Command to initialize the systemd service configuration file. ```bash sudo nano /etc/systemd/system/hexabot.service ``` -------------------------------- ### Scaffold New Project Source: https://docs.hexabot.ai/developer-guide/cli-command-reference.md Create a new project using the default template. ```bash hexabot create support-bot ``` -------------------------------- ### GET /workflow-editor/workflow-types/conversational-workflows-chatbot-message-triggers.md Source: https://docs.hexabot.ai/workflow-editor/workflow-types/conversational-workflows-chatbot-message-triggers.md Queries the documentation for specific information by providing a question and an optional goal. ```APIDOC ## GET /workflow-editor/workflow-types/conversational-workflows-chatbot-message-triggers.md ### Description Perform a natural language query against the documentation to receive an answer and relevant source excerpts. ### Method GET ### Endpoint https://docs.hexabot.ai/workflow-editor/workflow-types/conversational-workflows-chatbot-message-triggers.md ### Parameters #### Query Parameters - **ask** (string) - Required - The immediate question to ask. - **goal** (string) - Optional - The broader end goal to help tailor the response. ```