Use GitDealFlow A2A with OpenAI Agents SDK
openai-agents Python and TypeScript packages. Builders shipping agent workflows on OpenAI models with first-class tool use.
Crunchbase API: $20K/yr. GitDealFlow A2A: free, no signup.
The OpenAI Agents SDK gives you a clean primitive for tool use. A2A is not natively supported by the SDK as of April 2026, so the integration is a custom function tool that POSTs JSON-RPC to our endpoint. The whole tool fits in 30 lines and exposes all five skills behind a single dispatch function.
Endpoint facts for OpenAI Agents SDK users
Whatever wiring you choose, the target is the same single endpoint. These are the fixed facts; nothing on this page changes them:
| Protocol | A2A JSON-RPC 2.0 (protocolVersion 0.3.0) |
| Endpoint URL | https://signals.gitdealflow.com/api/a2a |
| Skills exposed | 5, mirrored 1:1 with the MCP server tools (trending, sector, lookup, summary, methodology) |
| Auth | None; free in perpetuity, read-only |
| Freshness | Recomputed weekly; responses carry the data-as-of date |
| Best OpenAI Agents SDK path | OpenAI Agents SDK has no native MCP client yet, so the custom-tool path below (a thin JSON-RPC call) is the way in. |
Install
pip install openai-agents
# or
npm install @openai/agentsCustom function tool (Python)
# pip install openai-agents requests
from openai_agents import Agent, function_tool
import requests
A2A_URL = "https://signals.gitdealflow.com/api/a2a"
@function_tool
def gitdealflow_query(skill: str, args: dict | None = None) -> dict:
"""
Call the GitDealFlow A2A agent.
skill: one of get_trending_startups, search_startups_by_sector,
get_startup_signal, get_signals_summary, get_methodology
args: skill-specific arguments (e.g. {"sector": "fintech"})
"""
body = {
"jsonrpc": "2.0", "id": 1,
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"kind": "data", "data": {"skill": skill, "args": args or {}}}],
}
},
}
r = requests.post(A2A_URL, json=body, timeout=15)
r.raise_for_status()
return r.json()["result"]["artifacts"][0]["parts"][0]["data"]
agent = Agent(
name="VC scout",
tools=[gitdealflow_query],
instructions="Use gitdealflow_query to fetch live startup engineering signals.",
)TypeScript custom tool
// npm install @openai/agents
import { Agent, tool } from "@openai/agents";
import { z } from "zod";
const A2A_URL = "https://signals.gitdealflow.com/api/a2a";
const gitdealflow = tool({
name: "gitdealflow_query",
description: "Call the GitDealFlow A2A agent for startup engineering signals.",
parameters: z.object({
skill: z.enum([
"get_trending_startups",
"search_startups_by_sector",
"get_startup_signal",
"get_signals_summary",
"get_methodology",
]),
args: z.record(z.string(), z.any()).optional(),
}),
execute: async ({ skill, args }) => {
const r = await fetch(A2A_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "message/send",
params: {
message: {
role: "user",
parts: [{ kind: "data", data: { skill, args: args ?? {} } }],
},
},
}),
});
const json = await r.json();
return json.result.artifacts[0].parts[0].data;
},
});What you can ask
- Pass {skill: 'get_trending_startups'} for weekly top 20.
- Pass {skill: 'search_startups_by_sector', args: {sector: 'ai-ml'}}.
- Pass {skill: 'get_startup_signal', args: {name: 'Roboflow'}}.
- Pass {skill: 'get_methodology'} when an analyst questions the ranking.
Gotchas
- The endpoint returns JSON-RPC envelopes. Always reach into result.artifacts[0].parts[0].data for the structured payload, or .parts[1].text for the plaintext fallback.
- Sector slugs are normalized aliases (crypto → web3, AI → ai-ml). If you accept user free-text, route it through search_startups_by_sector and let the endpoint resolve.
When to pick which path
Because OpenAI Agents SDK currently lacks a native MCP client, your two options are the custom tool below (a thin JSON-RPC wrapper you register once) or switching the session to an MCP-capable host when you need the richer tool surface. For scheduled jobs and pipelines, the raw endpoint is usually the sturdier dependency: no client versioning to track.
4example prompts are listed under "What you can ask" below, and the gotchas section covers the 2 known failure modes OpenAI Agents SDK users hit with this endpoint. If a prompt fails, check the gotchas first: most misses are shape mismatches, not endpoint outages.
References
Try it without setup
The interactive playground lets you send live JSON-RPC requests against the A2A endpoint with no install, no auth. Pick a skill, hit send, see the response.
Full launch story: I made my VC deal flow callable by Claude.