Skip to content

CRM · Beta

Givebutter
API integration

Ship CRM features without building the integration. Full Givebutter API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Givebutter

Use Cases

Why integrate with Givebutter

Common scenarios for SaaS companies building Givebutter integrations for their customers.

01

Enrich marketing automation with donor data

Marketing and email platforms can sync Givebutter contacts, tags, and campaign activity to trigger segmented follow-up journeys based on real donation behavior. Truto handles the auth and sync plumbing so you ship a native Givebutter connector in days, not quarters.

02

Automate nonprofit accounting reconciliation

Bookkeeping and ERP tools can pull Givebutter transactions, payouts, and funds to automatically match batched deposits to individual donations and allocate revenue to the right ledger accounts. This removes the biggest manual pain point for nonprofit finance teams.

03

Power AI donor cultivation and outreach tools

AI writing and donor engagement platforms can read transaction history, pledges, tickets, and contact activity to generate personalized solicitations, then log the outreach back to the donor's timeline. Truto gives you consistent read/write access without wrestling with Givebutter-specific pagination or auth.

04

Drive live event and gala experiences

Event tech, leaderboard, and gamification platforms can subscribe to Givebutter webhooks to react to donations in real time — updating jumbotrons, leaderboards, and team standings as gifts come in. Truto manages webhook registration and delivery auditing on your behalf.

05

Sync Givebutter with specialized CRMs and databases

Operational tooling (Airtable-style databases, wealth screening, major gifts CRMs) can two-way sync contacts, households, and transactions to keep a single source of truth. Truto normalizes the connection so your users just click 'Connect Givebutter' and go.

What You Can Build

Ship these features with Truto + Givebutter

Concrete product features your team can ship faster by leveraging Truto’s Givebutter integration instead of building from scratch.

01

Two-way contact and tag sync

Keep donors in your product aligned with Givebutter contacts, using bulk tag update/delete to segment donors without overwriting manually applied tags.

02

Automated payout-to-transaction reconciliation

Pull payouts and their underlying transactions to automatically match bank deposits to individual donations and allocate them to the correct fund.

03

Real-time donation webhooks

Programmatically register Givebutter webhooks for your users and audit delivery activity so you can trigger Slack alerts, leaderboards, or in-app notifications the moment a gift is made.

04

Household and relational giving insights

Create and manage Givebutter households and household contacts to roll up giving across families, companies, or donor-advised fund relationships.

05

Campaign and ticket management from your app

Let users create campaigns, discount codes, and tickets inside your product and have them appear natively in Givebutter — including reading campaign members and teams for event-day logistics.

06

Donor timeline write-back

Log emails, calls, meetings, and other engagement from your platform directly onto the Givebutter contact's activity timeline so fundraisers see a complete history.

SuperAI

Givebutter AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

create_a_givebutter_campaign_discount_code

Create a discount code. Required: campaign_id, type, active, amount, code.

delete_a_givebutter_campaign_discount_code_by_id

Delete a discount code. Required: id, campaign_id.

get_single_givebutter_campaign_discount_code_by_id

Get a discount code. Required: id, campaign_id.

list_all_givebutter_campaign_discount_codes

List all discount codes. Required: campaign_id. Truto pages through all results (100 per page, or your limit up to 100).

update_a_givebutter_campaign_discount_code_by_id

Update a discount code. Required: id, campaign_id, amount.

delete_a_givebutter_campaign_member_by_id

Delete a campaign member. Required: id, campaign_id.

get_single_givebutter_campaign_member_by_id

Get a campaign member. Required: id, campaign_id.

list_all_givebutter_campaign_members

List all campaign members. Required: campaign_id. Truto pages through all results (100 per page, or your limit up to 100).

delete_a_givebutter_campaign_team_by_id

Delete a campaign team. Required: id, campaign_id.

get_single_givebutter_campaign_team_by_id

Get a campaign team. Required: id, campaign_id.

list_all_givebutter_campaign_teams

List all campaign teams. Required: campaign_id. Truto pages through all results (100 per page, or your limit up to 100).

