Skip to main content

Connector Details

NameValue
PlatformBlackbaud
Auth TypeOAuth
DirectionBidirectional
Tap Repohttps://github.com/hotgluexyz/tap-blackbaud
Target Repohttps://gitlab.com/hotglue/target-blackbaud
Tap Metrics

Usage:
Success Rate:

Target Metrics

Usage:
Success Rate:

Credentials Setup

The Blackbaud connector uses the SKY API OAuth 2.0 flow to read from and write to your customers’ Blackbaud environments. To use it with hotglue, you need a SKY Developer account, a SKY API subscription key, a registered SKY application, the application’s OAuth credentials, and at least one hotglue callback URL configured as a redirect URI. The person setting this up should be able to create and manage SKY applications in the Blackbaud developer portal, subscribe to the relevant SKY API product, and—if needed—have a Blackbaud user with Marketplace admin permissions connect the application to the relevant environment.

1. Create a SKY Developer account

Sign in to the SKY Developer account portal. If you do not already have a Blackbaud ID, you are prompted to create one when you sign up. See the SKY API basics documentation for more background on developer accounts and Blackbaud IDs. Once signed in, you land on the Developer account page. From here, you can open My applications to create and manage your SKY applications, or My subscriptions to manage API subscription keys.
Blackbaud SKY Developer account portal with My applications

2. Get a SKY API subscription key

Blackbaud requires a subscription key on every SKY API request. In the developer portal, open My subscriptions, subscribe to the Standard APIs product (or the API product that covers the endpoints your integration uses), and copy either the primary or secondary key. The tap expects this value as subscription_key, and Blackbaud sends it on requests as the Bb-Api-Subscription-Key header. See Blackbaud’s My subscriptions docs for details on subscribing and finding your keys.
Blackbaud My subscriptions page showing Standard APIs primary and secondary access keys

3. Create a SKY application

A SKY application represents your integration in Blackbaud and is required to make SKY API calls. Creating an application produces the OAuth credentials hotglue needs during authorization. From My applications, click + New application and fill out the required fields:
  • Application name
  • Application details
  • Publisher (public organization name)
  • Application website URL
An application logo is optional. Click Save when you are done.
Blackbaud Add application modal with required fields

4. Copy OAuth credentials

Open your application and copy the credentials from the application page:
  • Application ID → hotglue client_id
  • Primary application secret → hotglue client_secret
The Application ID is not sensitive and can be shared with Blackbaud admins who need to connect your app. The application secret is sensitive — treat it like a password and do not share it. Blackbaud provides primary and secondary secrets so you can rotate credentials; see Application secrets for rotation guidance.
Blackbaud application page with Application ID and client secret

5. Configure redirect URIs

In your application settings, open Redirect URIs and add the hotglue callback URL for your environment. Blackbaud requires the OAuth redirect_uri to match one of your registered URIs exactly, including trailing slashes. See the Authorization and Redirect URIs documentation for details. Add the callback URL that matches where your hotglue environment runs:
https://hotglue.xyz/callback
If you use a custom OAuth callback domain instead of hotglue.xyz, add that callback URL here as well.
Blackbaud Redirect URIs settings with hotglue callback URLs

6. Connect the application in Blackbaud

Before your application can access data in a Blackbaud environment, it must be connected to that environment. If you are integrating with a customer’s Blackbaud organization, a user with Marketplace admin permissions must connect the app for you. To connect the application:
  1. Open the Manage applications page in the Blackbaud Marketplace.
  2. Use Connect app and paste your application’s ID.
  3. Confirm the connection.
See Connect an application for step-by-step instructions. API access is further limited by the consenting user’s security permissions within Blackbaud. If you have access to the SKY Developer Cohort sandbox environment, your application may already be connected and you can skip this step.

7. Add Blackbaud to hotglue

Once you have your subscription key, OAuth credentials, and redirect URIs configured:
  1. Go to Settings > Connectors in your hotglue environment.
    1. Open Bi-Directional Connectors if you use bi-directional flows (linkedConnectors), then search for Blackbaud.
    2. Open Sources & Targets if you use one-way source or target flows (linkedSources / linkedTargets), then search for Blackbaud.
  2. Add your subscription key to the Blackbaud JSON definition:
    • If modifying a Connector (v2), set options.config.subscription_key to your Blackbaud subscription_key value.
    • If modifying a Source or Target (v1), set config.subscription_key to your Blackbaud subscription_key value.
  3. Save the definition.
See Connector management, Connector settings, Source settings, and Target settings for details on configuring connectors in your environment.

8. Authorize and enable the connector

  1. Add Blackbaud to your flow.
  2. Enter your Blackbaud Application ID as the OAuth Client ID and your Primary application secret as the OAuth Client Secret.
  3. Save and complete authorization with a test Blackbaud user. This enables the connector in your environment.
hotglue Blackbaud source credentials form with OAuth Client ID and OAuth Client Secret fields
hotglue stores the OAuth refresh_token automatically after a successful authorization. You do not need to provide it manually. After setup, your end users authorize Blackbaud through the standard OAuth consent flow when they link their account. After this you’re all set to go!

Tap Changelog

VersionNotes
v0.0.4 - Bump Singer SDK versionBump Singer SDK version
v0.0.3 - Avoid making extra requests unless selected in catalog- Updated tap to avoid pulling fundraiser_assignment and other per-constituent fields unless they have been selected in the catalog
v0.0.2 - Add support for Education, Lifetime Giving, and Fundraiser Assignment- Added support for Education, Lifetime Giving, and Fundraiser Assignment
- Also added “online_presence” and “preferred_name”
- Removing “suffix” (which according to the documentation is not part of the schema)