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 usUse Cases
Why integrate with Givebutter
Common scenarios for SaaS companies building Givebutter integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.