Ship configuration like code.
A typed API over every object, signed webhooks into any workflow, and releases you promote. Nothing reaches production by being clicked there.
Configuration is versioned, not clicked into place. Objects, workflows, rate books, layouts and document types move together as one numbered release.
Edit the working copy.
Every change lands on a working version, so the release your team is running never moves underneath them.
Cut a version.
Working commits freeze at a version number. From then on they are immutable, and an edit to one is refused.
Deploy to an environment.
One release, three environments. Pointing dev, uat or prod at it rebuilds nothing and re-cuts nothing.
Point it back.
An earlier release is still a release. Deploy it and every configurable surface returns, with the swap recorded.
“Configuration used to be a Friday night and a prayer. Now it is a version number, and putting it back is one more deploy.”
However your systems talk, there is a way in. Call the API, sign a webhook, start a run on demand, or have a workflow call out to something you already run.
The API.
More than four hundred documented endpoints across your configuration and your live records, generated from the same contracts the product is built on. The reference cannot drift from the behaviour, because nobody writes it by hand.
Inbound webhooks.
Every webhook trigger gets its own URL, signed with a secret unique to that environment. Requests carry an idempotency key so a retry cannot double-fire, and a trigger stays dark until its secret is attached.
Outbound calls.
Any workflow can call an API you already run, on any of six methods, then parse the response against a schema and branch on what came back. A failed call takes the error path instead of taking down the run.
Live events.
Open a stream and watch state transitions, document pipeline phases and batch completions arrive as they happen, scoped to the person or the workspace that should see them.
Everything around the call. Machine credentials, per-environment secrets and a place to keep them, so a system you run reaches the same data your teams do.
Machine credentials
Systems that call in get their own client credentials, scoped to one environment and separate from every human account.
Three environments
Dev, uat and prod hold separate data and separate secrets. A dev secret cannot sign a prod request.
A workspace vault
Keep API keys and signing secrets under a key unique to your workspace. We never hold the plaintext.
Every run kept
Open an execution and read its timeline, inputs, outputs and errors. Retry a failed run from the step that broke.
Follow one request all the way through. From the signature check to the row it changed, every hop is something you can open and read.
The request.
A POST arrives at the trigger's own URL. The signature is checked against that environment's secret, the idempotency key is looked up, and the caller is acknowledged before any work begins.
The run.
The workflow executes block by block against your own objects, at the release that environment is pointed at. Every step keeps what went in and what came out, so a failure names the step rather than the run.
The record.
Every insert, update and delete lands in the audit log with the columns that changed and the actor that changed them, whether that was a person, a workflow or a machine credential.
Built on the same spine.
Every feature below is configured the same way, cut into the same release, and reachable over the same API.
Build against a real workspace.
Bring the integration you have been putting off. We will stand up a dev environment, wire the trigger live, and show you the release that ships it.
Usually 30 minutes, with an engineer on the call.