# Richer Plugin Bundles in the OpenAI Plugins Repository: Slack, Zoom, and Vercel Examples

> Explore richer plugin bundles in the OpenAI plugins repository with Slack, Zoom, and Vercel examples. Discover how these coordinated skills enable complex AI-driven workflows.

- Repository: [OpenAI/plugins](https://github.com/openai/plugins)
- Tags: deep-dive
- Published: 2026-09-11

---

**The OpenAI Plugins repository organizes multi-skill capabilities into "richer plugin bundles"—directories like Slack, Zoom, and Vercel that contain multiple coordinated skills under a single manifest, enabling complex AI-driven workflows through unified API calls.**

The **OpenAI Plugins** repository serves as a reference implementation for extending AI capabilities through structured plugins. Unlike single-purpose implementations, **richer plugin bundles** consolidate related skills—such as messaging, video conferencing, or deployment automation—into cohesive packages defined by manifest files. These bundles allow Large Language Models (LLMs) to execute sophisticated, multi-step operations by invoking specific skills within a unified architecture.

## What Defines a Richer Plugin Bundle?

A **richer plugin bundle** contains multiple distinct skills grouped under a top-level directory with a manifest file (typically [`.app.json`](https://github.com/openai/plugins/blob/main/.app.json)). Each skill represents a discrete capability—such as sending messages or starting meetings—that can be invoked independently while sharing authentication and configuration contexts.

## Examples of Richer Plugin Bundles

### Slack Plugin Bundle

The **Slack** plugin bundle located in `plugins/slack/` provides comprehensive workspace interaction capabilities. It aggregates skills for channel management, direct messaging, and file operations under a single registration point.

When an LLM needs to interact with Slack, it targets specific skills defined in the bundle's configuration. For example, the `send_message` skill handles channel communication:

```python

# Invoke the send_message skill within the Slack bundle

response = client.run_skill(
    plugin="slack",
    skill="send_message",
    arguments={"channel": "#general", "text": "Automated update from OpenAI"}
)
print(response)  # Returns Slack API confirmation

```

**Key source files:**

- [`plugins/slack/.app.json`](https://github.com/openai/plugins/blob/main/plugins/slack/.app.json) – The top-level manifest registering all bundled skills
- [`plugins/slack/.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/plugins/slack/.codex-plugin/plugin.json) – Defines individual agents like `send_message` and `list_channels`
- `plugins/slack/assets/slack.png` – UI icon for the bundle representation
- `plugins/slack/assets/app-icon.png` – Application icon displayed in marketplace listings

### Zoom Plugin Bundle

The **Zoom** plugin bundle in `plugins/zoom/` represents a complex, multi-SDK implementation wrapping video conferencing, meeting management, and cobrowse functionalities. This bundle demonstrates how richer plugin bundles can encapsulate entire platform ecosystems.

The bundle separates concerns into distinct sub-skills such as `meeting_sdk` and `video_sdk`, allowing granular control over Zoom operations:

```python

# Start a meeting using the bundled meeting-sdk skill

meeting = client.run_skill(
    plugin="zoom",
    skill="meeting_sdk.start_meeting",
    arguments={"topic": "Project Sync", "duration": 30}
)
print(f"Meeting URL: {meeting['join_url']}")

```

**Key source files:**

- [`plugins/zoom/.app.json`](https://github.com/openai/plugins/blob/main/plugins/zoom/.app.json) – Manifest registering the complete Zoom skill set
- [`plugins/zoom/README.md`](https://github.com/openai/plugins/blob/main/plugins/zoom/README.md) – Overview of bundled skills and invocation patterns
- [`plugins/zoom/skills/video-sdk/unity/references/versioning-and-compatibility.md`](https://github.com/openai/plugins/blob/main/plugins/zoom/skills/video-sdk/unity/references/versioning-and-compatibility.md) – Video SDK integration specifications
- [`plugins/zoom/skills/meeting-sdk/react-native/examples/setup-guide.md`](https://github.com/openai/plugins/blob/main/plugins/zoom/skills/meeting-sdk/react-native/examples/setup-guide.md) – React Native meeting implementation
- [`plugins/zoom/skills/cobrowse-sdk/troubleshooting/common-issues.md`](https://github.com/openai/plugins/blob/main/plugins/zoom/skills/cobrowse-sdk/troubleshooting/common-issues.md) – Cobrowse functionality documentation

### Vercel Plugin Bundle

The **Vercel** plugin bundle at `plugins/vercel/` aggregates developer-centric skills for modern web deployment. It encompasses Next.js deployment, Turbopack optimization, and edge function management within a unified structure.

This bundle enables end-to-end CI/CD automation by exposing platform-specific skills that can be chained together:

```python

# Deploy a Next.js application using the Vercel bundle

deployment = client.run_skill(
    plugin="vercel",
    skill="nextjs.deploy",
    arguments={"project": "my-next-app", "branch": "main"}
)
print(f"Deployment URL: {deployment['url']}")

```

**Key source files:**

- [`plugins/vercel/.app.json`](https://github.com/openai/plugins/blob/main/plugins/vercel/.app.json) – Top-level bundle manifest
- [`plugins/vercel/skills/nextjs/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/vercel/skills/nextjs/SKILL.md) – Next.js build and deployment definitions
- [`plugins/vercel/skills/turbopack/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/vercel/skills/turbopack/SKILL.md) – Bundler optimization instructions
- [`plugins/vercel/skills/vercel-functions/SKILL.md`](https://github.com/openai/plugins/blob/main/plugins/vercel/skills/vercel-functions/SKILL.md) – Serverless function deployment protocols
- [`plugins/vercel/skills/react-best-practices/AGENTS.md`](https://github.com/openai/plugins/blob/main/plugins/vercel/skills/react-best-practices/AGENTS.md) – Performance-focused rules for bundle size and dynamic imports

## Summary

- **Richer plugin bundles** in the OpenAI Plugins repository group multiple related skills—such as Slack messaging, Zoom conferencing, or Vercel deployments—under unified manifest files.
- Each bundle uses a top-level [`.app.json`](https://github.com/openai/plugins/blob/main/.app.json) manifest to register capabilities while individual skills reside in structured subdirectories like `skills/` or `.codex-plugin/`.
- The Slack, Zoom, and Vercel bundles exemplify how complex, multi-step workflows can be encapsulated and invoked through a consistent API interface.
- This architecture allows LLMs to perform sophisticated domain operations by selecting specific skills within a bundled context rather than managing disparate single-purpose plugins.

## Frequently Asked Questions

### What distinguishes a richer plugin bundle from a single-skill plugin?

A **richer plugin bundle** contains multiple coordinated skills within one directory structure, governed by a manifest file that registers all capabilities. Single-skill plugins implement one specific function, while bundles like the Zoom or Vercel examples provide entire platform ecosystems with disparate but related capabilities—such as video SDK integration, meeting management, and cobrowse features—under a single plugin registration.

### How does the manifest file structure work in these bundles?

The [`.app.json`](https://github.com/openai/plugins/blob/main/.app.json) file serves as the primary registration point located in the bundle root (e.g., [`plugins/slack/.app.json`](https://github.com/openai/plugins/blob/main/plugins/slack/.app.json)). This manifest enumerates all available skills and their entry points. Individual skill definitions may reside in secondary configuration files like [`.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/.codex-plugin/plugin.json) or dedicated [`SKILL.md`](https://github.com/openai/plugins/blob/main/SKILL.md) documentation files within skill-specific subdirectories, creating a hierarchical organization that separates bundle metadata from implementation details.

### Can skills within a bundle share authentication contexts?

Yes, richer plugin bundles typically implement shared authentication at the bundle level, configured in the manifest. When an LLM invokes any skill within the Slack or Zoom bundles, the credentials and API tokens defined in the top-level configuration remain available across all skill invocations. This shared context eliminates redundant authentication steps when chaining multiple skills from the same bundle.

### What file naming conventions identify multi-skill bundles?

Multi-skill bundles consistently use [`.app.json`](https://github.com/openai/plugins/blob/main/.app.json) for the root manifest, while individual skills often utilize [`SKILL.md`](https://github.com/openai/plugins/blob/main/SKILL.md) files for documentation and [`.codex-plugin/plugin.json`](https://github.com/openai/plugins/blob/main/.codex-plugin/plugin.json) for agent definitions. The directory structure typically includes a `skills/` subdirectory containing platform-specific implementations—such as `plugins/zoom/skills/video-sdk/`—that separate distinct functional areas while maintaining bundle cohesion through the parent manifest.