The Botpress ADK is a convention-based TypeScript framework that helps in building features involving tables, actions, tools, workflows, and more. It allows developers to create rich conversational agents by mapping file structures directly to bot behavior.
$ npx skills add https://github.com/botpress/skills --skill adkThe Botpress ADK is a convention-based TypeScript development kit for building feature-rich conversational AI agents. It uses a direct file-to-behavior mapping approach where your project structure automatically defines bot actions, tools, workflows, and data handling. The framework covers core concepts like Actions (strongly-typed functions), Tools (AI-callable operations), Workflows (long-running processes), and data primitives including Tables, Files, and Knowledge Bases. Developers can implement AI operations using Zai, manage integrations, set up event-driven triggers, and leverage CLI tools for development and debugging. It's designed for teams building production conversational agents who need type safety, structured data management, and scalable bot architecture.
Install using npx command provided.
Creating workflows for bot interactions
Implementing knowledge bases for RAG
Setting up event-driven automation with triggers
Managing AI-callable tools
$ npx skills add https://github.com/botpress/skills --skill adkgit clone https://github.com/botpress/skillsCopy the install command above and run it in your terminal.
Launch Claude Code, Cursor, or your preferred AI coding agent.
Use the prompt template or examples below to test the skill.
Adapt the skill to your specific use case and workflow.
I need to build a conversational AI feature for [COMPANY] in the [INDUSTRY] sector using Botpress ADK. The feature should involve [SPECIFIC_FEATURE, e.g., customer support ticket routing, data table lookups, or workflow automation]. Can you help me design the file structure and implementation using Botpress ADK conventions? Provide code snippets for tables, actions, or workflows as needed.
## Botpress ADK Implementation Plan for Customer Support Ticket Routing
### File Structure
```
features/
└── ticket-routing/
├── tables/
│ ├── ticket_status.json
│ └── agent_availability.json
├── actions/
│ ├── assign_ticket.ts
│ └── escalate_ticket.ts
└── workflows/
└── ticket_routing_flow.json
```
### Key Components
#### 1. Ticket Status Table (`tables/ticket_status.json`)
```json
{
"columns": ["id", "status", "priority", "assigned_agent"],
"rows": [
["TKT-001", "open", "high", null],
["TKT-002", "in_progress", "medium", "AGENT-42"]
]
}
```
#### 2. Agent Availability Action (`actions/assign_ticket.ts`)
```typescript
import { action } from '@botpress/sdk'
export const assignTicket: action = async ({ client, input, logger }) => {
const { ticketId, agentId } = input;
await client.createTableRow('ticket_status', {
id: ticketId,
status: 'in_progress',
assigned_agent: agentId
});
return { success: true, message: `Ticket ${ticketId} assigned to ${agentId}` };
};
```
#### 3. Routing Workflow (`workflows/ticket_routing_flow.json`)
```json
{
"triggers": ["ticket.created"],
"steps": [
{
"type": "action",
"name": "assign_ticket",
"input": {
"ticketId": "{{ event.ticketId }}",
"agentId": "{{ event.agentId }}"
}
}
]
}
```
### Next Steps
1. Create the file structure in your Botpress project
2. Define your tables based on your data model
3. Implement actions for common operations (assign, escalate, resolve)
4. Build workflows to chain actions together
5. Test with sample data before deploying
Would you like me to elaborate on any specific part of this implementation?Take a free 3-minute scan and get personalized AI skill recommendations.
Take free scan