Multiple forms, multiple endpoints.

Compose forms that submit to multiple endpoints with one button. Control submission order so subsequent requests can depend on the values returned by earlier endpoint submissions. Control which submissions should cause the query cache to be refetched and write endpoint responses directly to the query cache so all parts of your UI referencing that data get updated. Never let backend replica lag cause your UI to show data out of sync in your UI again. This form system supports Undo by running the mutation function for each endpoint with its original data. This example’s requests are simulated in your browser.


01 / WORKSHOP

Plan the workshop

This saves first; its ID is then passed to the registration.

Track
02 / REGISTRATION

Reserve a place

The available sessions depend on the workshop track.

Session

Ready when you are.


Saved data

This is the saved data. Your unsaved edits won’t show up here.

{
  "workshop": {
    "id": "workshop-1",
    "name": "Build something together",
    "track": "python"
  },
  "registration": {
    "id": "registration-1",
    "workshopId": "workshop-1",
    "attendee": "Alex Morgan",
    "email": "alex@example.com",
    "session": "typing"
  }
}

Endpoint activity

See which endpoint ran, what happened on failure, and how undo is saved.

Nothing has been saved yet. Try the form to see the requests.