Input variants
Configure a discriminator and when conditions when the visible fields depend on a value such as order status.
Configure variantsQuick start
Start without installing anything or creating an account. First, inspect a prepared order-processing graph; then connect two entities on a blank page. In about ten minutes, you will have tried the core FieldWeft interactions from end to end.
The full sample also includes AccountDb and RiskApi. We will focus on the event, API, and final request first so the structure is easy to follow.
1. Read a sample graph
Select Open the order event sample above to open a read-only gallery sample. The sample list appears on the left and the data sources and final request appear on the central canvas. Moving a node does not change the source document or create a browser-saved copy.
Hover over the CustomerApi.email row to preview its connected flow. Select the row to open the trace panel on the right. Use Upstream, Downstream, and Paths to inspect sources, destinations, and intermediate paths, then select a result to move to its node.
Most edges are solid because they preserve a value. The dotted email mapping is labeled as a lowercase-normalization transform. The Paths result shows the same transformation with a transform badge and description.
Select an object field such as items or customer. Its children collapse, and connected edges gather at the container row to simplify the flow.
Expand the initially collapsed right panel. It shows the sample name, read-only notice, entity, process, node relation, mapping, and field counts, plus any configured discriminator and selected value. The panel floats over the canvas, so you can keep working outside it.
2. Create your first mapping
Select Start with this sample in the sample toolbar to create an independent copy and open the main editor. To practice on an empty graph, select the + button beside the Pages heading. Rename a page from the pencil action in the list or from the overview panel.
Select + Entity at the lower right of the canvas. Set the name to OrderEvent and the kind to event, then add orderId: string and email: string. If useful, add context in the initially collapsed description, tags, and metadata section or through each field row's annotation action before saving.
Create a FulfillmentRequest entity in the same way and add orderId: string and customerEmail: string. Drag the two nodes apart so their handles are easy to connect.
Drag the small handle on the source field's right edge to the destination field's left handle. Your first mapping is complete when OrderEvent.orderId → FulfillmentRequest.orderId appears as a solid line.
Choose Transform from New edge at the lower right, then connect email → customerEmail. Select the new dotted line and label it lowercase. The same context menu also edits descriptions, tags, and metadata.
Select + Boundary, then drag both entities inside and drop them when the ready indicator appears. Use the edit action in the boundary header to set its name, color, kind, description, tags, and metadata so it can represent a domain or system.
3. Learn what comes next
Configure a discriminator and when conditions when the visible fields depend on a value such as order status.
Configure variantsRepresent an external API or calculation that turns inputs into outputs as a black box.
Learn to edit nodesExpand the right panel and open the code tool below the overview to edit a large structure at once and validate references and field shapes before applying it. FieldWeft v1 always requires format: "fieldweft", version: 1, and five arrays. A node relation is node-level lineage and implies no field mapping; mappings and conditions refer to document-wide stable field IDs rather than names or paths. Shared annotations for entities, processes, boundaries, fields, relations, and mappings put description, tags, and meta directly on the target without a wrapper.
A #g=d1.… share URL can carry the current page's entities, processes, node relations, field mappings, stable IDs, descriptions, tags, metadata, exact positions, collapsed state, boundary membership, and sizes. The link opens a read-only view without saving. Choose Import as a new page to edit an independent copy; from a wiki iframe this opens a new app tab. Reset to original resets temporary exploration and view settings. Use a backup file for several pages, page names, or a link that grows too long. The fragment is not sent to the web server or a typical Referer header, but the full link can remain in the address bar, history, clipboard, messages, and documents.
If you get stuck, the guide explains each feature in more detail.