<!-- Generated from Cogny's tool registry. Canonical page: https://cogny.com/integrations/profundo/tools -->

# ProFundo tools in Cogny

Cogny's ProFundo integration exposes 8 tools (8 read) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

- **Read** (8): only reads data.
- **Write** (0): creates or changes something.
- **Destructive** (0): deletes, removes or replaces something.

Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations.

## Notes

ProFundo connects through the data-export web service ProFundo sets up for your organisation (the same one they offer for Power BI). Ask ProFundo support to set it up. They send you an API key, and you enter it in Cogny together with your ProFundo address (the part before .profundo.se, for example `yourorg` for yourorg.profundo.se). ProFundo decides which tables and fields the key can read. `get_data_overview` shows what your organisation exports.

Everything is read-only. Nothing is written back to ProFundo.

National ID numbers, names, phone numbers, e-mail addresses and street addresses are removed in the integration before any AI model sees the data. Personal numbers, e-mail addresses and phone numbers are also masked inside free-text fields such as agreement comments. Postal code, city, municipality, county and birth year are kept for segmentation. Every table links to the donor through `constituentId`, so unique donors are counted with `count_distinct: ["constituentId"]`.

`aggregate_records` totals a table by any field, for example donations per campaign and month, new monthly donors per week, or ended agreements by end reason. On activities it can group by `utm_source`, `utm_medium`, `utm_campaign`, `utm_content` and `utm_term` read from the UTM codes in `text4`. The list tools return up to 1,000 rows per call and page with `page_token`. They can also return only the rows changed since a date (`updated_since`).

## Known gaps

- ProFundo's web service has no filters other than "changed since a date", so a total over a whole table reads it page by page, about 1,000 rows a second. A large table takes several calls: the answer says `complete: false` and gives a `continue_token`, and the next call reads on with the totals carried over. Unique counts (`count_distinct`) can't be carried over, so leave them out of a whole-table total. A date range on `paymentDate` or `createdDate` reads only the rows changed since its start, which is usually one call.
- No search for a single donor and no donor history view. Rows can only be listed and totalled.
- Names, national IDs and contact details are never available, even if your key can read them.
- The tables and fields come from ProFundo's export, not from the full CRM. To get a field that's missing, ask ProFundo to add it to your web service.

## All tools

| Tool | Kind | What it does |
|---|---|---|
| `get_data_overview` | Read | See which ProFundo CRM tables your organisation exports and the fields each one has. |
| `list_constituents` | Read | List donors and members from ProFundo CRM with their campaign, region, birth year and start/end dates. |
| `list_payments` | Read | List incoming donations and payments from ProFundo CRM with date, amount, campaign and payment method. |
| `list_payment_postings` | Read | List how ProFundo payments were split across projects and products (gift type, membership), one row per posting. |
| `list_recurring_agreements` | Read | List monthly giving, membership and other recurring agreements from ProFundo CRM with status, amounts and end reasons. |
| `list_activities` | Read | List activities registered on donors in ProFundo CRM, with type, channel, campaign, product and UTM codes. |
| `list_campaigns` | Read | List the fundraising campaigns defined in ProFundo CRM. |
| `aggregate_records` | Read | Total ProFundo CRM data by campaign, channel, payment method, period or any other field. |

Exact input schemas come from `tools/list` once ProFundo is connected; the free plan is enough to check.

Missing something? Your agent can ask for it with `request_feature`.

---

All integrations: https://cogny.com/integrations/tools/index.md
Plans, approvals, limits and data protection: https://cogny.com/buying-guide.md
What Cogny is: https://cogny.com/llms.txt
