Connect ChatGPT
You can use disburse inside ChatGPT as a Custom GPT Action: ChatGPT calls the disburse REST API directly from an OpenAPI spec we publish, authenticated with your API key. Natural-language queries work out of the box: ChatGPT sends the text and disburse parses it into filters server-side.
Custom GPTs require a ChatGPT Plus, Team, or Enterprise plan.
What you need
- A disburse API key (
sk_live_…) from your dashboard. - The published OpenAPI spec URL:
/openapi.jsonon your web app (e.g.https://app.disburse.dev/openapi.json).
Set it up
- In ChatGPT, open Explore GPTs → Create, then the Configure tab.
- Under Capabilities, tick Code Interpreter & Data Analysis. This is what lets your GPT turn export data into a real, clickable CSV download — without it, ChatGPT has nowhere to write files and lists can only appear as text in the chat.
- Scroll to Actions and click Create new action.
- Under Schema, click Import from URL and paste your
/openapi.jsonURL. ChatGPT loads the operations (search_people,search_companies,enrich_*,verify_*). - Under Authentication, choose API Key, set Auth Type to Bearer,
and paste your
sk_live_…key. - Optional but recommended: paste this line into the GPT's Instructions
so CSV asks come out as downloads automatically:
When the user wants a CSV file, fetch every chunk from
/v1/exports/{id}/chunk/{n}in order, assemble the rows with code, and write a single .csv file for download. - Save. Test it with a prompt like "Find fintech CFOs in Sydney",
"Get me 100 founders in Australia" (one call — the API fulfils whole
lists server-side via
count), or "Export 500 founders to a CSV".
How it works
ChatGPT never sees the filter schema; it just sends your words to the API:
You: "heads of growth at Series B fintechs in Australia"
│
▼ ChatGPT calls POST /v1/search/people { "query": "..." }
disburse parses the text into filters, runs the search, returns resultsThat's the same natural-language path the API and the MCP connector use; disburse does the parsing, so any client that can send JSON works.
ChatGPT vs. the MCP connector
Both let an assistant use disburse; they differ in transport and auth:
| Custom GPT Action (this page) | MCP connector | |
|---|---|---|
| Transport | REST API (/v1/*) via OpenAPI | MCP tools (/mcp) |
| Auth | API key (Bearer) | OAuth or API key |
| Best for | ChatGPT | Claude and other MCP clients |
Troubleshooting
- Import fails / schema errors: ChatGPT's importer is strict — it rejects
OpenAPI 3.1 type unions and is unreliable with
allOf/oneOf. Our published spec avoids all three, so a failure usually means a stale copy: re-import from the URL rather than pasting an older download. - 401 Unauthorized: the key is missing or wrong; re-check the Bearer key in the action's Authentication settings.
- Calls hit the wrong environment: the
serversURL baked into/openapi.jsondecides which API is called. Confirm it points at the environment your key belongs to. - "File download failed" / exports with no download link: enable Code Interpreter & Data Analysis under Capabilities (step 2 above); only that sandbox can create downloadable files. The API already right-sizes export chunks for ChatGPT's response limits automatically — no settings on our side.
- ChatGPT asks permission on every call: our spec marks every operation read-only, so ChatGPT offers Always allow — click it once. If it keeps asking, re-import the schema from the URL to pick up the flags.