Skip to content

Services, workflows and tests

Define service agents, connect real and simulated APIs in a workflow graph, bind outputs, and run isolated test cases in your browser or local runner.

Open /services and sign in. Start with the example graph or create your own workflow.

  1. Define each service's behavior, operations, input/output contracts and initial state. Attach documentation, source files or fixtures that explain the service.
  2. Add service-operation nodes to the graph. Choose real or simulated execution explicitly. Connect dependencies and bind upstream output fields into downstream inputs.
  3. Add test cases with workflow inputs, service scenarios or initial state, and assertions. Each case gets its own session.
  4. Run in your browser for browser-accessible APIs. Export and use the local runner for localhost/private endpoints or secret headers.
  5. Inspect each node's actual input/output, assertions, duration and error. Cancel a run if it is no longer needed.

The graph is a DAG: no cycles or conditional routing. Branches can run in parallel and join. Bindings use JSON Pointer, including nested objects and arrays. A test may select terminal nodes and their required ancestors to test an early exit.

Eve simulates requests using service context, rather than replaying canned expected answers. A service's working state exists only inside one workflow run. Referencing the same instance ID shares state; a separate instance is independent. Real services retain their own state and are not reset automatically.

Browser calls obey CORS and cannot reach private networks merely because xEntropy is hosted. A secret-header reference requires the local runner. API credentials remain outside exported workflows. Long-running simulated calls are polled until completed; closing a network connection does not create another charged request.

The UI and local runner do not provision workflow sandboxes or require a shell launch command. The API reference describes automation.