integration(), flow(), and configPage() calls that compile down to the same YAML representation the designer produces — but with the full expressiveness of a typed programming language.
Code-native vs the low-code designer
| Concern | Low-code designer | Code-native |
|---|---|---|
| Authoring | Browser drag-and-drop | TypeScript source files |
| Version control | Prismatic-managed | Any Git workflow |
| Logic complexity | Step branching | Arbitrary TypeScript |
| Reuse | Copy-paste flows | Import functions and modules |
| Dependency management | Built-in components | npm packages + built-in components |
| Testing | Manual test runs | Unit tests with createMockContextComponents() |
The integration() function
Every code-native integration starts with a call to integration(), which accepts an IntegrationDefinition object and returns a platform-ready integration artifact.
IntegrationDefinition fields
The unique display name for this integration.
A human-readable description shown in the Prismatic UI.
One or more flow definitions. Every integration must have at least one flow.
Config wizard pages shown when a customer deploys an instance. See Config wizard.
Config wizard pages filled in by end users rather than the deploying customer. See Config wizard.
Existing Prismatic components whose actions you want to call from flow execution. See Existing components.
Controls how incoming webhook requests are routed to flows. Defaults to
flow_specific. See Endpoint configuration.When
endpointType is not flow_specific, describes which fields in the trigger payload carry routing information. Cannot be set alongside a preprocess flow. See Endpoint configuration.Name of the instance profile to use. If omitted, the tenant’s default profile is applied.
Path to the integration icon, relative to the compiled integration output.
Category label for the integration in the Prismatic marketplace.
Semantic version string for this integration.
Arbitrary labels attached to the integration.
Organization-level or customer-level connections that are managed outside the config wizard.
Minimal complete example
The following integration has a single flow that receives a webhook and logs the body.Set
DEBUG=true in your environment to print the compiled integration YAML to the console during development.Project structure
A typical code-native integration project looks like this:Next steps
Flows
Define flow logic, triggers, retry policies, and lifecycle hooks.
Config wizard
Build multi-page config wizards with typed variables and connections.
Connections
Configure customer and organization connections as config variables.
Endpoint configuration
Control how inbound requests are routed across flows and instances.
Existing components
Call actions from built-in Prismatic components inside your flows.
