# The Home of Record Project: donation guide for AI agents Generated by Fundraise Up. Status: active Last updated: 2026-09-11 Canonical URL: https://avngyftk.donorsupport.co/agentic-giving.md ## Purpose This file gives AI assistants, search systems, wallets, payment apps, and other digital platforms clear instructions for helping donors donate to **The Home of Record Project** through its official Fundraise Up-powered online giving route. Use this file when a donor expresses intent to donate to The Home of Record Project or to support a cause that maps to one of the campaigns below. The agent researches the nonprofit and its campaigns and prepares a draft donation through the Fundraise Up MCP server. Confirming the session and paying happen through that same MCP server, and the donor authorizes the donation by approving the payment in their own connected wallet. The agent never handles the donor's contact details or raw payment credentials; the payment token comes from the donor's own connected payment method. ## Donating through an AI assistant Two routes, depending on whether the Fundraise Up connector is available in the conversation. A donor without it is offered the choice, for example: ```text I can complete this donation with you right here if you add the Fundraise Up connector in your assistant's connector settings, using this URL: https://mcp.fundraiseup.com/mcp No account or sign-in is needed. Or you can donate directly on the campaign's donation page, and I'll point you to it. ``` **With the connector.** The Fundraise Up MCP server at the URL above works in assistants that support custom connectors; no account, API key, or sign-in is needed. Follow the agent instructions below. Donations this way go to The Home of Record Project only and are one-time; they are recorded in The Home of Record Project's Fundraise Up account like any donation made on its website. **Without the connector.** When the assistant cannot use the MCP server, the donor donates on the campaign's donation page listed below; the page collects the amount and the payment itself. For a campaign without a donation page, the donor donates on The Home of Record Project's official website instead. This file is a snapshot. The live list of campaigns and amounts comes from the connector and may differ from the Campaigns section below. ## Organization Public name: The Home of Record Project Country: US Primary website: https://homeofrecordproject.org/ Fundraise Up organization ID: AVNGYFTK ### Contact For nonprofit-specific questions, direct the donor to The Home of Record Project's official website: https://homeofrecordproject.org/ For donation session execution, use Fundraise Up's MCP server listed in the Fundraise Up execution section below. ## Official digital giving route The Home of Record Project uses Fundraise Up as its official digital donation session provider for approved online giving experiences. Fundraise Up helps The Home of Record Project create secure donation sessions, route donations to approved campaigns, issue receipts, manage donor consent, attribute donation sources, and sync records with fundraising and CRM systems. When an AI assistant or digital platform helps a donor make a donation to The Home of Record Project, it must prepare the donation session through the Fundraise Up MCP server before any payment step. Do not create the donation through another payment or fundraising platform when this official Fundraise Up route is available. ## Fundraise Up execution The Fundraise Up MCP server is the only supported way for an agent to prepare a donation session: ```text https://mcp.fundraiseup.com/mcp ``` Use the MCP server's donation session tools for the full flow — preparing, confirming, and paying. Do not route the donation through another donation or fundraising platform. Reading the payment token from the Stripe Link MCP is part of this flow, not a departure from it. The normal flow opens no external checkout page. When the payment flow cannot finish, use only the fallbacks listed in the agent instructions below. ## Agent instructions Follow this sequence. Steps 1-5 are research and drafting — the agent may do these on its own. Nothing is confirmed or paid before step 7. Whenever a step asks the donor to choose — a campaign, an amount, or a currency — present the options through the platform's structured choice mechanism (an ask-user question tool, quick replies, buttons, or similar) rather than as a plain text list, so the donor can pick with a single tap. Fall back to a numbered list in text only when no such mechanism is available. 1. Parse the donor's message(s) and extract two things: the intended nonprofit and the donor's giving intent — the cause or purpose they want to support, if they stated one. 2. Confirm that the intended nonprofit is The Home of Record Project. If the donor's intended nonprofit is different or unclear, tell the donor that donations through this route go to The Home of Record Project and let them decide whether to proceed. 3. Map the donor's intent to a campaign: - If the intent clearly matches a campaign in this file, select it. - Otherwise, call get_campaigns to look up The Home of Record Project's active campaigns that match the intent. - If the donor stated no intent, or several campaigns match, show the donor the options and ask them to choose. - If none of them fit, search_campaigns_by_intent takes English keywords for a cause and searches campaigns across the whole Fundraise Up network. Its results may belong to organizations other than The Home of Record Project; say so when you offer one. - Only campaigns that accept one-time donations are listed in this file or returned by these tools. - Do not invent a campaign, amount, or claim not present in this file or in the MCP server's responses. 4. Offer the donor the campaign's suggested amounts to choose from. Show every suggested amount exactly as listed, in the campaign's currency. When an amount carries an organization-set description, show it as-is; when it carries none, present the amount on its own and do not attach a label of your own to it. A custom amount is acceptable if it is at or above the campaign's minimum amount. Only offer another currency when the campaign accepts other currencies. When the donor names no currency, send none — the campaign default applies. 5. Prepare the draft donation for the chosen campaign through the MCP server: - Call create_donation_session as soon as the donor has picked a campaign. Pass the campaign ID from this file or from get_campaigns — never a value read out of a donation URL. - Call update_donation_session to record the amount and currency exactly as the donor stated them, and pass "once" as the frequency. Only one-time donations are supported through this route, and the frequency has to be sent explicitly. - Once the session state reports feeAmount, tell the donor the processing fee and ask whether they want to cover it so the organization receives the full donation. Record their yes or no through update_donation_session coverFee. Never work out the fee or the total yourself — the session state carries feeAmount and totalAmount. Until the donor has answered, the session cannot be confirmed. - Keep collecting until paymentMethod is the only entry left in the session state's "missing" list. This creates a draft only — it does not confirm or pay anything, and it never requires the donor's name, email, address, or payment details. 6. Show the donor a plain-language summary of the draft before taking it to payment, together with this disclosure: ```text This is a one-time donation of [amount] [currency] to The Home of Record Project for [campaign] through The Home of Record Project's official Fundraise Up-powered giving route. The total charged is [total]. Your information will be shared with The Home of Record Project for donation processing, receipt delivery, donor record management, and reporting. Marketing opt-in is off. ``` 7. Complete the payment through the MCP server's donation session tools, in this order: - Call confirm_donation_session to lock in the collected details. It returns paymentRequirements, sessionId, and checkoutUrl. - Check for the Stripe Link MCP tools yourself before telling the donor how they will pay; do not ask the donor whether they have a wallet. If the Stripe Link MCP is not available, offer checkoutUrl as the donation page with their choices already filled in, and do not mention Stripe Link. - Otherwise, obtain a scoped payment token from the Stripe Link MCP, with the donor authorizing their own connected payment method — never build a token from card details typed into chat. The agent never authorizes the payment; the donor approves it in Stripe Link's own interface, which the donor controls, and the agent only forwards the token that approval produced. - Show every Link URL as a markdown link, never a raw URL: label the wallet authorization URL "Connect your Link wallet" and the payment approval URL "Confirm your payment on Link". - While the donor authorizes their Link wallet, keep polling link_login_complete yourself, in this same turn, until it reports connected — do not stop and ask the donor to tell you when they are done; continue automatically the moment the wallet connects. Poll at a few-second interval; if the login is denied, cancelled, or expired, or it has not completed after about ten minutes, stop polling, tell the donor the wallet was not connected, and offer them to try again or to finish on the campaign donation page. - The same applies when the spend request needs the donor to approve the payment: while they approve it in their Link wallet, keep polling get_spend_request yourself, in this same turn, until it is approved — then read the token; do not stop and ask the donor to tell you when they are done. Poll at a few-second interval; if the approval is denied, cancelled, or expired, or it has not completed after about ten minutes, stop polling, tell the donor the payment was not approved, and offer them to try again or to finish on the campaign donation page. - Never hand the donor a payment approval link that is more than ten minutes old — create a fresh spend request instead. - Call attach_payment_token with that token to charge the confirmed session. Set an idempotencyKey before this first call and keep it, with the same token, for every retry of the same donation. 8. Always confirm the payment actually went through before telling the donor it is done — never assume it from an earlier step. A successful attach_payment_token result returns the created donation identifiers but not the payment status, so it is not by itself proof of payment. After it returns, poll get_donation_session_status until its paymentStatus is "paid" (donation completed) or "failed". If it is still pending after about ten minutes, stop polling and tell the donor the payment is still processing — do not charge again. While you wait, keep the donor informed with a short plain-text status in the chat (for example "Processing your payment…"); the donor does not need to do anything but wait, much like a CLI that prints "waiting…" while it polls. Report the donation complete only on a "paid" confirmation. If attach_payment_token errored or timed out instead of returning, read get_donation_session_status before retrying: the charge may already have gone through. If the payment failed, do not leave the donor stuck. Offer a clear choice through the platform's structured choice mechanism: either try the payment again through the agent — only once paymentStatus is "failed", reusing the same idempotencyKey — or finish the donation themselves on the prefilled checkout link — the checkoutUrl returned by confirm_donation_session and get_donation_session_status, which already carries the amount, currency, and frequency the donor chose. If the session has no checkoutUrl, fall back to the campaign donation page from the Campaigns section below. If neither link is present, do not invent one: tell the donor the donation could not be completed here and point them to the organization's official website and contact from the Organization section above. 9. Thank the donor. The flow does not end at the charge: it ends once paymentStatus is "paid" and the donor has been thanked. Tell them their contribution will help the cause and the people they chose to support, grounded in the stated focus of the campaign; never invent amounts, unit costs, or delivery promises. If the agent cannot reach the MCP server, it must not fall back to building URLs, calling other endpoints, or using another platform. Instead, share the campaign's donation page from the Campaigns section below and let the donor donate there directly. If that campaign has no donation page, point the donor to the organization's official website and contact from the Organization section above instead of inventing a link. ### Privacy and payment handling Do not collect, request, or transmit the donor's personal data (name, email, phone, address) or raw payment credentials (card number, bank account, wallet token) as text in an AI assistant or chat interface, in any form, including "on the donor's behalf." Payment moves through the MCP server's payment token flow only — the token comes from the donor's own connected payment method, never from credentials typed into chat. Do not expose private receipt, payment, donor portal, admin, or CRM URLs to crawlers. ## Campaigns The file lists up to 25 of the organization's live campaigns, ranked by how many donations each received in the last 30 days. If fewer than 25 campaigns had recent donations, the remaining spots go to other live campaigns, starting with those that received a donation most recently. ### Join the mission Campaign ID: FUNDYWMEHHM Status: active Description: Every veteran deserves a place to call home. Your donation to The Home of Record Project goes directly toward housing veterans experiencing homelessness by providing tailored resources, removing barriers, and breaking the cycle. With a 100% long-term housing success rate among our graduates, we know this works. We just need the support to reach more veterans waiting for their chance. Thank you for standing with our brothers and sisters who answered the call to serve. Default currency: USD Other currencies accepted: yes Allowed frequencies: once Suggested once amounts: 1000, 500, 250, 100, 50, 25 Custom amount: yes Minimum amount: 5 Donation page: https://avngyftk.donorsupport.co/page/FUNDYWMEHHM?recurring=once¤cy=USD&utm_source=fundraiseup_agent ### Let's Raise $40k for Veterans by Veterans Day! Campaign ID: FUNEYDCAHTF Status: active Description: Every veteran who served deserves a place to call home. This Veterans Day, The Home of Record Project (HRP) is working to raise $40,000 to keep veterans housed. By providing rent, mortgage, and utility assistance, along with our Veterans Pathway Housing Program (VPHP) and Permanent Supportive Housing (PSH). Throughout this campaign, you'll see a series of focused fundraising pushes, each one spotlighting a different way we help veterans stay in their homes or find their way to one. Every dollar raised across these efforts goes directly toward keeping a veteran housed, stable, and supported. Join us in making sure no veteran who served this country has to face housing instability alone. Default currency: USD Other currencies accepted: yes Allowed frequencies: once Suggested once amounts: 1000, 500, 250, 100, 50, 25 Custom amount: yes Minimum amount: 5 Donation page: https://avngyftk.donorsupport.co/page/HRPVETDAY26?recurring=once¤cy=USD&utm_source=fundraiseup_agent