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

# Concepts

> Gain a basic understanding of BundleUp's key concepts.

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.
