Skip to main content
BundleUp revolves around three core concepts: Integrations, Connections, and Requests. If you understand these, you understand how BundleUp works end-to-end.

Integration

An Integration represents a third-party service supported by BundleUp, like Google Drive, Slack, or GitHub. It defines everything required to interact with that provider, OAuth configuration, scopes, base URLs, and any provider-specific rules or quirks. Integrations are templates, not data: they contain no user information and simply describe how BundleUp should communicate with a given service.

Connection

A Connection is an authenticated link between one of your users and an integration. It stores the user’s access token, refresh token and granted scopes. Each time a user completes an OAuth flow BundleUp creates a new connection. You use the connectionId from this object to make authorized calls to that provider on the user’s behalf.

Request

A Request is a proxied API call sent through BundleUp to a specific provider using a connection’s credentials. You supply the HTTP method, endpoint path, optional params/body, and the connectionId to use. BundleUp handles authentication, token refresh, retries, and normalizes the provider’s response. A request is the final step: it’s how your application actually performs actions against third-party APIs.