Quickstart
Create the first workspace, configure a backend application environment, connect one integration, and verify one observation. This path proves the ingestion connection; incident detection and repair follow after real observations exist.
What you will verify
The quickstart is complete when the integration reports its first observation. It does not require an incident, repair proposal, or GitHub connection.
Before you begin
You need a Node backend with one webhook or external API operation that can receive safe test traffic. You also need access to the Seamward repository for the initial workspace bootstrap.
Create the workspace
Run the initial workspace bootstrap from the repository root:
Code example
pnpm auth:bootstrap-workspace -- --email owner@example.com --name "Acme"Open the invitation delivered to the owner email address, create the account, and verify the email before signing in. Use the bootstrap command only for the first workspace owner; invite later members from Workspace settings.
Read the workspace setup guide.
Configure ingestion
Open Workspace settings from the sidebar, then open the Data ingestion tab. Create an application environment for the backend you will run.
Copy the secret ingest token when Seamward displays it. The token is shown once and belongs in the backend secret store. The application environment’s Source key remains visible.
Understand application environments and ingest tokens.
Connect an integration
Open Integrations from the sidebar and click the Connect integration button in the page header. Enter the workflow name and provider, choose its traffic direction and application environment, then click the Create integration button at the bottom of the form.
Copy the Integration key from the setup step. It routes observations to this integration and does not grant workspace read access.
Review the integration boundary.
Verify the observation
Install and configure the Node collector, then instrument one representative backend handler.
Install collector
pnpm add @seamward/collectorCreate collector
import { createSeamwardCollector } from "@seamward/collector";
export const seamward = createSeamwardCollector({ sourceKey: process.env.SEAMWARD_SOURCE_KEY!, ingestToken: process.env.SEAMWARD_INGEST_TOKEN!,});Observe webhook
const handleCandidate = seamward.observeWebhook( { integrationKey: process.env.SEAMWARD_INTEGRATION_KEY!, routeTemplate: "/webhooks/candidate", }, async (payload) => processCandidate(payload),);Trigger the existing handler once with safe test traffic. Return to the integration and confirm that its setup status reports the first observation instead of No observation received yet.
