Mintlify docs (#217)

* add the new docs

* Update to latest comprehensive docs from mintlify2 branch - Add conversations, jobs, triggers guides - Complete tools documentation - Enhanced RAG and agents docs - Add UI screenshots and images - Update contribution guide and quickstart

* added intro gif

* Update introduction.mdx with intro gif

* Add public/videos folder with Intro-Video.gif for proper Next.js/Mintlify serving

* updated gif

* Update introduction.mdx to have a working intro gif
This commit is contained in:
Tushar 2025-08-23 16:26:35 +05:30 committed by GitHub
parent 8f40b5fb33
commit daaac23f76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 1972 additions and 0 deletions

View file

@ -0,0 +1,141 @@
---
title: "Agents"
description: "Learn about creating and configuring individual agents within your multi-agent system"
icon: "robot"
---
## Overview
Agents are the core building blocks of Rowboat's multi-agent system. Each agent carries out a specific part of a conversation, handles tasks via tools, and can collaborate with other agents to orchestrate complex workflows.
They are powered by LLMs and can:
- Respond to user input
- Trigger tools or APIs
- Pass control to other agents using @mentions
- Fetch or process internal data
- Execute RAG (Retrieval-Augmented Generation) queries
- Participate in sequential pipeline workflows
---
## Agent Types
Rowboat supports several types of agents, each designed for specific use cases:
| Name | Purpose | Characteristics |
|------|---------|-----------------|
| **Conversational Agents** (`conversation`) | Primary user-facing agents that interact directly with users and orchestrate workflows. | • Can respond to users and orchestrate workflows<br />• Typically serve as the start agent (Hub Agent)|
| **Task Agents** (`internal`) | Specialized agents that perform specific tasks without direct user interaction. | • Focused on specific functions<br />• Return results to parent agents|
| **Pipeline Agents** (`pipeline`) | Sequential workflow execution agents that process data in a chain. | • Execute in sequence within a pipeline<br />• Cannot transfer to other agents directly|
---
## Agent Configuration
Agents are configured through two main tabs in the Rowboat Studio interface:
### **Instructions Tab**
#### Description
A clear description of the agent's role and responsibilities
#### Instructions
Instructions are the backbone of the agent's behavior. Use the Copilot's structured format for consistency:
**Recommended Structure:**
```
## 🧑‍💼 Role:
[Clear description of the agent's role]
## ⚙️ Steps to Follow:
1. [Step 1]
2. [Step 2]
3. [Step 3]
## 🎯 Scope:
✅ In Scope:
- [What the agent should handle]
❌ Out of Scope:
- [What the agent should NOT handle]
## 📋 Guidelines:
✔️ Dos:
- [Positive behaviors]
🚫 Don'ts:
- [Negative behaviors]
```
#### Examples
These help agents behave correctly in specific situations. Each example can include:
- A sample user message
- The expected agent response
- Any tool calls (if applicable)
### **Configurations Tab**
#### Name
Name of the agent
#### Behaviour
- **Agent Type**: Choose from `conversation`, `internal`, or `pipeline`
- **Model**: Select the LLM model (GPT-4o, GPT-4o-mini, google/gemini-2.5-flash, etc.)
#### RAG
- **Add Source**: Connect data sources to enable RAG capabilities for the agent
---
## Creating Your Initial Set of Agents
Let Copilot bootstrap your agent graph.
### Instruct Copilot
Start by telling Copilot what your assistant is meant to do — it'll generate an initial set of agents with best-practice instructions, role definitions, and connected agents.
<Frame>
<img src="/docs/img/create-agents-delivery.png" className="w-full max-w-[400px] rounded-xl" alt="Creating agents with Copilot" />
</Frame>
### Inspect the Output
After applying the suggested agents, take a close look at each one's:
- **Instructions**: Define how the agent behaves
- **Examples**: Guide agent responses and tool use
<Frame>
<img src="/docs/img/agent-instruction.png" alt="Inspect agent instructions" />
</Frame>
---
## Updating Agent Behavior
There are three ways to update an agent:
### 1. With Copilot
Copilot understands the current chat context and can help rewrite or improve an agent's behavior based on how it performed.
<Frame>
<img src="/docs/img/update-agent-copilot.png" className="w-full max-w-[400px] rounded-xl" alt="Update agent using Copilot" />
</Frame>
### 2. Manual Edits
You can always manually edit the agent's instructions.
<Frame>
<img src="/docs/img/update-agent-manual.png" alt="Manually edit agent" />
</Frame>
---

View file

@ -0,0 +1,52 @@
---
title: "Conversations"
description: "View and manage all conversations with your Rowboat agents"
icon: "list-check"
---
## Overview
The Conversations page in Rowboat shows you all the interactions between users and your agents. Here you can monitor conversations, view detailed message exchanges, and understand how your agents are performing.
<Frame>
<img src="/docs/img/conversations-ui.png" className="w-full max-w-[800px] rounded-xl" alt="Conversations page UI showing list of conversations" />
</Frame>
## What You'll See
The Conversations page displays a list of all conversations organized by time:
- **Today**: Recent conversations from today
- **This week**: Conversations from the current week
- **This month**: Conversations from the current month
- **Older**: Conversations from previous months
Each conversation shows:
- **Conversation ID**: Unique identifier for the conversation
- **Created time**: When the conversation started
- **Reason**: What triggered the conversation (chat or job)
## Viewing Conversation Details
Click on any conversation to see the detailed view with all the message exchanges:
<Frame>
<img src="/docs/img/conversations-inside-run.png" className="w-full max-w-[800px] rounded-xl" alt="Conversation details showing expanded view of a conversation with turns and messages" />
</Frame>
**Conversation Metadata**: Shows the Conversation ID, creation time, and last update time.
**Workflow**: Shows the workflow JSON
**Turns**: Each conversation is made up of turns, where:
- **Turn #1, #2, etc.**: Numbered sequence of interactions
- **Reason badge**: Shows why each turn happened (chat, API, job, etc.)
- **Timestamp**: When each turn occurred
- **Input messages**: What was sent to your agents
- **Output messages**: What your agents responded with
### Turn Details
Each turn displays:
- **Input**: The messages sent to your agents (user messages, system messages)
- **Output**: The responses from your agents
- **Error information**: Any issues that occurred during processing

View file

@ -0,0 +1,53 @@
---
title: "Custom LLMs"
description: "How to use and configure custom LLMs in Rowboat."
---
<Note> This is currently only possible in the self hosted version of Rowboat</Note>
## Using custom LLM providers
By default, Rowboat uses OpenAI LLMs (gpt-4o, gpt-4.1, etc.) for both agents and copilot, when you export your OPENAI_API_KEY.
However, you can also configure custom LLM providers (e.g. LiteLLM, OpenRouter) to use any of the hundreds of available LLMs beyond OpenAI, such as Claude, DeepSeek, Ollama LLMs and so on.
<Steps>
<Step title="Set up your LLM provider">
Configure your environment variables to point to your preferred LLM backend. Example using LiteLLM:
```bash
export PROVIDER_BASE_URL=http://host.docker.internal:4000/
export PROVIDER_API_KEY=sk-1234
```
Rowboat uses <code>gpt-4.1</code> as the default model for agents and copilot. You can override these:
```bash
export PROVIDER_DEFAULT_MODEL=claude-3-7-sonnet-latest
export PROVIDER_COPILOT_MODEL=gpt-4o
```
**Notes:**
- Copilot is optimized for <code>gpt-4o</code>/<code>gpt-4.1</code>. We strongly recommend using these models for best results.
- You can use different models for the copilot and each agent, but all must be from the same provider (e.g., LiteLLM).
- Rowboat is provider-agnostic — any backend implementing the OpenAI messages format should work.
- OpenAI-specific tools (like <code>web_search</code>) will not function with non-OpenAI providers. Remove such tools to avoid errors.
</Step>
<Step title="Clone the repository and start Rowboat Docker">
Clone the Rowboat repo and spin it up locally:
```bash
git clone git@github.com:rowboatlabs/rowboat.git
cd rowboat
docker-compose up --build
```
</Step>
<Step title="Access the app">
Once Docker is running, navigate to:
[http://localhost:3000](http://localhost:3000)
</Step>
</Steps>

View file

@ -0,0 +1,45 @@
---
title: "Jobs"
description: "Monitor and inspect all your trigger executions and job runs"
icon: "message"
---
## Overview
The Jobs page in Rowboat provides a comprehensive view of all your automated job executions. Here you can monitor the status of your triggers, inspect what happened during each run, and troubleshoot any issues that may have occurred.
<Frame>
<img src="/docs/img/jobs-ui.png" className="w-full max-w-[800px] rounded-xl" alt="Jobs page showing list of all job runs with status indicators" />
</Frame>
## What You'll See
The Jobs page displays a list of all job runs from your triggers, including:
- **External trigger executions** from webhook events
- **One-time trigger runs** from scheduled jobs
- **Recurring trigger executions** from cron-based schedules
Each job run displays the following key information:
- **Job ID**: Unique identifier for the job run
- **Status**: Indicates if the job succeeded, failed, or is in progress
- **Reason**: The trigger or cause for the job (e.g., external trigger, scheduled, cron)
- **Created Time**: When the job was executed
## Viewing Job Details
### Expand a Job Run
Click on any job run to expand it and see detailed information about what happened during execution:
<Frame>
<img src="/docs/img/jobs-inside-run.png" className="w-full max-w-[800px] rounded-xl" alt="Job run details showing expanded information for a specific job" />
</Frame>
**Basic job details**: Job ID, Status, creation time, Updated time, Conversation ID and Turn ID. By clicking on the Conversation ID, you can view more in-depth details about the run.
**Job Reason**: Why the job triggered - either external trigger, scheduled, or cron.
**Job Input**: The input data sent to your assistant.
**Job Output**: The final output produced by your agents.

View file

@ -0,0 +1,68 @@
---
title: "RAG (Data)"
description: "How to use our inbuilt RAG"
icon: "database"
---
# Using RAG in Rowboat
Rowboat provides multiple ways to enhance your agents' context with Retrieval-Augmented Generation (RAG). This guide will help you set up and use each RAG feature.
<Info>RAG is called "Data" on the build view in the Rowboat UI. </Info>
---
## Types of RAG
| RAG Type | Description | Configuration Required |
|----------|-------------|------------------------|
| **Text RAG** | Process and reason over text content directly | No configuration needed |
| **File Uploads** | Upload PDF files directly from your device | No configuration needed |
| **URL Scraping** | Scrape content from web URLs using Firecrawl | Requires API key setup |
<Note> URL Scraping does not require any setup in the managed version of Rowboat. </Note>
<Frame>
<img src="/docs/img/rag-adding-data.png" className="w-full max-w-[800px] rounded-xl" alt="Adding data sources for RAG in Rowboat" />
</Frame>
## RAG Features
### 1. Text RAG
Process and reason over text content directly
### 2. File Uploads
- Upload PDF files directly from your device
- **Open Source Version**: Files are stored locally on your machine
- **Managed Version**: Files are stored in cloud S3 storage
- Files are parsed using OpenAI by default
<Note> You can also use Google's Gemini model for parsing as it is better at parsing larger files. </Note>
#### 2.1 Using Gemini for File Parsing
To use Google's Gemini model for parsing uploaded PDFs, set the following variables:
```bash
# Enable Gemini for file parsing
export USE_GEMINI_FILE_PARSING=true
export GOOGLE_API_KEY=your_google_api_key
```
### 3. URL Scraping
Rowboat uses Firecrawl for URL scraping. You can have a maximum of 100 URLs.
**Open Source Version**: To enable URL scraping, set the following variables:
```bash
export USE_RAG_SCRAPING=true
export FIRECRAWL_API_KEY=your_firecrawl_api_key
```
**Managed Version**: No configuration required - URL scraping is handled automatically.

View file

@ -0,0 +1,60 @@
---
title: "Rowboat Studio"
description: "Visual interface to build, test, and deploy multi-agent AI assistants using plain language"
icon: "puzzle-piece"
---
## Overview
**Rowboat Studio** is your visual interface for building AI assistants — powered by agents, tools, and workflows — using plain language and minimal setup. It brings the process of creating multi-agent systems down to just a few clicks.
Workflows created within Rowboat are known as **assistants**, and each assistant is composed of:
- One or more **agents**
- Attached **tools** and **MCP servers**
Once built, assistants can be tested live in the **playground** and deployed in real-world products using the [API](/docs/api-sdk/using_the_api) or [SDK](/docs/api-sdk//using_the_sdk).
---
## Key Components
Heres what youll interact with in Studio:
| Component | Description | Highlights |
|------------|-------------|------------|
| **Agent** | Core building blocks of your assistant.<br />Each agent handles a specific part of the conversation and performs tasks using tools and instructions. | • Define behavior in plain language<br />• Connect agents into a graph<br />• Attach tools and RAG sources |
| **Playground** | Interactive testbed for conversations.<br />Lets you simulate end-user chats with your assistant and inspect agent behavior in real time. | • Real-time feedback and debugging<br />• See tool calls and agent handoffs<br />• Test individual agents or the whole system |
| **Copilot** | Your AI assistant for building assistants.<br />Copilot creates and updates agents, tools, and instructions based on your plain-English prompts. | • Understands full system context<br />• Improves agents based on playground chat<br />• Builds workflows intelligently and fast |
> **Agents are the heart of every assistant.** Learn more about how they work in the Agents page.
<Card title="Agents" icon="robot" horizontal href="/docs/using-rowboat/agents">
Learn about creating and configuring individual agents within your multi-agent system
</Card>
---
## Building in Rowboat
<Steps>
<Step title="Describe your assistant to Copilot">
Use plain language to tell Copilot what you want your assistant to do. Copilot will auto-generate the agents, instructions, and tools that form the base of your assistant.
</Step>
<Step title="Review and apply Copilot suggestions">
Inspect the created agents — especially their instructions and examples — and refine or approve them before moving forward.
</Step>
<Step title="Connect MCP servers and tools">
Integrate external services, tools, and backend logic into your agents using Rowboat's modular system. Tools are tied to agents and triggered through instructions.
</Step>
<Step title="Test in the Playground">
Use the chat playground to simulate real-world conversations. Youll see which agent takes control, what tools are triggered, and how your assistant flows.
</Step>
<Step title="Deploy via API or SDK">
Assistants can be deployed into production using the **Rowboat Chat API** or the **Rowboat Chat SDK**. Both support stateless and stateful conversation flows.
</Step>
</Steps>

View file

@ -0,0 +1,48 @@
---
title: "Tools"
description: "Add and configure tools for your agents to interact with external services"
icon: "wrench"
---
## Overview
The Tools page in Rowboat lets you add and configure tools that your agents can use to interact with external services, APIs, and systems. Tools enable your agents to perform real-world actions like sending emails, managing calendars, or processing payments.
<Frame>
<img src="/docs/img/tools-ui.png" alt="Screenshot of the Tools UI in Rowboat" className="w-full max-w-[800px] rounded-xl shadow" />
</Frame>
## Tool Types
| Tool Type | Description | Use Case | Availability |
|-----------|-------------|----------|--------------|
| **Library Tools** | Pre-built integrations with popular services | Quick setup, no configuration needed | Managed and open source |
| **MCP Tools** | Custom tools from MCP servers | Custom functionality, specialized APIs | Managed and open source |
| **Webhook Tools** | HTTP endpoints for custom integrations | Your own systems, custom workflows | Open source only |
## Library (Composio Tools)
- Browse a library of 500+ toolkits from popular services
- With 3000+ tools to choose from!
- Click on a service to see available tools and add them to your workflow
- Users must create a Composio account and add their API key
- Tools require authorization to work properly
<Note>Users can visit [Composio's toolkit documentation](https://docs.composio.dev/toolkits/introduction) for a deep dive into all the tools available.</Note>
## Custom MCP Servers
- Add your own MCP (Model Context Protocol) servers
- Connect to custom tools and APIs you've built
- Configure server URLs and authentication
- Import tools from your MCP servers
## Webhook
<Note>Webhook tools are only available in the open source (local) version of Rowboat.</Note>
- Create custom webhook tools
- Configure HTTP endpoints for your agents to call
- Set up custom authentication and parameters
- Build integrations with your own systems

View file

@ -0,0 +1,131 @@
---
title: "Triggers"
description: "Learn about setting up automated triggers for your Rowboat agents"
icon: "bolt"
---
## Overview
Triggers in Rowboat are automated mechanisms that activate your agents when specific events occur or conditions are met. They form the foundation of your automated workflow system, enabling your agents to respond to external events, scheduled times, and system conditions without manual intervention.
## Trigger Types
Rowboat supports three main categories of triggers, each designed for different automation scenarios:
| Trigger Type | Purpose | Execution | Use Cases |
|--------------|---------|-----------|-----------|
| **External Triggers** | Connect to external services and events | Real-time via webhooks | Slack messages, GitHub events, email processing |
| **One-Time Triggers** | Execute at specific predetermined times | Single execution at set time | Delayed responses, time-sensitive actions |
| **Recurring Triggers** | Execute on repeating schedules | Continuous via cron expressions | Daily reports, periodic maintenance, regular syncs |
---
## External Triggers (Composio Integration)
External triggers are powered by **Composio** and allow users to use triggers from across 30+ services including Slack, GitHub, Gmail, Notion, Google Calendar, and more.
<Frame>
<img src="/docs/img/triggers-external-ui.png" className="w-full max-w-[800px] rounded-xl" alt="External Triggers UI showing available toolkits and services" />
</Frame>
### Creating External Triggers
1. **Click New External Trigger**: Start the trigger creation process
2. **Select a Toolkit**: Browse available toolkits or search for specific services
3. **Choose Trigger Type**: Select the specific trigger from available options, click configure
4. **Authenticate**: Complete OAuth2 flow or enter API keys for the selected service (your preferred method)
5. **Configure**: Set up event filters and data mapping if required
6. **Deploy**: Activate the trigger to start listening for events
### Local Setup
If you're running the open source version of Rowboat, you'll need to set up external triggers manually. In the managed version, this is all handled automatically for you.
<Steps>
<Step title="Create a Composio project">
Sign into [Composio](https://composio.dev/) and create a new project for your Rowboat instance.
</Step>
<Step title="Get your Composio API key">
Go to your project settings and copy the project API key. Export it in your Rowboat environment:
```bash
export COMPOSIO_API_KEY=your-composio-api-key
```
</Step>
<Step title="Expose your Rowboat port">
Use ngrok to expose your local Rowboat instance:
```bash
ngrok http 3000
```
Copy the generated ngrok URL (e.g., `https://a5fe8c0d45b8.ngrok-free.app`).
</Step>
<Step title="Configure webhook URL">
In Composio, go to Events & Triggers section and set the Trigger Webhook URL to:
```
{ngrok_url}/api/composio/webhook
```
Example: `https://a5fe8c0d45b8.ngrok-free.app/api/composio/webhook`
</Step>
<Step title="Set webhook secret">
Copy the Webhook Secret from Composio and export it in Rowboat:
```bash
export COMPOSIO_TRIGGERS_WEBHOOK_SECRET=your-webhook-secret
```
</Step>
<Step title="Restart Rowboat">
Restart your Rowboat instance to load the new environment variables. You're now ready to use external triggers!
</Step>
</Steps>
<Note>Make sure your Rowboat assistant is deployed before receiving trigger calls</Note>
---
## One-Time Triggers (Scheduled Jobs)
One-time triggers execute your agents at a specific, predetermined time. They're useful for delayed responses, batch processing, time-sensitive actions, or coordinating with external schedules.
<Frame>
<img src="/docs/img/triggers-onetime-ui.png" className="w-full max-w-[800px] rounded-xl" alt="One-Time Triggers UI showing scheduled job configuration" />
</Frame>
### Creating One-Time Triggers
1. Set the exact execution time (date and time)
2. Configure the input messages for your agents
3. Deploy to schedule the execution
---
## Recurring Triggers (Cron-based Jobs)
Recurring triggers execute your agents on a repeating schedule using cron expressions. They're ideal for daily reports, periodic maintenance, regular data syncs, and continuous monitoring tasks.
<Frame>
<img src="/docs/img/triggers-recurring-ui.png" className="w-full max-w-[800px] rounded-xl" alt="Recurring Triggers UI showing cron-based job configuration" />
</Frame>
### Creating Recurring Triggers
1. Define the cron expression (e.g., `0 9 * * *` for daily at 9 AM)
2. Configure the recurring message structure
3. Enable the trigger to start the recurring schedule
### Common Cron Patterns
```cron
0 9 * * * # Daily at 9:00 AM
0 8 * * 1 # Every Monday at 8:00 AM
*/15 * * * * # Every 15 minutes
0 0 1 * * # First day of month at midnight
```