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.- Add a Slack integration with your own Slack app credentials and the
chat:writeandchannels:readscopes. → Setting up an integration - Add a “Connect Slack” button that sends the customer through BundleUp’s authorization flow, then store the
connection_idagainst their account. → Connecting user accounts - Let the customer pick a channel with the Unified API’s
GET /v1/chat/channels. → Chat - Post with
POST /v1/chat/channels/{channel_id}/message, or through the Proxy if you need Slack-specific blocks. → Proxy
Import issues from whichever tracker the customer uses
The product: an analytics tool that imports tasks from Jira, Linear, Asana or another tracker.- Add an integration for each tracker you want to support.
- Show the customer a list of trackers. Each button starts the authorization flow for that integration.
- Read projects and tasks with
GET /v1/tasks/projectsandGET /v1/tasks/tasks. The response shape is the same whichever tracker the customer connected. → Tasks - Page through results with the
aftercursor. → Unified API conventions - Subscribe to the
connection.deletedwebhook so you stop syncing when a customer disconnects. → 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.- Add a Linear integration and let each user connect their account.
- When the user chats with the assistant, look up their
connection_idand attachmcp.bundleup.ioas an MCP server for that request. → Using MCP clients - The model calls Linear’s own MCP tools. BundleUp attaches the user’s token, so the agent never sees it. → How Proxy MCP works
Show a user’s upcoming meetings
The product: a CRM sidebar that shows the contact’s next meeting from the user’s calendar.- Add integrations for the calendar providers you support.
- Call
GET /v1/calendar/eventswith astarts_after/starts_beforewindow. Recurring events come back as individual occurrences. → 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.- Add a GitHub integration in BundleUp using the same OAuth app you use today.
- Import existing tokens with the Platform API’s
POST /v1/connections, or ask users to reconnect. → Platform API - Change the base URL in your code from
https://api.github.comtohttps://proxy.bundleup.ioand add theAuthorizationandBU-Connection-Idheaders. Delete your refresh logic. → Proxy

