A target is the named action a surface can request. Good targets read like product verbs, accept small payloads, and return a shape the surface can render.
The customer dashboard has anArchive button. The target should be customers.archive, not a generic doThing command with a hidden action string.Name
Name the action around the user’s intent.
→
Payload
Pass only what the target needs to do the work.
→
Reply
Return enough for the surface to show success or failure.
Naming rule
Use a name that tells the caller what business action is being requested.Payload rule
The payload should be narrow and explicit. It should carry identity and user intent, not a second command language.Reply rule
Return a result the surface can use.A well-shaped surface sends a named product request, shows a useful outcome, and avoids turning payloads into hidden command strings.