Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Keela API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkeela.co%2Fkeela" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkeela.co%2Fkeela" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Keela API.
Create and list donor contacts and households via /api/contacts and /api/households
Manage fundraising campaigns and their attribution sources via /api/campaigns and /api/sources
Record donations and other revenue via /api/donations and /api/revenues
Tag donor records and roll them up into impact areas via /api/tags and /api/impact_areas
Log financial transactions linked to donations via /api/transactions
GET STARTED
Mirror nonprofit CRM data with external accounting and email tools through structured endpoint payloads
Patterns agents use Keela API for, with concrete tasks.
★ Donate-Widget to CRM Sync
Pipe gifts from a charity's website donate widget straight into Keela so finance and fundraising teams see donations the moment they land. The /api/contacts and /api/donations endpoints accept the donor and gift in two calls; combined with /api/sources for attribution, a small nonprofit can report 'gifts by acquisition source' without exporting and joining files in a spreadsheet.
Resolve or create the contact via POST /api/contacts, then record the gift via POST /api/donations with the source ID from the campaign tracking parameter.
Campaign Performance Reporting
Pull campaigns, donations, and sources from Keela into a BI dashboard so program directors can see fundraising velocity by campaign without logging into the CRM. /api/campaigns returns campaign metadata, /api/donations returns gifts by campaign ID, and /api/sources returns attribution. Combined nightly, a $250 BI tool replaces a $10K consulting engagement for many small charities.
List campaigns via GET /api/campaigns and donations via GET /api/donations, then aggregate gift totals by campaign ID.
Major Gift and Stewardship Tagging
Apply structured tags to donor contacts ('major gift prospect', 'monthly recurring lapsed', 'thank-you call due') so fundraisers see priority work in their CRM view. POST /api/tags applies tags programmatically, and combining with impact-area assignment gives a stewardship team the queue they need without manual segmentation.
Tag every contact with a lifetime giving total over $5,000 as 'major-gift-prospect' via POST /api/tags.
Agent-Driven Fundraising Operations
A nonprofit's AI assistant uses Jentic to update Keela when a fundraiser says 'log Sarah's $500 gift to the climate campaign' or 'tag the volunteer board as monthly donors'. Jentic resolves the contact and campaign by name, picks the right endpoint, and executes the call, with the OAuth credentials staying in the vault and never appearing in chat with the assistant.
Use the Jentic search 'record a Keela donation', load the schema, and POST /api/donations for the contact, campaign, and amount specified by the fundraiser.
10 endpoints — jentic maintains a curated, agent-ready openapi specification for keela api, built from the openapi 3.
METHOD
PATH
DESCRIPTION
/api/campaigns
List fundraising campaigns
/api/contacts
List donor contacts
/api/households
List households
/api/impact_areas
List impact areas
/api/sources
List campaign attribution sources
/api/tags
List donor tags
/api/donations
List donations
/api/revenues
List revenues
/api/campaigns
List fundraising campaigns
/api/contacts
List donor contacts
/api/households
List households
/api/impact_areas
List impact areas
/api/sources
List campaign attribution sources
/api/tags
List donor tags
/api/donations
List donations
/api/revenues
List revenues
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Keela API by hand means running its OAuth2 flow, tracking token refresh, and mapping donor, donation, and campaign reads to their query shapes against usa.keela.co yourself. Through Jentic you install once, import the Keela API from the API Directory, store the OAuth credential once, and your agent calls it.
Permission scoping
Keela's listed surface is read-only collection endpoints like /api/donations, /api/contacts, and /api/campaigns, so scope the agent by the operations it needs, such as reading donations or listing households. You pick that set, so an agent built to report on donations is not given tag or revenue reads unless you add them.
Credential isolation
Your Keela OAuth2 credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. The access token and any refresh token never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'list Keela donations' or 'read donor households', and Jentic returns the matching Keela operation with its parameter schema so the agent calls the right endpoint without reading Keela's developer docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Keela API through Jentic.
Does Keela publish an official OpenAPI spec?
Yes. Keela's API reference at https://developers.keela.co publishes an OpenAPI 3.0.0 document, info.version 1.0.0, covering the same 8 paths and 10 operations described here. That document is embedded in the reference page instead of a standalone openapi.json file, and it declares no security scheme while listing its servers over http. Jentic therefore keeps a curated copy of it that declares the OAuth2 authorization-code flow against https://usa.keela.co, so an agent can authenticate from the spec alone. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Keela API use?
The API uses OAuth2 access tokens. Each request includes `Authorization: Bearer {token}` where the token is issued from the Keela tenant's API settings. Through Jentic the token is held encrypted in the vault and injected at execution time so the agent never sees the raw access token.
Can I record a donation against a campaign with the Keela API?
Yes. POST /api/donations accepts a contact reference, campaign ID, amount, and source ID, and the response returns the donation ID for follow-up calls. Resolve the contact first via GET /api/contacts if you only have an email, and the campaign via GET /api/campaigns if you only have a name.
What are the rate limits for the Keela API?
Keela does not publish hard rate limits in the spec. The platform tolerates typical small-charity automation traffic (nightly syncs, real-time gift posting) and returns HTTP 429 on bursts. Cache /api/sources and /api/campaigns daily - they change rarely - to keep request volume down.
How do I tag a Keela donor through Jentic?
Run `pip install jentic` and search Jentic for 'tag a Keela donor'. Jentic returns the schema for POST /api/tags; supply the contact ID and tag name, then execute. The OAuth token is injected from your Jentic One instance.
Does the Keela API distinguish donations from other revenue?
Yes. POST /api/donations records charitable gifts that need receipts; POST /api/revenues records non-donation revenue like grants, sponsorships, and earned income. Keep them on the right endpoint so tax-receipt automation does not issue receipts for non-donation revenue.
Is the Keela API included in every plan?
API access is included with Keela paid plans for nonprofits. The free or trial tier may be read-only; check the tenant plan if POST /api/donations returns 403.
Can I limit what my agent is allowed to do with the Keela API?
Yes. Because Jentic One is self-hosted, you decide which Keela operations the agent can call, so you can grant only the read-only collection endpoints it needs, such as GET /api/donations or GET /api/contacts, while withholding others like /api/tags or /api/revenues. An agent built to report on donations is never handed tag or revenue reads unless you add them to its allowed set. The OAuth2 credential is stored by your own instance and injected only for the operations you have approved.
Know of an official OpenAPI document? Contribute it →
For Agents
Manage donor contacts, households, campaigns, donations, revenues, tags, and impact areas inside a Keela nonprofit CRM tenant. 10 endpoints covering the core fundraising workflow.
Use for: I need to record a donation in Keela, Create a new donor contact from a website form, Tag a donor as a major-gift prospect, List all campaigns active this fiscal year
Not supported: Does not handle email blast sending, payment processing, or grant-management workflows - use for Keela donor, household, campaign, donation, revenue, and tag operations only.
Jentic maintains a curated, agent-ready OpenAPI specification for Keela API, built from the OpenAPI 3.0.0 document Keela publishes in its API reference at developers.keela.co and adding the OAuth2 scheme and HTTPS servers that document omits. Keela is a CRM purpose-built for nonprofits and its API exposes contacts, households, campaigns, donations, revenues, sources, tags, transactions, and impact areas. Together these endpoints let small charities sync donors, log gifts, and track campaign performance from a website donate widget, an event platform, or a finance system without manual data entry.