How the pieces fit
You create an OAuth app at the provider and give it BundleUp’s callback URL. You copy the app’s client ID and secret into a BundleUp integration, along with the scopes you want. Separately, you register your own app’s redirect URI in BundleUp’s Auth settings.Step 1: Start the integration in BundleUp
- In the dashboard, open Integrations and add a new one.
- Pick the provider.
-
Keep the form open. It shows the Redirect URI to give the provider:
Step 2: Create an OAuth app at the provider
In the provider’s developer settings, create an OAuth app (the name varies: “OAuth App”, “App”, “Client”, “Connected App”, “Integration”). Wherever it asks for a callback URL, redirect URL or redirect URI, enter:Step 3: Fill in the integration
Back in BundleUp:
Save the integration. You receive an
integration.created webhook.
Step 4: Register your redirect URI
Open Auth in the dashboard and add every URL in your app where users should land after connecting, for example:redirect_uri you pass when starting the authorization flow must match one of these exactly.
There are two different redirect URLs, and they’re easy to mix up:
- BundleUp’s callback (
https://auth.bundleup.io/callback) goes in the provider’s OAuth app settings. The provider sends users there. - Your redirect URI goes in BundleUp’s Auth settings. BundleUp sends users there.
Step 5: Test it
Open this URL in your browser, with your values filled in:code. A new connection appears under Connections in the dashboard.
If something goes wrong:
More in Troubleshooting.
Updating and deleting
- Rotating the client secret: update it at the provider, then in the integration. Existing connections keep working; their tokens were issued already.
- Changing scopes: new connections get the new scopes. Existing connections keep what the user originally approved until the user reconnects.
- Deleting: removes the integration and all its connections. Their connection IDs stop working immediately.

