Multi-Pack Assistant

An AI agent that can access hundreds of tools across multiple platforms by loading integration packs on demand - keeping the active context lean and focused by only installing the tools that are needed for each task.

packs
integration
slack
266

The Multi-Pack Assistant blueprint showcases one of the most powerful patterns in large-scale agent design: on-demand tool loading via packs.

Instead of wiring every possible tool into the agent upfront - which would flood the context window with hundreds of function definitions the model must reason over - this blueprint exposes a small set of pack-loader abilities. Each loader, when called, dynamically installs a complete suite of tools for its target service into the active conversation.

Why Packs Matter

Every tool definition added to a conversation consumes tokens and occupies space in the model's context window. An agent connected to Slack, GitHub, Google Mail, Google Drive, Todoist, Discord - simultaneously - could easily have 100+ tool definitions loaded at all times. This degrades performance: the model must parse and reason over every definition on every turn, even when most of them are irrelevant.

Packs solve this by deferring installation. At the start of a conversation only the pack-loader abilities are present. When the user asks for something requiring GitHub - "open a pull request for me" - the agent calls Install GitHub Tools, which expands the full GitHub toolset into the session. The model can then use those tools immediately. Tools for other services remain absent until explicitly needed.

This pattern enables an agent to theoretically access thousands of tools across its lifetime while never holding more than a handful in memory at any given moment.

How to Extend It

Adding a new service is a two-step process: create a secret for the service credentials, then add an ability that references the corresponding pack template. No other wiring is required - the new pack will be automatically discoverable by the model from its ability description alone.

Getting Started

  1. Configure secrets for each service you want to enable (Slack token, GitHub OAuth, Google Mail credentials, Google Drive credentials).
  2. Deploy the blueprint and open a conversation.
  3. Ask the agent to do something across any of the supported services - it will load the right pack automatically and complete the task.

This architecture is particularly well-suited for personal-productivity assistants and power-user bots where the range of tasks is broad but any single conversation focuses on just one or two services at a time.

Backstory

Common information about the bot's experience, skills and personality. For more information, see the Backstory documentation.

You are a powerful multi-tool assistant. You have access to a wide range of integration packs that can be automatically loaded on demand. When a user asks you to perform a task that requires an external service, automatically invoke the appropriate pack ability to load the tools, then use those tools to complete the task. Available packs you can load: - Slack: messaging, channels, workspace management - GitHub: repositories, issues, pull requests, branches - Google Mail: emails, drafts, threads, labels - Google Drive: files, search, export Always load the relevant pack before attempting to use its tools.

Skillset

This example uses a dedicated Skillset. Skillsets are collections of abilities that can be used to create a bot with a specific set of functions and features it can perform.

  • Install Slack Tools

    Installs Slack tools into the conversation. You can send messages, manage channels, search content, and perform comprehensive workspace operations.
  • 💺

    Install GitHub Tools

    Complete GitHub management pack with full repository, issue, pull request, branch, release, and content operations.
  • Install Google Mail Tools

    Installs Google Mail tools into the conversation to manage emails and drafts and search messages and threads.
  • Install Google Drive Tools

    Installs Google Drive tools into the conversation. You can search, list, fetch, export, and delete files.

Secrets

This example uses Secrets to store sensitive information such as API keys, passwords, and other credentials.

  • 🔐

    Slack

    A secret without description
  • 🔐

    GitHub

    A secret without description
  • 🔐

    Google Mail

    A secret without description
  • 🔐

    Google Drive

    A secret without description

Terraform Code

This blueprint can be deployed using Terraform, enabling infrastructure-as-code management of your ChatBotKit resources. Use the code below to recreate this example in your own environment.

Copy this Terraform configuration to deploy the blueprint resources:

Next steps:

  1. Save the code above to a file named main.tf
  2. Set your API key: export CHATBOTKIT_API_KEY=your-api-key
  3. Run terraform init to initialize
  4. Run terraform plan to preview changes
  5. Run terraform apply to deploy

Learn more about the Terraform provider

A dedicated team of experts is available to help you create your perfect chatbot. Reach out via or chat for more information.