Operon.Cloud field guide

From workflow model to trusted transaction

Understand the platform, configure one bounded Workstream, and connect an application with an Operon SDK. Each part can stand on its own, or you can follow all three from left to right.

The first useful milestone

One active Workstream, one stable Case correlation ID, and one accepted transaction whose path is visible in Operon.Cloud.

Part 1

Platform Orientation

How Operon.Cloud represents work, flow, ownership, time, and value.

1

How Operon.Cloud sees work

Operon.Cloud turns events already produced by an operation into trusted evidence. It does not replace the systems where work happens. It gives teams a consistent way to see where work is, how it moves, who participated, and what changed.

Workspace
The top-level operational boundary for related Workstreams.
Workstream
One bounded business process. Model a coherent workflow, not an entire enterprise.
Case
A correlated sequence of transactions representing one unit of work, such as a claim, request, or order.
State or queue
Where a Case currently waits or receives work.
Start with a workflow whose events and desired outcome are already understood. A complete signal from one bounded flow is more useful than partial coverage across many processes.
2

How a Case tells a story

Each observed event becomes a signed Transaction. Transactions with the same correlation ID form a Case, and their Interactions explain both the work performed and the path taken.

System eventWork happens
InteractionMeaning is assigned
TransactionEvidence is recorded
CaseThe path becomes visible

Touch

Records work performed while a Case remains in its current state. Examples include reviewing a claim or contacting a customer.

Movement

Records flow from an expected current state to a next state. Examples include submitting a review or closing a request.

3

People, time, and value

Identity and ownership

A DID identifies an Organization, System, API Client, or Person. A Participant connects that identity or operational role to a Workstream. The actor performing work and the assignee owning the next action can be different.

Operational time

Processing Time shows elapsed calendar time in a state, including waiting and active work. Active Time shows estimated hands-on effort spent on a Touch.

Value and AI evidence

Value Metrics connect workflow events to Baseline, Increment, and Savings. AI participation proves adoption inside the flow, while measurable operational change establishes impact.

Part 2

Management and Configuration

Use Console to define a production-ready operational catalog.

1

Set the operational boundary

  1. Open Workspaces. Select an existing Workspace or create one for the operational boundary you want to measure.
  2. Choose Internal or Production deliberately. The Workspace type is permanent after creation.
  3. Open DIDs and create the Organization, System, API Client, or Person identities needed by the first workflow.
  4. Create one Workstream with a clear name, outcome, and boundary. Avoid combining unrelated workflows simply because they share a department or application.
RAED is a specialized path: use LOB Sync to create and maintain line-of-business Workstreams in a RAED Workspace. The manual steps below describe the standard Operon.Cloud setup.
2

Build the Workstream catalog

The catalog is the shared contract between the operational design and every connected application. Configure it before issuing credentials.

01

States and queues

Add the places where Cases wait or receive work. Set the default state, active status, SLA clock start or stop behavior, and a Source Code for integration lookup.

02

Participants

Add the actors, systems, or operational roles that perform or own work. Associate the correct DIDs and identify which Participant an integration will authenticate as.

03

Interactions

Define each event as a Touch or Movement. For a Movement, configure expected current and next states. Add source and target Participants, active-time assumptions, Value Metrics, status, and a Source Code.

04

Graph review

Open Graph View and confirm that the modeled states and Movements form the intended path. Resolve gaps and unintended loops before activating the Workstream.

3

Use Source Codes as stable lookup codes

State and Interaction Source Codes are customer-controlled catalog values that let external code find the current Operon object without storing its generated platform ID.

ValuePurpose and lifecycle
NameHuman-readable label managed in Console.
Platform ID Generated by Operon.Cloud. A cloned Workstream receives new state and interaction IDs.
Source Code Stable integration lookup code controlled by your organization. Configured codes are preserved when a Workstream is cloned.
Transaction field The transaction contains the resolved platform ID. Source Codes are discovery metadata, not transaction fields.
READY_FOR_REVIEWFetch WorkstreamstateIdCLAIM_REVIEWEDFetch InteractionsinteractionId
Stable does not mean immutable. Administrators can edit or clear a Source Code. Such a change may break integrations that depend on that mapping. Treat code changes as a coordinated configuration change, refresh catalogs, and fail clearly when a mapping is absent.
  • State Source Codes are case-insensitively unique among states in one Workstream. Interaction Source Codes follow the same rule among interactions. A code may be reused in another Workstream.
  • SDK lookup trims whitespace and matches case-insensitively.
  • Lookup searches the fetched catalog and does not determine whether an inactive or archived Interaction is eligible for submission.
  • Client API remains authoritative for Workstream membership, ownership, and submission eligibility.
  • Direct platform ID integrations remain supported when the calling application intentionally owns that ID lifecycle.
4

Activate and connect

  1. Review Draft, Active, Inactive, and Archived statuses. Activate only the states, Participants, Interactions, and Workstream intended for the integration.
  2. Open M2M Clients and create a Workstream client. Select the active Workspace, Workstream, and Participant that define its operating scope.
  3. Save the client ID and client secret securely. The secret is shown only once. Regenerating it invalidates the previous secret.
  4. Give the developer the Source Codes, expected Case correlation strategy, environment, and a safe way to receive credentials.
The Console handoff is ready when the active catalog, Participant scope, credentials, and expected Source Codes are all confirmed.

After the first event is submitted, find it in Transactions Explorer and confirm its Case path in Loop Atlas before expanding the configuration.

Part 3

Integration

A reusable client lifecycle from credentials to verified evidence.

