Quick start

Read a sample, then draw your first data flow

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 flow in this tutorial

OrderEvent
Order event
CustomerApi
Customer lookup
FulfillmentRequest
Final payload

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

Follow edges to find where a value came from

  1. 1

    Open the sample page

    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.

  2. 2

    Trace one field's lineage

    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.

  3. 3

    Compare solid and dotted lines

    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.

  4. 4

    Collapse and expand nested fields

    Select an object field such as items or customer. Its children collapse, and connected edges gather at the container row to simplify the flow.

  5. 5

    Review the page overview

    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

Connect two fields on a blank page

  1. 1

    Create a page in the editor

    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.

  2. 2

    Add the source entity

    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.

  3. 3

    Add the destination entity

    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.

  4. 4

    Connect field handles

    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.

  5. 5

    Create a transformed mapping

    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.

  6. 6

    Group both nodes in a boundary

    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

Extend the graph toward a real system

Input variants

Configure a discriminator and when conditions when the visible fields depend on a value such as order status.

Configure variants

Process nodes

Represent an external API or calculation that turns inputs into outputs as a black box.

Learn to edit nodes

Edit JSON code

Expand 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.

View the code model

Sharing and backup

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.

Learn how storage works

Before you save

  • The graph is saved automatically in the current browser as you edit.
  • A share link contains the current page's complete graph—including entities, processes, fields, node relations, field mappings, names, labels, descriptions, tags, metadata, stable IDs, positions, and boundary data—so never add sensitive values.
  • Export every page to a backup file before clearing browser data.
  • Connect leaf fields, not their object containers.

Draw a flow of your own

If you get stuck, the guide explains each feature in more detail.