# Water Street Mission: donation guide for AI agents Generated by Fundraise Up. Status: active Last updated: 2026-10-15 Canonical URL: https://give.wsm.org/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 **Water Street Mission** through its official Fundraise Up-powered online giving route. Use this file when a donor expresses intent to donate to Water Street Mission 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 Water Street Mission only and are one-time; they are recorded in Water Street Mission'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 Water Street Mission'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: Water Street Mission Legal name: Water Street Mission Country: US Primary website: https://wsm.org/ Fundraise Up organization ID: APWTJEJZ ### Contact For nonprofit-specific questions, direct the donor to Water Street Mission's official website: https://wsm.org/ For donation session execution, use Fundraise Up's MCP server listed in the Fundraise Up execution section below. ## Official digital giving route Water Street Mission uses Fundraise Up as its official digital donation session provider for approved online giving experiences. Fundraise Up helps Water Street Mission 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 Water Street Mission, 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 Water Street Mission. If the donor's intended nonprofit is different or unclear, tell the donor that donations through this route go to Water Street Mission 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 Water Street Mission'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 Water Street Mission; 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 Water Street Mission for [campaign] through Water Street Mission's official Fundraise Up-powered giving route. The total charged is [total]. Your information will be shared with Water Street Mission 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. ### Become a Monthly Hero Campaign ID: FUNSDVDXYWQ Status: active Description: When you become a Monthly Hero, your consistent giving helps men, women, and children find hope when they need it most. “Giving them a place to stay is just the tip of the iceberg. If you take advantage of what else is offered, there is so much more here to change your life,” says Michael, who came to Water Street at 64, experiencing homelessness for the first time.Thank you for walking with us every step of the journey. 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://give.wsm.org/page/monthly?recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### You can help restore a life today! Campaign ID: FUNQQYVDYYE Status: active Description: For only $3.40, you can offer a hot meal — and a moment of hope — to a neighbor experiencing homelessness.Your generosity makes an immediate difference. Give today! 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://give.wsm.org/page/give?recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### Give a Place to Rest: Sponsor a Bed Monthly Campaign ID: FUNFNQGXDBS Status: active Description: A bed in our Emergency Shelter is never just a place to sleep—it’s often someone’s first moment of safety after weeks or months of uncertainty.Your $25 monthly gift helps provide one bed for one night—offering safety, a warm meal, and the care someone needs. With your monthly gift you’ll receive a magnet with the number of a specific bed; a reminder to pray for the guest who finds rest there. Default currency: USD Other currencies accepted: yes Allowed frequencies: once Suggested once amounts: 17 (5 meals & care for one person), 75 (3 days of meals, shelter & care for one), 175 (Provides a free medical visit for one person) Custom amount: yes Minimum amount: 5 Donation page: https://wsm.org/?form=sponsorabed&recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### Make room at the table this Thanksgiving Campaign ID: FUNYWEVJDYN Status: active Description: When you give a meal, you’re doing so much more than filling a plate. You’re helping families and individuals find a seat at a table where they’re seen, cared for, and reminded that they matter. Will you consider sharing a gift this holiday season? 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://wsm.org/?form=thanksgiving&recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### Your generosity can open the door to a fresh start Campaign ID: FUNTADYAXKH Status: active Description: When you’re facing the holidays without a home, a new beginning can feel impossible. This Christmas, your gift helps restore hope and stability for men, women, and children experiencing homelessness.With warm meals, safe shelter, and Christ-centered care, you’re helping a neighbor take their first steps toward a fresh start. Default currency: USD Other currencies accepted: yes Allowed frequencies: once Suggested once amounts: 17 (5 meals & care for one person), 75 (3 days of meals, shelter & care for one), 175 (Provides a free medical visit for one person), 316 (A month of meals & care for one person), 775 (A month of meals, shelter & care for one), 1264 (A month of meals & care for a family of 4), 34 (10 meals & care for one person), 250 (10 days of meals, shelter & care for one), 51 (15 meals & care for one person), 500 (20 days of meals, shelter & care for one), 525 (3 free medical visits for one person) Custom amount: yes Minimum amount: 5 Donation page: https://wsm.org/?form=christmas&recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### Give a Meal. Share the Hope of Easter.​ Campaign ID: FUNFAJJUDVL Status: active Description: This Easter, a warm meal can be more than nourishment. It can be the quiet reminder that someone sees you, that you matter, and that you don’t have to face this season alone. By sharing a meal, you’re helping open the door to deeper support, steady guidance, and the kind of care that leads toward lasting change and renewed hope. Default currency: USD Other currencies accepted: yes Allowed frequencies: once Suggested once amounts: 25 (1 day of meals, shelter & care for one), 75 (3 days of meals, shelter & care for one), 250 (10 days of meals, shelter & care for one) Custom amount: yes Minimum amount: 5 Donation page: https://wsm.org/?form=easter&recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### Double Your Impact Today Campaign ID: FUNSPAGJDRP Status: active Description: Right now, every gift will be doubled, up to $65,000. That means your generosity can go even further to help provide safe shelter, nourishing meals, and caring support for neighbors facing some of life’s hardest moments. At Water Street, this kind of care is never just about meeting physical needs. It’s about reminding each person they are seen, valued, and not 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://give.wsm.org/page/match?recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### The First Step Toward Restoration Campaign ID: FUNENSLPUFN Status: active Description: A warm meal can open the door to so much more. At Water Street, it can be the beginning of Christ-centered care, meaningful relationships and a path toward restoration. Your gift today helps provide that first step for a neighbor in need. 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://wsm.org/?form=meals&recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent ### Be Part of the Care That Keeps Showing Up Campaign ID: FUNAPEDGANS Status: active Description: Hardship can wear a person down. A missed meal, a night without shelter, an untreated health need, or the feeling of having nowhere to turn can make it hard to keep going.Join a movement of people who refuse to look away — and help remind our neighbors they are not 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://wsm.org/?form=showup&recurring=once¤cy=USD&utm_source=fundraiseup_agent_profile&utm_medium=ai_agent