{
  "protocolVersion": "0.3.0",
  "name": "Bison Labs",
  "description": "Product lab. Delegate to this agent to find out what Bison Labs has made, check intro-call availability, or book a call.",
  "url": "https://bisonlabs.dev/a2a",
  "preferredTransport": "JSONRPC",
  "version": "1.0.0",
  "provider": {
    "organization": "Bison Labs",
    "url": "https://bisonlabs.dev"
  },
  "documentationUrl": "https://bisonlabs.dev/docs/api",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "securitySchemes": {},
  "security": [],
  "skills": [
    {
      "id": "get_products",
      "name": "Get products",
      "description": "List the products Bison Labs has made, with what each does and a link to its own site.",
      "tags": [
        "products",
        "lab"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{ \"skill\": \"get_products\" }"
      ]
    },
    {
      "id": "check_availability",
      "name": "Check availability",
      "description": "Return the free intro-call slots on a given day. Times are ISO-8601 UTC.",
      "tags": [
        "calendar",
        "availability",
        "booking"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{ \"skill\": \"check_availability\", \"date\": \"2026-08-03\" }"
      ]
    },
    {
      "id": "book_call",
      "name": "Book a call",
      "description": "Book an intro call. Creates a real calendar booking and emails the attendee, so confirm the time and their details first. Use a start time returned by check_availability. Rate limited to 3 per minute.",
      "tags": [
        "calendar",
        "booking",
        "contact"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{ \"skill\": \"book_call\", \"start\": \"2026-08-03T09:00:00.000Z\", \"name\": \"Ada Lovelace\", \"email\": \"ada@example.com\" }"
      ]
    }
  ],
  "supportedInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://bisonlabs.dev/a2a"
    }
  ],
  "additionalInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://bisonlabs.dev/a2a"
    }
  ],
  "x-notes": {
    "authentication": "None. A human books a call here with just a name and an email, and agents get the same deal. Abuse is handled by rate limiting, not by auth.",
    "input": "Skills take a structured DataPart with a `skill` field (see examples). This agent does not parse free-form natural language. There is no model behind it, and claiming otherwise would waste your turn.",
    "alsoAvailable": "The same three capabilities are exposed over MCP at https://bisonlabs.dev/mcp and over REST; see https://bisonlabs.dev/openapi.json"
  }
}
