> ## Documentation Index
> Fetch the complete documentation index at: https://bundleup.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Use Cases

> Common things teams build with BundleUp, and which parts of BundleUp each one uses.

Each scenario below names the BundleUp features it relies on and links to the guides you’d follow.

## Let customers connect their Slack and post updates

**The product:** a project tool that posts a message to the customer’s Slack channel when a deadline changes.

1. Add a **Slack** integration with your own Slack app credentials and the `chat:write` and `channels:read` scopes. → [Setting up an integration](/docs/guides/integrations/creating)
2. Add a “Connect Slack” button that sends the customer through BundleUp’s authorization flow, then store the `connection_id` against their account. → [Connecting user accounts](/docs/guides/auth/authorization-flow)
3. Let the customer pick a channel with the Unified API’s `GET /v1/chat/channels`. → [Chat](/docs/guides/unified/chat)
4. Post with `POST /v1/chat/channels/{channel_id}/message`, or through the Proxy if you need Slack-specific blocks. → [Proxy](/docs/guides/proxy/making-requests)

**Uses:** Authorization flow, Unified API (Chat), Proxy.

## Import issues from whichever tracker the customer uses

**The product:** an analytics tool that imports tasks from Jira, Linear, Asana or another tracker.

1. Add an integration for each tracker you want to support.
2. Show the customer a list of trackers. Each button starts the authorization flow for that integration.
3. Read projects and tasks with `GET /v1/tasks/projects` and `GET /v1/tasks/tasks`. The response shape is the same whichever tracker the customer connected. → [Tasks](/docs/guides/unified/tasks)
4. Page through results with the `after` cursor. → [Unified API conventions](/docs/guides/unified/conventions)
5. Subscribe to the `connection.deleted` webhook so you stop syncing when a customer disconnects. → [Webhooks](/docs/guides/webhooks/overview)

**Uses:** Authorization flow, Unified API (Tasks), webhooks.

## Give your AI assistant access to a user’s tools

**The product:** an assistant that can answer “what’s assigned to me in Linear?” and create issues.

1. Add a **Linear** integration and let each user connect their account.
2. When the user chats with the assistant, look up their `connection_id` and attach `mcp.bundleup.io` as an MCP server for that request. → [Using MCP clients](/docs/guides/mcp/clients)
3. The model calls Linear’s own MCP tools. BundleUp attaches the user’s token, so the agent never sees it. → [How Proxy MCP works](/docs/guides/mcp/proxy-mcp)

**Uses:** Authorization flow, MCP.

## Show a user’s upcoming meetings

**The product:** a CRM sidebar that shows the contact’s next meeting from the user’s calendar.

1. Add integrations for the calendar providers you support.
2. Call `GET /v1/calendar/events` with a `starts_after` / `starts_before` window. Recurring events come back as individual occurrences. → [Calendar](/docs/guides/unified/calendar)

**Uses:** Authorization flow, Unified API (Calendar).

## Replace hand-rolled OAuth code you already have

**The situation:** you already call the GitHub API with tokens stored in your own database, and refresh logic is a constant source of bugs.

1. Add a GitHub integration in BundleUp using the **same OAuth app** you use today.
2. Import existing tokens with the Platform API’s `POST /v1/connections`, or ask users to reconnect. → [Platform API](/docs/api-reference/introduction)
3. Change the base URL in your code from `https://api.github.com` to `https://proxy.bundleup.io` and add the `Authorization` and `BU-Connection-Id` headers. Delete your refresh logic. → [Proxy](/docs/guides/proxy/overview)

**Uses:** Platform API, Proxy.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.