create_a_givebutter_campaign_ticket

Create a campaign ticket. Required: campaign_id, name, price.

get_single_givebutter_campaign_ticket_by_id

Get a campaign ticket. Required: id, campaign_id.

list_all_givebutter_campaign_tickets

List all campaign tickets. Required: campaign_id. Truto pages through all results (100 per page, or your limit up to 100).

create_a_givebutter_campaign

Create a campaign. Required: type, title.

delete_a_givebutter_campaign_by_id

Delete a campaign. Required: id.

get_single_givebutter_campaign_by_id

Get a campaign. Required: id.

list_all_givebutter_campaigns

List all campaigns. Truto pages through all results (100 per page, or your limit up to 100).

update_a_givebutter_campaign_by_id

Update a campaign. Required: id.

create_a_givebutter_contact_activity

Create a contact activity. Required: contact_id, type.

delete_a_givebutter_contact_activity_by_id

Delete a contact activity. Required: id, contact_id.

get_single_givebutter_contact_activity_by_id

Get a contact activity. Required: id, contact_id.

list_all_givebutter_contact_activities

List all contact activities. Required: contact_id. Truto pages through all results (100 per page, or your limit up to 100).

update_a_givebutter_contact_activity_by_id

Update a contact activity. Required: id, contact_id.

givebutter_contact_tags_bulk_delete

Remove tags from a contact. Required: contact_id, tags. Removes the listed tags (POST .../tags/remove); the others stay.

givebutter_contact_tags_bulk_update

Sync tags for a contact. Required: contact_id, tags. Replaces the contact's whole tag set with exactly these tags (POST .../tags/sync); others are removed.

create_a_givebutter_contact_tag

Add tags to a contact. Required: contact_id, tags. Adds the listed tags (POST .../tags/add); the contact's other tags stay.

create_a_givebutter_contact

Create a contact.

delete_a_givebutter_contact_by_id

Delete a contact. Required: id.

get_single_givebutter_contact_by_id

Get a contact. Required: id.

list_all_givebutter_contacts

List all contacts. Truto pages through all results (100 per page, or your limit up to 100).

givebutter_contacts_restore

Restore a contact. Required: contact_id.

update_a_givebutter_contact_by_id

Update a contact. Required: id. Sending tags replaces the contact's whole tag set; leave tags out to keep them.

create_a_givebutter_fund

Create a fund. Required: name.

delete_a_givebutter_fund_by_id

Delete a fund. Required: id.

get_single_givebutter_fund_by_id

Get a fund. Required: id.

list_all_givebutter_funds

List all funds. Truto pages through all results (100 per page, or your limit up to 100).

update_a_givebutter_fund_by_id

Update a fund. Required: id, name.

create_a_givebutter_household_contact

Add a contact to a household. Required: household_id, contact_id.

delete_a_givebutter_household_contact_by_id

Remove a contact from a household. Required: id, household_id.

get_single_givebutter_household_contact_by_id

Get a contact associated with a household. Required: id, household_id.

list_all_givebutter_household_contacts

List all contacts associated with a household. Required: household_id. Truto pages through all results (100 per page, or your limit up to 100).

create_a_givebutter_household

Create a household. Required: name.

delete_a_givebutter_household_by_id

Delete a household. Required: id.

get_single_givebutter_household_by_id

Get a household. Required: id.

list_all_givebutter_households

List all households. Truto pages through the results (page by page; your limit sets per_page, up to 100).

update_a_givebutter_household_by_id

Update a household. Required: id.

get_single_givebutter_message_by_id

Get a message. Required: id.

list_all_givebutter_messages

List all messages. Truto pages through all results (100 per page, or your limit up to 100).

get_single_givebutter_payout_by_id

Get a payout. Required: id.

list_all_givebutter_payouts

List all payouts. Truto pages through all results (100 per page, or your limit up to 100).

get_single_givebutter_pledge_by_id

Get a pledge. Required: id.

list_all_givebutter_pledges

