Design a buyer-agent and seller-agent price-negotiation workflow using Google's Agent2Agent (A2A) protocol Task, Message, and Artifact primitives to exchange offers and counter-offers before settling on a price
domain: a2a-protocol.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Publish an Agent Card for each participant (buyer agent, seller agent) describing its capabilities so the counterpart can discover and address it via A2A
Model the negotiation as a single long-running A2A Task, using Messages to carry each offer, counter-offer, or clarifying question between the two agents
Use Artifacts to represent the negotiation's tangible outputs -- e.g. a structured proposed-order document with price, quantity, and delivery terms -- rather than embedding structured terms only in free-text Messages
Keep the Task in an in-progress state while rounds continue, and transition it to completed only once both sides' Messages indicate agreement on the final Artifact
Bound the negotiation with your own business logic (max rounds, price floor/ceiling) since A2A itself only defines the transport and state machine, not negotiation strategy
Hand off the agreed terms (the final Artifact) into your actual payment/checkout flow (e.g. ACP or a card rail) as a separate step, since A2A negotiation and payment execution are distinct concerns
Known gotchas
A2A is deliberately minimal -- it defines discovery, tasks, and messages/artifacts, but leaves catalog, pricing logic, and negotiation strategy entirely to the implementer, so don't expect built-in negotiation semantics
A2A does not itself move money or bind either party legally -- treat the agreed Artifact as a proposal that still needs to flow into a real payment/mandate system (e.g. AP2, ACP) for execution
Long-running negotiation Tasks need your own timeout and abandonment handling; A2A won't automatically expire a stalled negotiation for you
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?