1

Prepare the developer handoff

Before writing code, agree on the operational contract. This prevents a technically successful integration from producing an incorrect Case path.

A cloned Workstream receives new IDs while retaining its configured Source Codes. Lookup is case-insensitive. Source Codes are discovery metadata, never transaction fields. Resolve them to the current stateId and interactionId. Always refresh the catalog and fail clearly when a mapping disappears. There is no implicit stale-ID fallback. Direct platform IDs remain supported when the application intentionally owns their lifecycle.

Developer handoff checklist

  • Environment and API endpoint
  • M2M client ID and client secret, which Console displays only once
  • Scoped Workspace, Workstream, and Participant
  • Case correlation ID strategy
  • State and Interaction Source Codes
  • Active-time, payload, actor, assignee, and Value Metric expectations
Keep the same correlation ID for every event in one business Case. Generate a new correlation ID for the next Case, even when the same customer or system is involved.
2

Reuse one client and submit with SDK 1.5.0+

Create one client per Operon credential configuration and reuse it for the application lifetime. Do not create or initialize a client for every request or transaction. When you use Source Codes, the reusable operation fetches current configuration, resolves the codes, and submits with the resulting platform IDs.

  1. Create onceBuild one client for each credential set.
  2. Init onceAuthenticate at startup and surface errors early.
  3. ReusePass the existing client into transaction operations.
  4. Close onceDispose the client during application shutdown.
Managed by the SDK

Client and token lifetime

  • Call init once during startup to surface authentication errors early. Operations can also initialize the client lazily.
  • The client automatically caches and renews its short-lived access tokens.
  • Keep the client outside a serverless handler so warm invocations can reuse it. Use separate clients for separate credential sets.
Managed by the application

Platform catalog lifetime

  • init does not load or cache any platform catalog, including Workstream, State, Interaction, or Participant configuration.
  • States arrive in the Workstream response. Interactions require a separate complete catalog fetch.
  • Your application controls State and Interaction catalog refresh after relevant administrative changes. Reusing the client never justifies stale IDs or an implicit fallback.
Reuse the client within your language and runtime's normal application lifecycle. Follow the linked SDK's hosting guidance. Python clients must stay within the shared event-loop lifecycle.
Installgo get github.com/operon-cloud/operon-sdk/go@v1.5.0

Application startup

client, err := operon.NewClient(operon.Config{
    ClientID: os.Getenv("OPERON_CLIENT_ID"),
    ClientSecret: os.Getenv("OPERON_CLIENT_SECRET"),
})
if err != nil { return err }
if err := client.Init(ctx); err != nil { return err }

Reusable transaction operation

func submitClaimReview(ctx context.Context, client *operon.Client) error {
    workstream, err := client.GetWorkstream(ctx)
    if err != nil { return err }
    state := workstream.FindStateBySourceCode("READY_FOR_REVIEW")
    if state == nil { return errors.New("state mapping not configured") }

    catalog, err := client.GetWorkstreamInteractions(ctx)
    if err != nil { return err }
    interaction := catalog.FindInteractionBySourceCode("CLAIM_REVIEWED")
    if interaction == nil { return errors.New("interaction mapping not configured") }

    activeSeconds := 37
    _, err = client.SubmitTransaction(ctx, operon.TransactionRequest{
        CorrelationID: "case-123", InteractionID: interaction.ID,
        StateID: state.ID, StateLabel: state.Name,
        ActiveTimeSeconds: &activeSeconds,
        Payload: []byte("{\"caseId\":\"case-123\"}"),
    })
    return err
}

Application shutdown

client.Close()
Open the complete Go SDK guide
The SDK hashes raw payload bytes locally. Only the hash is sent for the transaction record. Source Codes are used for discovery and are not serialized into the transaction.

Client credentials are the primary server-to-server path. Injected token providers and caller-owned PATs are advanced alternatives when the application already owns a scoped token lifecycle.

3

Prepare for production

Protect credentials

Store client credentials in a secret manager. Never commit them, include them in browser code, or write them to logs. Plan secret rotation and client disablement before launch.

Refresh configuration

Choose a catalog refresh policy that fits the application and fetch again after known administrative changes. Client reuse does not cache configuration and must not justify a stale ID when lookup fails.

Keep useful evidence

Log transaction IDs, correlation IDs, Source Code lookup failures, and safe error details. Do not log credentials or sensitive raw payloads.

Test the real contract

Exercise the scoped Participant, real catalog mappings, Case correlation behavior, error handling, and expected active-time and state progression before rollout.

4

Verify and troubleshoot

1
Transactions Explorer

Find the accepted event by transaction or correlation ID.

2
Loop Atlas

Confirm the Case path and state progression.

3
Operational views

Review Control Tower, Resource Tower, and ROI Impact as configured data becomes available.

Common integration failures

Source Code not found
Confirm the code and Workstream, refresh the catalog, and verify that an administrator has not changed or cleared the mapping.
Interaction resolves but submission is rejected
Check Workstream membership, status, Participant ownership, and submission eligibility. Lookup itself does not filter by status.
Case appears as separate paths
Check that every event for the business Case uses exactly the same correlation ID and that a new ID is used for each new Case.
Authentication fails after rotation
Confirm that the application received the newly generated secret and that the M2M client, Workstream, and Participant are active.

Continue with the reference material

Operon SDK repositoryLanguage references, advanced authentication, and APIs

Build from one trusted signal

Expand only after the first transaction and its correlated Case path are visible and trusted. Add coverage while preserving clear boundaries, stable mappings, and reliable attribution.