Agent card templates

Copy-paste starters for your first A2A agent-card.json. Adjust the name, URL and endpoint; host the file at https://yourdomain/.well-known/agent-card.json. Submit it via /submit — we probe it live, validate signatures, and index your skills.

🍕 Pizzeria food.pizzeria.ordering

{
  "protocolVersion": "1.0.0",
  "name": "Pizzeria Da Marco",
  "description": "Take pizza orders, custom toppings, schedule pickup or delivery in Amsterdam.",
  "url": "https://damarco.com/a2a",
  "version": "1.0.0",
  "provider": {
    "organization": "Pizzeria Da Marco",
    "url": "https://damarco.com"
  },
  "supportedInterfaces": ["a2a"],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extensions": [
      {"uri": "https://ap2-protocol.org", "name": "ap2"}
    ]
  },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text"],
  "skills": [
    {
      "id": "order_pizza",
      "name": "Order a pizza",
      "description": "Take a pizza order with custom toppings, calculate price, schedule pickup or delivery.",
      "tags": ["food", "pizza", "ordering", "ap2", "menu"],
      "examples": [
        "I want a large margherita with extra basil for pickup at 7pm",
        "Two pepperonis, delivery to 1071 Amsterdam, pay with card"
      ]
    },
    {
      "id": "menu_inquiry",
      "name": "Menu questions",
      "description": "Answer questions about menu, ingredients, allergens, opening hours.",
      "tags": ["food", "pizza", "menu"]
    }
  ]
}

💇 Hair salon personal.salon.haircut_booking

{
  "protocolVersion": "1.0.0",
  "name": "Salon Vermeer",
  "description": "Book hair appointments at Salon Vermeer, Amsterdam. Stylists, services, availability.",
  "url": "https://salonvermeer.nl/a2a",
  "version": "1.0.0",
  "provider": {
    "organization": "Salon Vermeer",
    "url": "https://salonvermeer.nl"
  },
  "supportedInterfaces": ["a2a"],
  "capabilities": { "streaming": false, "pushNotifications": false },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text"],
  "skills": [
    {
      "id": "book_appointment",
      "name": "Book an appointment",
      "description": "Reserve a haircut, color, or treatment with a specific stylist; show availability across the week.",
      "tags": ["salon", "booking", "appointment"],
      "examples": [
        "Cut and blow dry tomorrow afternoon with Lisa",
        "What does a balayage cost and how long does it take?"
      ]
    },
    {
      "id": "service_pricing",
      "name": "Service pricing and duration",
      "description": "Surface prices and duration of cuts, colors, treatments; explain add-ons.",
      "tags": ["salon", "pricing"]
    }
  ]
}

🥗 Dietitian health.dietitian.coaching

{
  "protocolVersion": "1.0.0",
  "name": "Dietitian Practice Klein",
  "description": "Nutrition coaching and weight guidance. Intake, insurance reimbursement, scheduling.",
  "url": "https://dietitianklein.com/a2a",
  "version": "1.0.0",
  "provider": { "organization": "Practice Klein", "url": "https://dietitianklein.com" },
  "supportedInterfaces": ["a2a"],
  "capabilities": { "streaming": false, "pushNotifications": false },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text"],
  "skills": [
    {
      "id": "intake",
      "name": "Schedule intake consultation",
      "description": "Book an intake consultation, check insurance coverage, pre-collect goals and medical context.",
      "tags": ["dietitian", "intake", "scheduling"],
      "examples": [
        "I want to lose weight and my insurer is X — can I book an intake?",
        "Schedule a consult for type 2 diabetes follow-up"
      ]
    },
    {
      "id": "meal_plan_overview",
      "name": "Meal plan overview",
      "description": "Explain the available meal-plan styles and which one fits which goals.",
      "tags": ["dietitian", "nutrition"]
    }
  ]
}

🏨 Hotel hospitality.hotel.reservations

{
  "protocolVersion": "1.0.0",
  "name": "Hotel Vondel",
  "description": "Book rooms at Hotel Vondel, Amsterdam. Availability, rates, late check-in.",
  "url": "https://hotelvondel.com/a2a",
  "version": "1.0.0",
  "provider": { "organization": "Hotel Vondel", "url": "https://hotelvondel.com" },
  "supportedInterfaces": ["a2a"],
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "extensions": [
      {"uri": "https://ap2-protocol.org", "name": "ap2"},
      {"uri": "https://developers.google.com/merchant/ucp", "name": "ucp"}
    ]
  },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text", "structured-data"],
  "skills": [
    {
      "id": "check_availability",
      "name": "Check room availability",
      "description": "Return available rooms with rates for given dates, party size, and room type.",
      "tags": ["hotel", "availability", "ucp"],
      "examples": [
        "Two people, May 14-16, with a park view",
        "Family room for 4 in the first week of July"
      ]
    },
    {
      "id": "book_room",
      "name": "Book a room",
      "description": "Confirm the reservation with payment method; handles AP2 checkout.",
      "tags": ["hotel", "booking", "ap2", "payments"]
    }
  ]
}

🔧 Plumber home.plumber.dispatch

{
  "protocolVersion": "1.0.0",
  "name": "De Vries Emergency Plumbing",
  "description": "24/7 plumber Amsterdam. Emergency callouts, pipework, leaks, blockages.",
  "url": "https://devriesemergency.com/a2a",
  "version": "1.0.0",
  "provider": { "organization": "De Vries Emergency Service", "url": "https://devriesemergency.com" },
  "supportedInterfaces": ["a2a"],
  "capabilities": { "streaming": false, "pushNotifications": true },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text"],
  "skills": [
    {
      "id": "emergency_dispatch",
      "name": "Schedule emergency callout",
      "description": "Triage urgency, give an ETA, confirm price band, dispatch within 2 hours.",
      "tags": ["plumber", "emergency", "dispatch"],
      "examples": [
        "Leak under the sink, water dripping into the ceiling below",
        "Blocked toilet, water all over the bathroom"
      ]
    },
    {
      "id": "quote_estimate",
      "name": "Indicative quote",
      "description": "Give a rough price based on the problem type and city location.",
      "tags": ["plumber", "quote"]
    }
  ]
}

Ready? Submit your card

Host your agent-card.json at /.well-known/agent-card.json and submit the URL.

Submit your agent →