MCP App Store
Business & Operations

Givebutter

by Givebutter, Inc.

Overview

Givebutter is the fundraising and donor management platform trusted by tens of thousands of nonprofits. This app connects your Givebutter account to ChatGPT so your team can work with your fundraising data conversationally — no exports, no dashboards, no switching tabs. Use it to: - Look up donations, transactions, and payout activity across your campaigns - Find and summarize donor and contact records, giving history, and engagement - Check how a campaign, event, or fundraising page is performing - Pull the numbers you need for board updates, grant reports, and end-of-month reconciliation Ask things like: - "How much did we raise in our spring appeal?" - "Who are our top recurring donors this year?" - "Summarize new donors from last week." ChatGPT retrieves the answer directly from your live Givebutter data and respects your existing account permissions — it can only access what your connected account can see. Built and maintained by Givebutter. Authentication is handled securely through OAuth; you stay in control of access and can disconnect at any time.

Tools

givebutter_help_center

ChatGPT
Search and fetch articles from Givebutter's help center (help.givebutter.com). Two actions: - action=search, params={query, limit?}: Returns up to 10 (max 25) articles matching the query with id, title, url, and a short excerpt. Use when the user asks a how-to question ("how do I refund a donation", "how does P2P work"). - action=get, params={id}: Returns a single article with the full body in plain text. Use after a search to read the complete answer rather than fetching the article URL externally. Help center articles are global — the same set is returned regardless of the calling account.

givebutter_load_entity_context

ChatGPT
Returns the field schema for an entity (contacts, transactions, transaction_plans, messages, auction_item_categories, pledges, campaign_members, campaign_teams, auctions, auction_bidders, campaigns, campaign_items, message_deliveries, events, tickets, funds, appeals, households, campaign_matches, tasks, workflows, widgets). Call this BEFORE givebutter_query. The default call (entity only) returns a lightweight field index: per-field {capabilities, nested_path?, resolves_references?}. Operators, descriptions, value shapes, and metric allowlists are NOT in the index — they are pulled on demand. To get full detail for specific fields, call this tool again with field_keys: ["<key>", ...]. The expansion response includes type, description, filter operators, bucket types, metric functions, and pairs_with_* cross-references. Capabilities: - "filter": the field can be used in filters.filters[] - "bucket": the field can be used in aggregates.bucket - "aggregate": the field can be used in aggregates.metrics[] - "project": the field can be returned in row output (name it in the query fields array) Typical workflow: 1. Call with entity only to see what fields exist and their capabilities. 2. Decide which fields fit the user query. 3. Call again with field_keys: [...] to get full definitions. 4. Compose givebutter_query.

givebutter_query

ChatGPT
Runs a structured filter query against Givebutter entities (contacts, transactions, transaction_plans, messages, auction_item_categories, pledges, campaign_members, campaign_teams, auctions, auction_bidders, campaigns, campaign_items, message_deliveries, events, tickets, funds, appeals, households, campaign_matches, tasks, workflows, widgets). Supports three modes: - Rows only (omit aggregates): returns matching rows. - Aggregates only (limit: 0 + aggregates block): returns aggregate totals and buckets, no rows. - Both (limit > 0 + aggregates block): returns matching rows AND aggregates in one call. Use this for "show me the list plus the total" questions. IMPORTANT: To request specific fields or use filter keys, FIRST call givebutter_load_entity_context to discover valid field names for the entity. Do not guess field names — unknown fields are rejected. Accepts filter clauses with key/op/value/combine fields. Campaign values can be passed by name — the server resolves them to IDs automatically. By default rows return a concise field set. Pass a fields array to choose exactly which fields come back; unknown field names are rejected with the valid set. Discover field names with givebutter_load_entity_context. Pass sort ([{field, dir}]) to order rows — use this plus limit for "top N" questions (e.g. sort by total_contributions desc, limit 10). Rows are paginated. The response carries count (this page), total (all matches), and flags.truncated. When truncated is true, more rows exist — request the next page with offset = previous offset + limit. All monetary amounts — filter values and result metrics — are in US dollars (e.g., 100 = $100). Never send or expect cents. When the aggregates block is present, metrics.fn must be one of: count|sum|avg|min|max|distinct. bucket.type must be time_bucket or terms. All bucket and metric fields must share the same nested path. A top-level intent field (a sibling of entity and aggregates, NOT nested inside the aggregates block) is required when aggregates is present. For counting rows, use {"fn":"count","field":"*","alias":"total"}. For counting distinct values of a specific field, use {"fn":"distinct","field":"<field_name>","alias":"distinct_count"}.

givebutter_who_am_i

ChatGPT
Returns a snapshot of the Givebutter account in scope: id, name, timezone, and created_at. Call this once at the start of a session so subsequent answers can name the account explicitly. Use id to build dashboard URLs (dashboard.givebutter.com/accounts/{id}/...). Includes the account NCF (Nonprofit Context File): mission, voice, branding, and other grounding context when available, or null when the account has no context yet.

givebutter_widget_helper

ChatGPT
Returns embed snippets for all platforms for an existing widget display_id. Snippets returned: - custom_element: the HTML custom element tag - wordpress_shortcode: WordPress [givebutter-widget id="..."] shortcode - wix_id: the raw display_id for Wix embed - script_tag: the JS library <script> tag with account aid and optional platform param This tool formats an existing display_id. To create a new widget, use givebutter_create_widget.

App Stats

5

Tools

ChatGPT

Platforms

Category

CRM Records

Works with

ChatGPT

Data refreshed daily