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.