linkage logoLinkage
Log inGet Started
Gradient Background
Public Alpha Available

The SDK for workflow apps

Linkage is a drop-in editor that handles the UI, validation, collaboration, and run
visualization, so you can build and scale workflow-driven apps in minutes.

Get StartedAlready a user?

Works with Temporal, queues, Lambdas, or your own executor.

src/linkage/workflow-definition.ts
src/components/workflow-builder.ts
import { StandaloneEditor } from "@linkage-open/lib/react";

export function CRMWorkflowBuilder({ id }: { id: string }) {
  return (<StandaloneEditor
            workflowId={id}
            buildConfig={{
              controlBlocks: true,
              userOverlays: true,
            }}
         />);
}
Cold reach customerschedule_send

Input
databaseCustomer profile
topicSubject
subjectPrompt for body
functionsCustom Input
Output
move_to_inboxEmail Receipt
import type { WorkflowDefinition } from "@linkage-open/lib";
import { z } from "zod";

export const crmWorkflowDefinition: WorkflowDefinition = {
  version: "1.0.0",
  nodes: [
    {
      name: "cold_reach_customer",
      type: "action",
      input: {
        customerProfile: z.object({}).passthrough().transform((obj) => obj as CustomerProfile),
        subject: z.string(),
        prompt: z.string(),
        customInput: z.string().optional(),
      }
    }
  ]
};
  

Workflow experiences provide significant value to both your business and your users.

No-code isn't your product—it's the interface your users experience it through.

multiline_chart

Reach more customers

Access non-technical users through workflow interfaces.

metabolism

Retain current users

Keep technical users engaged through visuals, not code.

attach_money

Monetize new experiences

Generate revenue through usage-based pricing on workflows.

lightbulb

Intuitive

Less user friction means faster adoption and time to value.

Build incredible workflow experiences.

Linkage provides everything you need to ship workflow experiences on the frontend.

Server-driven node registry

Publish typed node definitions from your backend. Linkage renders configuration UIs, validates connections, and stays in sync as your API evolves.

Gradient Background

src/nodes/promt-node.ts

prompt: z.string()
maxTokens: z.number().optional()
temperature: z.number().optional()

lance@zinc ~ % linkage upload

│ Reading config...

│ Creating nodes...

◇ Uploaded successfully

Promptblur_on

text_fieldsPrompt
123Max Tokens
thermostatTemperature

Bring your own runtime

Integrate with your existing executor, job system, or agent runtime. Linkage focuses on the UI and run visualization.

deployed_code

Flexible UI SDK

Build the unique experience your users want, in-sync with your codebase.

const Node = () => {
  return (
    <div className="p-4 bg-white rounded-lg shadow-md">
      <h2 className="text-xl font-semibold">Card title</h2>
      <p className="text-sm text-gray-500">Card description</p>
    </div>
  );
}

Out of the box support

Real-time collaboration, control blocks, smart inputs, and AI-assisted workflow building

ABJaneDoe
Live pointer cursors moving nodes in real time