Business context for AI agents
Prefer to build hands-on? Here's the real sequence
Most people just tell Loxtep what agent they want. If you'd rather wire it in code, start from an empty directory and run the authenticated CLI lifecycle below. Requires Node.js 22+, a Loxtep account, an org domain, and a non-production instance.
This is a guided, read-only walkthrough — the terminal output below is illustrative and nothing here runs commands or connects to your account. To run it for real, install @loxtep/sdk@^0.9.16 (or newer) and follow the same commands in an empty directory. Full details ship in the template README.md after loxtep init --template shopify-orders.
Requires Node.js 22+. Login stores a JWT locally. You also need an org domain and a non-production instance (loxtep instances list).
Scaffolds a runnable sample: workflow module, event fixture, package/tsconfig, AGENTS.md, and a default skill. Empty workflows/ is no longer left behind.
Bind a non-production instance. Prefer a shared/dev instance for validation — test performs live stream I/O.
Idempotent sample setup. Creates orders_raw and orders_enriched when missing (does not assume they already exist). Re-runs reuse existing products.
Projects live data products, connectors, domains, and queues into typed constants. Counts reflect your org after setup — not fictional catalog sizes.
Local handler execution with live instance writes (not an offline simulation). requireApproval gates dataProducts.write; reject/timeout exits nonzero.
Compiles the sample module and deploys it. A second deploy updates orders-enricher in place. No fictional extra workflows.
What test and deploy actually run
The sample workflow lives at workflows/orders-enricher.ts and imports typed constants from ../.loxtep/generated. The handler only writes to orders_enriched — there is no fictional queue read in the trace.
Guarded writes pause for approval. Reject or timeout exits nonzero so skipped work cannot look like a successful processed event.
import { defineDataWorkflow, on } from '@loxtep/sdk'
import { workspace } from '../.loxtep/generated/index.js'
export default defineDataWorkflow({
name: 'orders-enricher',
triggers: [on.webhook('/shopify/orders')],
requireApproval: ['dataProducts.write'],
async handler(ctx, event) {
const order = (event ?? {}) as Record<string, unknown>
await ctx.toolbox!.dataProducts.write(
workspace.dataProducts.orders_enriched,
{ ...order, enriched_at: new Date().toISOString(), source: 'orders-enricher' },
)
},
})Stop wrestling with data plumbing. Start building on your company brain.
Join the waitlist for early access. Connect your tools, let Loxtep handle the context layer underneath, and ship knowledge agents your business can rely on — without an enterprise data team.
Enterprise-grade reliability, permissions, and audit trails — without the enterprise team.