GitDealFlowsignals
A2A INTEGRATION · CUSTOM TOOL

Use GitDealFlow A2A with Botpress

Open-source conversational AI platform. Open-source-minded builders running self-hosted chatbots for portfolio companies, internal sales agents, or community Discord bots.

Crunchbase API: $20K/yr. GitDealFlow A2A: free, no signup.

Botpress lets you write Hooks (TypeScript snippets) that intercept conversation events and call external APIs. Wire GitDealFlow as a Hook so your Botpress chatbot can fetch live engineering signals inside any flow, answering 'what's trending in AI/ML?' or 'compare commit velocity for these two startups' with real data. Best fit for self-hosted Botpress deployments (Cloud or community edition) where you control the runtime.

Endpoint facts for Botpress users

Whatever wiring you choose, the target is the same single endpoint. These are the fixed facts; nothing on this page changes them:

ProtocolA2A JSON-RPC 2.0 (protocolVersion 0.3.0)
Endpoint URLhttps://signals.gitdealflow.com/api/a2a
Skills exposed5, mirrored 1:1 with the MCP server tools (trending, sector, lookup, summary, methodology)
AuthNone; free in perpetuity, read-only
FreshnessRecomputed weekly; responses carry the data-as-of date
Best Botpress pathBotpress has no native MCP client yet, so the custom-tool path below (a thin JSON-RPC call) is the way in.

Botpress Hook (TypeScript)

// In Botpress Studio → Code → Hooks → After Incoming Message
// (or use a Card Action / Trigger as appropriate)

import axios from 'axios';

const A2A = 'https://signals.gitdealflow.com/api/a2a';

interface QueryArgs {
  skill: 'trending' | 'sector' | 'startup' | 'methodology' | 'receipts';
  args?: Record<string, unknown>;
}

export async function gitdealflowQuery({ skill, args }: QueryArgs) {
  const body = {
    jsonrpc: '2.0',
    id: 1,
    method: 'message/send',
    params: {
      message: {
        role: 'user',
        parts: [{ kind: 'data', data: { skill, args: args ?? {} } }]
      }
    }
  };
  const { data } = await axios.post(A2A, body, { timeout: 15000 });
  return data;
}

// Then call it from a Card or Action:
//   const result = await gitdealflowQuery({ skill: 'trending' });
//   bp.events.replyToEvent(event, [{ type: 'text', text: `Top: ${result.artifacts[0].parts[0].data.startups[0].name}` }]);

Botpress Action (Card-driven, no-code-ish)

// In Studio → Actions → New Action → "GitDealFlow Lookup"
// Set inputs: skill (string), args (object)
// Set HTTP method: POST
// URL: https://signals.gitdealflow.com/api/a2a
// Body template:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "message/send",
  "params": {
    "message": {
      "role": "user",
      "parts": [{"kind": "data", "data": {"skill": "{{skill}}", "args": {{args}}}}]
    }
  }
}

// Use the Action inside any flow's Card → tested via the simulator before publishing

What you can ask

  • Discord community bot: '!signal fintech' → posts top 5 trending in channel.
  • Self-hosted internal sales bot: AE asks 'what's accelerating that we should be tracking?' before a call.
  • Portfolio company chatbot: founder asks 'show me startups in our space' → competitive scan.
  • Telegram group bot for an angel syndicate: weekly digest of breakouts auto-pinned.
  • WhatsApp Business agent: 'tell me about Roboflow' → returns live signal + methodology citation.

Gotchas

  • Botpress Cloud has rate-limited outbound HTTP; the community edition (self-hosted) doesn't, but cache responses if your bot has heavy concurrency.
  • If the bot is multi-tenant (running for many portfolio companies), respect our public rate limit, a single shared API key would burn through it; cache or stagger calls.
  • Botpress's older v12 syntax differs from Cloud/v13, the Hook above targets v13+; older deployments need adapting (use the legacy `bp.http` helpers).

When to pick which path

Because Botpress 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.

5example prompts are listed under "What you can ask" below, and the gotchas section covers the 3 known failure modes Botpress 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.

Other framework integrations

🚀 Explore Our Network

21-47 days
Signal Lead Time (median 31d)
$80M+
Rounds Tracked
90 sec
Per Scan
5,000+
Founders Tracked

One missed signal is a missed round. Get the Velocity Verdict in your inbox every Sunday free.

Get Free Signals

Free weekly digest. Cancel anytime. No spam, no VC pitches just data.