@botpress/adk-cli
Version:
Command-line interface for the Botpress Agent Development Kit (ADK)
86 lines (57 loc) • 2.71 kB
Markdown
# {{projectName}}
A backend CRM enrichment agent built with the Botpress ADK. This agent runs scheduled workflows to classify, score, and enrich contacts in a table using AI -- no chat interface required.
## How It Works
1. **Contacts table** (`src/tables/contacts.ts`) stores raw and enriched contact data.
2. **Enrich action** (`src/actions/enrich-contact.ts`) uses Zai to classify a single contact's use case, industry, and lead score.
3. **Enrichment pipeline** (`src/workflows/enrichment-pipeline.ts`) fetches unenriched contacts, enriches each one, and writes results back.
4. **Daily trigger** (`src/triggers/daily-enrichment.ts`) kicks off the pipeline on a schedule and on initial bot registration.
## Getting Started
1. Install dependencies:
```bash
{{packageManager}} install
```
2. Start development server:
```bash
adk dev
```
3. Add some contacts to the `ContactsTable` (via `adk run` script or the dev UI), then watch the enrichment pipeline process them.
4. Deploy your agent:
```bash
adk deploy
```
## Customizing the Enrichment Logic
The core AI classification lives in `src/actions/enrich-contact.ts`. You can customize:
- **Use case categories** -- edit the `useCase` enum in the Zai extract schema to match your business.
- **Industry list** -- expand or narrow the `industry` enum.
- **Scoring criteria** -- change the `score` enum and the `instructions` string to reflect your ideal customer profile.
- **Additional fields** -- add more columns to the table and more fields to the extract schema.
## Scheduling
The workflow runs on a cron schedule defined in `src/workflows/enrichment-pipeline.ts`:
```typescript
schedule: '0 9 * * *' // Every day at 9:00 AM UTC
```
Common alternatives:
- `"0 */6 * * *"` -- every 6 hours
- `"0 9 * * 1-5"` -- weekday mornings only
- `"*/30 * * * *"` -- every 30 minutes
The trigger in `src/triggers/daily-enrichment.ts` also fires on `register` (bot startup) so the pipeline runs once immediately during development.
## Adding Integrations
This template starts with no integrations. To extend it:
```bash
# Send enrichment reports to Slack
adk integrations add slack@latest
# Sync contacts from a CRM
adk integrations add salesforce@latest
# Send email summaries
adk integrations add sendgrid@latest
```
## Project Structure
- `src/tables/` -- ContactsTable schema
- `src/actions/` -- AI enrichment action
- `src/workflows/` -- Enrichment pipeline workflow
- `src/triggers/` -- Scheduled trigger
- `src/conversations/` -- Unused (backend agent)
- `src/knowledge/` -- Unused (no RAG needed)
## Learn More
- [ADK Documentation](https://botpress.com/docs/adk)
- [Botpress Platform](https://botpress.com)