# Blackbaud

Blackbaud offers cloud-based software for nonprofits, schools, and healthcare institutions, supporting fundraising, financial management, and donor engagement in mission-driven organizations

- **Category:** fundraising
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 5
- **Triggers:** 0
- **Slug:** `BLACKBAUD`
- **Version:** 20260227_00

## Tools

### Add Gifts To Batch

**Slug:** `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).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gifts` | array | Yes | List of one or more gift objects to add to the batch. Each gift represents a donation from a constituent. |
| `batch_id` | string | Yes | The system record ID of the gift batch where gifts will be added. The batch must be open (not committed). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Gift By ID

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gift_id` | integer | Yes | Unique system record ID of the gift to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Membership Details

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `member_junction_id` | string | Yes | 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. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Payment Transaction

**Slug:** `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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transaction_id` | string | Yes | 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. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### OneRoster OAuth2 Base API

**Slug:** `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.

#### Input Parameters

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

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
