The Blackbaud API offers programmable access to a suite of services for educational institutions, nonprofits, and foundations, focusing on fundraising, relationship management, marketing, and financial functions. Leveraging this API on Pipedream allows for automated interactions with donor records, campaign metrics, and financial data, simplifying tasks like synchronizing donor information, triggering communications based on donations, or reporting financial insights to stakeholders.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
blackbaud: {
type: "app",
app: "blackbaud",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.sky.blackbaud.com/webhook/v1/subscriptions`,
headers: {
Authorization: `Bearer ${this.blackbaud.$auth.oauth_access_token}`,
"Bb-Api-Subscription-Key": `${this.blackbaud.$auth.bb_api_subscription_key}`,
},
})
},
})
Automated Donor Thank-You Emails: After a new donation is recorded via Blackbaud, trigger an automated, personalized thank-you email through a service like SendGrid. This maintains donor engagement and appreciation with minimal manual effort.
Real-Time Donation Analytics Dashboard: Use Pipedream to send new donation data from Blackbaud to a Google Sheets document as it comes in. Create a live dashboard that provides an up-to-date analysis of fundraising campaigns, helping to inform strategy decisions on the fly.
Monthly Financial Reporting Automation: Set up a monthly workflow that consolidates financial data from Blackbaud, formats it, and then sends a comprehensive report to a designated Slack channel or via email to key stakeholders, ensuring timely and consistent financial updates.
Blackbaud uses OAuth authentication. When you connect your Blackbaud account, Pipedream will open a popup window where you can sign into Blackbaud and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Blackbaud API.
Pipedream requests the following authorization scopes when you connect your account:
GET
https://oauth2.sky.blackbaud.com/authorization
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://oauth2.sky.blackbaud.com/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://oauth2.sky.blackbaud.com/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}