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, oradk list - Ask about
agent.config.tsdependencies or thedependencies.integrationsblock - Need help configuring an integration (OAuth, API keys, Control Panel)
- 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 listto 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 justadk add <name>. - Explain configuration requirements — After adding, tell the user what configuration is needed (OAuth link, API key, etc.) based on
adk info --format jsonoutput. - Point to Control Panel — OAuth flows and credential entry happen in the Botpress Control Panel, 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 integrations | --format json, --limit <number> (default: 50) |
adk info <name> | Full integration details | --actions, --channels, --events, --full, --format json |
adk add <name>@<version> | Add integration to project | --alias <name> |
Use --format json for CLI inspection.
Critical Patterns
Always Use the CLI
# CORRECT - Use adk add
adk add slack@3.0.0
# WRONG - Never manually edit agent.config.ts dependencies
# Don't hand-write entries in the dependencies.integrations blockVersion Pinning
# CORRECT - Pin to specific version
adk add browser@0.8.6
# RISKY - Resolves to latest, may change unexpectedly
adk add browserAccessing 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 modesExamples 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_pendingstatus mean?" - "How do I alias an integration for cleaner code?"
- "How do I inspect an integration's config schema programmatically?"