# Blackbaud

Your Toolhouse AI Worker can connect to Blackbaud using 5 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=blackbaud).

## Tools (5)

### `Blackbaud Add Gifts To Batch`

Integration name: **BLACKBAUD\_ADD\_GIFTS\_TO\_BATCH**

Add one or more gifts (donations) to an existing gift batch in Blackbaud Raiser's Edge NXT. Use this tool when you need to:

* Append new gifts to an open batch for later processing
* Batch multiple donations together before committing them
* Add gifts with detailed information (payments, splits, custom fields)

Prerequisites:

* The batch must already exist (use a create batch action first if needed)
* The batch must be in "open" status (not committed)
* You need the `batch_id` (system record ID) and `constituent_id` (donor ID) for each gift

Note: This action returns response details for all HTTP status codes (including errors). Check the `status_code` field in the response to determine success (200) vs errors (4xx/5xx).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                                  | Description                                                                                               |
| ---------- | ------ | :------: | ---------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `gifts`    | array  |     ✅    | —                                        | List of one or more gift objects to add to the batch. Each gift represents a donation from a constituent. |
| `batch_id` | string |     ✅    | `"123e4567-e89b-12d3-a456-426614174000"` | The system record ID of the gift batch where gifts will be added. The batch must be open (not committed). |

***

### `Blackbaud Get Gift By Id`

Integration name: **BLACKBAUD\_GET\_GIFT\_BY\_ID**

Retrieves comprehensive gift details from Blackbaud Raiser's Edge NXT by gift ID. Use this tool when you need to fetch detailed information about a specific gift including:

* Gift amount and currency
* Donor/constituent information
* Gift type and status
* Important dates (gift date, post date)
* Associated metadata and custom fields

The `gift_id` is the unique system record ID (integer) that identifies the gift in Raiser's Edge NXT.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example | Description                                      |
| --------- | ------- | :------: | ------- | ------------------------------------------------ |
| `gift_id` | integer |     ✅    | `123`   | Unique system record ID of the gift to retrieve. |

***

### `Blackbaud Get Membership Details`

Integration name: **BLACKBAUD\_GET\_MEMBERSHIP\_DETAILS**

Retrieves comprehensive membership details from Blackbaud Raiser's Edge NXT by member junction ID. Fetches detailed information about a specific membership including program name, category/subcategory, membership status and standing (Active, Lapsed), start/expiration dates, dues information, and associated constituent ID. Requires a valid `member_junction_id` (GUID) that uniquely identifies a membership junction record linking a constituent to a membership program in Raiser's Edge NXT. Returns error information in the response object for graceful error handling in agent workflows.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                  | Description                                                                                                                                                                                                                                              |
| -------------------- | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `member_junction_id` | string |     ✅    | `"123e4567-e89b-12d3-a456-426614174000"` | The unique member junction ID (GUID format) that identifies a specific membership record in Raiser's Edge NXT. This ID links a constituent to a membership program and can be obtained from membership list endpoints or constituent membership records. |

***

### `Blackbaud Get Payment Transaction`

Integration name: **BLACKBAUD\_GET\_PAYMENT\_TRANSACTION**

Retrieves payment transaction details from Blackbaud SKY Payments API. Use this to check transaction status, amounts, payment methods, and error details. Transaction IDs come from payment processing endpoints, checkout callbacks, batch operations, or webhook notifications. Requires: Payments API subscription key (`Bb-Api-Subscription-Key`) and OAuth Bearer token. This retrieves existing transactions; it does not process new payments.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example                                  | Description                                                                                                                                                                                                      |
| ---------------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `transaction_id` | string |     ✅    | `"d7a1b4c2-1234-5678-9abc-def012345678"` | The unique identifier of the payment transaction to retrieve. This ID is returned when a transaction is created through the Blackbaud Merchant Services (BBMS) Payments API or transaction processing endpoints. |

***

### `Blackbaud One Roster O Auth2 Base Api`

Integration name: **BLACKBAUD\_ONE\_ROSTER\_O\_AUTH2\_BASE\_API**

Tool to interact with Blackbaud OneRoster OAuth2 base endpoints. Use to fetch OpenID configuration (`/.well-known/openid-configuration`), JWKS key set (`publickeys`), or obtain an access token via the client credentials grant. Ensure client credentials are configured before using the token operation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example | Description                                                                                                                                       |
| ----------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scope`           | string |          | —       | Optional OAuth2 scope string. OneRoster generally does not require a scope; leave empty unless instructed by Blackbaud.                           |
| `clientId`        | string |          | —       | OneRoster OAuth2 `client_id` (key) provided by the institution.                                                                                   |
| `basicAuth`       | string |          | —       | Optional Authorization header value for HTTP Basic authentication, e.g., `'Basic base64(client_id:client_secret)'`. If provided, it will be used. |
| `grantType`       | string |          | —       | OAuth2 grant type; must be `'client_credentials'` for token operation.                                                                            |
| `operation`       | string |          | —       | Which OAuth2 resource to call: `openid_configuration`, `jwks`, or `token`                                                                         |
| `clientSecret`    | string |          | —       | OneRoster OAuth2 `client_secret` provided by the institution.                                                                                     |
| `baseUrlOverride` | string |          | —       | Optional override for OAuth2 server base URL. Defaults to `https://oauth2.sky.blackbaud.com`.                                                     |

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/blackbaud.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
