ADK Integration Management
Use this skill when helping users discover, add, configure, and use Botpress integrations in their ADK projects.
When to Use This Skill
Activate this skill when users:
- Ask about integrations ("How do I add Slack?", "What integrations are available?")
- Want to connect an external service (Slack, WhatsApp, Linear, etc.)
- Mention
adk add, adk search, adk info, or adk list
- Ask about
agent.config.ts dependencies or the dependencies.integrations block
- Need help configuring an integration (OAuth, API keys, Dev Console)
- Ask about calling integration actions in code (
actions.slack.*, etc.)
- Mention specific platforms or services they want their agent to interact with
- Get errors related to integration registration or configuration
Available Documentation
| File |
Description |
| references/discovery.md |
Finding integrations: adk search, adk list, adk info with all flags |
| references/lifecycle.md |
End-to-end walkthrough: discover, add, configure, use in code |
| references/configuration.md |
Configuration types: no-config, optional, OAuth, API key, sandbox |
| references/common-integrations.md |
Quick reference for chat, webchat, browser, slack, whatsapp, linear, webhook |
How to Answer
- Start with CLI commands — Use
adk search, adk info, adk list to get live data before suggesting anything. Run these via the Bash tool.
- Confirm before running
adk add — Always ask the user before adding an integration to their project.
- Always specify version — Use
adk add <name>@<version> rather than just adk add <name>.
- Explain configuration requirements — After adding, tell the user what configuration is needed (OAuth link, API key, etc.) based on
adk info --format json output.
- Point to Dev Console — OAuth flows and credential entry happen in the Botpress Dev Console, not in code.
CLI Quick Reference
| Command |
Description |
Key Flags |
adk search <query> |
Search integrations by keyword |
--format json, --limit <number> (default: 20) |
adk list --available |
Browse all Hub integrations |
--format json, --limit <number> (default: 50) |
adk list |
Show installed dependencies |
--format json, --limit <number> (default: 50) |
adk info <name> |
Full integration details (integrations only, not plugins) |
--actions, --channels, --events, --full, --format json |
adk add <name>@<version> |
Add integration to project |
--alias <name>, --format json |
adk add plugin:<name>@<version> |
Add plugin to project |
--alias <name>, --format json |
adk remove <name> |
Remove integration, plugin, or interface |
--format json |
adk upgrade [name] |
Upgrade dependency (or all interactively) |
--format json |
Use --format json for CLI inspection.
Critical Patterns
Always Use the CLI
# CORRECT - Use adk add
adk add slack@3.0.0
adk add plugin:desk-hitl@1.0.0
adk add interface:translator@1.0.0
# WRONG - Never manually edit agent.config.ts dependencies
# Don't hand-write entries in the dependencies block
Version Pinning
# CORRECT - Pin to specific version
adk add browser@0.8.6
# RISKY - Resolves to latest, may change unexpectedly
adk add browser
Accessing Integration Actions
// CORRECT - Import from @botpress/runtime, use alias from agent.config.ts
import { actions } from '@botpress/runtime'
await actions.slack.sendMessage({ channel: '#general', text: 'Hello' })
// The alias in agent.config.ts determines the accessor name
// { browser: { version: 'browser@0.8.6', enabled: true } }
await actions.browser.webSearch({ query: 'search term' })
Inspecting Config Requirements
# Use --format json to check what configuration an integration needs
adk info slack --format json
# Look at configuration.schema for required fields
# Look at configuration.identifier for OAuth
# Look at configurations for alternative config modes
Examples of Questions This Skill Answers
Beginner
- "What integrations are available?"
- "How do I add Slack to my agent?"
- "What is the browser integration?"
Intermediate
- "How do I configure WhatsApp in sandbox mode?"
- "What actions does the webchat integration provide?"
- "How do I call a Linear action from my workflow?"
- "What's the difference between chat and webchat?"
Advanced
- "How do I use a private workspace integration?"
- "What does
registration_pending status mean?"
- "How do I alias an integration for cleaner code?"
- "How do I inspect an integration's config schema programmatically?"
1---2name: adk-integrations3description: guidelines for discovering, adding, configuring, and using Botpress integrations in ADK projects - use when users ask about connecting services, managing dependencies, or using integration actions4license: MIT5---67# ADK Integration Management89Use this skill when helping users discover, add, configure, and use Botpress integrations in their ADK projects.1011## When to Use This Skill1213Activate this skill when users:1415- Ask about integrations ("How do I add Slack?", "What integrations are available?")16- Want to connect an external service (Slack, WhatsApp, Linear, etc.)17- Mention `adk add`, `adk search`, `adk info`, or `adk list`18- Ask about `agent.config.ts` dependencies or the `dependencies.integrations` block19- Need help configuring an integration (OAuth, API keys, Dev Console)20- Ask about calling integration actions in code (`actions.slack.*`, etc.)21- Mention specific platforms or services they want their agent to interact with22- Get errors related to integration registration or configuration2324## Available Documentation2526| File | Description |27|------|-------------|28| [references/discovery.md](./references/discovery.md) | Finding integrations: `adk search`, `adk list`, `adk info` with all flags |29| [references/lifecycle.md](./references/lifecycle.md) | End-to-end walkthrough: discover, add, configure, use in code |30| [references/configuration.md](./references/configuration.md) | Configuration types: no-config, optional, OAuth, API key, sandbox |31| [references/common-integrations.md](./references/common-integrations.md) | Quick reference for chat, webchat, browser, slack, whatsapp, linear, webhook |3233## How to Answer34351. **Start with CLI commands** — Use `adk search`, `adk info`, `adk list` to get live data before suggesting anything. Run these via the Bash tool.362. **Confirm before running `adk add`** — Always ask the user before adding an integration to their project.373. **Always specify version** — Use `adk add <name>@<version>` rather than just `adk add <name>`.384. **Explain configuration requirements** — After adding, tell the user what configuration is needed (OAuth link, API key, etc.) based on `adk info --format json` output.395. **Point to Dev Console** — OAuth flows and credential entry happen in the Botpress Dev Console, not in code.4041## CLI Quick Reference4243| Command | Description | Key Flags |44|---------|-------------|-----------|45| `adk search <query>` | Search integrations by keyword | `--format json`, `--limit <number>` (default: 20) |46| `adk list --available` | Browse all Hub integrations | `--format json`, `--limit <number>` (default: 50) |47| `adk list` | Show installed dependencies | `--format json`, `--limit <number>` (default: 50) |48| `adk info <name>` | Full integration details (integrations only, not plugins) | `--actions`, `--channels`, `--events`, `--full`, `--format json` |49| `adk add <name>@<version>` | Add integration to project | `--alias <name>`, `--format json` |50| `adk add plugin:<name>@<version>` | Add plugin to project | `--alias <name>`, `--format json` |51| `adk remove <name>` | Remove integration, plugin, or interface | `--format json` |52| `adk upgrade [name]` | Upgrade dependency (or all interactively) | `--format json` |5354Use `--format json` for CLI inspection.5556## Critical Patterns5758### Always Use the CLI5960```bash61# CORRECT - Use adk add62adk add slack@3.0.063adk add plugin:desk-hitl@1.0.064adk add interface:translator@1.0.06566# WRONG - Never manually edit agent.config.ts dependencies67# Don't hand-write entries in the dependencies block68```6970### Version Pinning7172```bash73# CORRECT - Pin to specific version74adk add browser@0.8.67576# RISKY - Resolves to latest, may change unexpectedly77adk add browser78```7980### Accessing Integration Actions8182```typescript83// CORRECT - Import from @botpress/runtime, use alias from agent.config.ts84import { actions } from '@botpress/runtime'85await actions.slack.sendMessage({ channel: '#general', text: 'Hello' })8687// The alias in agent.config.ts determines the accessor name88// { browser: { version: 'browser@0.8.6', enabled: true } }89await actions.browser.webSearch({ query: 'search term' })90```9192### Inspecting Config Requirements9394```bash95# Use --format json to check what configuration an integration needs96adk info slack --format json9798# Look at configuration.schema for required fields99# Look at configuration.identifier for OAuth100# Look at configurations for alternative config modes101```102103## Examples of Questions This Skill Answers104105### Beginner106107- "What integrations are available?"108- "How do I add Slack to my agent?"109- "What is the browser integration?"110111### Intermediate112113- "How do I configure WhatsApp in sandbox mode?"114- "What actions does the webchat integration provide?"115- "How do I call a Linear action from my workflow?"116- "What's the difference between chat and webchat?"117118### Advanced119120- "How do I use a private workspace integration?"121- "What does `registration_pending` status mean?"122- "How do I alias an integration for cleaner code?"123- "How do I inspect an integration's config schema programmatically?"