System Context Diagram

The single box of your system surrounded by the people and external systems it talks to, and nothing about how it is built inside.

Technology Cloud-Agnostic
flowchart TB
  cust(["Customer"])
  agent(["Support Agent"])
  sys["Order Management<br/>the system being described"]
  pay["Payment Gateway<br/>external SaaS"]
  erp["ERP<br/>existing on-premises"]
  mail["Email Provider<br/>external SaaS"]
  crm["CRM<br/>external SaaS"]

  cust -->|"places and tracks orders"| sys
  agent -->|"amends and refunds orders"| sys
  sys -->|"authorises and captures"| pay
  sys -->|"posts financial documents"| erp
  sys -->|"sends confirmations"| mail
  sys -->|"reads account and entitlement"| crm

What it is

The outermost view. Your system is one box with no internal detail at all, and everything else on the page is either a person who uses it or another system it exchanges data with. Each line is labelled with what actually flows and in which direction.

The discipline is the emptiness of the middle box. The moment somebody adds a database, a queue or a microservice inside it, the diagram has stopped being a context diagram and become a worse container diagram.

When you produce it

First, and once. It is the opening page of a solution architecture document and the first slide of any design walkthrough, because it is the only diagram in the pack that a non-technical stakeholder can read unaided. On a migration it is also the cheapest way to discover integrations nobody mentioned: draw it, show it to the operations team, and watch them add three more boxes.

Who reads it

Everybody. Executives read it to see scope. Engineers read it to see what they will have to integrate with. Security reads it to find the trust boundaries worth threat-modelling. Commercial reads it to find the third parties that need contracts.

What good looks like

  • Exactly one box has no vendor name on it, and that is your system.
  • Every arrow is labelled with a business-meaningful verb, not a protocol.
  • External systems are marked as external — colour, a note, or a legend.
  • It fits on one page at a readable size. If it does not, your scope is wrong, not your font.

Common mistakes

  • Drawing the internals. The most common failure by a wide margin.
  • Unlabelled arrows. An arrow with no verb tells the reader nothing they could not guess, and hides whether the relationship is a read or a write.
  • Omitting the humans. A context diagram of only systems is an integration landscape. The actors are what make it a context.
  • Confusing "external" with "someone else's". A system your own company runs but your team does not own is still external to this design.