List all pledges. Truto pages through all results (100 per page, or your limit up to 100).

get_single_givebutter_recurring_plan_by_id

Get a recurring plan. Required: id.

list_all_givebutter_recurring_plans

List all recurring plans. Truto pages through all results (100 per page, or your limit up to 100).

list_all_givebutter_sso_accounts

Get the Givebutter account behind the SSO session (GET /sso/v1/account; no description in Givebutter's docs). /sso/v1 sits behind a different auth guard than /v1 (a call without a key answers "Unauthenticated.").

get_single_givebutter_sso_campaign_by_id

Get a campaign through the SSO API (GET /sso/v1/campaigns/{campaign}; no description in Givebutter's docs). Required: id. /sso/v1 sits behind a different auth guard than /v1 (a call without a key answers "Unauthenticated.").

get_single_givebutter_ticket_by_id

Get a ticket. Required: id.

list_all_givebutter_tickets

List all tickets. Truto pages through all results (100 per page, or your limit up to 100).

create_a_givebutter_transaction

Create a transaction. Required: method, transacted_at, amount.

get_single_givebutter_transaction_by_id

Get a transaction. Required: id.

list_all_givebutter_transactions

List all transactions. Truto pages through all results (100 per page, or your limit up to 100).

update_a_givebutter_transaction_by_id

Update a transaction. Required: id.

get_single_givebutter_webhook_activity_by_id

Get a webhook activity. Required: id, webhook_id.

list_all_givebutter_webhook_activities

List all webhook activities. Required: webhook_id. Truto pages through all results (100 per page, or your limit up to 100).

create_a_givebutter_webhook

Create a webhook. Required: url.

delete_a_givebutter_webhook_by_id

Delete a webhook. Required: id.

get_single_givebutter_webhook_by_id

Get a webhook. Required: id.

list_all_givebutter_webhooks

List all webhooks. Truto pages through all results (100 per page, or your limit up to 100).

update_a_givebutter_webhook_by_id

Update a webhook. Required: id, url, events.

Why Truto

Why use Truto’s MCP server for Givebutter

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 950+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Givebutter in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Givebutter account

Use Truto’s frontend SDK to connect your customer’s Givebutter account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Givebutter

Truto’s Proxy API is a 1-to-1 mapping of the Givebutter API. You call us, we call Givebutter, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Givebutter’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Givebutter on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users authenticate their Givebutter account?

Truto manages the Givebutter API key exchange and credential storage for you. Your end users connect through a Truto-hosted flow, and you call the Givebutter tools using Truto's unified connection reference — no key handling on your side.

Which Givebutter resources can I read and write today?

The integration covers campaigns (including discount codes, members, teams, and tickets), contacts (with bulk tag operations), contact activities, households and household contacts, funds, transactions, pledges, recurring plans, payouts, messages, tickets, SSO accounts/campaigns, and webhooks — with full CRUD where Givebutter exposes it.

Does Truto support Givebutter webhooks for real-time updates?

Yes. You can create, update, list, and delete Givebutter webhooks via Truto, and inspect delivery history using the webhook activities endpoints — ideal for live donation alerts and event dashboards without heavy polling.

Can I create campaigns and provision accounts on behalf of my users?

Yes. In addition to standard campaign create/update/delete tools, Givebutter's SSO endpoints are exposed (list SSO accounts, get SSO campaign) so partner platforms can offer embedded account and campaign provisioning from inside their own product.

How is pagination handled across list endpoints?

Truto normalizes Givebutter's pagination for every list endpoint (contacts, transactions, payouts, campaigns, etc.) so you can iterate through large donor and transaction datasets with a consistent cursor pattern instead of per-resource quirks.

What if I need a Givebutter endpoint that isn't in the tool list?

Truto ships new tools on request. If you need coverage for an endpoint not currently in the inventory, reach out and it can typically be added quickly without changing your integration surface.

Givebutter

Get Givebutter integrated into your app

Our team understands what it takes to make a Givebutter integration successful. A short, crisp 30 minute call with folks who understand the problem.